Obsah:
- Definice - Co znamená model životního cyklu vývoje softwaru (SDLC)?
- Techopedia vysvětluje vývoj životního cyklu softwaru (SDLC)
Definice - Co znamená model životního cyklu vývoje softwaru (SDLC)?
Model životního cyklu vývoje softwaru (SDLC) je koncepční rámec popisující všechny činnosti v projektu vývoje softwaru od plánování po údržbu. Tento proces je spojen s několika modely, z nichž každý zahrnuje řadu úkolů a činností.
Vývoj softwaru je těžkopádná činnost vyžadující správnou identifikaci požadavků, jejich implementaci a nasazení softwaru. Činnosti zde však nekončí. Po distribuci softwaru je třeba včas zajistit řádnou údržbu.
Tento termín se také nazývá procesní model vývoje softwaru.
Techopedia vysvětluje vývoj životního cyklu softwaru (SDLC)
Mezi hlavní činnosti v oblasti vývoje softwaru patří:
- Extrakce požadavků: Klient má nejasnou představu o tom, co je požadováno. Po důkladné analýze požadavků a kroků plánování k dosažení cíle je abstraktní klientská myšlenka uvedena do praxe skupinou softwarových inženýrů.
- Popis softwaru: Popisuje, že software je dalším krokem v procesu.
- Abstraktní reprezentace systému: Je vytvořen s cílem potvrdit, že splňuje požadavky produktu a rozhraní s dalšími softwarovými produkty společně s hardwarem, na kterém je umístěn.
- Požadavky klienta: Implementováno prostřednictvím kódu naprogramovaného softwarovými inženýry.
- Testování kódu: Kód je testován, aby se ujistil, že neobsahuje chyby a dodržuje požadavky klienta.
- Dokumentace interního designu: Pro budoucí údržbu a vylepšení produktu.
- Údržba: Provádí se změna architektury systému podle budoucích potřeb. To může vyžadovat přidání kódu nebo změnu existujícího kódu.
Výše uvedený vývojový proces je zefektivněn řadou modelů. Vývojový tým vybere nejvhodnější model. Různé modely jsou:
- Model vodopádu: Vývojáři uvádějí požadavky, analyzují je, určují řešení a vytvářejí softwarovou architekturu, reprezentaci rozhraní a algoritmické detaily. Poté kód vyvinou, otestují, nasadí a udržují. I když je metoda vodopádu snadno srozumitelná a nastavuje stabilitu požadavků, může vyvolat falešný dojem, že neposkytuje velkou účast zákazníků. Hlavním problémem tohoto modelu je to, že požadavek na opravu chyb by měl být znám předem a v rané fázi. Jinak může celý proces pokračovat nesprávným směrem, což by mohlo mít negativní dopad na výrobní náklady.
- V Sheded model: Je variace vodopádového modelu. Zdůrazňuje ověření a validaci produktu. Všechny výstupy jsou testovatelné a pokrok je sledován milníky. Testování se provádí souběžně s vývojovou fází.
- Prototypový model: Prototyp je vyvíjen ve fázi požadavku a vyhodnocen koncovými uživateli. Na základě zpětné vazby od uživatelů mění vývojáři prototyp tak, aby vyhovoval požadavkům uživatelů. Přestože tento model snadno dokončí požadavky, jeho použití v produkčním prostředí může vyústit v problémy s kvalitou, takže proces korekce bude pokračovat navždy.
- Spirální model: Umožňuje použití vodopádových i prototypových modelů. Do vodopádového modelu přidává programovací jazyky 4. generace, prototypy rychlého vývoje aplikací a analýzu rizik. Systémové požadavky jsou navrženy a je vytvořen předběžný návrh systému. Počáteční prototyp je navržen a testován. Na základě vyhodnocení výsledků testu se vytvoří druhý prototyp. Následující prototypy jsou konstruovány tak, aby byla zajištěna spokojenost zákazníků. Systém je vytvořen na základě konečného prototypu. Výsledný systém je vyhodnocen a otestován. Přestože tento model do značné míry snižuje riziko, nemusí splňovat rozpočet a je pro každou aplikaci aplikován odlišně.
- Iterativní a inkrementální model SDLC: Specifikuje a implementuje část softwaru, která je poté zkontrolována a přidány a implementovány další požadavky ve skupinách. Každé vydání přináší operační produkt, který zákazníkům nejprve představí důležité funkce a sníží počáteční náklady na doručení. Riziko změny požadavků je značně sníženo a zákazníci mohou na každou sestavu reagovat. Navzdory svým silným stránkám tento model vyžaduje dobré plánování a včasnou definici úplného a plně funkčního systému. Vyžaduje také dobře definovaná rozhraní modulů.
- Agilní vývojový model: Používá se pro časově kritické aplikace v organizacích využívajících disciplinované metody. Urychluje fáze životního cyklu a zmenšil rozsah.
- Model Magic Box: Je model vývoje webových aplikací. Je to nejrychlejší způsob, jak dokončit projekt s nejmenšími chybami, protože poskytuje šanci změnit strukturu kódu a databáze.