Modely softwarových procesů

Podobné dokumenty
ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ

Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS Semestr LS 2014/2015

2. Začlenění HCI do životního cyklu software

Návrh softwarových systémů - úvod, motivace

Metodika analýzy. Příloha č. 1

PŘÍLOHA C Požadavky na Dokumentaci

Mezinárodní norma ISO/IEC 15504

Návrh softwarových systém. Návrh softwarových systémů

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

Procesní řízení. Hlavní zásady a praxe dodavatele Komix

Softwarový proces. Bohumír Zoubek, Tomáš Krátký

TREND POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Modelování procesů s využitím MS Visio.

EXTRAKT z mezinárodní normy

1. Dědičnost a polymorfismus

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz

Jednotný NIS Prezentace k zahájení projektu pro Radu kraje Vysočina. Projektový manažer - Ing. Ivan Sokolov, Ph.D.

ČESKÁ TECHNICKÁ NORMA

Předmluva 11. Poděkování 11 O autorech 12 Úvodem 12 Komu je tato kniha určena 13 Jak byste měli tuto knihu číst 13 Web 14

OBSAH 1. ÚVOD STRUKTURA A ÚROVNĚ PROCESNÍHO MODELU KONVENCE PRO MODELOVÁNÍ PROCESŮ KONVENCE PRO MODELOVÁNÍ ORGANIZAČNÍCH STRUK

Návrh IS - UML. Jaroslav Žáček

Návrh IS - UML. Jaroslav Žáček

EXTRAKT z mezinárodní normy

Kvalita SW produktů. Jiří Sochor, Jaroslav Ráček 1

Česká letecká servisní a. s.

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

Business Process Modeling Notation

Softwarový proces Martin Hlavatý 4. říjen 2018

Využití SysML pro tvorbu modelů v systémovém inženýrství

POČÍTAČE A PROGRAMOVÁNÍ

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

Vývoj informačních systémů. Obecně o IS

Aplikace pro srovna ní cen povinne ho ruc ení

Objektově orientované technologie Logická struktura systému Objektový diagram. Pavel Děrgel, Daniela Szturcová

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Životní cyklus produktu (IS / IT služby) Životní cyklus projektu Životní cyklus řízení projektu. Vývoje produktu Implementace produktu

3 Inženýrství systémů založených na počítačích (Computer-based System Engineering)

End-to-end testování. 26. dubna Bořek Zelinka

3 Inženýrství systémů založených na počítačích (Computer-based System Engineering)

Databázové modelování. Analýza Návrh konceptuálního schématu

Katedra informačních technologií VŠE Praha nám. W. Churchilla 4, Praha 3 buchalc@vse.cz PODNICÍCH. 1. Úvod

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53

SOFTWAROVÉ INŽENÝRSTVÍ 1

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování

Návrh softwarových systémů - softwarové metriky

TÉMATICKÝ OKRUH Softwarové inženýrství

Školení vlastníků procesů aplikace Mapa procesů

Procesní přístup k projektům informačních systémů. RNDr. Vladimír Krajčík, Ph.D.

Association for the advancement of Cost Engineering International (AACE) Australian Institute of Project Management (AIPM) English Association of

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Globální strategie, IT strategie, podnikové procesy. Jaroslav Žáček

MANAGEMENT KYBERNETICKÉ BEZPEČNOSTI

Struktura Pre-auditní zprávy

EXTRAKT z mezinárodní normy

2 Životní cyklus programového díla

TÉMATICKÝ OKRUH Softwarové inženýrství

Manažerská informatika - projektové řízení

Etapy tvorby lidského díla

Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová

Webové služby DPD. Verze

Agile Software Development

SPECIFIKA CERTIFIKACE PODLE ČSN EN ISO 9001:2001 V ORGANIZACÍCH, KTERÉ SE ZABÝVAJÍ VÝVOJEM SOFTWARE

SYLABUS MODUL BUSINESS MODELOVÁNÍ. Doc. RNDr. Vladimír Krajčík, Ph.D.

CMMI ení zralosti. Viktor Mulač. Business consultant. itsmf

Praktické aspekty ABC

Zlepšování softwarových procesů a sladění se strategií

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

TÉMATICKÝ OKRUH Softwarové inženýrství

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

Nový standard pro analýzu rizik v dodavatelském řetězci automobilového průmyslu Failure Mode and Effects Analysis

Cobit 5: Struktura dokumentů

Přednáška. Sběr požadavků na SW s použitím metody C.C a nástroje Craft.CASE. e-fractal, s.r.o.

Aktuá lní př ehodnocení MSF foř CMMI dle METES

