Unifikovaný modelovací jazyk UML Karel Richta katedra počítačů FEL ČVUT Praha
[email protected]
Motto: •
Komunikačním prostředkem informační komunity se postupem času stala angličtina. Chcete-li vystavit nějakou informaci tak, aby byla srozumitelná i mimo hranice ČR, použijete angličtinu. Podobně v komunitě softwarových inženýrů použijete tzv. unifikovaný modelovací jazyk UML (Unified Modeling Language) – kandidát na jakési "esperanto" moderního softwarového inženýrství.
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
2
Co to je UML? UML (Unified Modeling Language) je: „Standard OMG (Object Management Group) pro záznam, vizualizaci a dokumentaci artefaktů systémů s převážně softwarovou charakteristikou“.
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
3
Definice UML zahrnuje • • • •
Notaci UML (syntax) Metamodel UML (sémantika) OCL (Object Constraint Language, jazyk pro formální vyjádření různých omezení) Specifikace převodu do výměnných formátů (CORBA IDL, XML DTD, XMI)
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
4
Notace: 8 typů diagramů UML • • • • • • • •
diagramy tříd (class diagrams, object diagrams) model jednání (diagramy případů užití - use case) scénáře činností (diagramy posloupností sequence diagrams) diagramy spolupráce (collaboration diagrams) stavové diagramy (statechart diagrams) diagramy aktivit (activity diagrams) diagramy komponent (component diagrams) diagramy nasazení (deployment diagrams)
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
5
Lexikální elementy UML • • • •
řetězec (posloupnost znaků, znaková sada není omezena) ikona (grafický symbol zastupující element, neobsahující žádné složky) 2D-symbol (grafický symbol zastupující element, který má obsah, případně rozdělený na oblasti) spojka (path - posloupnost úseček, které navazují, mohou mít zvýraněny koncové body a mohou incidovat s hranicí 2D-symbolů - slouží k vyznačení propojení)
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
6
Diagramy tříd a objektů •
•
Objekt je pojem, abstrakce, nebo věc s dobře definovanými hranicemi a významem. Každý objekt má tři charakteristiky: identitu, stav a chování. Diagramy tříd a objektů popisují statickou strukturu systému, znázorňují datový model systému od konceptuální úrovně až po implementaci.
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
7
Notace objektů libovolný objekt třídy Student
unikátní objekt třídy Student
unikátní objekt vztah „býti instancí“ Richta: Unifikovaný modelovací jazyk UML
třída SI 2003, Praha
8
Vztahy mezi objekty instance vztahu je vždy 1..1
instance vztahu
vztah Richta: Unifikovaný modelovací jazyk UML
vztah má kardinalitu SI 2003, Praha
9
Potřeboval bych vysvětlit kolegovi, jaká data si musí aplikace „ECO-sklad“ udržovat, aby mohla realizovat požadované služby.
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
10
Použijeme diagram tříd UML stereotyp
generalizace agregace Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
11
Model jednání (Use Case Model) Prvky: • aktér (actor) - uživatelská role nebo spolupracující systém • hranice systému (systém boundary) - vymezení hranice systému • případ použití (use case) - dokumentace události, na kterou musí systém reagovat • komunikace - vazba mezi aktérem a případem použití (aktér komunikuje se systémem na daném případu) Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
12
Notace modelu jednání komunikace
hranice systému
aktér
případ použití Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
13
Potřeboval bych vysvětlit kolegovi, jaké služby poskytuje aplikace ECOsklad jednotlivým uživatelům.
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
14
Použijeme modelu jednání UML
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
15
Potřeboval bych vysvětlit kolegovi, že nový systém bude zahrnovat současné služby a navíc bude ve spolupráci s externím systémem poskytovat služby nové.
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
16
Kombinace různých prvků
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
17
Scénáře činností • • • •
Dokumentují spolupráci participantů na scénáři činnosti Kladou důraz na časový aspekt Dokumentují objekty a zprávy, které si posílají při řešení scénáře Jsou vhodné pro popis scénáře při komunikaci s uživateli
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
18
Potřeboval bych vysvětlit kolegovi, jak bude operátor spolupracovat s aplikací ECO-sklad při řešení přejímky barelů do skladu.
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
19
Příklad scénáře činnosti objekt
zpráva čas odpověď
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
20
Diagramy spolupráce (kolaborace) • • • •
Podobně jako scénáře činností dokumentují spolupráci objektů při řešení úlohy Kladou důraz na komunikační aspekt (čas je vyjádřen číslováním) Dokumentují objekty a zprávy, které si posílají při řešení problému Jsou vhodné pro popis spolupráce objektů při návrhu komunikace
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
21
Potřeboval bych vysvětlit kolegovi, jak budou spolupracovat jednotlivé objekty na řešení problému přejímky barelů do skladu.
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
22
Příklad diagramu spolupráce
časování Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
23
Stavové diagramy • •
•
Slouží k popisu dynamiky systému Stavový diagram definuje možné stavy, možné přechody mezi stavy, události, které přechody iniciují, podmínky přechodů a akce, které s přechody souvisí Stavový diagram lze použít pro popis dynamiky objektu (pokud má rozpoznatelné stavy), pro popis metody (pokud známe algoritmus), či pro popis protokolu (včetně protokolu o styku uživatele se systémem)
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
24
Potřeboval bych vysvětlit kolegovi, jaké je chování bankomatu před tím, než může zadat požadovanou operaci.
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
25
Notace stavových diagramů počáteční stav stav
událost, která vyvolala přechod
akce
přechod koncový stav Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
26
Diagramy aktivit •
• • •
Varianta stavových diagramů, kde kromě stavů můžeme používat aktivity - přechody jsou vyvolány dokončením akce (jsou synchronní) Používají se pro dokumentaci tříd, metod, nebo případů použití (jako „workflow“) Nahrazují do určité míry v UML neexistující diagramy datových toků Proti stavovým diagramům mohou obsahovat symbol „rozhodnutí“
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
27
Potřeboval bych vysvětlit kolegovi, jaké aktivity je potřeba vyvinout při vaření kávy.
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
28
Příklad diagramu aktivity rozhodnutí aktivita
synchronizace Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
29
Diagramy komponent • • • •
Vyjadřují (fyzickou) strukturu komponent systému Popisují typy komponent - instance komponent jsou vyjádřeny v diagramu nasazení Komponenty mohou být vnořeny do jiných komponent Při vyjadřování vztahu mezi komponentami lze používat „interface“
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
30
Potřeboval bych vysvětlit kolegovi, jaké komponenty obsahuje klient aplikace ECO a s kým komunikuje.
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
31
Příklad diagramu komponent
vztah
interface
komponenta Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
32
Diagramy nasazení • • •
Popisují fyzické rozmístění elementů systému na uzly výpočetního systému Popisují nutné vazby mezi uzly (případně též použitý protokol - „interface“) Obsahují pouze komponenty potřebné pro běh aplikace - komponenty potřebné pro překlad a sestavení jsou v diagramu komponent
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
33
Potřeboval bych vysvětlit kolegovi, že aplikace bude fungovat jako klient – server, kde na klientech budou umístěny sestavené instance komponenty ECO (ECOklient.exe). Data budou umístěna na serveru XX v relační databázi, jejíž obsah bude modelovat aktuální stav skladu. Klient bude komunikovat se serverem pomocí SQL.
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
34
Příklad diagramu nasazení uzel
instance komponenty Richta: Unifikovaný modelovací jazyk UML
komunikace
interface SI 2003, Praha
35
Shrnutí • • •
Notace UML pomáhá sjednocení dokumentace systémů. Notace UML pomáhá porozumění. UML se ještě bude vyvíjet.
Richta: Unifikovaný modelovací jazyk UML
SI 2003, Praha
36
The End