Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
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
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.