- Dějiny
- Tvorba
- Alternativa k vodopádovému modelu
- Vlastnosti spirálového modelu
- Řízení rizik
- Popis spirály
- Obecný
- Flexibilní
- Metamodel
- Fáze
- Stanovte cíle, alternativy a omezení
- Vyhodnocení rizik
- Vývoj a testování
- Plánování dalšího cyklu
- Příklad
- Výhoda
- Cyklická struktura
- Řízení rizik
- Účast zákazníků a zpětná vazba
- Ideální pro velké projekty
- Nevýhody
- Drahý
- Docela složitý
- Organizace času
- Mnoho kroků
- Reference
Spirála Model je archetypem procesu vývoje aplikací. Je založeno na hypotéze, že vývoj softwaru je iterační cyklus, který se opakuje, dokud nejsou dosaženy stanovené cíle. Má schopnost zvládnout velké množství rizik, která mohou nastat při vývoji jakéhokoli softwaru.
Je to jeden z nejdůležitějších modelů pro podporu řízení rizik. Jak jeho název napovídá, tento model je zobrazen jako spirálovitý tvar, kde jsou různé fáze modelu rozloženy v různých cyklech. Počet cyklů v modelu není pevně stanoven a může se v jednotlivých projektech lišit.
Analýza, hodnocení, plánování a vývoj. Spirála vývoje softwaru Zdroj: Beao commons.wikimedia.org
Dějiny
Tvorba
Spirální model definoval americký matematik a profesor softwarového inženýrství Barry Boehm. Poté, co v roce 1986 představil svůj koncept vývoje komplexních aplikací, publikoval svůj model v roce 1988 v komplexnějším rámci ve svém článku „Spirální model vývoje a vylepšení softwaru“.
Část této publikace z roku 1988 graficky znázornil spirálový model, plně ukazující, jak proces vývoje softwaru vypadá spirálovitě a je podporován cykly.
Boehm je známý svými četnými příspěvky do softwarového inženýrství, jako je konstruktivní nákladový model (COCOMO), spirálový model softwarového procesu, přístup G-Theory (win-win) k určování a řízení požadavků. softwaru.
Alternativa k vodopádovému modelu
Boehm ve své publikaci popsal spirálový model jako možnou alternativu k dříve zavedenému vodopádovému modelu, který také sloužil jako základ pro jeho praxi.
Spirální model nebyl první, kdo diskutoval o cyklickém vývoji, ale byl to první model, který vysvětlil, proč je iterace důležitá. Jak bylo původně plánováno, byl zaměřen na velké a komplexní projekty, jejichž iterace se obvykle pohybují od 6 měsíců do 2 let.
Tento model nepředpokládá, že úkoly vývoje softwaru jsou navrženy lineárně, na rozdíl od modelu vodopádu, ale spíše je vidí jako iterační úkoly.
Tento cyklický model ovlivnil Model Based Software Engineering Architecture (MBASE) a extrémní programování.
Vlastnosti spirálového modelu
Řízení rizik
Tento model se výrazně liší od ostatních modelů softwarových procesů v tom, že explicitně rozpoznává rizika. Tím výrazně snižuje selhání velkých softwarových projektů opakovaným hodnocením rizik a pokaždé ověřováním vyvíjeného produktu.
Tento počítačový model obsahuje komponenty téměř ze všech ostatních modelů životního cyklu softwaru, jako je vodopádový model, prototypový model, iterativní model, evoluční model atd.
Z tohoto důvodu je schopen zvládnout téměř jakékoli riziko, které ostatní modely obvykle nezvládají. Vzhledem k tomu, že má tolik součástí, je tento model mnohem složitější než ostatní modely vývoje softwaru.
Popis spirály
Každé otočení spirály představuje kompletní cyklus, kterým čtyři kvadranty vždy projdou a představují čtyři fáze modelu.
Jak se velikost spirály zvětšuje, zvyšuje se i pokrok. Fáze tedy nejsou prováděny pouze jednou, ale několikrát spirálovitě.
Ačkoli toto cyklické opakování způsobuje, že se projekt pomalu přibližuje stanoveným cílům, riziko selhání procesu vývoje je silně minimalizováno.
Obecný
Čtyři fáze implementují pouze základní cíle cyklu, ale nemusí se projevovat v každém cyklu.
Pořadí každého cyklu také není přesně stanoveno. Proto lze model kdykoli kombinovat s jinými modely.
Flexibilní
Je docela flexibilní, protože provádí cíle, analýzu rizik, procesy vývoje a plánování samostatně pro každou fázi projektu.
Metamodel
Považuje se za metamodel, protože zahrnuje další modely. Například, jestliže spirála byla jediný cyklus to by reprezentovalo vodopádový model, protože to zahrnuje postupný přístup tohoto klasického modelu.
Používá také přístup prototypového modelu, protože na začátku každého cyklu sestavuje prototyp pro řízení rizik.
Navíc je kompatibilní s evolučním modelem, protože iterace spirály lze považovat za evoluční úrovně, prostřednictvím kterých je vytvořen konečný systém.
Fáze
Stanovte cíle, alternativy a omezení
Systémové požadavky jsou definovány co nejpodrobněji, včetně výkonu, hardwarových / softwarových rozhraní, klíčových ukazatelů úspěchu atd. a jaké cíle by měly být spojeny s aktuálním vývojovým cyklem.
Kromě toho jsou zkoumány různé alternativy pro jeho implementaci, například sestavení vs. nakupovat, znovu použít stávající komponenty nebo outsourcing atd.
Stejně tak jsou stanovena omezení, jako jsou náklady, plán a rozhraní, časová náročnost atd.
Vyhodnocení rizik
Vyhodnoceny jsou všechny navrhované alternativy. Cíle a omezení slouží jako určující reference pro výběr nejlepšího řešení.
Kromě toho jsou identifikována rizika, která mohou bránit úspěchu projektu, jako je nedostatek zkušeností, nové technologie, přísné plány, špatné procesy atd., Implementace nejziskovějších strategií s nejnižším rizikem.
Nakonec jsou použity metody jako prototypování, simulace, analytické modely a uživatelské průzkumy.
Vývoj a testování
Veškerý nezbytný vývoj se provádí pomocí technologie a zvoleného řešení. S každou iterací je vytvořena lepší verze aplikace.
Skutečný kód je psán a testován několikrát, dokud není dosaženo požadovaného výsledku, který pak slouží jako základ pro další vývojové kroky.
Plánování dalšího cyklu
Po dokončení jednoho cyklu začíná plánování na další. Tímto plánováním by mohlo být pokračovat v projektu normálně, pokud by bylo dosaženo cíle cyklu, s přihlédnutím k definici dalšího cíle.
Mohlo by to být také najít jiná řešení, pokud by se předchozí fáze vývoje ukázala jako vadná. Stávající strategie by mohla být nahrazena jednou z dříve definovaných alternativ nebo novou. Tím by byl zahájen nový pokus o dosažení daného cíle.
Příklad
Americká armáda přijala spirálový model pro vývoj a aktualizaci programu modernizace Future Fighting Systems (SCF).
Oficiálně zahájeno v roce 2003, SCFs byl zamýšlel vybavit vojska s vozidly připojenými v reálném čase k mimořádně rychlé a flexibilní síti bitevních polí.
Projekt byl rozdělen do čtyř vývojových spirál, každá po dvou letech. Spirála 1 měla být zahájena v roce 2008 a dodávat prototypy pro použití a vyhodnocení.
Po dokončení spirály 1 měla být spirála 2 zahájena v roce 2010. Konečný vývoj produktu měl být dodán v roce 2015.
V srpnu 2005 společnost Boeing oznámila dokončení prvního významného milníku projektu, kterým bylo funkční přepracování systémů. Společnými vedoucími projektu byli společnost Boeing a Science Applications International Corporation.
Pro říjen 2005 však Pentagon doporučil odložit projekt kvůli vysokému dopadu na náklady z irácké války a pomoci hurikánu Katrina.
Projekt byl zrušen v roce 2009 poté, co se objevily rozpočtové škrty, aniž by bylo možné prokázat výhody spirálového modelu v této misi
Výhoda
Cyklická struktura
Díky tomuto typu struktury jsou díky pravidelným kontrolám automaticky odstraněny problémy mezi návrhem a technickými požadavky softwaru.
Řízení rizik
Rizika jsou analyzována v každé fázi produktu před dalším pokračováním. To pomáhá překonat nebo zmírnit potenciální rizika.
Všichni zaměstnanci těží z velké důležitosti analýzy rizik v tomto modelu, což představuje největší výhodu oproti jiným procesním modelům.
Pravidelné posuzování rizik je užitečné při používání nových technických prostředí, která jsou obvykle spojena s určitým rizikovým potenciálem z důvodu neexistence empirických hodnot.
Účast zákazníků a zpětná vazba
Zákazníci jsou zapojeni do každé fáze projektu, dokud není projekt dokončen. Proto lze získat různé zpětné vazby pro zlepšení další verze projektu.
Zpětnou vazbu lze také získat kdykoli díky spirálovitě tvarovanému postupu. Zákazníci a uživatelé tak mohou být od počátku integrováni do procesu vývoje.
Ideální pro velké projekty
Obzvláště populární a významné pro velké a složité projekty, kde je kontrola rozpočtu prioritou pro klienty a vývojáře. Máte maximální kontrolu nad náklady, zdroji a kvalitou softwarového projektu.
Nevýhody
Drahý
Může to být docela drahé, protože vyžaduje vysokou úroveň odborných znalostí pro analýzu rizik. Kromě toho se vývojům projektů věnuje hodně času, což může zvýšit režii.
Docela složitý
Vyžaduje se velmi aktivní a komplexní předchozí řízení projektu, kde je každý cyklus průběžně a pečlivě kontrolován a dokumentován.
Je poměrně složitější než jiné modely, protože existuje mnoho cyklů, z nichž každý prochází různými fázemi, čímž se zvyšuje úsilí o dokumentaci.
Znalost analýzy a řízení rizik, která často není k dispozici, je nezbytná.
Organizace času
Čas je obtížné řídit, protože počet cyklů není znám. Proces vývoje může být navíc kdykoli zpožděn, pokud je třeba při plánování dalšího cyklu učinit důležitá rozhodnutí v rámci jednoho cyklu nebo pomocí dalších akcí.
Mnoho kroků
Podnikání mnoha kroků ve vývoji softwaru není vždy příznivé, protože i přes všestrannost testování mohou nedokončené části programu dosáhnout dokončeného systému.
V důsledku toho vždy existuje nebezpečí, že jakákoli koncepční chyba nebo nekonzistence ovlivní konečný produkt.
Reference
- Victor Font Jr (2019). Spirální model. Ultimate Guide to SDLC. Převzato z: ultimatesdlc.com.
- Ionos (2019). Spirální model: rizikový model vývoje softwaru. Převzato z: ionos.com.
- Techuz (2018). Co je to spirální model? Jednoduché vysvětlení životního cyklu vývoje spirálového softwaru (SDLC). Převzato z: techuz.com.
- Jednorázové testování (2020). Spirální model. Převzato z: onestoptesting.com.
- Geeks for Geeks (2020). Softwarové inženýrství - spirální model. Převzato z: geeksforgeeks.org.
- Chandu (2019). Spirální model v softwarovém inženýrství. Převzato z: medium.com.