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

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

UML Jan Smolík. UML Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux Zdroj:

Podobné prezentace


Prezentace na téma: "UML Jan Smolík. UML Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux Zdroj:"— Transkript prezentace:

1 UML Jan Smolík

2 UML Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux Zdroj: Wikipedia

3 Unified modelling language Neproprietární jazyk pro objektové modelování „pro obecné účely“ Definovaný Object Management Group (OMG) Nejedná se o metodiku ani o metodu, ale o soustavu modelovacích prvků použitelných v různých metodách

4 Historie Rational ◦ Grady Booch (Booch Method) ◦ 1994 přišel James Rumbaugh (Object Oriented Analysis) ◦ 1995 přišel Ivar Jakobson (Object Oriented Software Engineering) ◦ Kompromisní řešení mezi jejich objektovými metodami Jazyk adaptován OMG jako návrh UML Partners (úsilí vedeno touto trojicí)

5 Čtyřvrstevná hierarchie metamodelů Meta-metamodel (M3) (MOF) Metamodel (M2) (UML) ◦ Instance meta-metamodelu Model (M1) (váš model v UML) ◦ Instance metamodelu M0 (konkrétní instance tříd ve vašem modelu) ◦ Runtimová instance modelu

6 Abstraktní vs. konkrétní syntaxe Abstraktní syntaxe ◦ Definuje metatřídy, jejich vztahy a omezení Konkrétní syntaxe ◦ Definuje konkrétní notaci

7 Definice UML Vytvořena Object Management Group (OMG) Zahrnuje dvě části ◦ Infrastruktura  Core ◦ Superstruktura  Vlastní popis UML

8 Role společného Core

9 Meta-Object Facility (MOF) Standard pro popis metamodelů (jazyk M3) Založen na UML:Core Je v něm popsáno UML Umožňuje popis abstraktní syntaxe (nikoliv konkrétní)

10 Common Warehouse Metamodel (CWM) Modeluje metadata v datových skladech Nerelační prostředí Multidimensionální prostředí Kromě popisu dat umožňuje zaznamenat odkud data přišla a jak jsou vytvářena

11 Profily Umožňují rozšíření UML Nelze odstranit existující omezení, lze jen přidat nová

12 4 vrstvy metamodelů (př.)

13 Struktura Core Abstraktní třídy (element) Konkrétní třídy pro znovupoužití (třída, asociace) Hlavně třídy pro MOF

14 Hierarchie sémantiky UML

15 Diagramy UML

16 Struktura – třídy Elementy – uzly Třída Rozhraní Instance Package (balíček) – slouží pro seskupení elementů

17 Struktura – třídy Elementy – cesty Agregace Kompozice (agregované elementy nedílnou součástí) Asociace Závislost (element potřebuje jiný ke své existenci) Specializace Realizace (od třídy k instanci) Realizace rozhraní

18 Struktura – třídy Elementy – cesty Užití Merge package Import package

19 Omezení (constraint) Omezení atributu XOR Omezení jako poznámka Možno volným textem nebo pomocí jazyka OCL

20 Asociace Binární a ternární asociace

21 Varianty diagramů struktury tříd Nejsou jasně definované hranice V každé variantě lze užívat všechny elementy Diagram tříd ◦ asociace, agregace, třída, kompozice, závislost, generalizace, rozhraní, realizace, realizace rozhraní Diagram objektů ◦ Instance, link (= asociace instancí) Diagram pekidžů ◦ Pekidž, závislost, import a merge pekidže

22 Diagram pekidžů – příklad

23 Diagram instancí – příklad

24 Diagram komponent – notace Komponenta Komponenta s poskytovaným rozhraním Komponenta vyžadující rozhraní Propojení rozhraní

25 Diagram komponent Jeden ze strukturních diagramů – možno používat všechny strukturní prvky Obvykle ◦ Komponenta, rozhraní, třída, realizace

26 Diagram komponent – příklad

27 Diagram kompozitních struktur – notace Part (část) – element obsažený ve spolupráci Colaboration (spolupráce) – znázorňuje strukturu spolupracujících elementů Konektor – spojuje jednotlivé části kolaborace