PROCESY CO ZÍSKÁTE: Předpoklad pro certifikace ISO. Lean Six Sigma Fast Track

CASE. Jaroslav Žáček

Formální úprava bakalářských a diplomových prací Univerzita Karlova, Husitská teologická fakulta

WORKFLOW. Procesní přístup. Základ perspektivního úspěšného podnikového řízení. Funkčnířízení založené na dělbě práce

DBS Konceptuální modelování

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

A7B36SI2 Tematický okruh SI08 Revidoval: Martin Kvetko

Semestrální práce z předmětu 4IT421 Téma: CMMI-DEV v.1.3 PA Project Monitoring and Control

Proces je definovaný soubor činností, který vyžaduje jeden nebo více druhů vstupů a tvoří výstup, který má pro zákazníka hodnotu

Úvod do softwarového inženýrství a týmového vývoje

Modelování procesů (2) Procesní řízení 1

Zlepšování procesů při vývoji medicínského softwaru

Metodické postupy tvorby architektury

Softwarová podpora v procesním řízení

komplexní podpora zvyšování výkonnosti strana 1 Využití Referenčního modelu integrovaného systému řízení veřejnoprávní korporace Město Hořovice

Cíl semináře. Pomáháme Vám s úspěchem.

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

CMMI-DEV v.1.3 PA Integrated Project Management

ZMĚNA ČESKÉHO OBRANNÉHO STANDARDU. AAP-48, Ed. B, version 1

Příloha č. 1 k Vyhláška rektora č. 01/2011 o bakalářských pracích

Testování a spolehlivost. 1. Laboratoř Poruchy v číslicových obvodech

Transkript:

Modely softwarových procesů Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS Semestr LS 2014/15 Autoři jméno, příjmení, xname Martin Baláž xbalm34 Adam Brousek xbroa03 Téma Modely softwarových procesů Datum odevzdání 14. 5. 2015 1

Abstrakt Práce popisuje některé typy modelů softwarových procesů, konkrétně referenční modely a vybrané modely životního cyklu. U referenčních modelů vychází z normy ISO/IEC TR 24774 a v ní definované náležitosti ukazuje na konkrétním příkladu referenčního modelu. Dále je v práci ukázáno, jak je možné za základě účelu a výstupů procesu namodelovat softwarový proces využitím přístupu composition tree a postup je ukázán na Configuration Management procesu definovaném v normě ISO/IEC 12207:2000. A na závěr jsou uvedeny tři základní a historicky nejdůležitější modely procesů životního cyklu softwaru, a to Vodopádový model, V-model a Spirálový model. Klíčová slova model, software, proces, referenční, vodopádový, spirálový, V-model, životní cyklus, composition tree, Norma ISO/IEC TR 24774 2

Obsah 1 Úvod... 4 2 Norma ISO/IEC TR 24774 [4]... 5 2.1 Title (název)... 5 2.2 Purpose (účel)... 5 2.3 Outcomes (výstupy)... 6 2.4 Activities (aktivity)... 6 2.5 Tasks (úkoly)... 7 2.6 Information items (informační položky)... 7 3 Composition tree... 8 3.1 Vysvětlení Composition tree... 8 3.2 Využití přístupu CT k modelování softwarových procesů... 9 4 Modely procesů životního cyklu softwaru... 12 4.1 Vodopádový model (Waterfall)... 12 4.2 V-model... 13 4.3 Spirálový model... 14 5 Závěr... 17 6 Zdroje... 18 3

1 ÚVOD Modely softwarových procesů jsou důležité pro kvalitní tvorbu procesů v organizaci. Používání modelů pomáhá ušetřit čas a tvořit procesy na základě již ověřených metod. Tato práce se blíže bude zabývat otázkou správného definování modelu procesu a jeho elementů a popíše jak lze následně proces namodelovat pomocí composition tree. Nakonec také v krátkosti shrneme modely životního cyklu, které do modelů softwarových procesů také spadají, ale tento text se primárně zaměřuje na výše popsané, tudíž jejich zpracování bude spíše informativního charakteru. Cílem práce bude vysvětlit jak správně definovat model procesu a jeho elementy dle platné normy ISO/IEC TR 24774 a jak lze využít composition tree při modelování softwarových procesů. Oboje včetně názorného příkladu. 4

