http www uml org UML unified modelling language

  • Slides: 38
Download presentation
http: //www. uml. org/ UML unified modelling language sjednocený modelovací jazyk

http: //www. uml. org/ UML unified modelling language sjednocený modelovací jazyk

Co to je UML Základy OOA: • Abstrakce • Dědičnost • Polymorfismus UML je

Co to je UML Základy OOA: • Abstrakce • Dědičnost • Polymorfismus UML je jednotný (grafický) jazyk pro specifikaci, vizualizaci, konstrukci a dokumentaci při OO analýze a návrhu (OOAa. D) a pro modelování organizace (business modelling). • Zapouzdření • Posílání zpráv • Asociace • Agregace Booch, Rumbaugh, Jacobson

Vrstvy UML Vrstva Příklad meta-metamodel metatřída, metaatribut, metaoperace Metamodel třída, atribut, operace, komponenta Student,

Vrstvy UML Vrstva Příklad meta-metamodel metatřída, metaatribut, metaoperace Metamodel třída, atribut, operace, komponenta Student, jméno, foto, zobr. Foto, srv. Student Model uživatelské objekty <Student_100>, "Novák", ". . . " <srv. Student_1234>

Stavební bloky UML 1. prvky – abstrakce: . strukturní – třída, případ použití, komponenta,

Stavební bloky UML 1. prvky – abstrakce: . strukturní – třída, případ použití, komponenta, …. chování – interakce, stav . seskupování – modul, balíček, podsystém (package). komentáře - poznámka 2. vztahy: . závislost. asociace. generalizace. realizace 3. diagramy: . diagram tříd. diagram objektů. diagram případů použití. diagram interakce – d. sekvence, d. spolupráce. stavový diagram aktivit. diagram komponent. diagram nasazení (rozmístění) (deployment)

UML Stavový diagram

UML Stavový diagram

Stavový diagram • Popisuje dynamiku objektu, systému, či subsystému. • Jeden stavový diagram reprezentuje

Stavový diagram • Popisuje dynamiku objektu, systému, či subsystému. • Jeden stavový diagram reprezentuje jeden stavový automat. • Dokáže reprezentovat všechny stavy, do nichž se objekt může dostat, a také podmínky přechodů mezi jednotlivými stavy. • Je možné zadat počáteční a koncový stav každého objektu.

Znázornění stavu počátek • entry: co se stane, když se systém dostane do tohoto

Znázornění stavu počátek • entry: co se stane, když se systém dostane do tohoto stavu • exit: co se stane, když systém tento stav opustí • do: co se provede, je-li systém v tomto stavu konec Stav Přechod

Algebraický graf • G = (V, H) • V = {v 1, v 2,

Algebraický graf • G = (V, H) • V = {v 1, v 2, … vn} • H = {h 1, h 2, … hn}, kde hn = (vi, vj) • Orientovaný graf se skládá z neprázdné konečné množiny vrcholů V (uzlů), konečné množiny H hran a pro každou hranu víme, z kterého vrcholu do kterého vrcholu vede. Tj. každé hraně jsou přiřazeny 2 vrcholy (počáteční a koncový). • Hraně, která má stejný počáteční i koncový vrchol, říkáme orientovaná smyčka. • Graf s pouze jedním vrcholem a bez hran nazýváme triviálním.

Algebraický graf v 2 v 3 v 1 v 5 v 4

Algebraický graf v 2 v 3 v 1 v 5 v 4

Stavový diagram • Stavový diagram popisuje stavy, v nichž se může objekt nacházet, a

Stavový diagram • Stavový diagram popisuje stavy, v nichž se může objekt nacházet, a jak se stav objektu změní jako následek události, která na objekt působí. Kreslí se pro jednu třídu a ukazuje chování objektu třídy v průběhu jeho životního cyklu.

Příklad stavového diagramu

Příklad stavového diagramu

Stav objektu • Situace během života objektu, během níž objekt splňuje nějakou podmínku, provádí

Stav objektu • Situace během života objektu, během níž objekt splňuje nějakou podmínku, provádí nějakou operaci nebo čeká na událost • Př) Student: přihlášený, přijatý, zapsaný, student 1. stupně, . . . • - stavu může být přiřazena aktivita a vstupní, výstupní a interní akce (do/…, entry/…, exit/…, událost/…) • - počáteční a koncový stav (pseudostavy) • Aktivita – proces, který trvá „nějakou dobu“. • Akce – proces, který proběhne „rychle“ a je nepřerušitelný. • Událost - něco, co se stane v určitém časovém okamžiku, nemá trvání.

Stavový diagram – příklad 1 Vytvořte stavový diagram pro objekt fax • Je-li přístroj

Stavový diagram – příklad 1 Vytvořte stavový diagram pro objekt fax • Je-li přístroj ve stavu Faxuje se, provádí se činnosti spočívající v přidání záznamu o čase odeslání, přidání telefonního čísla a jména odesílatele. Mezi další činnosti v tomto stavu patří načtení originálu, očíslování stránek a dokončení přenosu. • Ve stavu Nic se neděje se datum a čas zobrazují na displeji

Příklad 1 - řešení

Příklad 1 - řešení

