Etapy životního cyklu softwaru
Osnova aneb co nás čeká
- Analýza a specifikace
- Návrh
- Architektonický návrh
- Podrobný návrh
- Implementace
- Testování
- Provoz a údržba
Analýza a specifikace
-
Cíle:
- Zisk požadavků a jejich transformace do strukturovné podoby, vymezení funkcionality
- Studie vhodnosti - odhad zd je možné software vyvinout za daných podmínek
- Analýza rizik - jsme schopni vytvořit produkt v požadované době a za předpokládanou cenu?
- Plán akceptačního testování - jaké testy se provedou při předávání softwaru zákazníkovi
-
Požadavky nejsou vždy jen funkční. Zákazník může mít i další typy požadavků:
- Provozní - za jakých podmínek bude aplikace pracovat, správná doba odezvy, počet uživatelů systému zaráz
- Systémové - stanovují například operační systém, na kterém aplikace poběží, vybavení počítače, nároky na pamět, bezpečnost atd.
- Na rozhraní - jaké rozhraní bude systém používat a to nejen uživatelské(User Interface), ale i administrátorské apod. Rozhraní může být webové(jako www stránka), přenositelné dobře vypadající GUI...
- Vývojového procesu - zákazník může požadovat vývoj na určité platformě či dodržování norem vývoje.
- Legislativní - povinnosti ochrany osobních údajů nebo etické požadavky
-
Problémy se získáváním požadavků
- Vyřazení - s odstupem času se mění náhled na důležitost věcí, některé požadavky důležitosti nabydou, jiné ji ztratí
- Zkreslení (deformace) - výklad informace může být zavádějící
- Zobecnění - příliš dlouhé věty se mohou zdát nepravdivé
Metody používané RUP
Specifikace
RUP (Rational Unified Process) používá pro určení funkčních požadavků na systém Use Case Diagramy (Diagramy případů užití) a spolu s nimy také jednotlivé detaily případů užití.
Analýza
-
Používají se tyto typy diagramů
- Analytické třídy - pouze identifikují entity a vztahy
- Objektové diagramy - zachycují konkrétní vztahy instancí tříd
- Analytické balíčky - návrhová dekompozice systému
- Diagramy interakce - vztahy tříd nebo jejich instancí
- Sekvenční diagramy - časová posloupnost předávání zpráv
Analýza dat
Data Flow Diagram (DFD)
Na první pohled vypadá jako Use Case Diagram, ovšem jedná se o strukturální návrh zachycující také data, která proudí v jednotlivých funkcích. DFD je hiearchický návrh a může tedy zobrazovat více vrstev systému, například interakci uživatele, ale i jednotlivé funkce strukturálního programování.
Entity Relationship Diagram (ERD)
Modeluje data v klidu, tedy ta, která jsou v systému uložena když se systém nepoužívá nebo je úplně vypnut. Skládá se z entitních a vztahových množin, určitými formamy abstrakce dat. Každá entita z entitní množiny je určena atributy. Atributy jsou vlastnosti, které nás v daném kontextu entity zajímají. Každá entitní množina má speciální atribut zvaný primární klíč, který od sebe jednoznačně odlišuje entity a který je v rámci entitní množiny jedinečný. Mezi entitními množinami vznikají vztahy (unární, binární, ...), kde každá entita může figurovat 0-krát až N-krát. Potom minimální počet entit ve vztahu nazýváme členstvím a maximální počet entit ve vztahu kardinalitou.