2 NORMA ISO/IEC TR 24774 [4] Tato norma vydaná v roce 2010 definuje vzory pro procesní popis v referečních modelech. Její dodržování umožňuje spolešnosti efektivnější sdílení, propojování a kontrolování procesů díky unifikaci procesních popisů. Obsahem je výčet procesních elementů a popis způsobu jejich užití. V následujících podkapitolách je uveden výčet těchto elementů včetně jejich zjednodušeného popisu. 2.1 TITLE (NÁZEV) Název procesu je podstatné jméno, nebo sousloví, které vystihuje proces. Je důležité používat podstatná jména, a ne slovesa, která se snaží shrnout průběh procesu a mohou tak více svádět k špatné interpretaci. Název by měl proces jasně odlišovat od ostatních procesů v modelu, proto je někdy třeba v průběhu modelování změnit název procesu, aby více konkretizoval dva podobné procesy. Název může popisovat jak obecný proces (proces vykreslení), tak konkrétní instanci obecného procesu v určitých podmínkách (proces vykreslení v projektu X). Intance by měla dětit název procesu ze kterého je odvozena a tato zděděná část může být odlišena v názvu například kurzívou. 2.2 PURPOSE (ÚČEL) Účel popisuje konečný cíl průběhu procesu. V případech, kde by se mohly procesy překrývat by účel měl definovat hranice popisovaného procesu. Účel by měl být zachycen v ideálním případě jednou větou, která začíná slovy: Cílem procesu je... Použití spojky a je třeba se v této větě vyhýbat, jinak by popis účelu byl agregací několika výstupů a ne jasným určením cíle. 5

2.3 OUTCOMES (VÝSTUPY) Výstupy popisují pozorovatelné výsledky úspěšně dokončeného procesu. Jsou měřitelné a konkrétní, technické nebo obchodní a jsou pozorovatelné a zhodnotitelné. Měly by být odlišeny od výhod, které jsou pozitivy playnoucími z průběhu procesu. Výhody obvykle nejdou vyhodnotit a ač mohou poskytovat jistou motivaci k provádění procesu nejsou hlavním důvodem k jeho provedení. výčet výstupů musí začínat slovy: V důsledku úspěšného provedení tohoto procesu.. výčet by se měl zkládat z oznamovacích vět v přítomném čase výstupy by měly být vyjádřeny jako pozitivní a pozorovatelné mety (např.: dosažení stavu, udržení stavu, výroba produktu) výstupy by něměli mít větší rozsah než dva řádky a přibližně 20 slov jeden proces by měl mít od 3 do 7 výstupů výstup by měl mít jeden jediný výsledek, proto je třeba předcházet používání spojky a jako test kompletnosti by soubor výstupů měl být dostačující pro dosažení stanoveného účelu procesu jako test relevance by měl být každý výstup formulován tak, že je k dosažení účelu p 2.4 ACTIVITIES (AKTIVITY) Aktivity jsou výčet akcí potřebných k dosažení výstupů. Jsou to konstrukce pro seskupování souvisejících úkolů. Je třeba se vyvarovat definování časových úseků a dob trvání, jelikož ty se mohou měnit podle životního cyklu. Pokud je to ovšem nutné, je důležité to explicitně uvést. Aktivity by také neměly být považovány za kroky v určitém postupu, ale za trvající povinnosti. 6

2.5 TASKS (ÚKOLY) Úkoly jsou různé akce, které musejí být provedeny, aby proběhla aktivita. Související úkoly jsou spojovány dohromady a tvoří tak aktivitu. Úkoly jsou vyjádřeny ve formě požadavku, doporučení nebo činnosti. Platí zde stejná pravidla ohledně plánování času jako u aktivit. 2.6 INFORMATION ITEMS (INFORMAČNÍ POLOŽKY) Informační položky jsou samostatně identifikovatelné úseky informací požívané procesem. Vstupují a vystupují z procesu. Definuje je popis, specifikace procedůra (způsob nakládání s nimi) a samotný záznam. Obrázek 1 Příklad užití elementů v UML reprezentaci procesu [4] 7

3 COMPOSITION TREE V předchozích kapitolách bylo popsáno, jaké jsou náležitosti popisu procesu podle normy ISO/IEC TR 24774 a v této kapitole je ukázáno, jak se na základě účelu a výstupů procesu dá namodelovat proces využitím přístupu Composition tree. 3.1 VYSVĚTLENÍ COMPOSITION TREE Composition tree byl původně využíván pro popis složení komponentového SW systému. Poskytuje užitečný souhrn informací zahrnujících stavy, atributy a vazby mezi entitami systému. V následující ukázce je nastíněno, jak se vytváří composition tree na základě požadavků na funkcionality a zároveň můžeme vidět základní notaci pro jeho tvorbu. Systém AUTO Požadavky: P1: Auto může být nastartované, pouze pokud je zaparkované a klíč je v zapalování a řidič s ním otočí a zapne ho. P2: PX Obrázek 2 - Grafické znázornění 1. požadavku na systém využitím přístupu Composition tree (zdroj Martin Baláž, podle [1]) 8