Příklad 2 • Jak budou vypadat vrstvy při stavovém popisu? Vrstva Příklad meta-metamodel metatřída,

Příklad 2 • Jak budou vypadat vrstvy při stavovém popisu? Vrstva Příklad meta-metamodel metatřída, metaatribut, metaoperace Metamodel třída, atribut, operace, komponenta Student, jméno, foto, zobr. Foto, srv. Student Model uživatelské objekty <Student_100>, "Novák", ". . . " <srv. Student_1234>

Příklad 2 - řešení Vrstva Příklad meta-metamodel metatřída, metaatribut, metaoperace Metamodel třída, atribut, operace,

Příklad 2 - řešení Vrstva Příklad meta-metamodel metatřída, metaatribut, metaoperace Metamodel třída, atribut, operace, komponenta Fax, kopírka, matka, … Stavový automat Události, přechody, stavy, akce, <Stav 1>, <Čekání na odopvěď>, do/spuštění systému

Události a akce • doplňující informace přidáváme k šipkám symbolizujícím přechody mezi stavy •

Události a akce • doplňující informace přidáváme k šipkám symbolizujícím přechody mezi stavy • můžeme označit událost, která způsobí, že k přechodu dojde (spouštěcí událost), nebo výpočet (akci), která přechod realizuje.

Stavový diagram – příklad 2 Vytvořte stavový diagram pro operační systém (OS) počítače, za

Stavový diagram – příklad 2 Vytvořte stavový diagram pro operační systém (OS) počítače, za předpokladu těchto tří stavů: • Inicializace • Práce • Ukončování

Příklad 2 - řešení

Příklad 2 - řešení

Strážní podmínky • jedná se o takovou podmínku přechodu (například časový interval), po jejímž

Strážní podmínky • jedná se o takovou podmínku přechodu (například časový interval), po jejímž splnění dojde k přechodu do dalšího stavu • zapisují se jako logický výraz

Stavový diagram – příklad 3 Do stavového diagramu pro OS počítače doplňte strážní podmínku

Stavový diagram – příklad 3 Do stavového diagramu pro OS počítače doplňte strážní podmínku pro spuštění spořiče obrazovky při nečinnosti.

Příklad 3 - řešení

Příklad 3 - řešení

Podstavy • jsou změny stavu v rámci jednoho stavu • mohou být dvojího druhu:

Podstavy • jsou změny stavu v rámci jednoho stavu • mohou být dvojího druhu: sekvenční a souběžné • do sekvenčních podstavů se objekt dostává postupně • souběžné stavy nastávají zároveň, mluvíme pak o tzv. složeném stavu

Stavový diagram – příklad 4 Vytvořte podstavy stavu práce, které se mění v této

Stavový diagram – příklad 4 Vytvořte podstavy stavu práce, které se mění v této posloupnosti: • Čekání na vstup • Zachycení vstupu • Zobrazení vstupu

Příklad 4 - řešení

Příklad 4 - řešení

Ukládaný stav • uložený stav si pamatuje v jakém podstavu byl předtím, než byl

Ukládaný stav • uložený stav si pamatuje v jakém podstavu byl předtím, než byl opuštěn, tj. po opětovném přechodu do tohoto stavu nedojde k návratu na počátek stavu • pro označení takového stavu se používá písmeno H (History)

Ukládaný stav - příklad

Ukládaný stav - příklad

Stavový diagram – příklad 5 Vytvořte stavový diagram pro třídu online objednávka, realizující například

Stavový diagram – příklad 5 Vytvořte stavový diagram pro třídu online objednávka, realizující například objednávku zboží po internetu. Uvažujte následující stavy: v Nová objednávka v Objednávka zákazníka v Zrušení v Dokončení objednávky v Potvrzení v Odeslání

Příklad 5 – krok 1

Příklad 5 – krok 1

Příklad 5 – krok 2 • Doplňte přechody mezi stavy včetně událostí, které způsobí,

Příklad 5 – krok 2 • Doplňte přechody mezi stavy včetně událostí, které způsobí, že k přechodu dojde

Příklad 5 – krok 2

Příklad 5 – krok 2

Příklad 5 – krok 3 • Doplňte činnosti pro jednotlivé stavy

Příklad 5 – krok 3 • Doplňte činnosti pro jednotlivé stavy

Příklad 5 - řešení

Příklad 5 - řešení

Shrnutí Stavový diagram umožňuje popsat vnitřní chování jednotlivých tříd (sestavuje se pro každou třídu).

Shrnutí Stavový diagram umožňuje popsat vnitřní chování jednotlivých tříd (sestavuje se pro každou třídu). K tomuto popisu se používá stavový diagram, což je grafické vyjádření matematického modelu Mealyho automatu. Vyjadřujeme jej proto pomocí algebraického grafu. Pro danou třídu identifikujeme stavy, do kterých se instance (objekt) třídy může dostat a přechody mezi těmito stavy – podmínky, při jejichž splnění se dostaneme z jednoho stavu do druhého. Přechod do dalšího stavu je tedy určen touto podmínkou, ale také předchozím stavem (ta samá událost v jiném stavu má jiné důsledky). S každým stavem jsou spojeny akce, které se v něm vykonávají – to jsou operace z třídového diagramu.