Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

UML Jan Zachrla. Co je to UML? Zkratka „UML“ znamená „Unified Modeling Language“ (Unifikovaný modelovací jazyk) Jde o grafický jazyk sloužící k vizualizaci,

Podobné prezentace


Prezentace na téma: "UML Jan Zachrla. Co je to UML? Zkratka „UML“ znamená „Unified Modeling Language“ (Unifikovaný modelovací jazyk) Jde o grafický jazyk sloužící k vizualizaci,"— Transkript prezentace:

1 UML Jan Zachrla

2 Co je to UML? Zkratka „UML“ znamená „Unified Modeling Language“ (Unifikovaný modelovací jazyk) Jde o grafický jazyk sloužící k vizualizaci, specifikaci, konstrukci a dokumentaci programových systémů Unifikovaný = sjednoceny používané výrazové prostředky Jazyk – má syntaxi a sémantiku

3 Co je to UML? Objektově orientovaný přístup k analýze Neobsahuje metodiku, jak analyzovat, specifikovat či navrhovat programové systémy Nezávislý na programovacím jazyku

4 Historie UML Vychází z objektově orientovaných metod z konce 80. a začátku 90. let Vývoj začal v roce 1994 ve firmě Rational Software Corporation (dnes součást IBM) James Rumbaugh (Object-modeling technique – OMT), Grady Booch (Booch method) a Ivar Jacobson (Object-oriented software engineering – OOSE)

5 Historie UML První verze UML – rok 1995 Rok 1997 – přijat standard UML 1.1 standardizační organizací Object Management Group (OMG) V letech 1998 – 2002 se objevily další verze 1.2 – 1.5 UML 2.0 – rok 2005 Aktuální verze – (srpen 2011)

6 Použití UML Kreslení konceptů – Zaznamenání myšlenek a návrhů – Slouží ke komunikaci mezi vývojáři – Srozumitelnost, rychlost, snadné změny

7 Použití UML Kreslení detailních návrhů – Zaznamenání kompletního návrhu nebo kompletní realizace – Programátor by měl být schopen podle diagramu vytvořit program – Existují specializované programy na tvorbu diagramů (např. CASE) – Lze generovat i diagram z vlastního kódu (používá se pro potřeby dokumentace)

8 Použití UML UML jako programovací jazyk – Vytvoří se UML diagramy, z nichž se vygeneruje přímo spustitelný kód – Nutnost přesného vyjadřování v diagramech

9 Typy diagramů 13 typů, které lze rozdělit do dvou skupin: – Strukturní (statické) diagramy (6) Zdůrazňují statickou strukturu systému za pomoci objektů, atributů, operací a vztahů – Behaviorální (dynamické) diagramy (7) Zdůrazňují dynamické chování systému – ukazují spolupráci mezi objekty a změny vnitřních stavů objektů Součástí jsou i diagramy interakce (4 ze 7)

10

11 Diagram tříd (class diagram) Strukturní diagram Diagram tříd je základní stavební blok objektově orientovaného modelování (používá se pro obecné konceptuální modelování i pro detailní modelování) Zobrazuje třídy, jejich atributy, operace a vztahy mezi nimi

12 Diagram tříd – třída Třída je v diagramu reprezentována jako obdélník a může obsahovat následující tři části: – Jméno třídy (horní část) – povinné; tučně, zarovnáno na středu, první písmeno velké – Atributy třídy (prostřední část) – zarovnáno vlevo, první písmeno malé – Operace a metody, které lze s třídou provádět (spodní část) – zarovnáno vlevo, první písmeno malé

13 Diagram tříd – atribut třídy Atribut: – Jméno (povinné) – Viditelnost (atributů a operací): + (public / veřejné – viditelné a přístupné odkudkoliv) - (private, soukromé – jen uvnitř třídy) # (protected, chráněné – uvnitř třídy a v jejích potomcích) ~ (package, balíček - jen z elementů uvnitř balíčku, ve kterém je tato třída, a z vnořených balíčků)