Na Obrázku 1, vidíme ve dvojitém rámečku systém AUTO (může to být zároveň komponenta většího celku, ale pro naši ukázku je to nejvyšší entita). Z něj potom vychází dva typy vazeb první, bez šipky, vede k tabulce stavů, ze které můžeme vyčíst, že z prvního požadavku (P1) vyplývají dva stavy nastartovane a zaparkovane. Druhý typ vazby, se šipkou, vede k podřízeným komponentám KLÍČ A ZAPALOVÁNÍ, které se stejně jako hlavní entita zapisují velkými písmeny. Dále vidíme, že komponenta KLÍČ má jeden stav otoceny a má rovněž jeden vztah, v, ke komponentě ZAPALOVÁNÍ, a ta má taky jeden stav zapnute. Výhody využití CT: Všechny požadavky jsou přehledně integrované na jednom místě. Jednoduché odhalení vad v požadavcích (nekompletní atd. každá komponenta alespoň 2 stavy apod.). Jasné zobrazení požadavků na každou komponentu nejsou roztroušené v několika požadavcích. Jednoznačnější než přirozený jazyk. Konzistentní pojmenování v celém systému. 3.2 VYUŽITÍ PŘÍSTUPU CT K MODELOVÁNÍ SOFTWAROVÝCH PROCESŮ V následující ukázce využití CT při modelování SW procesů se pracuje s Configuration Management procesem definovaném v normě ISO/IEC 12207:2000, aby byl proces tvorby modelu názornější. Způsob, kterým se dá sestavit CT z účelu a výstupů, se skládá ze 3 kroků: 1. Přečíst si účel a výstupy a zaznamenat si seznam podstatných jmen a zkratek, což jsou většinou komponenty systému nebo jejich atributy. 2. Vytvoření výchozího CT z účelu z jeho komponent a stavů. 9

3. Projít výstupy jeden po druhém, identifikovat komponenty, atributy, stavy a vazby a zakomponovat je do výchozího CT. Pozn.: v příkladu je zanecháno původní znění, aby překladem netrpěla kvalita a původní myšlenka. Nejprve tedy projedeme účel a výstupy (podle bodu 1). Process Name: Software configuration management. Process Purpose (účel): The purpose of the Configuration management process is to establish and maintain the integrity of the work products/items of a process or project and make them available to concerned parties. Process Outcomes (výstupy): 1. a configuration management strategy is developed; 2. items generated by the process or project are identified, defined and baselined; 3. modifications and releases of the items are controlled; 4. modifications and releases are made available to affected parties; 5. the status of the items and modifications are recorded and reported; 6. the completeness and consistency of the items is ensured; and 7. storage, handling and delivery of the items are controlled. Identifikované komponenty: CMP: Software Configuration Management Process WPI: Work product or item CPT: Concerned Party CMS: Configuration Management Strategy 10

Dalším krokem je sestavení výchozího CT z účelu. Obrázek 3 Výchozí CT z účelu Configuration Management procesu [1] Sestavení výchozího CT z účelu proběhlo obdobně jako v předchozím příkladě sestavení CT z požadavků na AUTO. A po splnění posledního (3.) kroku, by měl CT vypadat takto: Obrázek 4 Kompletní zobrazení Configuration Management procesu využítím přístupu Composition tree [1] 11

4 MODELY PROCESŮ ŽIVOTNÍHO CYKLU SOFTWARU Životním cyklem softwaru se myslí doba od úmyslu jeho vytvoření až po ukončení jeho používání. Modelem rozumíme rámec procesů a aktivit spojených s životním cyklem. Model životního cyklu software popisuje vzájemné vztahy mezi fázemi životního cyklu softwaru. Každý model obsahuje vlastní metodiku jak zajistit dostatečnou kvalitu produktu. V tomto kontextu často bývá pojem model a metodika zaměňován. Výběr vhodného modelu životního cyklu je klíčový pro úspěch celého projektu. V současné době je modelů životního cyklu software velké množství. Většina z nich ovšem vychází z původních definic vodopádového nebo spirálového modelu. [3] 4.1 VODOPÁDOVÝ MODEL (WATERFALL) Vodopádový model je nejstarší model životního cyklu software. Jeho pojmenování vychází z přirovnání posloupnosti jednotlivých fází k protékání vody vodopádem, jak je vidět na Obrázku 4. Poprvé jej definoval Winston W. Royce v roce 1970. Vodopádový model má 7 základních fází: o Analýza požadavků o Návrh systému o Návrh SW o Implementace (Coding) o SW integrace a verifikace o Systémová validace o Provoz a údržba 12

