Unifikovaný modelovací jazyk UML Karel Richta katedra počíta tačů FEL ČVUT Praha richta@fel fel.cvut.czcz
Motto: Komunikačním m prostředkem informační komunity se postupem času stala angličtina. Chcete-li vystavit nějakou n informaci tak, aby byla srozumitelná i mimo hranice ČR, použijete angličtinu. Podobně v komunitě softwarových inženýr enýrů použijete tzv. unifikovaný modelovací jazyk UML (Unified( Modeling Language) kandidát t na jakési "esperanto" moderního softwarového inženýrstv 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, 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 lní vyjádřen ení různých omezení) Specifikace převodu p 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 t d (class( diagrams, object diagrams) model jednání (diagramy případp 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 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ám obsah, případnp padně rozdělený na oblasti) spojka (path( - posloupnost úseček, ek, které navazují,, mohou mít m zvýraněny ny koncové body a mohou incidovat s hranicí 2D-symbol symbolů - slouží k vyznačen ení propojení) Richta: Unifikovaný modelovací jazyk UML SI 2003, Praha 6
Diagramy tříd t d a objektů Objekt je pojem, abstrakce, nebo věc v c s dobře definovanými hranicemi a významem. Každý objekt mám tři i charakteristiky: identitu, stav a chování. Diagramy tříd t d a objektů popisují statickou strukturu systému, znázor zorňují datový model systému od konceptuáln lní úrovně až po implementaci. Richta: Unifikovaný modelovací jazyk UML SI 2003, Praha 7
Notace objektů libovolný objekt třídy Student unikátní objekt unikátní objekt třídy Student vztah býti instancí třída Richta: Unifikovaný modelovací jazyk UML SI 2003, Praha 8
Vztahy mezi objekty instance vztahu je vždy 1..1 instance vztahu vztah vztah má kardinalitu Richta: Unifikovaný modelovací jazyk UML 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 t d UML stereotyp generalizace agregace Richta: Unifikovaný modelovací jazyk UML SI 2003, Praha 11
Model jednání (Use Case Model) Prvky: aktér r (actor( actor) - uživatelská role nebo spolupracující systém hranice systému (systém boundary) - vymezení hranice systému případ pad použit ití (use case) - dokumentace události, na kterou musí systém m reagovat komunikace - vazba mezi aktérem a případem p padem použit ití (aktér r komunikuje se systémem na daném případu) 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 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 d na časový aspekt Dokumentují objekty a zprávy, které si posílaj lají při řešení scénáře Jsou vhodné pro popis scénáře e při 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 d na komunikační aspekt (čas( je vyjádřen číslováním) Dokumentují objekty a zprávy, které si posílaj 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 echody mezi stavy, události, které přechody iniciují,, podmínky přechodp echodů a akce, které s přechody souvisí Stavový diagram lze použít t pro popis dynamiky objektu (pokud mám rozpoznatelné stavy), pro popis metody (pokud známe algoritmus), či i pro popis protokolu (včetn 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 událost, která vyvolala přechod stav 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 echody jsou vyvolány dokončen ením m akce (jsou synchronní) Používaj vají se pro dokumentaci tříd, t metod, nebo případů použit ití (jako workflow ) Nahrazují do určit ité míry v UML neexistující diagramy datových toků Proti stavovým diagramům 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 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 i vyjadřov 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 stění elementů systému na uzly výpočetn etního systému Popisují nutné vazby mezi uzly (případn padně též použitý protokol - interface ) Obsahují pouze komponenty potřebn ebné pro běh b aplikace - komponenty potřebn ebné pro překlad p 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 komunikace instance komponenty interface Richta: Unifikovaný modelovací jazyk UML 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