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

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

UML Jan Zachrla.

Podobné prezentace


Prezentace na téma: "UML Jan Zachrla."— 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
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: <<new_stereotype>> 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
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 <<component>> (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:
<<device>> – fyzické zařízení (hardware) <<execution environment>> – 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_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_diagram Activity diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z:http://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) Use Case Diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z:http://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) 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_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.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.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.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.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/


Stáhnout ppt "UML Jan Zachrla."

Podobné prezentace


Reklamy Google