UML Jan Zachrla.

Slides:



Advertisements
Podobné prezentace
Stručný úvod do UML.
Advertisements

Úvod do databázových systémů
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Databázové systémy Přednáška č. 3 Proces návrhu databáze.
ÚVOD DO CPP 7 Dědičnost - pokračování
Softwarový systém DYNAST
Historie UML Bc. Lukáš Ščurek. Historie UML 70. léta Vznik prvních objektově orientovaných jazyků První objektově orientové metody anylýzy a návrhu Polovina.
Klávesnice pc Mgr. Jan Fojtík Hardware F_21.
Zjednodušeně pomocí UML
C# pro začátečníky Mgr. Jaromír Osčádal
A4M33NMS Návrh a modelování softwarových systémů
Objektová analýza a návrh
Programování PA - 2.
Metody zpracování vybraných témat (projektů)
the Unified Modeling Language
Podniková Informatika Přednáška 2
XII/2007 Gepro, spol. s r.o. Ing. Stanislav Tomeš Struktura výkresu - titulní strana Struktura výkresu WKOKEŠ.
Komunikační diagram (UML)
Jiří Mašek BIVŠ Praha Obecný popis SCA Podporuje modelování aplikací a komponent v rámci celého životního cyklu. Modelování podnikových procesů.
1IT S ÍŤOVÝ DATOVÝ MODEL Ing. Jiří Šilhán. S ÍŤOVÝ DATOVÝ MODEL Je historicky nejstarším datovým modelem. Jeho základem jsou vzájemně propojené množiny.
Vizuální modelování Vlastnosti “Informace v obrázcích”
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
KONCEPTUÁLNÍ MODELOVÁNÍ
Digitální učební materiál
13AMP 9. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled ADA ADA Java Java.
unified modelling language sjednocený modelovací jazyk
Modelovací jazyk UML. Jazyk UML je víceúčelový modelovací jazyk, který byl vyvinut speciálně pro účely softwarového inženýrství. Obsahuje formalizovaný.
Návrh a tvorba WWW Cvičení 3
Jaroslav Šnajberk, Přemek Brada
Jméno autora: Mgr. Zdeněk Chalupský Datum vytvoření:
IBM Information Technology Services © Copyright IBM Corporation 2006 Zpracování dokumentace a podpora řízení Integrovaného bezpečnostního centra v Ostravě.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Informatika pro ekonomy II přednáška 10
B. Miniberger, BIVŠ Praha 2009
Škola: Střední škola právní – Právní akademie, s.r.o. Typ šablony: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Projekt: CZ.1.07/1.5.00/
Dokumentace objektů a zveřejnění funkcí
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
OSNOVA: a) Úvod do OOPb) Třídy bez metod c) Třídy s metodamid) Konstruktory a destruktory e) Metody constf) Knihovní třídy g) Třídy ve tříděh) Přetížení.
IB111 Programování a algoritmizace
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
WWW – hypertextový informační systém
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ FAKULTA STROJNÍ ÚSTAV PŘÍSTROJOVÉ A ŘÍDICÍ TECHNIKY ODBOR AUTOMATICKÉHO ŘÍZENÍ A INŽENÝRSKÉ INFORMATIKY Aplikace objektově.
Moderní byznys Jan Kovařík. ”Zlepší-li se toky informací ve firmě, pak řešení jednotlivých podnikatelských problémů již přijdou sama.” Bill Gates, Byznys.
Algoritmizace a programování Vývojové diagramy - 03
Databázové modelování
Access Vysvětlení pojmu databáze - 01
Metodika objektového přístupu při tvorbě překladačů. Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
Objektově orientovaný přístup (úvod)
Jan Smolík UML.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B17 Autor Ing. Jiří Kalousek Období vytvoření Duben 2013.
Škola: Střední škola právní – Právní akademie, s.r.o. Typ šablony: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Projekt: CZ.1.07/1.5.00/
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
Sekty Novák.
PHP Programy pro tvorbu WWW stránek - 01
Databázové systémy Datové modely.
BPMN Business process modeling notation
David Osička OSI011 UML – přehled, notace VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a Informatiky Katedra Informatiky.
Klávesnice K čemu slouží klávesnice Jak pracuje klávesnice
Úvod do databází zkrácená verze.
Zahradnická fakulta v Lednici S4U – Seminář o Univerzitním informačním systému 23. – 25. dubna 2008 S 4 U – Seminář o Univerzitním informačním systému.
WWW a HTML Základní pojmy Ivo Peterka.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
IS
WWW a HTML Základní pojmy Ivo Peterka.
Tradiční metodiky vývoje softwaru
Informatika pro ekonomy přednáška 8
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while.
Busines Object Relation Modeling
UML teorie k zápočtovému testu a ke zkoušce IT
Diagramy aktivit Michale Blaha, James Rumbaugh: Object-Oriented Modeling and Design with UML®, Second Edition, Pearson – Prentice Hall, 2005.
Transkript prezentace:

