- histórie
- stvorenia
- Alternatíva k vodopádovému modelu
- Vlastnosti špirálového modelu
- Kontrola rizika
- Opis špirály
- rodový
- pružný
- metamodel
- etapy
- Stanovte ciele, alternatívy a obmedzenia
- Vyhodnotenie rizík
- Vývoj a testovanie
- Plánovanie ďalšieho cyklu
- príklad
- výhoda
- Cyklická štruktúra
- Riadenie rizík
- Účasť zákazníkov a spätná väzba
- Ideálne pre veľké projekty
- nevýhody
- drahý
- Docela komplex
- Časový manažment
- Mnoho krokov
- Referencie
Špirála Model je archetypom procesu vývoja aplikácií. Vychádza z hypotézy, že vývoj softvéru je opakovací cyklus, ktorý sa opakuje, až kým sa nedosiahnu stanovené ciele. Má schopnosť zvládnuť veľké množstvo rizík, ktoré by sa mohli vyskytnúť pri vývoji akéhokoľvek softvéru.
Je to jeden z najdôležitejších modelov na podporu riadenia rizík. Ako už názov napovedá, tento model je znázornený ako špirálovitý tvar, kde sú rôzne štádiá modelu rozdelené v rôznych cykloch. Počet cyklov v modeli nie je stanovený a môže sa líšiť v závislosti od projektu.
Analýza, hodnotenie, plánovanie a vývoj. Špirála pre vývoj softvéru Zdroj: Beao commons.wikimedia.org
histórie
stvorenia
Špirálový model bol definovaný americkým matematikom a profesorom softvérového inžinierstva Barrym Boehmom. Po predstavení koncepcie vývoja komplexných aplikácií v roku 1986 publikoval svoj model v roku 1988 v komplexnejšom rámci vo svojom článku „Špirálny model vývoja a zlepšovania softvéru“.
Časť tejto publikácie z roku 1988 graficky znázornil špirálový model, ktorý komplexným spôsobom ukazoval, ako proces vývoja softvéru vyzerá špirálovito a je podporovaný cyklami.
Boehm je známy svojimi početnými príspevkami v softvérovom inžinierstve, ako je napríklad konštruktívny nákladový model (COCOMO), špirálový model softvérového procesu, prístup G-Theory (win-win) k určovaniu a správe požiadaviek. softvéru.
Alternatíva k vodopádovému modelu
Vo svojej publikácii Boehm opísal špirálový model ako možnú alternatívu k predtým zavedenému vodopádovému modelu, ktorý tiež slúžil ako základ pre jeho prax.
Špirálový model nebol prvým, ktorý diskutoval o cyklickom vývoji, ale bol to prvý model, ktorý vysvetlil, prečo je iterácia dôležitá. Ako sa pôvodne plánovalo, je zameraný na veľké a komplexné projekty, ktorých iterácie sa zvyčajne pohybujú od 6 mesiacov do 2 rokov.
Tento model nepredpokladá, že úlohy vývoja softvéru sú navrhnuté lineárne, na rozdiel od modelu vodopádu, ale skôr ich považujú za opakujúce sa úlohy.
Tento cyklický model ovplyvňoval Model Based Software Engineering Architecture (MBASE) a extrémne programovanie.
Vlastnosti špirálového modelu
Kontrola rizika
Tento model sa výrazne odlišuje od ostatných modelov softvérových procesov v tom, že výslovne rozpoznáva riziká. Tým výrazne znižuje zlyhanie veľkých softvérových projektov opakovaným hodnotením rizík a zakaždým overovaním vyvíjaného produktu.
Tento počítačový model obsahuje komponenty takmer zo všetkých ostatných modelov životného cyklu softvéru, ako je napríklad vodopádový model, prototypový model, iteračný model, vývojový model atď.
Z tohto dôvodu je schopný zvládnuť takmer všetky typy rizík, ktoré iné modely spravidla nezvládajú. Avšak kvôli tomu, že má toľko komponentov, je tento model oveľa zložitejší ako iné modely vývoja softvéru.
Opis špirály
Každé otočenie špirály predstavuje kompletný cyklus, cez ktorý vždy prechádzajú štyri kvadranty, ktoré predstavujú štyri štádiá modelu.
S rastúcou veľkosťou špirály sa zvyšuje aj pokrok. Fázy sa preto nevykonávajú iba raz, ale niekoľkokrát špirálovo.
Hoci toto cyklické opakovanie spôsobuje, že projekt sa pomaly približuje k stanoveným cieľom, riziko zlyhania procesu vývoja je výrazne minimalizované.
rodový
Tieto štyri fázy implementujú iba základné ciele cyklu, nemusia sa však prejavovať v každom cykle.
Poradie každého cyklu tiež nie je presne stanovené. Preto je možné model kedykoľvek kombinovať s inými modelmi.
pružný
Je pomerne flexibilný, pretože vykonáva vymedzenie cieľov, analýzu rizika, procesy vývoja a plánovania osobitne pre každú fázu projektu.
metamodel
Považuje sa za metamodel, pretože obsahuje ďalšie modely. Napríklad, ak by špirála bola jedným cyklom, predstavovalo by to vodopádový model, pretože zahŕňa postupný prístup tohto klasického modelu.
Využíva tiež prístup prototypového modelu, keďže na začiatku každého cyklu zostavuje prototyp na riadenie rizika.
Ďalej je kompatibilný s evolučným modelom, pretože iterácie špirály možno považovať za vývojové úrovne, prostredníctvom ktorých sa vytvára konečný systém.
etapy
Stanovte ciele, alternatívy a obmedzenia
Systémové požiadavky sú definované čo najpodrobnejšie, vrátane výkonu, hardvérových / softvérových rozhraní, kľúčových ukazovateľov úspechu atď. a aké ciele by sa mali spájať so súčasným vývojovým cyklom.
Okrem toho sa skúmajú rôzne alternatívy jeho vykonávania, ako je napríklad stavanie verzus stavba verzus kúpiť, opätovne použiť existujúce komponenty alebo zadať externé zdroje atď.
Rovnako sú stanovené obmedzenia, ako sú náklady, rozvrh a rozhrania, časová náročnosť atď.
Vyhodnotenie rizík
Vyhodnotia sa všetky navrhované alternatívy. Ciele a obmedzenia slúžia ako určujúce referencie na výber najlepšieho riešenia.
Okrem toho sa identifikujú riziká, ktoré môžu brániť úspechu projektu, napríklad nedostatok skúseností, nové technológie, prísne časové plány, zlé procesy atď., Implementácia najziskovejších stratégií s najnižším rizikom.
Nakoniec sa používajú metódy ako prototypovanie, simulácie, analytické modely a prieskumy používateľov.
Vývoj a testovanie
Celý potrebný vývoj sa vykonáva pomocou technológie a zvoleného riešenia. S každou iteráciou sa vytvorí lepšia verzia aplikácie.
Skutočný kód sa zapisuje a testuje niekoľkokrát, až kým sa nedosiahne požadovaný výsledok, ktorý potom bude slúžiť ako základ pre ďalšie vývojové kroky.
Plánovanie ďalšieho cyklu
Po dokončení jedného cyklu sa začína plánovanie ďalšieho. Týmto plánovaním by mohlo byť pokračovanie v projekte normálne, ak by sa dosiahol cieľ cyklu vzhľadom na definíciu ďalšieho cieľa.
Mohlo by to tiež byť nájdenie iných riešení, ak sa predchádzajúca etapa vývoja ukázala ako chybná. Existujúca stratégia by sa mohla nahradiť jednou z predtým definovaných alternatív alebo novou. Týmto by sa začal nový pokus o dosiahnutie daného cieľa.
príklad
Americká armáda prijala špirálový model pre vývoj a modernizáciu modernizačného programu Future Fighting Systems (SCF).
Oficiálne spustené v roku 2003 sa predpokladalo, že jednotky SCF vybavia jednotky vozidlami v reálnom čase spojenými s mimoriadne rýchlou a flexibilnou sieťou bojísk.
Projekt bol rozdelený do štyroch vývojových špirál, z ktorých každá mala približne dva roky. Začiatok špirály 1 sa mal začať v roku 2008 a dodávať prototypy na použitie a vyhodnotenie.
Po dokončení špirály 1 sa mala špirála 2 začať v roku 2010. Konečný vývoj produktu bol naplánovaný na dodávku v roku 2015.
V auguste 2005 spoločnosť Boeing oznámila dokončenie prvého významného medzníka projektu, ktorým bolo funkčné prepracovanie systémov. Vedúci projektu boli spoločnosti Boeing a Science Applications International Corporation.
Na október 2005 však Pentagon odporučil odloženie projektu z dôvodu vysokého vplyvu na náklady z vojny v Iraku a pomoci od hurikánu Katrina.
Projekt bol zrušený v roku 2009 po tom, čo sa objavili rozpočtové škrty, bez toho, aby bolo možné preukázať výhody špirálového modelu v tejto misii
výhoda
Cyklická štruktúra
V dôsledku tohto typu štruktúry sa vďaka pravidelným kontrolám automaticky odstraňujú problémy medzi návrhom a technickými požiadavkami softvéru.
Riadenie rizík
Riziká sa analyzujú v každej fáze produktu pred ďalším pokračovaním. Pomáha to prekonať alebo zmierniť potenciálne riziká.
Všetci zamestnanci ťažia z veľkej dôležitosti analýzy rizika v tomto modeli, čo predstavuje najväčšiu výhodu oproti iným procesným modelom.
Pravidelné hodnotenie rizika je užitočné pri používaní nových technických prostredí, ktoré sú vo všeobecnosti spojené s konkrétnym potenciálom rizika v dôsledku absencie empirických hodnôt.
Účasť zákazníkov a spätná väzba
Zákazníci sú zapojení do každej fázy projektu až do ukončenia projektu. Preto je možné zhromaždiť rôzne spätné väzby, aby sa zlepšila ďalšia verzia projektu.
Spätnú väzbu je možné získať kedykoľvek vďaka špirálovitému postupu. Zákazníci a používatelia sa tak môžu od začiatku integrovať do procesu vývoja.
Ideálne pre veľké projekty
Je obzvlášť populárny a vynikajúci pri veľkých a zložitých projektoch, kde je kontrola rozpočtu prioritou pre klientov a vývojárov. Máte maximálnu kontrolu nad nákladmi, zdrojmi a kvalitou softvérového projektu.
nevýhody
drahý
Môže to byť dosť drahé, pretože vyžaduje vysokú úroveň odbornosti pre analýzu rizika. Projekty si okrem toho vyžadujú veľa času na vývoj, čo môže zvýšiť režijné náklady.
Docela komplex
Vyžaduje sa veľmi aktívne a komplexné predchádzajúce riadenie projektu, kde je každý cyklus nepretržite a starostlivo kontrolovaný a zdokumentovaný.
Je porovnateľne zložitejšia ako iné modely, pretože existuje veľa cyklov, z ktorých každý prechádza rôznymi fázami, čím sa zvyšuje úsilie o dokumentačný proces.
Znalosti o analýze a riadení rizika, ktoré často nie sú k dispozícii, sú nevyhnutné.
Časový manažment
Čas je ťažké zvládnuť, pretože počet cyklov nie je známy. Okrem toho sa vývojový proces môže kedykoľvek oneskoriť, ak sa pri plánovaní nasledujúceho cyklu musia prijať dôležité rozhodnutia v rámci jedného cyklu alebo prostredníctvom ďalších opatrení.
Mnoho krokov
Podnikanie mnohých krokov vo vývoji softvéru nie je vždy priaznivé, pretože aj napriek všestrannosti testovania môžu nedokončené časti programu dosiahnuť hotový systém.
V dôsledku toho vždy existuje nebezpečenstvo, že akákoľvek koncepčná chyba alebo nesúlad ovplyvní konečný výrobok.
Referencie
- Victor Font Jr (2019). Špirálový model. Ultimate Guide to SDLC. Prevzaté z: ultimatesdlc.com.
- Ionos (2019). Špirálový model: rizikový model vývoja softvéru. Prevzaté z: ionos.com.
- Techuz (2018). Čo je to špirálový model? Jednoduché vysvetlenie životného cyklu vývoja softvéru špirály (SDLC). Prevzaté z: techuz.com.
- Jednorazové testovanie (2020). Špirálový model. Prevzaté z: onestoptesting.com.
- Geeks for Geeks (2020). Softvérové inžinierstvo - špirálový model. Prevzaté z: geeksforgeeks.org.
- Chandu (2019). Špirálový model v softvérovom inžinierstve. Prevzaté z: medium.com.