UML - opakování ING. MARTIN MOLHANEC, CSC. Y13ANW
Osnova přednášky Co je to UML Evoluce UML Diagram komponent Diagram odbavení Diagram tříd Aktivity diagram Stavový diagram Sekvenční diagram Diagram spolupráce Vyhodnocení Odkazy
Co je to UML
Co je to UML UML Unified Modeling Language Univerzální jazyk pro modelování Vznik 1994 léta Autoři: Rumbaugh, Booch a Jacobson Autoři
nejvýznamnějších OO metodik 90let
Koncentruje nejlepší praktiky předchozích metodik Je určen pro rozsáhlé průmyslové projekty UML není metodika! UML není jen pro programování! Je to hlavně jazyk pro popis systémů.
Co je to UML UML Unified Modeling Language Univerzální jazyk pro modelování Vznik 1994 léta Autoři: Rumbaugh, Booch a Jacobson Autoři
nejvýznamnějších OO metodik 90let
Koncentruje nejlepší praktiky předchozích metodik Je určen pro rozsáhlé průmyslové projekty Autoři působí ve firmě Rational Software, dnes IBM. Řízení standardu převzala organizace OMG. UML má své nedostatky a kritiky, přesto je standardem.
UML a metodiky Vznikají různé metodiky, které jako jazyk pro popis
systémů používají UML.
Unified Process Jacobson, Rumbough a Booch Základem OOSE Jacobsona
RUP – Rational Unified Process Vychází z UP a dále ho doplňuje Jedná se chráněný název firmy IBM po akvizici firmy Rational Software Tato metodika, jako klasická neagilní metodika je podrobena celé řadě kritik
UML – úvod 7
Motivace: modelovací jazyk pro průmyslové projekty Cíl: Poskytnout uživatelovi jednoduchý visuální modelovací nástroj tak, aby uživatel mohl snadno vytvářet a vyměňovat si smysluplné modely. Poskytnout mechanizmus pro rozšiřování a specializaci modelu. Být nezávislí na programovacím jazyku a vývojovém procesu. Poskytnout formalismus pro pochopení modelovací jazyka. Podpořit rostoucí trh s objektově orientovanými technologiemi. Podpora vývojových koncepcí vyšší úrovně, jako jsou například collaborations, framewors, patterns a components. Integrovat nejlepší dosavadní zkušenosti.
(c) 2004 Molhanec, M.
2.3.2008
Obsah UML 8
UML Summary - dokument obsahující stručný úvod do cílů a zdrojů
metodologie.
UML Semantics - dokument definující sémantiku UML ze tří
pohledů
Abstraktní syntaxe Dobře navržených pravidel Sémantiky
UML Notation Guide - dokument popisující grafickou notaci UML UML Extensions - dokumenty popisující extense základního modelu,
současné době existují dvě následující
UML Extension for Objectory Process for Software Engineering UML Extension for Business Modeling
Object Constraint Language Specifikation - dokument popisující
formální jazyk použitý v UML
(c) 2004 Molhanec, M.
2.3.2008
Zdroje UML (vybrané) 9
Use-case diagramy podobné diagramům z OOSE (Jacobson). Diagramy tříd (Class diagrams) jsou spojením diagramů z OMT
(grafický vzhled), Booche a dalších.
Stavové diagramy jsou čerpány od Davida Harela s menšími
modifikacemi
Activity diagrams jsou čerpány od fy Oracle a Jima Odella. Sekvenční diagramy jsou inspirovány celou řadou před-OO
metodologií.
Implementační diagramy jsou od Booche. OCL (Object Constraint Language) je postaven na Syntropy a
Catalysis.
(c) 2004 Molhanec, M.
2.3.2008
Historie UML 10
1994 – Grady Booch a Jim Rumbaugh pracující ve firmě Rational
Software počali spojovat své renomované metodiky 1995 – verze 0.8
(c) 2004 Molhanec, M.
2.3.2008
Historie UML 11
1994 – Grady Booch a Jim Rumbaugh pracující ve firmě rational
Software počali spojovat své renomované metodiky 1995 – verze 0.8 1995 se připojuje Ivar Jacobson a začíná připojování jeho renomované metodiky 1996 – verze 0.9
(c) 2004 Molhanec, M.
2.3.2008
Historie UML 12
1994 – Grady Booch a Jim Rumbaugh pracující ve firmě rational
Software počali spojovat své renomované metodiky 1995 – verze 0.8 1995 se připojuje Ivar Jacobson a začíná připojování jeho renomované metodiky 1996 – verze 0.9 1996 – strategické spojení s OMG (Object Management Group) a řadou dalších firem, např. IBM, HP, MS a dalších 1997 – verze 1.0 a 1.1
(c) 2004 Molhanec, M.
2.3.2008
Historie UML 13
1994 – Grady Booch a Jim Rumbaugh pracující ve firmě rational
Software počali spojovat své renomované metodiky 1995 – verze 0.8 1995 se připojuje Ivar Jacobson a začíná připojování jeho renomované metodiky 1996 – verze 0.9 1996 – strategické spojení s OMG (Object Management Group) a řadou dalších firem, např. IBM, HP, MS a dalších 1997 – verze 1.0 a 1.1
1999 – verze 1.3
The UML User Guide, The UML reference Guide 2001 – verze 1.4 2003 – verze 1.5 proces ISO standardizace !
(c) 2004 Molhanec, M.
2.3.2008
Historie UML 14
1994 – Grady Booch a Jim Rumbaugh pracující ve firmě rational
Software počali spojovat své renomované metodiky 1995 – verze 0.8 1995 se připojuje Ivar Jacobson a začíná připojování jeho renomované metodiky 1996 – verze 0.9 1996 – strategické spojení s OMG (Object Management Group) a řadou dalších firem, např. IBM, HP, MS a dalších 1997 – verze 1.0 a 1.1
1999 – verze 1.3
The UML User Guide, The UML reference Guide 2001 – verze 1.4 2003 – verze 1.5 proces ISO standardizace ! 2004-2005 – verze 2.0 – reakce na kritiku, rozšíření, zjemnění,…
(c) 2004 Molhanec, M.
2.3.2008
Rodokmen UML 15
UML 2.0
(c) 2004 Molhanec, M.
2.3.2008
UML 2.0 Nová generace UML Nová struktura dokumentace Definice metamodelu UML
Definice celé řady nových diagramů Definice různých rozšíření pro stávající diagramy
Nebudeme v našem předmětu využívat!
UML - diagramy
Hlavní části UML
Verze 1.x
18
Syntaxe a sémantika, rozšiřitelnost
Model Management Class Diagram Use Case Sequence Collaboration Statechart Activity Component Deployment
Diagramy
OCL - Object Constraint Language Specification (c) 2004 Molhanec, M.
2.3.2008
UML diagramy
Bude podrobněji
Diagram
Význam
Určení
Class Diagram
Vztahy mezi třídami.
Analýza, implementace.
Use Case
Požadavky uživatele.
Požadavky.
Sequence
Časová souslednost.
Návrh
Collaboration
Spolupráce mezi objekty
Implementace
Statechart
Stavy objektů.
Analýza.
Activity
Návaznost procesů.
Analýza, návrh.
Component
Vztahy mezi moduly.
Návrh, implementace.
Deployment
Způsob instalace.
Odbavení.
19
Diagram komponent Účel Diagram komponent vyjadřuje architekturu a strukturu softwarového produktu. Vyjadřuje z jakých částí se produkt skládá a jaké jsou mezi těmito částmi vztahy. Užití V úvodní studii pro první vyjádření plánované struktury systému. Bez
implementačních podrobností
V implementaci pro dokumentaci uskutečněného řešení Včetně
všech podrobností
Diagram komponent
Diagram odbavení Účel Diagram komponent vyjadřuje vztah a umístění realizovaného softwarového produktu k prostředí ve kterém bude pracovat. Vyjadřuje, jak a kde je náš produkt umístěn a v jakém je vztahu k ostatním částem systému ve kterém nebo s nímž bude provozován. Užití V dokumentaci administrátora pro instalaci a konfiguraci systému u jeho provozovatele.
Diagram odbavení
Diagram případů užití Účel Diagram případů užití vyjadřuje jednotlivá užití systému. Užití systému je vědomá činnost uživatele za účelem dosažení nějakého užitečného výsledku. Užití systému může být vícenásobná interakce uživatele se systémem. Diagram případů užití není jenom jinak kreslený dříve používaný kontextový diagram! Jedná se jiné paradigma! Užití V dokumentaci požadavků pro vyjádření business nebo IT funkční specifikace.
Diagram případů užití
Diagram tříd Účel
Diagram tříd vyjadřuje z jakých tříd se systém skládá a jaké jsou mezi třídami vztahy. Dále vyjadřuje jaké má vlastnosti konkrétní třída. Základní typy vztahů Dědičnost Skládání Prostý vztah
Užití
V analýze pro popis se kterými daty aplikace pracuje Nahrazuje dříve používané ER diagramy V implementaci pro popis z kterým programových tříd se náš systém skládá Dokumentace OOP Zde pak pracujeme také s metodami a zprávami
Diagram tříd Účel
Diagram tříd vyjadřuje z jakých tříd se systém skládá a jaké jsou mezi třídami vztahy. Dále vyjadřuje jaké má vlastnosti konkrétní třída. Základní typy vztahů Dědičnost – jakého typu je daný objekt? Skládání Prostý vztah
Užití
V analýze pro popis se kterými daty aplikace pracuje Nahrazuje dříve používané ER diagramy V implementaci pro popis z kterým programových tříd se náš systém skládá Dokumentace OOP Zde pak pracujeme také s metodami a zprávami
Diagram tříd Účel
Diagram tříd vyjadřuje z jakých tříd se systém skládá a jaké jsou mezi třídami vztahy. Dále vyjadřuje jaké má vlastnosti konkrétní třída. Základní typy vztahů Dědičnost Skládání – z jakých částí se daný objekt skládá? Prostý vztah
Užití
V analýze pro popis se kterými daty aplikace pracuje Nahrazuje dříve používané ER diagramy V implementaci pro popis z kterým programových tříd se náš systém skládá Dokumentace OOP Zde pak pracujeme také s metodami a zprávami
Diagram tříd Účel
Diagram tříd vyjadřuje z jakých tříd se systém skládá a jaké jsou mezi třídami vztahy. Dále vyjadřuje jaké má vlastnosti konkrétní třída. Základní typy vztahů Dědičnost Skládání Prostý vztah – je nějaká souvislost mezi dvěma objekty?
Užití
V analýze pro popis se kterými daty aplikace pracuje Nahrazuje dříve používané ER diagramy V implementaci pro popis z kterým programových tříd se náš systém skládá Dokumentace OOP Zde pak pracujeme také s metodami a zprávami
Diagram tříd Účel
Diagram tříd vyjadřuje z jakých tříd se systém skládá a jaké jsou mezi třídami vztahy. Dále vyjadřuje jaké má vlastnosti konkrétní třída. Základní typy vztahů Dědičnost ONTOLOGIE nám říká co je co! Skládání Prostý vztah
Užití
V analýze pro popis se kterými daty aplikace pracuje Nahrazuje dříve používané ER diagramy V implementaci pro popis z kterým programových tříd se náš systém skládá Dokumentace OOP Zde pak pracujeme také s metodami a zprávami
Diagram tříd Účel
Diagram tříd vyjadřuje z jakých tříd se systém skládá a jaké jsou mezi třídami vztahy. Dále vyjadřuje jaké má vlastnosti konkrétní třída. Základní typy vztahů Dědičnost Skládání Prostý vztah
Užití
V analýze pro popis se kterými daty aplikace pracuje Nahrazuje dříve používané ER diagramy V implementaci pro popis z kterým programových tříd se náš systém skládá Dokumentace OOP Zde pak pracujeme také s metodami a zprávami
Diagram tříd Účel
Diagram tříd vyjadřuje z jakých tříd se systém skládá a jaké jsou mezi třídami vztahy. Dále vyjadřuje jaké má vlastnosti konkrétní třída. Základní typy vztahů Dědičnost Skládání Prostý vztah
Užití
V analýze pro popis se kterými daty aplikace pracuje Nahrazuje dříve používané ER diagramy V implementaci pro popis z kterým programových tříd se náš systém skládá Dokumentace OOP Zde pak pracujeme také s metodami a zprávami
Diagram tříd
Diagram aktivity Účel Diagram vyjadřuje posloupnost procesů. Proces je nějaká určitá činnost, která má jeden počátek a jeden konec. Diagram aktivy může dále obsahovat rozhodovací bloky. Diagram aktivit dovoluje znázornit paralelismus procesů, podobně jako například Petri-Nets. Je podobný dříve užívanému tzv. vývojovému diagramu. Užití V oblasti požadavků pro popis business procesů V pro vyjádření činnosti jednotlivých případů užití. V implementaci pro dokumentaci algoritmu.
Diagram aktivity
Stavový diagram Účel Stavový diagram vyjadřuje stav nějakého objektu. Stav objektu lze také vyjádřit stavovými proměnnými. Není vhodné se snažit vyjádřit stav systému jako celku, pokud ho nemůže chápat jako jeden konkrétní objekt. Mezi stavy jsou přechody (aktivity), které jsou aktivovány podmínkami! Užití Nejčastěji v návrhu na podrobnější popis chování objektů.
Stavový diagram
Sekvenční diagram Účel Sekvenční diagram vyjadřuje komunikaci mezi objekty s ohledem na časovou posloupnost. Vhodný na vyjádření protokolů komunikaci, například login, výběr z bankomatu. Užití Nejčastěji v oblasti návrhu.
Sekvenční diagram
Diagram spolupráce Účel Diagram spolupráce vyjadřuje vztahy mezi třídami a objekty z hlediska zasílání zpráv mezi nimi. Užití Nejčastěji pro popis implementace objektově orientované aplikace.
Diagram spolupráce
Závěr
Závěr UML obsahuje velké množství metod (diagramů), které je
možné využít pro popis softwarového systému ve všech fázích softwarového procesu, tj. v oblasti požadavků, analýzy, návrhu, implementace i odbavení.
Důležité je rozumět co mají jednotlivé diagramy
v různých fázích softwarového procesu vyjadřovat.
Přesto si ukážeme, že ani takové velké množství metod
(diagramů) není dostatečné pro tvorbu webových systémů.
Webové metodiky přidávají další metody (diagramy).
Navigační
a prezentační.
Přesto je možné stále UML používat díky jeho vlastní rozšiřitelnosti – profily a stereotypy.
Odkazy
Odkazy UML na Wikipedii http://cs.wikipedia.org/wiki/UML http://en.wikipedia.org/wiki/Unified_Modeling_Language