UML Jan Zachrla

Co je to UML? Zkratka „UML“ znamená „Unified Modeling Language“ (Unifikovaný modelovací jazyk) Jde o grafický jazyk sloužící k vizualizaci, specifikaci, konstrukci a dokumentaci programových systémů Unifikovaný = sjednoceny používané výrazové prostředky Jazyk – má syntaxi a sémantiku

Co je to UML? Objektově orientovaný přístup k analýze Neobsahuje metodiku, jak analyzovat, specifikovat či navrhovat programové systémy Nezávislý na programovacím jazyku

Historie UML Vychází z objektově orientovaných metod z konce 80. a začátku 90. let Vývoj začal v roce 1994 ve firmě Rational Software Corporation (dnes součást IBM) James Rumbaugh (Object-modeling technique – OMT), Grady Booch (Booch method) a Ivar Jacobson (Object-oriented software engineering – OOSE)

Historie UML První verze UML – rok 1995 Rok 1997 – přijat standard UML 1.1 standardizační organizací Object Management Group (OMG) V letech 1998 – 2002 se objevily další verze 1.2 – 1.5 UML 2.0 – rok 2005 Aktuální verze – 2.4.1 (srpen 2011)

Použití UML Kreslení konceptů Zaznamenání myšlenek a návrhů Slouží ke komunikaci mezi vývojáři Srozumitelnost, rychlost, snadné změny

Použití UML Kreslení detailních návrhů Zaznamenání kompletního návrhu nebo kompletní realizace Programátor by měl být schopen podle diagramu vytvořit program Existují specializované programy na tvorbu diagramů (např. CASE) Lze generovat i diagram z vlastního kódu (používá se pro potřeby dokumentace)

Použití UML UML jako programovací jazyk Vytvoří se UML diagramy, z nichž se vygeneruje přímo spustitelný kód Nutnost přesného vyjadřování v diagramech

Typy diagramů 13 typů, které lze rozdělit do dvou skupin: Strukturní (statické) diagramy (6) Zdůrazňují statickou strukturu systému za pomoci objektů, atributů, operací a vztahů Behaviorální (dynamické) diagramy (7) Zdůrazňují dynamické chování systému – ukazují spolupráci mezi objekty a změny vnitřních stavů objektů Součástí jsou i diagramy interakce (4 ze 7)

Diagram tříd (class diagram) Strukturní diagram Diagram tříd je základní stavební blok objektově orientovaného modelování (používá se pro obecné konceptuální modelování i pro detailní modelování) Zobrazuje třídy, jejich atributy, operace a vztahy mezi nimi

Diagram tříd – třída Třída je v diagramu reprezentována jako obdélník a může obsahovat následující tři části: Jméno třídy (horní část) – povinné; tučně, zarovnáno na středu, první písmeno velké Atributy třídy (prostřední část) – zarovnáno vlevo, první písmeno malé Operace a metody, které lze s třídou provádět (spodní část) – zarovnáno vlevo, první písmeno malé

Diagram tříd – atribut třídy Jméno (povinné) Viditelnost (atributů a operací): + (public / veřejné – viditelné a přístupné odkudkoliv) - (private, soukromé – jen uvnitř třídy) # (protected, chráněné – uvnitř třídy a v jejích potomcích) ~ (package, balíček - jen z elementů uvnitř balíčku, ve kterém je tato třída, a z vnořených balíčků)

Diagram tříd – atribut třídy Stereotyp – nepovinný; definuje určité vlastnosti třídy; zapisuje se do dvojitých ostrých závorek: <<new_stereotype>> Typ – nepovinný; určuje typ atributu Násobnost – nepovinná; pro určení polí (např. owner[2] : String říká, že atribut owner je složen z pole dvou stringů) nebo jestli hodnota může/nemusí být vyplněna (např. owner[1] znamená, že musí být vyplněna); jestliže je násobnost vynechána, automaticky musí být hodnota vyplněna

Diagram tříd – atribut třídy \ (atribut je odvozený) Implicitní hodnota – hodnota, kterou atribut získá hned po vytvoření instance Property-string – umožňuje specifikovat další vlastnosti atributu (např. {readOnly})

Diagram tříd – operace třídy Jméno (stejné jako u atributu) Stereotyp (stejné jako u atributu) Viditelnost (stejné jako u atributu) Základní hodnota - pokud určitý argument není v rámci volání operace vůbec předán, nastaví si jeho hodnotu na implicitní základní hodnotu volaná operace sama

Diagram tříd – operace třídy Návratový typ - obsahuje seznam jmen klasifikátorů specifikujících, jakých typů budou návratové hodnoty Property-string – umožňuje specifikovat další vlastnosti operace (např. výjimky)

