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

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

Jan Smolík UML.

Podobné prezentace


Prezentace na téma: "Jan Smolík UML."— Transkript prezentace:

1 Jan Smolík UML

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) XOR Omezení atributu
Možno volným textem nebo pomocí jazyka OCL Omezení jako poznámka

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

48 Oddělovač variant 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

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 Interaction overview Některé CASE nástroje interakce ukazují ve sbalené podobě, kterou je možno rozkliknout

57 Timing diagram

58 Timing diagram


Stáhnout ppt "Jan Smolík UML."

Podobné prezentace


Reklamy Google