14 Diagram tříd – atribut třídy – Stereotyp – nepovinný; definuje určité vlastnosti třídy; zapisuje se do dvojitých ostrých závorek: > – Typ – nepovinný; určuje typ atributu – Násobnost – nepovinná; pro určení polí (např. owner[2] : String říká, že atribut owner je složen z pole dvou stringů) nebo jestli hodnota může/nemusí být vyplněna (např. owner[1] znamená, že musí být vyplněna); jestliže je násobnost vynechána, automaticky musí být hodnota vyplněna

15 Diagram tříd – atribut třídy – \ (atribut je odvozený) – Implicitní hodnota – hodnota, kterou atribut získá hned po vytvoření instance – Property-string – umožňuje specifikovat další vlastnosti atributu (např. {readOnly})

16 Diagram tříd – operace třídy Operace – Jméno (stejné jako u atributu) – Stereotyp (stejné jako u atributu) – Viditelnost (stejné jako u atributu) – Základní hodnota - pokud určitý argument není v rámci volání operace vůbec předán, nastaví si jeho hodnotu na implicitní základní hodnotu volaná operace sama

17 Diagram tříd – operace třídy – Návratový typ - obsahuje seznam jmen klasifikátorů specifikujících, jakých typů budou návratové hodnoty – Property-string – umožňuje specifikovat další vlastnosti operace (např. výjimky)

18 Diagram tříd – příklad třídy

19 Diagram tříd – vztahy mezi třídami Asociace (Association) – Vazba mezi objekty – Znázorňuje se jako čára – Může být víc druhů – oboustranná, jednostranná (v tomto případě se přidává šipka) – Může obsahovat jméno, jména rolí, násobnost, viditelnost atd.

20 Diagram tříd – příklad asociace

21 Diagram tříd – vztahy mezi třídami Agregace (Aggregation) – Vztah, který vyjadřuje, že jeden element je součástí druhého – Značí se jako čára s prázdným kosočtvercem na konci Kompozice (Composition) – Silnější forma agregace – Značí se jako čára s vyplněným kosočtvercem na konci

22 Diagram tříd – agregace a kompozice

23 Diagram tříd – vztahy mezi třídami Generalizace (Generalization) – Jedna třída je specializací druhé (např. třída Student je specializací třídy Člověk) – Značí se jako čára s trojúhelníkem na konci Realizace (Realization) – Zdrojová třída zaručuje splnění toho, co předepisuje cílová třída – Značí se jako přerušovaná čára s trojúhelníkem na konci

24 Diagram tříd – příklad generalizace

25

26 Diagram komponent (component diagram) Strukturní diagram Znázorňuje, jak jsou komponenty navzájem propojené a jak formují větší komponenty Používají se na zobrazení struktury libovolně složitých systémů

27 Diagram komponent – komponenta Definice komponenty: – Modulární část systému, která zapouzdřuje svůj obsah a jejíž projev je v rámci prostředí nahraditelný. Chování komponenty je definováno pomocí poskytovaného (provided) interface a požadovaného (required) interface – Komponenta může být nahrazena jinou pouze tehdy, jestliže jsou jejich provided interface a required interface identické – Znázorněna jako obdélník s klíčovým slovem > (nepovinně i ikona komponenty)

28 Diagram komponent – příklad komponenty

29

30 Diagram složené struktury (Composite structure diagram) Strukturní diagram Ukazuje vnitřní strukturu třídy a možné spolupráce, které tato třída umožňuje

31 Diagram složené struktury Diagram obsahuje: – Vnitřní části – Porty (skrze ně vnitřní části navzájem interagují nebo skrze ně instance třídy interagují s okolním světem) – Konektory (spojují části a porty) Složená struktura skupina navzájem spojených elementů, které spolupracují, aby dosáhly určitého cíle Každý element má ve spolupráci definovanou svoji roli

