sdlc phases
Co je životní cyklus vývoje softwaru (SDLC)? Naučte se fáze, metodologie, procesy a modely SDLC
Životní cyklus vývoje softwaru (SDLC) je rámec, který definuje kroky spojené s vývojem softwaru v každé fázi. Pokrývá podrobný plán pro budování, nasazení a údržbu softwaru.
SDLC definuje kompletní cyklus vývoje, tj. Všechny úkoly spojené s plánováním, vytvářením, testováním a nasazením softwarového produktu.
Co se naučíte:
- Proces životního cyklu vývoje softwaru
- Cyklus SDLC
- Fáze SDLC
- Modely životního cyklu vývoje softwaru
- Závěr
Proces životního cyklu vývoje softwaru
SDLC je proces, který definuje různé fáze vývoje softwaru pro dodávku vysoce kvalitního produktu. Fáze SDLC pokrývají kompletní životní cyklus softwaru, tj. Od založení produktu do vyřazení z provozu.
Dodržování procesu SDLC vede k systematickému a disciplinovanému vývoji softwaru.
Účel:
Účelem SDLC je dodávat vysoce kvalitní produkt, který odpovídá požadavkům zákazníka.
SDLC definovalo své fáze jako shromažďování požadavků, návrh, kódování, testování a údržba. Je důležité dodržovat fáze, aby byl produkt poskytován systematicky.
Například, Musí být vyvinut software a tým je rozdělen tak, aby pracoval na funkcích produktu, a může pracovat tak, jak chtějí. Jeden z vývojářů se rozhodne nejprve navrhnout, zatímco druhý se rozhodne nejprve kódovat a druhý na dokumentační části.
To povede k selhání projektu, kvůli kterému je nutné mít dobré znalosti a porozumění mezi členy týmu, aby dodali očekávaný produkt.
Cyklus SDLC
SDLC Cycle představuje proces vývoje softwaru.
Níže je schematické znázornění cyklu SDLC:
Fáze SDLC
Níže jsou uvedeny různé fáze:
- Shromažďování požadavků a analýza
- Design
- Implementace nebo kódování
- Testování
- Rozvinutí
- Údržba
# 1) Shromažďování a analýza požadavků
Během této fáze se od zákazníka shromažďují všechny relevantní informace k vývoji produktu podle jeho očekávání. Jakékoli nejasnosti musí být vyřešeny pouze v této fázi.
Obchodní analytik a projektový manažer uspořádali schůzku se zákazníkem, aby shromáždili všechny informace, jako je to, co chce zákazník vytvořit, kdo bude koncovým uživatelem, jaký je účel produktu. Před vytvořením produktu je velmi důležité základní porozumění nebo znalost produktu.
Například, Zákazník chce mít aplikaci, která zahrnuje peněžní transakce. V tomto případě musí být požadavek jasný, jaký druh transakcí bude proveden, jak bude proveden, v jaké měně bude proveden atd.
Jakmile je shromáždění požadavků provedeno, provede se analýza ke kontrole proveditelnosti vývoje produktu. V případě nejasností je připravena výzva k další diskusi.
Jakmile je požadavek jasně pochopen, je vytvořen dokument SRS (Specifikace softwarového požadavku). Tento dokument by měli vývojáři důkladně pochopit a měl by jej zákazník také zkontrolovat pro budoucí použití.
# 2) Design
V této fázi se požadavek shromážděný v dokumentu SRS používá jako vstupní a je odvozena softwarová architektura, která se používá pro implementaci vývoje systému.
# 3) Implementace nebo kódování
Implementace / kódování začíná, jakmile vývojář dostane dokument Design. Softwarový design je přeložen do zdrojového kódu. V této fázi jsou implementovány všechny komponenty softwaru.
nejlepší software pro optimalizaci Windows 10
# 4) Testování
Testování začíná po dokončení kódování a uvolnění modulů pro testování. V této fázi je vyvinutý software důkladně testován a veškeré nalezené vady jsou přiřazeny vývojářům, aby je opravili.
Opakované testování, regresní testování se provádí až do okamžiku, kdy je software podle očekávání zákazníka. Testeři odkazují na dokument SRS, aby se ujistili, že software odpovídá standardu zákazníka.
# 5) Nasazení
Jakmile je produkt otestován, je nasazen v produkčním prostředí nebo nejprve UAT (User Acceptance Testing) se provádí v závislosti na očekávání zákazníka.
V případě UAT je vytvořena replika produkčního prostředí a zákazník spolu s vývojáři provádí testování. Pokud zákazník najde aplikaci podle očekávání, pak se zákazník přihlásí k uvedení do provozu.
# 6) Údržba
Po nasazení produktu do produkčního prostředí se o údržbu produktu, tj. Pokud dojde k jakémukoli problému, který je třeba opravit nebo je třeba provést jakékoli vylepšení, postarají vývojáři.
Modely životního cyklu vývoje softwaru
Model životního cyklu softwaru je popisným vyjádřením vývojového cyklu softwaru. Modely SDLC mohou mít odlišný přístup, ale základní fáze a aktivita zůstávají stejné pro všechny modely.
# 1) Model vodopádu
Model vodopádu je úplně první model, který se používá v SDLC. Je také známý jako lineární sekvenční model.
V tomto modelu je výstupem jedné fáze vstup pro další fázi. Vývoj další fáze začíná až po dokončení předchozí fáze.
- Nejprve se provede sběr a analýza požadavků. Jakmile je požadavek pozastaven, může začít pouze návrh systému. Zde vytvořený dokument SRS je výstupem pro fázi požadavku a funguje jako vstup pro návrh systému.
- V System Design Software architecture and Design se vytvářejí dokumenty, které fungují jako vstup pro další fázi, tj. Implementace a kódování.
- Ve fázi implementace se provádí kódování a vyvinutý software je vstupem pro další fázi, tj. Testování.
- Ve fázi testování je vyvinutý kód důkladně testován, aby se zjistily vady softwaru. Vady se přihlásí do nástroje pro sledování defektů a po opravě se znovu otestují. Protokolování chyb, opakované testování, regresní testování pokračuje, dokud není software v aktivním stavu.
- Ve fázi nasazení se rozvinutý kód přesune do výroby poté, co zákazník provede odhlášení.
- Veškeré problémy v produkčním prostředí řeší vývojáři, na které se vztahuje údržba.
Výhody modelu Waterfall:
- Model vodopádu je jednoduchý model, kterému lze snadno porozumět, a ve kterém se postupně provádějí všechny fáze.
- Výsledky každé fáze jsou dobře definovány, což nevede ke složitosti a usnadňuje správu projektu.
Nevýhody modelu Waterfall:
- Model vodopádu je časově náročný a nelze ho použít v projektech s krátkou dobou trvání, protože v tomto modelu nelze zahájit novou fázi, dokud není dokončena probíhající fáze.
- Model vodopádu nelze použít pro projekty, které mají nejistý požadavek nebo kde se požadavek neustále mění, protože tento model očekává, že požadavek bude jasný ve samotné fázi shromažďování a analýzy požadavků a jakákoli změna v pozdějších fázích by vedla k vyšším nákladům, protože změny by byly nutné ve všech fázích.
# 2) Model ve tvaru V
V- Model je také známý jako model ověření a ověření. V tomto modelu probíhá ověřování a ověřování ruku v ruce, tj. Vývoj a testování probíhá paralelně. Model V a model vodopádu jsou stejné, až na to, že plánování a testování začíná v rané fázi modelu V.
a) Fáze ověření:
i) Analýza požadavků:
V této fázi jsou shromážděny a analyzovány všechny požadované informace. Mezi ověřovací činnosti patří kontrola požadavků.
ii) Návrh systému:
Jakmile je požadavek jasný, je navržen systém, tj. Architektura, komponenty produktu jsou vytvořeny a dokumentovány v dokumentu návrhu.
(iii) Design na vysoké úrovni:
High-level design definuje architekturu / design modulů. Definuje funkčnost mezi dvěma moduly.
(iv) Nízkoúrovňový design:
Nízkoúrovňový design definuje architekturu / design jednotlivých komponent.
(v) Kódování:
V této fázi probíhá vývoj kódu.
b) Fáze ověření:
i) Testování jednotek:
Testování jednotky se provádí pomocí jednotkových testovacích případů, které jsou navrženy a provádí se ve fázi návrhu na nízké úrovni. Testování jednotek provádí samotný vývojář. Provádí se na jednotlivých součástech, což vede k včasné detekci závady.
ii) Testování integrace:
Testování integrace se provádí pomocí testovacích případů integrace ve fázi návrhu na vysoké úrovni. Testování integrace je testování prováděné na integrovaných modulech. Provádějí to testeři.
(iii) Testování systému:
Testování systému se provádí ve fázi návrhu systému. V této fázi je testován celý systém, tj. Je testována celá funkčnost systému.
(iv) Přijímací zkoušky:
Akceptační testování je spojeno s fází analýzy požadavků a provádí se v prostředí zákazníka.
Výhody modelu V:
- Jedná se o jednoduchý a snadno srozumitelný model.
- Přístup V –model je vhodný pro menší projekty, kde je definován požadavek a v rané fázi zamrzne.
- Jedná se o systematický a disciplinovaný model, jehož výsledkem je vysoce kvalitní produkt.
Nevýhody modelu V:
- Model ve tvaru V není vhodný pro probíhající projekty.
- Změna požadavků v pozdější fázi by stála příliš vysokou částku.
# 3) Prototypový model
Prototypový model je model, ve kterém je prototyp vyvinut před vlastním softwarem.
Prototypové modely mají ve srovnání se skutečným softwarem omezené funkční schopnosti a neefektivní výkon. Fiktivní funkce se používají k vytváření prototypů. Jedná se o cenný mechanismus pro pochopení potřeb zákazníků.
Softwarové prototypy jsou postaveny před skutečným softwarem, aby získaly hodnotnou zpětnou vazbu od zákazníka. Zpětné vazby jsou implementovány a prototyp je znovu zkontrolován zákazníkem ohledně jakékoli změny. Tento proces pokračuje, dokud zákazník model nepřijme.
Jakmile je shromáždění požadavků provedeno, je vytvořen rychlý design a je vytvořen prototyp, který je předložen zákazníkovi k vyhodnocení.
Zpětná vazba od zákazníka a upřesněný požadavek se používá k úpravě prototypu a je znovu předložena zákazníkovi k vyhodnocení. Jakmile zákazník prototyp schválí, použije se jako požadavek na vytvoření skutečného softwaru. Skutečný software je sestaven pomocí přístupu modelu Waterfall.
Výhody prototypového modelu:
- Prototypový model snižuje náklady a čas na vývoj, protože vady jsou nalezeny mnohem dříve.
- Chybějící prvek nebo funkce nebo změna požadavku lze identifikovat ve fázi hodnocení a lze je implementovat do vylepšeného prototypu.
- Zapojení zákazníka od počáteční fáze snižuje jakékoli nejasnosti v požadavcích nebo pochopení jakékoli funkce.
Nevýhody prototypového modelu:
- Protože je zákazník zapojen do každé fáze, může zákazník změnit požadavek na konečný produkt, což zvyšuje složitost rozsahu a může prodloužit dodací lhůtu produktu.
# 4) Spirálový model
Spirálový model zahrnuje iterativní a prototypový přístup.
V iteracích jsou sledovány fáze spirálového modelu. Smyčky v modelu představují fázi procesu SDLC, tj. Nejvnitřnější smyčka je shromažďování a analýza požadavků, která následuje po plánování, analýze rizik, vývoji a vyhodnocení. Další smyčkou je Designing následovaný Implementací a následným testováním.
Spirálový model má čtyři fáze:
- Plánování
- Analýza rizik
- Inženýrství
- Hodnocení
i) Plánování:
Fáze plánování zahrnuje shromažďování požadavků, přičemž všechny požadované informace jsou shromažďovány od zákazníka a jsou dokumentovány. Dokument se specifikací softwarového požadavku je vytvořen pro další fázi.
ii) Analýza rizik:
V této fázi je vybráno nejlepší řešení pro související rizika a analýza je provedena sestavením prototypu.
Například , rizikem při přístupu k datům ze vzdálené databáze může být, že rychlost přístupu k datům může být příliš pomalá. Riziko lze vyřešit vytvořením prototypu subsystému přístupu k datům.
(iii) Inženýrství:
Jakmile je provedena analýza rizik, je provedeno kódování a testování.
(iv) Hodnocení:
Zákazník vyhodnotí vyvinutý systém a plánuje další iteraci.
Výhody spirálového modelu:
- Analýza rizik se provádí značně pomocí prototypových modelů.
- Jakékoli vylepšení nebo změnu funkčnosti lze provést v další iteraci.
Nevýhody spirálového modelu:
- Spirálový model je nejvhodnější pouze pro velké projekty.
- Cena může být vysoká, protože může trvat velké množství iterací, což může vést k nejvyššímu času na dosažení konečného produktu.
# 5) Iterativní inkrementální model
Iterativní inkrementální model rozděluje produkt na malé kousky.
Například „Funkce, která má být v iteraci vyvinuta, je rozhodnuta a implementována. Každá iterace prochází fázemi, jmenovitě Analýza požadavků, Návrh, Kódování a Testování. V iteracích není nutné podrobné plánování.
Po dokončení iterace je produkt ověřen a je doručen zákazníkovi k vyhodnocení a zpětné vazbě. Zpětná vazba od zákazníka bude implementována v další iteraci spolu s nově přidanou funkcí.
Proto se produkt zvyšuje, pokud jde o funkce, a jakmile jsou iterace dokončeny, konečné sestavení obsahuje všechny funkce produktu.
Fáze iterativního a přírůstkového modelu vývoje:
- Počáteční fáze
- Fáze zpracování
- Fáze výstavby
- Přechodová fáze
i) Počáteční fáze:
Počáteční fáze zahrnuje požadavek a rozsah projektu.
ii) Fáze zpracování:
Ve fázi zpracování je dodávána pracovní architektura produktu, která pokrývá riziko identifikované v počáteční fázi a také splňuje nefunkční požadavky.
(iii) Fáze výstavby:
Ve fázi výstavby je architektura vyplněna kódem, který je připraven k nasazení a je vytvořen pomocí analýzy, návrhu, implementace a testování funkčního požadavku.
(iv) Přechodná fáze:
V přechodové fázi je produkt nasazen v produkčním prostředí.
Výhody iteračního a inkrementálního modelu:
- Jakoukoli změnu v požadavku lze snadno provést a nestojí by to žádné náklady, protože do nové iterace je zahrnut nový požadavek.
- Riziko je analyzováno a identifikováno v iteracích.
- Vady jsou detekovány v rané fázi.
- Jelikož je produkt rozdělen na menší bloky, je snadné jej spravovat.
Nevýhody iterativního a přírůstkového modelu:
- K rozdělení a postupnému budování je zapotřebí úplného požadavku a porozumění produktu.
# 6) Model velkého třesku
Model velkého třesku nemá žádný definovaný proces. Peníze a úsilí jsou spojeny, protože vstup a výstup přicházejí jako vyvinutý produkt, který může nebo nemusí být stejný jako to, co zákazník potřebuje.
Model velkého třesku nevyžaduje mnoho plánování a plánování. Vývojář provede analýzu a kódování požadavků a vyvíjí produkt podle jeho porozumění. Tento model se používá pouze pro malé projekty. Neexistuje žádný testovací tým a neprovádí se žádné formální testování, což by mohlo být příčinou neúspěchu projektu.
Výhody modelu velkého třesku:
- Je to velmi jednoduchý model.
- Vyžaduje se méně plánování a plánování.
- Vývojář má flexibilitu při vytváření vlastního softwaru.
Nevýhody modelu velkého třesku:
- Modely velkého třesku nelze použít pro velké, probíhající a složité projekty.
- Vysoké riziko a nejistota.
# 7) Agilní model
Agilní model je kombinací iteračního a inkrementálního modelu. Tento model se více zaměřuje na flexibilitu při vývoji produktu než na požadavek.
V Agile je produkt rozdělen na malé přírůstkové sestavy. Není vyvíjen jako kompletní produkt najednou. Každé sestavení se zvyšuje z hlediska funkcí. Další sestavení je postaveno na předchozí funkčnosti.
V agilních iteracích se označují jako sprinty. Každý sprint trvá 2-4 týdny. Na konci každého sprintu produktový vlastník produkt ověří a po jeho schválení je dodán zákazníkovi.
Zpětná vazba od zákazníků je využívána ke zlepšení a na jeho návrzích a vylepšeních se pracuje v dalším sprintu. Testování se provádí v každém sprintu, aby se minimalizovalo riziko případných poruch.
Výhody agilního modelu:
- Umožňuje větší flexibilitu přizpůsobit se změnám.
- Novou funkci lze snadno přidat.
- Spokojenost zákazníků, protože zpětná vazba a návrhy jsou přijímány v každé fázi.
Nevýhody:
- Nedostatek dokumentace.
- Agilní potřebuje zkušené a vysoce kvalifikované zdroje.
- Pokud zákazník nemá jasno v tom, jak přesně produkt chce, projekt by selhal.
Závěr
Dodržování vhodného životního cyklu je pro úspěšné dokončení projektu velmi důležité. To zase usnadňuje správu.
Různé modely životního cyklu vývoje softwaru mají své vlastní výhody a nevýhody. Nejlepší model pro jakýkoli projekt lze určit podle faktorů, jako je požadavek (ať už je jasný nebo nejasný), složitost systému, velikost projektu, náklady, omezení dovedností atd.
Příklad, v případě nejasného požadavku je nejlepší použít spirální a agilní modely, protože požadovanou změnu lze snadno přizpůsobit v jakékoli fázi.
Waterfall model is a basic model and all the other SDLC models are based only that.
Doufám, že byste získali obrovské znalosti SDLC.
Doporučené čtení
- Spirálový model - Co je to SDLC spirálový model?
- Co je model SDLC Waterfall?
- Co je Software Testing Life Cycle (STLC)?
- Úloha pomocníka QA při testování softwaru
- 10 NEJLEPŠÍCH společností a služeb pro vývoj softwaru na zakázku v roce 2021
- Praktické testování softwaru - nová e-kniha ZDARMA [Stáhnout]
- Na místě - offshore model projektů testování softwaru (a jak zajistit, aby vám fungoval)
- Proč má software chyby?