Structured System Analysis and Design Methodology SSADM Structured System Analysis and Design Methodology
O SSADM (1) Vyvinuto Learmonth and Burchett Management Systems (1980) Standardní metodologie pro vládní projekty UK: v 80. letech až do poloviny 90. let Metoda klade důraz na: konkrétnost, komplexnost, jednoznačnost slučitelnost, zřetelnost, stručnost precizní vyvažování modelů
Dobře strukturovaná metoda stylem krok za krokem O SSADM (2) Není to pouze kolekce technik Dobře strukturovaná metoda stylem krok za krokem Začíná zkoumáním současného systému Končí detailním návrhem požadavků Používá řadu nástrojů a pohledů pro zachycení a vizualizaci detailů na každé úrovni, nepreferuje pouze jediný Vhodná metoda pro systémy s dobře definovaným okolím.
O SSADM (3) Člení projekt na malé, dobře definované aktivity a specifikuje sekvence a interakce těchto aktivit. Používá diagramatické a jiné modelovací techniky pro vytvoření přesnější, tj. strukturované definice aplikace. Přístup vede k vývoji kvalitnějších produktů. Vychází z inženýrského přístupu, popisuje systém detailně a strukturovaně v každé etapě životního cyklu vývoje.
O SSADM (4) SSADM se dělí: do tří fází a pěti etap: Analýza – stávajícího systému a specifikace požadavků Logický návrh – datový návrh a procesní návrh Fyzický návrh
fáze a etapy (1)
fáze a etapy (1) Fáze A Analýza Etapa 1 Analýza stávajícího systému konstrukce logického modelu stávajícího systému dokumentace problémů stávajícího systému a sepsání požadavků na nový systém Etapa 2 Specifikace požadavků konstrukce modelu požadovaného systému a detailní dokumentace
fáze a etapy (2) Fáze B Logický návrh Etapa 3 Logický datový návrh Kompletní a detailní logický datový návrh Etapa 4 Logický procesní návrh Kompletní sada detailního logického procesního návrhu Fáze C Fyzický návrh Etapa 5 Fyzický návrh Překládá logický datový návrh do souboru či databáze specifikací a logický procesní návrh do programové specifikace
fáze a etapy (3) Návrh logických dat a návrh logických procesů probíhají současně za neustálého vyvažování datového a procesního modelu. Specifikace systému
etapy Analýza stávajícího systému Stávající systém je studován s cílem porozumět problémové oblasti nového systému. Specifikace požadavků Logický datový návrh Logický procesní návrh Fyzický návrh
Specifikace požadavků etapy Analýza stávajícího systému Specifikace požadavků Pohled na stávající systém je použit pro vytvoření specifikace požadovaného systému. Logický datový návrh Logický procesní návrh Fyzický návrh
etapy Analýza stávajícího systému Specifikace požadavků Logický datový návrh Logický datový návrh Podrobný návrh je dokončen na logické úrovni před tím, než jsou řešeny implementační aspekty. Logický procesní návrh Fyzický návrh
Logický procesní návrh etapy Analýza stávajícího systému Specifikace požadavků Logický datový návrh Logický datový návrh Podrobný návrh je dokončen na logické úrovni před tím, než jsou řešeny implementační aspekty. Logický procesní návrh Fyzický návrh
etapy Analýza stávajícího systému Specifikace požadavků Logický datový návrh Logický datový návrh Logický procesní návrh Logický návrh je převeden na fyzický návrh aplikací jednoduchých pravidel. Fyzický návrh
životní cyklus Rozsah SSADM
Studie proveditelnosti (1) Nejednotnost reprezentace Důležité zjištění zda se má vůbec realizovat Projekt musí projít všechny fáze, některé i několikrát (zpětné šipky) Studie proveditelnosti je zaměřená na porovnání ceny a přínosu celého systému pro společnost, vychází především ze zkoumání systému a analýzy. Někdy je do studie proveditelnosti třeba zahrnout i prvotní návrh. Pak je celý projekt realizován ve dvou cyklech.
Studie proveditelnosti (2) 1. cyklus 2. cyklus
Analýza a specifikace požadavků Zorganizovat shromážděné informace během zkoumání systému do smysluplné podoby Velmi důležitý nástroj SSADM, dobře a přesně znázorní stávající systém Detailně popsány logické modely stávajícího systému Specifikace: Je výstupem z analýzy, tak aby bylo možné provést návrh Zmínění možných technických variant Specifikace
Specifikace požadavků
Návrh Logický návrh: Logický návrh: Vstupem je specifikace požadavků Cílem je vybrat vhodnou implementaci Přetváří specifikaci požadavků do specifikace jak dat, tak procesů, které jsou vyžadovány novým systémem Fyzický návrh: Přetváří logickou specifikaci na specifikaci fyzickou, specifikaci databáze a programu Dochází k návrhu vstupů a výstupů – to znamená podoby souborů a také obrazovek Fyzický návrh:
Implementace, okolí systému Není už zahrnuta v SSADM Zahrnuje programování, testování, zavedení a nasazení systému včetně potřebného HW a SW vybavení, nastavení, proškolení uživatelů, testování uživateli a následné udržování Okolí systému: Metoda vhodná pro systémy s dobře definovaným okolím Systémy se špatně definovaným okolím musí být převedeny na systémy s dobře definovaným okolím Okolí systému
Okolí systému Parametr Dobře strukturované Špatně strukturované Cíle reálný, jasný, pevný nereálný, nejasný, proměnlivý Problémy známé, věcné nejasné, nepoznané Požadavky pevné, užitečné intuitivní Sdělení účelné, zaručené nejisté, nezaručené Postoj flexibilní, spolupracující obstruktivní, zdržovací
Inženýrský přístup tvoří hlavičku (do které jsou popisovány údaje o nákresu) snadná dohledatelnost jednoznačnost odlišení verzí
základní techniky Diagram datových toků (DFD) Ukazuje hranice systému, jak se předává informace a vazbu s ostatním světem. Ukazuje závislosti dat a také vstup a výstup do systému. Logické datové struktury (LDS) Životní cyklus entit (ELH) Normalizace Popis procesů Přehled procesů Kontrola fyzického návrhu
základní techniky Logické datové Diagram datových toků (DFD) Logické datové struktury (LDS) Ukazují, která informace je ukládána a jaké jsou vzájemné vztahy mezi jednotlivými informacemi. Také jak se data seskupují do struktur a skupin. Životní cyklus entit (ELH) Normalizace Přehled procesů Popis procesů Kontrola fyzického návrhu
základní techniky Životní cyklus Ukazuje, jak se informace mění Diagram datových toků (DFD) Logické datové struktury (LDS) Životní cyklus entit (ELH) Životní cyklus entit (ELH) Ukazuje, jak se informace mění během svého života. Poskytuje dynamický pohled na systém. Normalizace Popis procesů Přehled procesů Kontrola fyzického návrhu
základní techniky Diagram datových toků (DFD) Logické datové struktury (LDS) Životní cyklus entit (ELH) Normalizace Normalizace Přeměňuje kompletní datovou strukturu na jednoduchý list. Využívá se pro vytváření modelů ze vstupní a výstupní datové struktury. Popis procesů Přehled procesů Kontrola fyzického návrhu
základní techniky Diagram datových toků (DFD) Logické datové struktury (LDS) Životní cyklus entit (ELH) Normalizace Popis procesů Přehled procesů Specifikuje operce nutné pro chod systému. Dochází k vytvoření programové specifikace. Kontrola fyzického návrhu
základní techniky Kontrola fyzického Diagram datových toků (DFD) Logické datové struktury (LDS) Životní cyklus entit (ELH) Normalizace Popis procesů Kontrola fyzického návrhu Kontrola fyzického návrhu Poskytuje sadu pravidel pro transformaci logické specifikace na specifikaci fyzickou. Různá pravidla pro kombinaci HW a SW.
Tři vzájemně se ovlivňující pohledy OBCHOD
DFD DFD ukazuje toky informací systémem jak informace vstupuje do systému (procesu) a opouští jej co mění informace kde je informace uložena Skládá se z: externí entity, procesy, paměti dat, toky dat „Diagramy datových toků jsou jednoduché grafické reprezentace datových toků, pamětí a procesů, které uživatel lehce přijme.“ (Geoff Cutts)
DFD – odlišná notace (1)
DFD – odlišná notace (2) Odlišná notace u DFD 0. úrovně SSADM - není zobrazen systém Yourdon – vše před systém
Logical Data Structure modeluje entity a jejich vztahy v systému. LDS Logical Data Structure modeluje entity a jejich vztahy v systému. Je součástí Logical Data Modeling, které zahrnuje kromě LDS ještě dokumentaci. Entita je to, o čem má význam uchovávat informace v systému. Musí být rozlišitelná od ostatních entit a existovat nezávisle na nich. Př. IS MU: Studenti, Předměty, Místnosti, Zkoušky…. Vztah je asociace mezi 2 a více entitami.
LDS – kardinalita A je ve vztahu s právě jedním B
LDS – příklad Vztah student se hlásí na školu (M:N)
Křížový odkaz (1) Používá se v Analýze Poskytuje test komplexnosti a správnost DFD a LDS Entita se skládá z jedné nebo více pamětí
Křížový odkaz (2) V praxi ale paměť postihuje dvě i více entit
Entitně-funkční matice Předchází konstrukci ELH a Popisu procesů Řádky jsou tvořeny seznamem všech entit v entitním modelu a sloupce jsou tvořeny funkcemi v DFD I – vytvoření (insert) M – upravení (modify) A – archivace (archive) R – čtení (read) D – mazání (delete)
ELH (1) Entity Life History je diagramatická reprezentace životního cyklu jedné entity, od jejího vytvoření až po zrušení. Entita je nahoře, ostatní jsou události (event). Sekvence – diagram se čte zleva doprava. Selekce (o) – alternativy, posloupnost není důležitá Iterace (*) – cyklus, mnoho operací shodného typu následuje za sebou. Paralelní zpracování –
Před lomítkem – předchozí stav Za lomítkem – následující stav ELH (2) Ukazatel stavu: Př. 1-4/2 Před lomítkem – předchozí stav Za lomítkem – následující stav R – pokračovat (resume) Q – skončit (quit)
Normalizace (opakování) · 1NF (první normální forma): Tabulka je v první normální formě, jestliže lze do každého pole dosadit pouze jednoduchý datový typ (jsou dále nedělitelné) a je zbavena opakujících se položek. · 2NF (druhá normální forma): Tabulka je ve druhé normální formě, jestliže je v 1NF a navíc platí, že existuje klíč a všechny neklíčové atributy jsou funkcí celého klíče. · 3NF (třetí normální forma): Tabulka je ve třetí normální formě, jestliže je v 2NF a navíc každý neklíčový atribut je netransitivně závislý na každém kandidátním klíči.
Popis procesů Technika, která shromažďuje všechny operace, které jsou nutné k tomu, aby proces proběhl Př. objednání zkoušky entity z entitně - funkční matice Ukazatel stavu z ELH zahrnuje jedno nebo více funkčních okének DFD Obsahuje: jméno entity, účinek na událost, předchozí a následující stav
Kontrola fyzického návrhu Kontrola fyzického návrhu není jedna technika, ale několik pravidel jak přetvořit logický datový návrh a Logický popis procesů na fyzickou specifikaci. Výsledek kontroly fyzického návrhu je databáze nebo soubor specifikací a řada programových specifikací. Pravidla přeměny se budou lišit v závislosti na plánovaném hardwarovém a softwarovém vybavení. Několik popsaných procesů se spojí a vytvoří jednu programovou specifikaci.
Provázanost DFD, LDS a ELH
fáze a etapy - techniky(1) Fáze A Analýza Etapa 1 Analýza stávajícího systému DFD, LDS (ERD) Křížový odkaz Průchod a dokumentace Etapa 2 Specifikace požadavků DFD, LDS (ERD), ELH
fáze a etapy - techniky(2) Fáze B Logický návrh Etapa 3 Logický datový návrh Normalizace, LDS (ERD) Průchod a dokumentace Etapa 4 Logický procesní návrh Popis procesů
fáze a etapy - techniky(3) Fáze C Fyzický návrh Etapa 5 Fyzický návrh Kontrola fyzického návrhu DFD Průchod a dokumentace
Standardní forma projektu (1) 1. DFD diagram 2. DFD 1. úrovně 3. DFD 2. úrovně 4. LDS (ERD) 5. DSE - křížový odkaz (data store entity) 6. List problémů a požadavků 7. Popis entit 8. Popis vstupů a výstupů
Standardní forma projektu (2) 9. Datový slovník 10. On-line dialog specifikací 11. Logický funkční popis 12. Entitně-funkční matice 13. ELH 14. Normalizace 15. Katalog procesů 16. Popis procesu 17. Části fyzického přístupu
Příklad, zadání(1) - Kuchyně Zákazníci si objednají prostřednictvím obchodního oddělení Objednávky jsou potvrzeny a přepsány na objednávkové formuláře Smlouva se uzavírá na jeden typ jídla Je dána sleva pokud se zákazník zaváže odebírat určité množství Zákazník smí mít mnoho smluv Objednávky obsahují smluvní cenu Kopie všech smluv jsou uloženy u účetního a přístupné kvůli cenám Ostatní faktury jsou ceněny podle lístku připraveného zaměstnanci Prodejce přijímá kompletní denní list jídel na prodej Účetní vystaví fakturu a zašle ji zákazníkovi Při dodání jídla strhne účetní kredit z účtu Účetní týdně kontroluje limit a zastaví dodávky pokud je vyčerpán Účetní prověří a autorizuje nového zákazníka, Zašle obchodníkovi informace o nových zákaznících Účetní zaznamenává přijaté platby od zákazníka
Příklad, zadání(2) Kuchyně každý den posílá seznam dodávek a vydaných jídel Pro jídlo vydané zákazníkovi musí zaměstnanci kuchyně vyplnit výdejový formulář pro účetního Zaměstnanci připravují seznam ingrediencí nákupnímu oddělení. Seznam dodaných ingrediencí posílají zaměstnanci účetnímu To dovolí nákupčímu ověřit faktury od dodavatele Když se zásoba nějaké ingredience ztenčuje, je připravena karta ingrediencí a poslána nákupčímu Ten připraví objednávku pro dodavatele Všechny nákupy se zapisují do nákupní knihy Nový systém je požadován pro práci obchodního a účetního oddělení. Na tyto dvě položky provedeme analýzu a návrh dle SSADM.
Příklad, DFD 0. Level – původní stav Hranice systému
Příklad, DFD 1. Level – původní stav
Příklad, DFD 2. Level – obchod – původní stav
Příklad, DFD 2. Level – účet – původní stav
Příklad, matice entit – původní stav Pro každou entitu je zobrazeno s jakou další entitou se váže
Příklad, diagram entit – původní stav Je zde zahrnut i status – v jaké fázi se objednávka nalézá: nevyřešená, čekající, odeslaná
Příklad, křížový odkaz (data store entity) – původní stav Ke každé paměti v DFD jsou přiřazeny entity v LDS
Příklad, diagram entit – zjednodušení Celý systém bude mít jen 4 entity.
Příklad, křížový odkaz (data store entity) – nový stav DFD bude obsahovat pouze čtyři paměti. Stejně tak se dá LDS znázornit pouze se čtyřmi entitami.
Příklad, diagram entit – nový stav (logický) Zjednodušení poskytuje lepší náhled na systém. Není úplně správně (vazba N:M), ale dává logický obraz o datech.
Příklad, List problémů a požadavků K uložení objednávky jsou používány tři paměti (čekající, nevyřešená, k odeslání). Je vhodné integrovat do jedné paměti. V DFD není zahrnuto vedení. To ale chce dostávat výsledky o hospodaření. Je třeba zavést nový proces, který dokáže monitorovat výsledky obchodu i kuchyně a poskytovat údaje vedení (kolik je objednávek, jaký je průměrný čas vyřízení objednávky, kdo jsou největší zákazníci atd.) Faktury jsou posílány ihned po vyzvednutí jídla. Mají se posílat všechny najednou jedenkrát za týden. Objednávky se skládají ze dvou částí (hlavičky a těla). Teď se ukládá pouze tělo objednávky. Hlavička není uložena v žádné paměti. Má se ukládat zároveň hlavička i tělo objednávky.
Příklad, DFD 2. Level – obchod – nový stav
Příklad, DFD 2. Level – účetní – nový stav
Příklad, DFD 1. Level – nový stav
Příklad, DFD 0. Level – nový stav
Příklad, Popis entit Zobrazuje z jakých položek (řádků v databázi) je entita složena.
Příklad, Popis vstupů a výstupů Týká se datových toků. Je jednoznačným vodítkem odkud a kam jsou data směřována.
Příklad, Datový slovník Slouží k tomu, abychom popsali každou položku entity. Popisujeme nejdůležitější údaje.
Příklad, On-line dialog specifikací Vychází přímo z DFD. Zjednodušuje systém a ukazuje jak by mělo vypadat menu nového systému.
Příklad, Logický funkční popis Popisujeme všechny funkce obsažené v systému, vycházíme přímo z DFD.
Příklad, Entitně-funkční matice
Příklad, ELH
Příklad, Normalizace
Příklad, Katalog procesů
Příklad, Popis procesu
Příklad, Části fyzického přístupu Sem patří především: Specifikace programu Specifikace databází Plán implementace Uživatelský manuál Provozní manuál
Výhody a hodnocení (1) Uživatel dostane systém podle svých požadavků Metoda řízená daty Přiměřeně časově a finančně náročná Aplikace požadavků od uživatelů hned napoprvé Formát dokumentace je pochopitelný pro uživatele Neupřednostňuje jednu modelovací techniku Zahrnuje kompletní dokumentaci už v rámci metody
Výhody a hodnocení (2) Používá se při vývoji systémů, ale nepokrývá celý životní cyklus systému. Používá 3 základní pohledy na informační systém: - Logické datové struktury - LDS - Diagramy datových toků - DFD - Životní cykly entit - ELH