28 Diagram kompozitních struktur – příklad

29 Composite structure

30 Deployment diagram – notace Artifakt – kus sofware Node – něco na čem software běží Device – fyzické zařízení Zde znázorněno s na něm běžícím prostředím J2EE

31 Deployment diagram

32 Souvislost strukturních pekidžů UML

33 UML – modely chování

34 Diagramy popisující chování

35 Souvislosti pekidžů popisujících chování

36 Use Case diagram Diagram užití Jediný diagram zobazující funkční strukturu Často kritizován jako slabina UML

37 Use Case Diagram Zdroj: Wikipedia

38 Use Case Diagram Include – případ užití může zahrnovat i další (například opakující se ve více případech) Extend ◦ Realizace generalizace a specializace v use-case modelu ◦ Užití  Volitelné chování  Chování za specifických podmínek či podle volby uživatele ◦ Příklad: Správa zákazníků – nový, editace, zrušení

39 Use case Případy užití jsou detailnějí popsány ve slovních scénářích ◦ Možnosti  Číslované body  Čistě slovní popis  Pseudokód ◦ Zaměřit na problém ne programování! ◦ Základ pro testovací scénáře

40 Use Case - problémy Spíš menší počet případů užití, jinak nepřehledné Většina informací ve slovním popisu

41 Stavový diagram – elementy Přechod mezi stavy popsán jako Událost / Činnost (metoda)

42 Stavový diagram Obecně pro popis přechodu mezi stavy objektu V této metodice k popisu životních cyklů tříd Přechod mezi stavy je vyvolán událostí, která spustí nějakou činnost (metodu třídy) Každá třída má počáteční stav a jeden nebo více koncových

43 Příklad

44 Activity partition – příklad

45 Activity partition -- příklad

46 Diagramy interakce Sequence diagram Communication diagram Interaction overview diagram Timing diagram Ukazují interakce a komunikaci mezi objekty Všechny tyto diagramy sdílejí metadřídy (stejně jako je tomu u diagramů popisujících strukturu)

47 Sekvenční diagram Rámeček interakce Název interakce Execution occurance Životní dráha objektu Nalezená zpráva (odesílatel neznámý, vyšetřování pokračuje) Ztracená zpráva (odeslána, ale není jasné, kdo ji přijme) Synchronní zpráva Asynchronní zpráva Překrývající se execution occurance Návratová hodnota

48 Combined Fragment Alt – Alternatives – výběr z několika možností postupů Opt – Option – operace buď provedena nebo ne Par -- Parallel – paralelní zpracování Seq, strict – sekvenčí zpracování Neg – negative – tato cesta není možná Critical -- Critical section – nemůžou běžet dvě instance najednou Loop – cyklus Break Assert -- assertion Oddělovač variant

49 Combined fragment – příklad

50 Interaction Use Představuje instanci interakce Vykonání konkrétní interakce s naplněnými atributy „Sbalený tvar“ interakce

51 Příklad

52 Communication diagram Pro jednodušší případy s centrální komunikací Nelze používat strukturovací nástroje jako combined fragment nebo interaction use Výhodou je koncentrovanost Nevýhodou je jistá statičnost popisu Koncepty jsou sdílené s diagramem interakcí

53 Grafické prvky Interakce – stejná jako v diagramu interakcí Lifeline – nemá čáru, ale jde o stejný koncept Zpráva – včetně pořadového čísla a názvu

54 Interaction overview Spojuje jednotlivé interakce pomocí prvků aktivity diagramů Dokáže logicky zpřehlednit složité interakce Velmi rychle nabývá na objemu Užívají se prvky aktivity diagramu, interakce a užití interakce

55 Interaction overview

56 Některé CASE nástroje interakce ukazují ve sbalené podobě, kterou je možno rozkliknout

57 Timing diagram

58


Stáhnout ppt "UML Jan Smolík. UML Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux Zdroj:"

Podobné prezentace


Reklamy Google