32 Diagram složené struktury – příklad

33 Diagram nasazení (Deployment diagram) Strukturní diagram Diagram ukazuje, jak bude vypadat fyzická struktura systému Zobrazuje hardwarové componenty (nodes), softwarové komponenty (artifacts) a vazby mezi nimi (communication paths)

34 Diagram nasazení Uzly jsou dvojího typu: – > – fyzické zařízení (hardware) – > – prostředí zpracování softwaru (např. webový server)

35 Diagram nasazení – příklad

36 Diagram objektů (Object diagram) Strukturní diagram Někdy se také nazývá diagram instancí Zobrazuje strukturu modelovaného systému (celou nebo její část) v určitém časovém okamžiku) Velmi podobný diagramu tříd (téměř stejné značení, objektový je podrobnější) Zatímco diagram tříd zobrazuje třídy, objektový diagram ukazuje instance třídy

37 Diagram objektů - příklad

38 Diagram balíčků (Package diagram) Strukturní diagram Umožňuje sdružovat elementy UML do skupin (tzv. balíčků – packages) a znázornit závislosti mezi těmito balíčky Balíčky mohou být součástí jiných balíčků – tímto lze vyjádřit hierarchickou strukturu

39 Diagram balíčků Dva typy závislostí mezi balíčky: – Package import – elementy cílového balíčku budou importovány do zdrojového – Package merge – obsah obou balíčků bude zkombinován

40

41 Diagram profilů (Profile diagram) Strukturní diagram Zabývá se metamodelováním Používá se na zobrazování stereotypů V UML 1 tento diagram nebyl, objevil se až od verze 2

42 Diagram aktivit (Activity diagram) Diagram chování Zobrazuje průběh činnosti krok po kroku Lze zakreslit i rozhodování, opakování nebo souběžnost akcí

43 Diagram aktivit (Activity diagram) Diagram aktivit se skládá z různých tvarů: – Zabolený obdélník – akce – Kosočtverec – rozhodování – Černá „tyč“ – začátek a konec souběžných aktivit – Černý kruh – začátek procesu – Zakroužkovaný černý kruh – konec procesu

44

45

46 Stavový diagram (State diagram) Diagram chování Zachycuje jednotlivé stavy objektu a přechody mezi nimi

47 Stavový diagram Diagram obsahuje: – Počáteční a koncový stav (podobně jako u diagramu aktivit) – Zaoblený obdélník – stav objektu; může být rozdělen na dvě části, přičemž ta druhá zobrazuje, které činnosti se za tohoto stavu dějí – Přechody – událost[podmínka]/akce – k vykonání akce dojde jen tehdy, když je splněna podmínka

48

49 Diagram užití (Use case diagram) Diagram chování Zobrazuje interakci uživatele se systémem Uživatelů může být v diagramu i více Spíše než o konkrétního uživatele se jedná o roli (zobrazeno jako actor) – jeden účastník může být vyjádřen více actory a více účastníků může být vyjádřeno jedním actorem Kromě rolí diagram dále obsahuje případy užití (use cases), ohraničení systému a relace

50

51 Diagram komunikace (Communication diagram) Diagram interakce Dostupný od verze UML 2 – jde o zjednodušenou verzi collaboration diagramu z UML 1 Zobrazuje interakci mezi objekty v podobě sekvenčních zpráv Jednotlivé zprávy jsou očíslované Velmi podobný sekvenčnímu diagramu – diagram komunikace se zaměřuje na to, které elementy spolu interagují

52

53 Sekvenční diagram (Sequence diagram) Diagram interakce Ukazuje, jak spolu různé procesy spolupracují v časovém sledu V diagramu vystupují účastníci (většinou objekty), z nichž každý má svou čáru života (lifeline) – na ní je vyznačeno, kdy je účastník aktivní Zprávy – interakce mezi účastníky

54

