sdlc phases
Čo je životný cyklus vývoja softvéru (SDLC)? Naučte sa fázy, metodológie, procesy a modely SDLC
Životný cyklus vývoja softvéru (SDLC) je rámec, ktorý definuje kroky spojené s vývojom softvéru v každej fáze. Zahŕňa podrobný plán výstavby, nasadenia a údržby softvéru.
SDLC definuje kompletný cyklus vývoja, t. J. Všetky úlohy spojené s plánovaním, vytváraním, testovaním a nasadením softvérového produktu.
Čo sa dozviete:
- Proces životného cyklu vývoja softvéru
- SDLC cyklus
- SDLC fázy
- Modely životného cyklu vývoja softvéru
- Záver
Proces životného cyklu vývoja softvéru
SDLC je proces, ktorý definuje rôzne fázy vývoja softvéru na dodávku vysoko kvalitného produktu. Fázy SDLC pokrývajú celý životný cyklus softvéru, t. J. Od vzniku produktu do vyradenia z prevádzky.
Dodržiavanie procesu SDLC vedie k vývoju softvéru systematickým a disciplinovaným spôsobom.
Účel:
Účelom SDLC je dodávať vysoko kvalitný produkt, ktorý zodpovedá požiadavkám zákazníka.
SDLC definovalo svoje fázy ako zhromažďovanie požiadaviek, návrh, kódovanie, testovanie a údržba. Je dôležité dodržiavať fázy, aby ste produkt poskytli systematickým spôsobom.
Napríklad, Musí byť vyvinutý softvér, tím je rozdelený tak, aby pracoval na funkcii produktu a mohol pracovať tak, ako chce. Jeden z vývojárov sa rozhodne najskôr navrhnúť, zatiaľ čo druhý sa rozhodne najskôr kódovať a druhý dokumentačnú časť.
To povedie k zlyhaniu projektu, kvôli čomu je potrebné mať dobré znalosti a porozumenie medzi členmi tímu, aby mohli dodať očakávaný produkt.
SDLC cyklus
SDLC cyklus predstavuje proces vývoja softvéru.
Ďalej je uvedené schematické znázornenie cyklu SDLC:
SDLC fázy
Ďalej sú uvedené rôzne fázy:
- Zhromažďovanie a analýza požiadaviek
- Dizajn
- Implementácia alebo kódovanie
- Testovanie
- Nasadenie
- Údržba
# 1) Zhromažďovanie a analýza požiadaviek
Počas tejto fázy sa od zákazníka zhromažďujú všetky príslušné informácie potrebné na vývoj produktu podľa jeho očakávaní. Prípadné nejasnosti je potrebné vyriešiť iba v tejto fáze.
Obchodný analytik a projektový manažér uskutočnili stretnutie so zákazníkom, aby zhromaždili všetky informácie, ako napríklad to, čo chce zákazník vytvoriť, kto bude koncovým používateľom, aký je účel produktu. Pred výrobou produktu je veľmi dôležité základné porozumenie alebo znalosť produktu.
Napríklad, Zákazník chce mať aplikáciu, ktorá zahŕňa peňažné transakcie. V takom prípade musí byť požiadavka jasná, aký druh transakcií sa bude robiť, ako sa bude uskutočňovať, v akej mene sa bude uskutočňovať atď.
Po zhromaždení požiadaviek sa vykoná analýza na overenie uskutočniteľnosti vývoja produktu. V prípade nejasností je zostavený hovor na ďalšiu diskusiu.
Len čo je požiadavka jasne pochopená, vytvorí sa dokument SRS (Software Requirement Specification). Tento dokument by mal byť vývojárom dôkladne pochopený. Zákazník by si ich mal tiež prečítať pre ďalšie použitie.
# 2) Dizajn
V tejto fáze sa požiadavka zhromaždená v dokumente SRS používa ako vstupná a odvodzuje sa softvérová architektúra, ktorá sa používa na implementáciu vývoja systému.
# 3) Implementácia alebo kódovanie
Implementácia / kódovanie sa začne, keď vývojár dostane dokument o dizajne. Dizajn softvéru je preložený do zdrojového kódu. V tejto fáze sú implementované všetky súčasti softvéru.
metóda vývoja životného cyklu vodopádu
# 4) Testovanie
Testovanie sa spustí po dokončení kódovania a uvoľnení modulov na testovanie. V tejto fáze je vyvinutý softvér dôkladne testovaný a všetky zistené chyby sú priradené vývojárom, aby ich odstránili.
Opakované testovanie, regresné testovanie sa vykonáva až do okamihu, keď je softvér podľa očakávaní zákazníka. Testéri odkazujú na dokument SRS, aby sa ubezpečili, že softvér zodpovedá štandardom zákazníka.
# 5) Nasadenie
Po otestovaní je produkt nasadený v produkčnom prostredí alebo najskôr UAT (User Acceptance Testing) sa robí v závislosti od očakávania zákazníka.
V prípade UAT sa vytvorí replika produkčného prostredia a zákazník spolu s vývojármi vykoná testovanie. Ak zákazník nájde aplikáciu podľa očakávania, potom poskytne odhlásenie, aby mohol fungovať.
# 6) Údržba
Po nasadení produktu na produkčné prostredie sa vývojári postarajú o údržbu produktu, t. J. Ak sa vyskytne akýkoľvek problém, ktorý je potrebné opraviť alebo je potrebné vykonať akékoľvek vylepšenie.
Modely životného cyklu vývoja softvéru
Model životného cyklu softvéru je popisným vyjadrením vývojového cyklu softvéru. Modely SDLC môžu mať odlišný prístup, ale základné fázy a aktivita zostávajú rovnaké pre všetky modely.
# 1) Model vodopádu
Model vodopádu je úplne prvý model, ktorý sa používa v SDLC. Je tiež známy ako lineárny sekvenčný model.
V tomto modeli je výsledkom jednej fázy vstup pre ďalšiu fázu. Vývoj ďalšej fázy sa začína až po dokončení predchádzajúcej fázy.
- Najskôr sa vykoná zber a analýza požiadaviek. Len čo je požiadavka pozastavená, môže sa spustiť iba návrh systému. V tomto dokumente je vytvorený SRS výstupom pre fázu požiadavky a slúži ako vstup pre návrh systému.
- V architektúre softvéru System Design a Design sa vytvárajú dokumenty, ktoré slúžia ako vstup pre ďalšiu fázu, t. J. Implementácia a kódovanie.
- Vo fáze implementácie sa vykoná kódovanie a vyvinutý softvér je vstupom pre ďalšiu fázu, tj. Testovanie.
- Vo fáze testovania je vyvinutý kód dôkladne testovaný, aby sa zistili chyby v softvéri. Poruchy sa prihlásia do nástroja na sledovanie defektov a po oprave sa znova otestujú. Protokolovanie chýb, opätovné testovanie, regresné testovanie pokračuje, kým softvér nie je v stave spustenia.
- Vo fáze nasadenia sa rozvinutý kód presunie do výroby po tom, čo zákazník vykoná odhlásenie.
- Všetky problémy v produkčnom prostredí riešia vývojári, ktorí prechádzajú údržbou.
Výhody modelu Waterfall:
- Vodopádový model je jednoduchý model, ktorý je ľahko pochopiteľný, a je to model, v ktorom sa postupne uskutočňujú všetky fázy.
- Výsledky každej fázy sú dobre definované, čo vedie k zložitosti a umožňuje ľahkú správu projektu.
Nevýhody modelu Waterfall:
- Model vodopádu je časovo náročný a nemožno ho použiť v krátkodobých projektoch, pretože v tomto modeli nemožno začať novú fázu, kým sa nedokončí prebiehajúca fáza.
- Model vodopádu nie je možné použiť pre projekty, ktoré majú neistú požiadavku alebo kde sa požiadavka neustále mení, pretože tento model očakáva, že požiadavka bude jasná vo fáze samotného zhromažďovania a analýzy požiadaviek a akákoľvek zmena v neskorších fázach by viedla k vyšším nákladom, pretože zmeny by boli potrebné vo všetkých fázach.
# 2) Model v tvare V
V- Model je tiež známy ako Verifikačný a validačný model. V tomto modeli ide Verifikácia a validácia ruka v ruke, t. J. Vývoj a testovanie prebiehajú paralelne. Model V a model vodopádu sú rovnaké, až na to, že plánovanie a testovanie testu začína v počiatočnej fáze modelu V.
a) Fáza overovania:
i) Analýza požiadaviek:
V tejto fáze sú zhromaždené a analyzované všetky požadované informácie. Medzi činnosti spojené s overovaním patrí kontrola požiadaviek.
ii) Dizajn systému:
Keď je požiadavka jasná, navrhne sa systém, t. J. Architektúra, komponenty produktu sa vytvoria a zdokumentujú v dokumente o dizajne.
iii) Dizajn na vysokej úrovni:
Dizajn na vysokej úrovni definuje architektúru / dizajn modulov. Definuje funkčnosť medzi týmito dvoma modulmi.
(iv) Dizajn na nízkej úrovni:
Low-level Design definuje architektúru / dizajn jednotlivých komponentov.
v) Kódovanie:
V tejto fáze sa pracuje na vývoji kódu.
b) Fáza overenia:
i) Testovanie jednotky:
Testovanie jednotky sa vykonáva pomocou jednotkových testovacích prípadov, ktoré sú navrhnuté a vykonáva sa vo fáze návrhu na nízkej úrovni. Testovanie jednotiek vykonáva samotný vývojár. Vykonáva sa na jednotlivých komponentoch, čo vedie k včasnej detekcii poruchy.
ii) Testovanie integrácie:
Testovanie integrácie sa vykonáva pomocou integračných testovacích prípadov vo fáze návrhu na vysokej úrovni. Testovanie integrácie je testovanie, ktoré sa vykonáva na integrovaných moduloch. Vykonávajú to testeri.
iii) Testovanie systému:
Testovanie systému sa vykonáva vo fáze návrhu systému. V tejto fáze sa testuje celý systém, t. J. Sa testuje celá funkčnosť systému.
iv) Testovanie prijatia:
Akceptačné testovanie je spojené s fázou analýzy požiadaviek a vykonáva sa v prostredí zákazníka.
Výhody modelu V:
- Je to jednoduchý a ľahko pochopiteľný model.
- Prístup typu V je vhodný pre menšie projekty, pri ktorých je definovaná požiadavka a ktorá v ranom štádiu zamrzne.
- Jedná sa o systematický a disciplinovaný model, ktorého výsledkom je vysoko kvalitný produkt.
Nevýhody modelu V:
- Model v tvare V nie je vhodný pre prebiehajúce projekty.
- Zmena požiadaviek v neskoršej fáze by stála príliš vysoké náklady.
# 3) Prototypový model
Prototypový model je model, v ktorom je prototyp vyvinutý pred skutočným softvérom.
Prototypové modely majú obmedzené funkčné schopnosti a neefektívny výkon v porovnaní so skutočným softvérom. Fiktívne funkcie sa používajú na vytvorenie prototypov. Toto je cenný mechanizmus na pochopenie potrieb zákazníkov.
Softvérové prototypy sa vyrábajú pred skutočným softvérom, aby získali hodnotnú spätnú väzbu od zákazníka. Spätné väzby sú implementované a zákazník prototyp znova skontroluje, či neobsahuje nejaké zmeny. Tento proces pokračuje, kým zákazník model neprijme.
Po dokončení zhromažďovania požiadaviek sa vytvorí rýchly návrh a zostrojí sa prototyp, ktorý sa predloží zákazníkovi na vyhodnotenie.
Spätná väzba od zákazníka a rafinovaná požiadavka sa používajú na úpravu prototypu a sú opäť predložené zákazníkovi na vyhodnotenie. Len čo zákazník schváli prototyp, použije sa ako požiadavka na vytvorenie skutočného softvéru. Aktuálny softvér je zostavený pomocou modelu Waterfall.
Výhody prototypového modelu:
- Prototypový model znižuje náklady a čas na vývoj, pretože chyby sa zistia oveľa skôr.
- Chýbajúcu vlastnosť alebo funkčnosť alebo zmenu v požiadavke je možné identifikovať vo fáze hodnotenia a možno ich implementovať do prepracovaného prototypu.
- Zapojenie zákazníka od počiatočnej fázy znižuje akékoľvek nejasnosti v požiadavkách alebo porozumení akejkoľvek funkčnosti.
Nevýhody prototypového modelu:
- Pretože je zákazník zapojený do každej fázy, môže zmeniť požiadavku na konečný produkt, čo zvyšuje zložitosť rozsahu a môže predĺžiť dodaciu lehotu produktu.
# 4) Špirálový model
Špirálový model zahŕňa iteračný a prototypový prístup.
V iteráciách sú sledované fázy špirálového modelu. Smyčky v modeli predstavujú fázu procesu SDLC, tj. Najvnútornejšia slučka je zhromažďovanie a analýza požiadaviek, ktorá nasleduje po plánovaní, analýze rizík, vývoji a hodnotení. Ďalšou slučkou je Návrh, po ktorom nasleduje Implementácia a potom testovanie.
Špirálový model má štyri fázy:
- Plánovanie
- Analýza rizík
- Strojárstvo
- Vyhodnotenie
i) Plánovanie:
Fáza plánovania zahŕňa zhromažďovanie požiadaviek, pričom všetky požadované informácie sa zhromažďujú od zákazníka a dokumentujú sa. Dokument špecifikácie softvérových požiadaviek je vytvorený pre ďalšiu fázu.
ii) Analýza rizika:
V tejto fáze sa pre príslušné riziká vyberie najlepšie riešenie a analýza sa uskutoční zostavením prototypu.
Napríklad , rizikom prístupu k údajom zo vzdialenej databázy môže byť príliš nízka rýchlosť prístupu k údajom. Riziko je možné vyriešiť vytvorením prototypu subsystému prístupu k údajom.
iii) Inžiniering:
Po vykonaní analýzy rizík sa vykoná kódovanie a testovanie.
iv) Hodnotenie:
Zákazník vyhodnotí vyvinutý systém a plánuje ďalšiu iteráciu.
Výhody špirálového modelu:
- Analýza rizika sa vykonáva vo veľkej miere pomocou prototypov modelov.
- Akékoľvek vylepšenie alebo zmenu funkčnosti je možné vykonať v nasledujúcej iterácii.
Nevýhody špirálového modelu:
- Špirálový model je najvhodnejší iba pre veľké projekty.
- Cena môže byť vysoká, pretože to môže vyžadovať veľké množstvo iterácií, čo môže viesť k vysokému času na dosiahnutie konečného produktu.
# 5) Iteratívny prírastkový model
Iteračný prírastkový model rozdeľuje produkt na malé kúsky.
Napríklad „Je rozhodnuté a implementovaná funkcia, ktorá sa má v iterácii vyvinúť. Každá iterácia prechádza fázami, a to analýzou požiadaviek, návrhom, kódovaním a testovaním. V iteráciách sa nevyžaduje podrobné plánovanie.
Po dokončení iterácie sa produkt overí a doručí zákazníkovi na vyhodnotenie a spätnú väzbu. Spätná väzba od zákazníka sa implementuje do ďalšej iterácie spolu s novo pridanou funkciou.
Preto sa produkt zvyšuje, pokiaľ ide o funkcie, a keď sú dokončené iterácie, konečné zostavenie obsahuje všetky funkcie produktu.
Fázy modelu iteratívneho a prírastkového vývoja:
- Počiatočná fáza
- Fáza vypracovania
- Fáza výstavby
- Fáza prechodu
i) Počiatočná fáza:
Počiatočná fáza zahŕňa požiadavku a rozsah projektu.
ii) Fáza vypracovania:
Vo fáze vypracovania sa dodáva pracovná architektúra produktu, ktorá pokrýva riziko identifikované v počiatočnej fáze a tiež spĺňa nefunkčné požiadavky.
iii) Fáza výstavby:
Vo fáze výstavby je architektúra vyplnená kódom, ktorý je pripravený na nasadenie a je vytvorený analýzou, návrhom, implementáciou a testovaním funkčných požiadaviek.
iv) Fáza prechodu:
Vo fáze prechodu je produkt nasadený do produkčného prostredia.
Výhody iteračného a prírastkového modelu:
- Akákoľvek zmena v požiadavke sa dá ľahko vykonať a nebola by nákladná, pretože je tu zahrnutie novej požiadavky do nasledujúcej iterácie.
- Riziko je analyzované a identifikované v iteráciách.
- Poruchy sú zistené v ranom štádiu.
- Pretože je produkt rozdelený na menšie časti, je ľahké s ním pracovať.
Nevýhody iteračného a prírastkového modelu:
- Na rozdelenie a postupné budovanie sú potrebné úplné požiadavky na produkt a porozumenie produktu.
# 6) Model veľkého tresku
Model veľkého tresku nemá žiadny definovaný proces. Peniaze a úsilie sa spájajú, pretože vstupy a výstupy prichádzajú ako vyvinutý produkt, ktorý môže alebo nemusí byť rovnaký ako to, čo zákazník potrebuje.
Model veľkého tresku nevyžaduje veľa plánovania a plánovania. Vývojár vykoná analýzu a kódovanie požiadaviek a vyvíja produkt podľa jeho porozumenia. Tento model sa používa iba pre malé projekty. Neexistuje žiadny testovací tím ani sa formálne testovanie nerobí, čo by mohlo byť príčinou neúspechu projektu.
Výhody modelu veľkého tresku:
- Je to veľmi jednoduchý model.
- Vyžaduje sa menej plánovania a plánovania.
- Vývojár má flexibilitu pri vytváraní vlastného softvéru.
Nevýhody modelu veľkého tresku:
- Modely veľkého tresku nie je možné použiť pre veľké, prebiehajúce a zložité projekty.
- Vysoké riziko a neistota.
# 7) Agilný model
Agilný model je kombináciou iteračného a prírastkového modelu. Tento model sa zameriava viac na flexibilitu pri vývoji produktu, ako na požiadavku.
V systéme Agile je produkt rozdelený na malé prírastkové zostavenia. Nie je vyvinutý ako kompletný produkt naraz. Každé zostavenie sa zvyšuje z hľadiska funkcií. Ďalšie zostavenie je postavené na predchádzajúcej funkčnosti.
V agilných iteráciách sa nazývajú šprinty. Každý šprint trvá 2-4 týždne. Na konci každého šprintu produktový vlastník produkt overí a po jeho schválení sa doručí zákazníkovi.
Spätná väzba od zákazníkov sa prijíma za účelom zlepšenia a na jeho návrhoch a vylepšeniach sa pracuje v ďalšom šprinte. Testovanie sa vykonáva v každom šprinte, aby sa minimalizovalo riziko akýchkoľvek porúch.
Výhody agilného modelu:
- Umožňuje väčšiu flexibilitu pri prispôsobovaní sa zmenám.
- Novú funkciu je možné ľahko pridať.
- Spokojnosť zákazníka, pretože spätná väzba a návrhy sa prijímajú v každej fáze.
Nevýhody:
- Nedostatok dokumentácie.
- Agilný potrebuje skúsené a vysoko kvalifikované zdroje.
- Ak nemá zákazník jasno v tom, ako presne chce produkt mať, potom by projekt zlyhal.
Záver
Dodržiavanie vhodného životného cyklu je veľmi dôležité pre úspešné dokončenie projektu. To zase uľahčuje správu.
Rôzne modely životného cyklu vývoja softvéru majú svoje vlastné výhody a nevýhody. Najlepší model pre akýkoľvek Projekt možno určiť na základe faktorov, ako je požiadavka (či už je jasná alebo nejasná), zložitosť systému, veľkosť projektu, náklady, obmedzenie schopností atď.
Príklad, v prípade nejasných požiadaviek je najlepšie použiť špirálové a agilné modely, pretože požadovanú zmenu je možné ľahko prispôsobiť v ktorejkoľvek fáze.
Waterfall model je základný model a všetky ostatné modely SDLC sú založené iba na tomto.
Dúfam, že by ste získali nesmierne vedomosti o SDLC.
Odporúčané čítanie
- Špirálový model - Čo je to SDLC špirálový model?
- Čo je model SDLC Waterfall?
- Čo je životný cyklus testovania softvéru (STLC)?
- Úloha pomocníka QA pri testovaní softvéru
- 10 NAJLEPŠÍCH spoločností a služieb na vývoj softvéru na mieru v roku 2021
- Praktické testovanie softvéru - nová elektronická kniha ZDARMA (Stiahnuť)
- Na mieste - offshore model projektov na testovanie softvéru (a ako dosiahnuť, aby to pre vás fungovalo)
- Prečo má softvér chyby?