10 Metody a metodologie strukturované analýzy 10.1 Strukturovaná analýza DeMarco (1978) Nástroje: DFD, datový slovník, strukturovaná angličtina, rozhodovací tabulky a stromy Postup: 1. Analýza stávajícího systému fyzické DFD Jaký systém používá zákazník? 2. Odvození logického ekvivalentu logické DFD Jaká je logická struktura systému? 3. Odvození nového logického ekvivalentu logické DFD, minispecifikace, datový slovník Co je třeba změni? Jak se změní logická struktura? 4. Odvození fyzického modelu nového systému, alternativy fyzické DFD Jak implementovat? 5. Odhady cen a termínů 6. 7. Výběr alternativy Sestavení Strukturované specifikace Jaroslav Zendulka: Projektování programových systémů 10 Metody a metodologie strukturované analýzy 1
datový slovník if... then... Jaroslav Zendulka: Projektování programových systémů 10 Metody a metodologie strukturované analýzy 2
Př) Pedagogický poradce karty Knihovnice uloží nabízené předměty Prázdné karty v knihovně Poradce vytiskne nabídku Student X vyplní os.data a výběr Student X Nabídka předmětů na nástěnce Vyplněné karty na sekretariátě Studijní oddělení děkanátu vyplněné karty Sekretářka odešle Jaroslav Zendulka: Projektování programových systémů 10 Metody a metodologie strukturované analýzy 3
Ústav nabízené předměty Vytvoř nabídku Nabídka předmětů Studijní oddělení děkanátu vyplněné karty Vyplň kartu os.data a výběr Student Odešli karty Karty Jaroslav Zendulka: Projektování programových systémů 10 Metody a metodologie strukturované analýzy 4
10.2 Logické modelování Gane/Sarson (1979) Kroky: 1. Vytvoření systémového DFD - vymezuje hranice systému, - slouží ke komunikaci se zákazníkem, - ukazuje hlavní datové toky a uložená data co se bude uchovávat a zpracovávat 2. Odvození prvotního datového modelu - seznam datových elementů v dat. pamětech systémového DFD - přesnění informačního obsahu elementů konzultace zkoumání obsahu Co vstupuje? Co má vystupovat? 3. Provedení ER analýzy - ERD 4. Provedení relační datové analýzy - normalizované relace (tabulky) 5. Modifikace systémového DFD podle výsledků kroků 3 a 4 - DFD Jaroslav Zendulka: Projektování programových systémů 10 Metody a metodologie strukturované analýzy 5
6. Rozdělení logického modelu na procedurální jednotky automatizované/manuální podsystémy 7. Specifikace detailů procedurálních jednotek dílčí DFD, části tabulek, tvar obrazovek, sestav, popis logiky procedur Jaroslav Zendulka: Projektování programových systémů 10 Metody a metodologie strukturované analýzy 6
DFD systému ERD normalizované relace seznam datových elementů opravený DFD procedurální jednotky specifikace jednotek Jaroslav Zendulka: Projektování programových systémů 10 Metody a metodologie strukturované analýzy 7
10.3 Yourdonova Moderní strukturovaná analýza (1989) - kritika důrazu na tvorbu modelu existujícího systému podle DeMarca - shrnutí osvědčených technik a přístupů vyvinutých na konci 70. a v 80. letech Esenciální model - modeluje, CO má systém dělat, aby splnil požadavky a potřeby uživatelů. 2 části: model okolí (environmental model): účel systému kontextový DFD seznam vnějších událostí model chování systému (behavioural model): víceúrovňový DFD ERD minispecifikace DD STD Jaroslav Zendulka: Projektování programových systémů 10 Metody a metodologie strukturované analýzy 8
Dekompozice na základě událostí (event-partitioning) Postup: 1. Specifikuj účel systému. 2. Vytvoř seznam událostí. a) prvotní datový model vnější události vedoucí k vytvoření, použití, změně, zrušení entit a vztahů kontextový diagram b) kontextový diagram (+ pomocné modely) události Př) Knihovna 3. Pro každou událost vytvoř jeden proces v DFD, pojmenuj proces podle požadované odezvy. 4. Zakresli datové toky a paměti nezbytné pro odezvu. 5. Výsledný prvotní DFD porovnej s kontextovým DFD a se seznamem událostí (úplnost, bezespornost). 6. Transformuj DFD na víceúrovňový diagram (level balancing): a) směrem nahoru (ukrývání informace) Jaroslav Zendulka: Projektování programových systémů 10 Metody a metodologie strukturované analýzy 9
3 5 3.1 3.3 4 3.2 1 2 1 2 3 b) směrem dolů (proces je ještě složitý) 3 3.1 3.3 1 2 3.2 Jaroslav Zendulka: Projektování programových systémů 10 Metody a metodologie strukturované analýzy 10
datový model seznam událostí kontextový diagram prvotní DFD ERD DFD víceúrovňový DFD (vyvažování) souběžně + specifikace procesů + dokončení datového modelu (+ dokončení STD) Jaroslav Zendulka: Projektování programových systémů 10 Metody a metodologie strukturované analýzy 11
7. Vymez rozsah automatizovaných částí 8. Navrhni uživatelské rozhraní (obrazovky, tiskové sestavy). 9. Transformuj DFD na diagram struktury programu - tři úrovně: a) úroveň procesorů a) úroveň úloh b) úroveň programu Modul A Modul B Modul C Modul D 10. Programování a testování Jaroslav Zendulka: Projektování programových systémů 10 Metody a metodologie strukturované analýzy 12
11.4 Další metodologie SSADM (StructuredSystem Analysis and Design Method) - v 80.letech se stala standardem pro analýzu a návrh systémů ve Velké Británii (státní zakázky), striktně definované kroky a dílčí cíle, vychází z datového modelu. Vychází z datového modelu. Jedním z charakteristických modelů je tzv. životní cyklus entity (ELH), který ukazuje působení událostí na entity. Metodologie firem vyvíjejících CASE nástroje - LBMS, Oracle, Jaroslav Zendulka: Projektování programových systémů 10 Metody a metodologie strukturované analýzy 13