55 Diagram časování (Timing diagram) Diagram interakce Zaměřuje se na časová omezení Používají se na zobrazení chování objektů v určitém časovém období Jde o speciální formu sekvenčního diagramu (např. obrácené osy)

56 Diagram časování (Timing diagram) Dva typy – Stavová forma – základním prvkem je časová osa; diagram dále obsahuje čáry života a stavy objektů (orientováno svisle); změna z jednoho stavu do druhého je vyjádřena vertikálním posunutím čáry života – Hodnotová forma – soustředí se na stavy v relativním čase (nemusí obsahovat časovou osu)

57

58 Diagram přehledu interakcí (Interaction overview diagram) Diagram interakce Umožňuje přehledně zobrazit řízení toku včetně rozvětvení a souběžnosti Trochu podobný diagramu aktivit (oba zobrazují posloupnost aktivit), v diagramu interakcí je ale každá činnost zobrazena jako rámec, který může obsahovat další vnořené diagramy interakcí

59

60 Děkuji za pozornost!

61 Zdroje Unified Modeling Language [online]. [cit ]. Dostupné z: Unified Modeling Language. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z: Class diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z:http://en.wikipedia.org/wiki/Class_diagramhttp://en.wikipedia.org/wiki/Class_diagram Composite structure diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z: Package diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z:http://en.wikipedia.org/wiki/Package_diagramhttp://en.wikipedia.org/wiki/Package_diagram Activity diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z:http://en.wikipedia.org/wiki/Activity_diagramhttp://en.wikipedia.org/wiki/Activity_diagram State diagram (UML). In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z:http://en.wikipedia.org/wiki/State_diagram_(UML)http://en.wikipedia.org/wiki/State_diagram_(UML) Use Case Diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z:http://en.wikipedia.org/wiki/Use_Case_Diagramhttp://en.wikipedia.org/wiki/Use_Case_Diagram

62 Zdroje Component (UML). In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z:http://en.wikipedia.org/wiki/Component_(UML)http://en.wikipedia.org/wiki/Component_(UML) Sekvenční diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z:http://cs.wikipedia.org/wiki/Sekven%C4%8Dn%C3%AD_diagramhttp://cs.wikipedia.org/wiki/Sekven%C4%8Dn%C3%AD_diagram Diagram nasazení. In: REJNKOVÁ, Petra. Příklady použití diagramů UML 2.0 [online] vyd. [cit ]. Dostupné z:http://uml.czweb.org/diagram_nasazeni.htmhttp://uml.czweb.org/diagram_nasazeni.htm Diagram aktivit. In: REJNKOVÁ, Petra. Příklady použití diagramů UML 2.0 [online] vyd. [cit ]. Dostupné z:http://uml.czweb.org/diagram_aktivit.htmhttp://uml.czweb.org/diagram_aktivit.htm Diagram komunikace. In: REJNKOVÁ, Petra. Příklady použití diagramů UML 2.0 [online] vyd. [cit ]. Dostupné z:http://uml.czweb.org/diagram_komunikace.htmhttp://uml.czweb.org/diagram_komunikace.htm Diagram časování. In: REJNKOVÁ, Petra. Příklady použití diagramů UML 2.0 [online] vyd. [cit ]. Dostupné z:http://uml.czweb.org/diagram_casovani.htmhttp://uml.czweb.org/diagram_casovani.htm UML Interaction Overview Diagrams Examples. In: Uml-diagrams [online]. [cit ]. Dostupné z: UML basics: The component diagram. In: IBM: developerWorks [online]. [cit ]. Dostupné z: https://www.ibm.com/developerworks/rational/library/dec04/bell/https://www.ibm.com/developerworks/rational/library/dec04/bell/


Stáhnout ppt "UML Jan Zachrla. Co je to UML? Zkratka „UML“ znamená „Unified Modeling Language“ (Unifikovaný modelovací jazyk) Jde o grafický jazyk sloužící k vizualizaci,"

Podobné prezentace


Reklamy Google