Diagram tříd – příklad třídy

Diagram tříd – vztahy mezi třídami Asociace (Association) Vazba mezi objekty Znázorňuje se jako čára Může být víc druhů – oboustranná, jednostranná (v tomto případě se přidává šipka) Může obsahovat jméno, jména rolí, násobnost, viditelnost atd.

Diagram tříd – příklad asociace

Diagram tříd – vztahy mezi třídami Agregace (Aggregation) Vztah, který vyjadřuje, že jeden element je součástí druhého Značí se jako čára s prázdným kosočtvercem na konci Kompozice (Composition) Silnější forma agregace Značí se jako čára s vyplněným kosočtvercem na konci

Diagram tříd – agregace a kompozice

Diagram tříd – vztahy mezi třídami Generalizace (Generalization) Jedna třída je specializací druhé (např. třída Student je specializací třídy Člověk) Značí se jako čára s trojúhelníkem na konci Realizace (Realization) Zdrojová třída zaručuje splnění toho, co předepisuje cílová třída Značí se jako přerušovaná čára s trojúhelníkem na konci

Diagram tříd – příklad generalizace

Diagram komponent (component diagram) Strukturní diagram Znázorňuje, jak jsou komponenty navzájem propojené a jak formují větší komponenty Používají se na zobrazení struktury libovolně složitých systémů

Diagram komponent – komponenta Definice komponenty: Modulární část systému, která zapouzdřuje svůj obsah a jejíž projev je v rámci prostředí nahraditelný. Chování komponenty je definováno pomocí poskytovaného (provided) interface a požadovaného (required) interface Komponenta může být nahrazena jinou pouze tehdy, jestliže jsou jejich provided interface a required interface identické Znázorněna jako obdélník s klíčovým slovem <<component>> (nepovinně i ikona komponenty)

Diagram komponent – příklad komponenty

Diagram složené struktury (Composite structure diagram) Strukturní diagram Ukazuje vnitřní strukturu třídy a možné spolupráce, které tato třída umožňuje

Diagram složené struktury Diagram obsahuje: Vnitřní části Porty (skrze ně vnitřní části navzájem interagují nebo skrze ně instance třídy interagují s okolním světem) Konektory (spojují části a porty) Složená struktura skupina navzájem spojených elementů, které spolupracují, aby dosáhly určitého cíle Každý element má ve spolupráci definovanou svoji roli

Diagram složené struktury – příklad

Diagram nasazení (Deployment diagram) Strukturní diagram Diagram ukazuje, jak bude vypadat fyzická struktura systému Zobrazuje hardwarové componenty (nodes), softwarové komponenty (artifacts) a vazby mezi nimi (communication paths)

Diagram nasazení Uzly jsou dvojího typu: <<device>> – fyzické zařízení (hardware) <<execution environment>> – prostředí zpracování softwaru (např. webový server)

Diagram nasazení – příklad

Diagram objektů (Object diagram) Strukturní diagram Někdy se také nazývá diagram instancí Zobrazuje strukturu modelovaného systému (celou nebo její část) v určitém časovém okamžiku) Velmi podobný diagramu tříd (téměř stejné značení, objektový je podrobnější) Zatímco diagram tříd zobrazuje třídy, objektový diagram ukazuje instance třídy

Diagram objektů - příklad

Diagram balíčků (Package diagram) Strukturní diagram Umožňuje sdružovat elementy UML do skupin (tzv. balíčků – packages) a znázornit závislosti mezi těmito balíčky Balíčky mohou být součástí jiných balíčků – tímto lze vyjádřit hierarchickou strukturu

Diagram balíčků Dva typy závislostí mezi balíčky: Package import – elementy cílového balíčku budou importovány do zdrojového Package merge – obsah obou balíčků bude zkombinován

Diagram profilů (Profile diagram) Strukturní diagram Zabývá se metamodelováním Používá se na zobrazování stereotypů V UML 1 tento diagram nebyl, objevil se až od verze 2

Diagram aktivit (Activity diagram) Diagram chování Zobrazuje průběh činnosti krok po kroku Lze zakreslit i rozhodování, opakování nebo souběžnost akcí

Diagram aktivit (Activity diagram) Diagram aktivit se skládá z různých tvarů: Zabolený obdélník – akce Kosočtverec – rozhodování Černá „tyč“ – začátek a konec souběžných aktivit Černý kruh – začátek procesu Zakroužkovaný černý kruh – konec procesu

Stavový diagram (State diagram) Diagram chování Zachycuje jednotlivé stavy objektu a přechody mezi nimi

Stavový diagram Diagram obsahuje: Počáteční a koncový stav (podobně jako u diagramu aktivit) Zaoblený obdélník – stav objektu; může být rozdělen na dvě části, přičemž ta druhá zobrazuje, které činnosti se za tohoto stavu dějí Přechody – událost[podmínka]/akce – k vykonání akce dojde jen tehdy, když je splněna podmínka

