Nástroje pro modelování – DFD, ERA a UML modely, využití v analýze a návrhu.
Z Na státnice zvesela!
Při strukturální analýze je používáno několik modelovacích technik. Důvody jejich použití jsou následující:
- Abstrahují reálný systém
- Slouží ke komunikaci s uživatelem (zpětná vazba) při návrhu nového systému; musí být pochopitelné i pro uživatele (SW laika)
- Dokumentace – aby lidé, kteří přijdou po nás mohli pokračovat
Obsah[skrýt] |
[editovat] Dataflow diagram (DFD)
- Graficky vyjadřují toky dat (šipky) mezi procesy (bubliny)
- Při komunikaci s uživatelem pomáhají vyjasnit hranice systému
- Malá omezená množina symbolů – příjemné pro uživatele
Notace
- Procesy – označují se většinou bublinou; měli by se číslovat, pokud jsou víceúrovňové, měli by se i číslovat víceúrovňově (3, 3.1, 3.2, 3.3); popisují to, co funkce dělá a co je výsledkem funkce
- Úložiště dat – označují se většinou čtvercem bez boků; slouží k uchování dat
- Toky – označují se šipkou; vyjadřují data, která putují mezi jednotlivými procesy
- Terminátory – Lidé, stroje a systémy komunikující s naším systémem (jsou mimo hranice systému); dají se dělat duplikáty (aby nevedlo moc toků od jednoho), které se označují přeškrtnutým pravým horním rohem, nebo hvězdičkou
Kontextový diagram
- Zvláštní případ DFD, obsahuje jediný proces (bublinu) reprezentující celý systém
- Slouží k určení a odsouhlasení hranic systému uživatelem
- Terminátory komunikují se systémem přímo přes datové a řídící toky, nebo přes externí datová úložiště
- Terminátory nekomunikují mezi sebou. Ve skutečnosti to zřejmě dělají, ale protože jsou oba terminátory vně systému, je jejich komunikace pro systém irelevantní.
[editovat] Entity relationship diagram (ERA)
Slouží k reprezentaci dat obsažených v systému a vztahů mezi nimi. Používán především pro modelování strukturovaných dat v relačních databázích.
Objektové typy Obdélník – zastupuje kolekci objektů (instancí, entit) z reálného světa, kde pro každý objekt platí: jednoznačně identifikovatelný, musí hrát určitou roli v systému, popsán jedním nebo více atributy. Podstatná jména.
Obrázek 9: ERD - objektové typy
Relace (vztahy) Kosočtverec - Spojuje dva nebo více objektů, popisek v diagramu. Slovesa. Popisuje vztah:
zákazník -< kupuje >- zboží.
Obrázek 10: ERD – relace
Alternativní notace pro relace:
Asociativní objektové typy Některé údaje které potřebujeme uložit se nevztahují ani k jednomu objektovému typu, ale přímo k vazbě – např. čas nákupu.
Obrázek 11: ERD - asociační objektové typy
Identifikátory nadřazených typů a podtypů Dědění, děti mají stejné atributy jako rodiče + navíc své vlastní
Obrázek 12: ERD - Subtype/Supertype Indicators
[editovat] UML(Unified/Universal Modeling Language) diagramy pro vytváření OO modelu
UML je obecný a standardizovaný modelovací jazyk, který zahrnuje grafickou notaci pro vytváření abstraktního modelu systému označovanému jako UML model. Model lze automaticky transformovat na jinou reprezentaci např. jazyk Java.
[editovat] Diagram tříd (Class diagram)
- ukazuje třídy a vztahy mezi nimi (zobecnění, asociace, agregace, … )
Třídy
- obdélník rozdělen na tři části
- 1. název třídy
- 2. atributy
- 3. metody
Rozhraní
- stereotyp «interface»
- jinak se kreslí stejně jako třída (část s atributy se vynechává)
- třídy, které implementují rozhraní se spojují s rozhraním přerušovanou šipkou
- rozhraní se může kreslit také jako kroužek spojený s plnou čarou s třídou, která ho implementuje, pod kroužkem název rozhraní
Zobecnění
- vyznačení dědičnosti
Asociace
- objekty, které jsou instancemi jedné třídy, mohou mít vztah s objekty jiné nebo stejné třídy (př. objekt třídy zaměstnanec bude mít asociaci k objektům třídy oddělení)
- v UML se znázorňuje plnou čarou, u čáry volitelně název vztahu, u názvu volitelně malý černý rojúhelníček – kterým směrem se má asociace číst
- konce asociace mohou být volitelně popsány rolemi ve vztahu
- asociační třída – pokud má asociace vlastnosti jako atributy, operace aj.
- asociace nemusí být jen binární, ale obecně n-ární
- asociace je velmi obecný typ vztahu
Agregace (volná vazba)
- jednou z nejčastějších binárních asociací je agregace (znázorňuje se prázdným kosočtvercem na straně agregátu)
- znamená to, že objekt je vytvořen z dalších objektů = je agregátorem množiny objektů (př. stádo je agregátem ovcí, les je agregátem stromů, rodina je agregátem objektu typu muž a objektu typu žena a množiny objektů typu dítě, …)
Jiný příklad: počítač a periferní zařízení
Kompozice (pevná vazba)
- je silná asociace – součást nemůže existovat samostatně (př. políčko nemůže existovat bez šachovnice).
- Znázorňuje se plným kosočtvercem nebo grafickým vnořením.
Jiný příklad: strom a jeho listy
[editovat] Diagram případů užití (Use case diagram)
- popisuje, co systém dělá, nikoli, jak to dělá
- obsahuje
- aktéry (znázorněny jako panáčci) – cokoliv co potřebuje komunikovat se systémem; představuje to roli
- případy užití (znázorněny elipsou) – představuje dialog nebo transakci vykonávanou systémem
- spojeny se scénáři – posloupnost kroků
- komunikace (čáry mezi akterý a PU) – spojuje aktéry s PU
[editovat] Diagram sekvencí, Sekvenční diagram (Sequence diagram)
- popisují stejnou informaci jako digramy spolupráce, ale soustředí se na časové závislosti
- znázorňují aktéry, objekty v systému, se kterými interagují a posloupnost výměny zpráv
- čas plyne shora dolů – pro každý objekt svislá přerušovaná čára (lifeline)
- horizontální uspořádání není podstatné a má být zvoleno s ohledem na přehlednost
- šipky podle typu komunikace
- volání procedury nebo jiný vnořený tok řízení (tj. vnější sekvence může pokračovat, až po dokončení vnitřní sekvence) – plná šipka, viz a)
- asynchroní komunikace – neplná šipka, viz b)
- návrat z procedury – přerušovaná šipka, viz c)
[editovat] Diagram spolupráce (collaboration diagram)
- popisují spoluprácí mezi objekty nebo jejich rolemi
- znázorňuje strukturu objektů i dynamické chování
- vyskytují se zde:
- spojení pro přenos zprávy – kreslí se jako plná čára
- zprávy (stimuly) – kreslí se jako šipečka blízko čáry; šipečka s plnou hlavou znamená volání procedury, volající pokračuje až po návratu z procedury
- každá zprává má pořadové číslo, zpráva na nejvyšší úrovni má číslo 1
- obdélníčky jsou buď objekty (název je podtržený) nebo role (není podtržený)
- lze znázornit iteraci nebo podmíněnou zprávu
[editovat] Stavový diagram (State transition diagram)
- typicky pro popis chování instance třídy
- stav – během života objektu – provádí nějakou akci, čeká na událost
- přechod – změna stavu způsobená událostí
- uzly grafu = stavy, znázorněny jako obdélníky s kyulatými rohy
- orientované hrany grafu = přechody mezi stavy
- počáteční stav – znázorněn jako černé kolečko
- koncový stav – znázorněn jako černé kolečko v kroužku („býčí oko“)
(zdroj: Potuzák, Kubovec - Okruhy otázek ke státní závěrečné zkoušce z předmětu - Návrh informačních systémů (NIS) 2005/2006)