Obrázek 5 Schéma vodopádového modelu [2] Základní myšlenka vodopádového modelu, vychází ze sekvenčního přístupu k jednotlivým fázím. Model je charakteristický tím, že vstoupit do další fáze mohu až tehdy, pokud je předchozí kompletně dokončena a uzavřena. Je nutné počátečním fázím věnováno dostatek času (levnější přijít na chybu dříve než později) a iterace je možná pouze v rámci probíhající fáze, maximálně s fází předchozí, takže je důležité na konci každé fáze si být maximálně jisti její validací a kompletností. Další nevýhody: Nulová možnost reakce na dodatečné požadavky klienta, integrace až po implementaci (časově náročné úpravy a opravy). Jako reakce na nedostatky vznikly modifikace modelu, například V-model. 4.2 V-MODEL Velmi podobné fáze, ale pro každou fázi návrhu je odvozena odpovídající fáze testování. 13

Obrázek 6 Schéma V-modelu [2] Požadavek trasovatelnosti shora dolů v levé části modelu což znamená, že požadavky musejí být sledovány (trace) do návrhu systému, což zaručuje, že budou implementovány kompletně a správně. Pro případ, kde jsou požadavky změněny, byl definován V-cyklus, což je série na sebe navazujících V-modelů, což už je iterativní přístup, na kterém je založen spirálový model. 4.3 SPIRÁLOVÝ MODEL Spirálový model poprvé definoval Barry Boehm v roce 1986. Tento model velmi dobře pokrývá nedostatky vodopádového modelu. 14

Obrázek 7 Schéma spirálového modelu [3] Model je založen na iterativním přístupu a především zavádí opakovanou analýzu všech rizik. Probíhá v několika krocích, které se neustále opakují, dokud není produkt hotov. Hlavní myšlenkou je zde navazování nových částí na již důkladně prověřený základ. Z počátku se vývoj provádí na základě hrubé specifikace požadavků, v pozdějších fázích je tato specifikace i po konzultaci se zákazníkem postupně upřesňována. Celý životní cyklus podle Spirálového modelu je rozdělen do čtyř hlavních částí: 1) Určení cílů, alternativ, omezení 2) Vyhodnocení alternativ, identifikace a řešení rizik 3) Vývoj a verifikace další úrovně produktu 15

4) Plánování následujících fází (Plan next phases) Po každé fázi následuje testování, hodnocení a předání dílčích výsledků. Produkt je tedy testován pravidelně a to již od raných fází včasné odhalení chyb. Nevýhody: Nestabilní/špatně naimplementovaný prototyp často bývá finálním produktem, vyžaduje rozsáhlou spolupráci zákazníka -> roste závislost na zákazníkovi, těžko odhadovaná doba trvání projektu. 16

5 ZÁVĚR Práce neměla za úkol téma modelů softwarových procesů zcela vyčerpat, ale přes široce definované téma a relativně málo zdrojů se nám podařilo splnit cíle definované v úvodu. Ukázali jsme jak správně popsat model softwarového procesu dle normy ISO/IEC TR 24774 a předvedli užití elementů na příkladu přímo z této normy. Předvedli jsme také jak modelovat proces s užitím composition tree a shrnuli jednotlivé typy modelů životního cyklu procesu a to Vodopádový model, V-model a Spirálový model. 17

6 ZDROJE [1] MAS, A., A. MESQUIDA, T. ROUT, R.V. O CONNOR a A. DORLING. Software process improvement and capability determination 12th International Conference, SPICE 2012, Palma, Spain, May 29-31, 2012. Proceedings. Berlin: Springer, 2012. ISBN 978-364-2304-392. [2] SW process. TARGET, THE-SOWTWARE-EXPERTS. [online]. 2014 [cit. 2015-03-14]. Dostupné z: http://www.the-software-experts.com/e_dta-sw-process-model.php [3] Modely životního cyklu softwaru. TESTOVÁNÍ SOFTWARU. [online]. 2.2.2011 [cit. 2015-05- 10]. Dostupné z: http://testovanisoftwaru.cz/manualni-testovani/modely-zivotniho-cyklusoftwaru/ [3] Modely životního cyklu softwaru. TESTOVÁNÍ SOFTWARU. [online]. 2.2.2011 [cit. 2015-05- 10]. Dostupné z: http://testovanisoftwaru.cz/manualni-testovani/modely-zivotniho-cyklusoftwaru/ [4] ISO/IEC TR 24774. Systems and software engineering Life cycle management Guidelines for process description. 2010. WG7. 18