Diagram užití (Use case diagram) Diagram chování Zobrazuje interakci uživatele se systémem Uživatelů může být v diagramu i více Spíše než o konkrétního uživatele se jedná o roli (zobrazeno jako actor) – jeden účastník může být vyjádřen více actory a více účastníků může být vyjádřeno jedním actorem Kromě rolí diagram dále obsahuje případy užití (use cases), ohraničení systému a relace

Diagram komunikace (Communication diagram) Diagram interakce Dostupný od verze UML 2 – jde o zjednodušenou verzi collaboration diagramu z UML 1 Zobrazuje interakci mezi objekty v podobě sekvenčních zpráv Jednotlivé zprávy jsou očíslované Velmi podobný sekvenčnímu diagramu – diagram komunikace se zaměřuje na to, které elementy spolu interagují

Sekvenční diagram (Sequence diagram) Diagram interakce Ukazuje, jak spolu různé procesy spolupracují v časovém sledu V diagramu vystupují účastníci (většinou objekty), z nichž každý má svou čáru života (lifeline) – na ní je vyznačeno, kdy je účastník aktivní Zprávy – interakce mezi účastníky

Diagram časování (Timing diagram) Diagram interakce Zaměřuje se na časová omezení Používají se na zobrazení chování objektů v určitém časovém období Jde o speciální formu sekvenčního diagramu (např. obrácené osy)

Diagram časování (Timing diagram) Dva typy Stavová forma – základním prvkem je časová osa; diagram dále obsahuje čáry života a stavy objektů (orientováno svisle); změna z jednoho stavu do druhého je vyjádřena vertikálním posunutím čáry života Hodnotová forma – soustředí se na stavy v relativním čase (nemusí obsahovat časovou osu)

Diagram přehledu interakcí (Interaction overview diagram) Diagram interakce Umožňuje přehledně zobrazit řízení toku včetně rozvětvení a souběžnosti Trochu podobný diagramu aktivit (oba zobrazují posloupnost aktivit), v diagramu interakcí je ale každá činnost zobrazena jako rámec, který může obsahovat další vnořené diagramy interakcí

Děkuji za pozornost!

Zdroje Unified Modeling Language [online]. [cit. 2014-10-14]. Dostupné z: http://www.uml.org/ Unified Modeling Language. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-10-14]. Dostupné z: http://en.wikipedia.org/wiki/Unified_Modeling_Language Class diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-10-14]. Dostupné z:http://en.wikipedia.org/wiki/Class_diagram Composite structure diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-10-14]. Dostupné z: http://en.wikipedia.org/wiki/Composite_structure_diagram Package diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-10-14]. Dostupné z:http://en.wikipedia.org/wiki/Package_diagram Activity diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-10-14]. Dostupné z:http://en.wikipedia.org/wiki/Activity_diagram State diagram (UML). In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-10-14]. Dostupné z:http://en.wikipedia.org/wiki/State_diagram_(UML) Use Case Diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-10-14]. Dostupné z:http://en.wikipedia.org/wiki/Use_Case_Diagram

Zdroje Component (UML). In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-10-14]. Dostupné z:http://en.wikipedia.org/wiki/Component_(UML) Sekvenční diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-10-14]. Dostupné z:http://cs.wikipedia.org/wiki/Sekven%C4%8Dn%C3%AD_diagram Diagram nasazení. In: REJNKOVÁ, Petra. Příklady použití diagramů UML 2.0 [online]. 2009. vyd. [cit. 2014-10-14]. Dostupné z:http://uml.czweb.org/diagram_nasazeni.htm Diagram aktivit. In: REJNKOVÁ, Petra. Příklady použití diagramů UML 2.0 [online]. 2009. vyd. [cit. 2014-10-14]. Dostupné z:http://uml.czweb.org/diagram_aktivit.htm Diagram komunikace. In: REJNKOVÁ, Petra. Příklady použití diagramů UML 2.0 [online]. 2009. vyd. [cit. 2014-10-14]. Dostupné z:http://uml.czweb.org/diagram_komunikace.htm Diagram časování. In: REJNKOVÁ, Petra. Příklady použití diagramů UML 2.0 [online]. 2009. vyd. [cit. 2014-10-14]. Dostupné z:http://uml.czweb.org/diagram_casovani.htm UML Interaction Overview Diagrams Examples. In: Uml-diagrams [online]. [cit. 2014-10-14]. Dostupné z: http://www.uml-diagrams.org/interaction-overview-diagrams-examples.html UML basics: The component diagram. In: IBM: developerWorks [online]. [cit. 2014-10-14]. Dostupné z: https://www.ibm.com/developerworks/rational/library/dec04/bell/