51 - Modelovací techniky UML (charakteristika jazyka UML; rozšiřitelnost jazyka; charakteristika, základní prvky a použití diagramů UML) Flashcards
Charakteristika jazyka UML
- Jazyk pro specifikování, vizualizaci, konstruování a dokumentování artefaktů softwarových systémů, právě tak jako modelování podniku a jiných ne softwarových systémů.
- UML představuje kolekci nejlepších inženýrských praktik, které se ukázaly úspěšné při modelování rozsáhlých a složitých systémů.
Struktura jazyka UML
Stavební bloky - základní modelovací prvky jazyka, vztahy a diagramy.
• Prvky (things) – modelovací prvky jazyka.
• Vztahy (relationships) – modelování vazeb mezi prvky.
• Diagramy – pohledy do modelů v UML, způsob vizualizace toho, co systém bude dělat (diagramy úrovně analýzy) nebo jak to bude dělat (diagramy úrovně návrhu).
Obecné mechanismy - obecné způsoby, které nabízí UML k dosažení konkrétních cílů.
• Specifikace – grafická a textová dimenze modelu
• Doplňky (adornments) – např. zobrazení atributů
• Obecná dělení (common divisions)
○ Klasifikátor/instance – abstraktní pojem vs. konkrétní výskyt
○ Rozhraní/implementace – co prvek dělá vs. jak to dělá
Struktura jazyka UML - Obecné mechanismy - Mechanismy rozšířitelnosti
• Omezení (doplňující textová informace, definuje podmínku/pravidlo vztahující se k prvku modelu; standardně vyjadřovány pomocí Object Constrain Language, zapisovány ve složených závorkách) {x!=1}
- (constraints) – {….} - podmínka nebo pravidlo vztahující se ke konkrétnímu modelovacímu prvku v modelu, které musí být dodrženo
• Stereotypy (nové, uživatelem definované prvky odvozené z existujících prvků UML modifikací významu; zobrazují se použitím symbolu prvku ze kterého je stereotyp odvozen s uvedením názvu stereotypu ve dvojitých lomených závorkách) «subsystem» - (stereotypes) - «object type» - nové, uživatelem definované prvky, které jsou odvozeny z existujících modelovacích prvků jazyka UML modifikací jejich významu • Připojené hodnoty (definice nových vlastností prvků zavedením klíčových slov pro ně) keyword1=value1, keyword2=value2 - (tagged values) – název = hodnota - definování nových vlastností modelovacích prvků zavedením klíčových slov pro ně a připojení hodnot těchto vlastností ke konkrétnímu prvku modelu
Struktura jazyka UML - Architektura
Architektura - pohled jazyka UML na architekturu modelovaného systému.
• UML chápe architekturu systému jako organizační strukturu systému, včetně dekompozice na části, jejich propojení, interakci, mechanismy a hlavní principy návrhu systému.
• koncepce „4 + 1 pohled“ na architekturu systému (Philippe Kruchten). ○ Logický - konceptuální – zachycuje slovník domény (množina tříd a objektů), jak implementují požadované chování.(Diagramy: tříd, objektů, balíčků, stavového automatu) ○ Procesů - konceptuální – modeluje proveditelná vlákna a procesy jako „aktivní třídy“ (třídy s vlastním vláknem řízení) (Diagramy: aktivity, komunikační, sekvenčí) ○ Implementační - physical – modeluje soubory a komponenty tvořící fyzický kód systému a jejich závislosti. (Diagramy: balíčků, komponent) ○ Nasazení - physical - fyzické nasazení artefaktů na množině výpočetních uzlů. (Diagramy: nasazení) ○ +1 Případů použití - základní požadavky na systém v podobě množiny případů použití. (Diagramy: případů použití, interakce)
Charakteristika, základní prvky a použití diagramů UML
Modelování struktury
• Diagram třı́d - vizualizuje třı́dy, rozhranı́, jejich strukturu a vztahy mezi nimi. Asociačnı́ třı́da je pro vztah N:N. (třídy, rysy tříd - atributy a operace; vztahy - asociace (vazby), agregace - počítač může a nemusí mít tiskárnu a tiskárna nemusí mít počítač, kompozice - faktura musí mít položku a položka fakturu)
* Diagram objektů - Diagram objektů ukazuje objekty a jejich vztahy v jistém časovém okamžiku (snapshot) - včetně instancí atd.. V obrázku je i odpovı́dajı́cı́ diagram třı́d * Diagram balı́čků - modeluje balı́čky – logické seskupenı́ prvků modelu a vztahy mezi nimi - dobré ke strukturovánı́. * Diagram komponent - ukazuje závislosti mezi SW komponentami a jejich implementacı́, porty atd. * Diagram složené struktury - ukazuje propojené prvky systému za běhu, které spolupracujı́ k dosaženı́ cı́le. Zachycuje statickou strukturu beze zpráv.diagram kolaborácie * Diagram nasazenı́ - ukazuje nasazenı́ komponent na fyzickou architekturu a prostředı́ (HW a SW).
Modelování chování
• Diagram přı́padů použití - Diagram přı́padů použitı́ specifikuje funkčnost systému; generalizace akterů i případů užití ( include - (login) — «_space;include»_space; —> (verify password), extend - (login) > — (show error message); špecifikácia prípadov užitia - slovný popis jednotlivých prípadov (meno, popis, aktéri, hlavný tok, alternatívne toky, …) ; použitie: základný model pri analýze požiadavkov )
(Specifikace případů použití textová reprezentácia pripadov použitia, podrobnejšia • Meno pripadu použitia • Identifikátor • Popis • Aktéri: primárny, sekundárny • Preconditions • Hlavný tok riadenia • Postconditions • Alternatívne toky riadenia )
• Diagramy interakce jsou obecný název pro dalšı́ techniky návrhu chovánı́, modeluje interakce třı́d. - použití: návrh komunikace která zajistí požadované chování ○ Diagram sekvence - obsahuje účastnı́ky, jejich čáru života (čas) a dobu, kdy jsou aktivnı́. - Ukazuje předávánı́ řı́zenı́ zprávami (synchronnı́ i asynchronnı́), alternativnı́ tok pomocı́ bloku alt. (asynchronně (plná čára, otevřená šipka), synchronně (plná čára, plná šipka), vytvorenie objektu (ciarkovana ciara), Vrácení z funkce - vrácení hodnoty - zpětná přerušovaná čárou; podmientky: opt, alt, cykly: loop, break paralelne prevedenie: par) ○ Diagram komunikace - zdůrazňuje strukturní vztahy mezi objekty (jak o sobě ví), podobný diagramu sekvencie, ale bez dvojdimenzionálnosti, ukazuje statické vazby, které se využijı́ při komunikaci - využití pro počáteční brainstorming ○ Přehledový diagram interakce - speciálnı́ forma diagramu aktivity, interakce a jejich výskyt., rovnaká syntax ako diagram aktivít ale ukazuje vložené interakcie a ich výskyty namiesto uzlov akcií a objektov - diagram aktivit kde uzel a objekt může být jiný diagram interakce ○ Diagram časovánı́ - diagram změn v čase. ○ Diagram stavového automatu - obsahuje stavy a přechody, které jsou spojeny s akcı́/podmı́nkou - vychadza z konecneho automatu ○ Diagram aktivity - vychádza z Petriho sietí, modeluje aktivitu - workflow, uzly akcí, hrany - řídící toky,..