UML: Unified Modeling Language



Podobné dokumenty
UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

Diagram sekvencí (sequence diagram)

7 Jazyk UML (Unified Modeling Language)

7 Jazyk UML (Unified Modeling Language)

UML. Unified Modeling Language. Součásti UML

UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Unifikovaný modelovací jazyk UML

Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux.

UML - Unified Modeling Language

Diagram tříd (class diagram)

Návrh IS - UML. Jaroslav Žáček

Návrh IS - UML. Jaroslav Žáček

Jazyk UML VST (Velmi stručný tutorial) verze 1.0

Principy UML. Clear View Training 2005 v2.2 1

Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová

Využití SysML pro tvorbu modelů v systémovém inženýrství

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

3 druhy UML diagramů

Seminární práce. Použití CASE pro řízení IS/ICT firmy

TÉMATICKÝ OKRUH Softwarové inženýrství

Plug-in pro správu požadavků a sledování postupu vývoje

Jazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken

Modelem řízený vývoj. SWI 1 Jan Kryštof

Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

Unifikovaný modelovací jazyk UML 1

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování

Novinky ve standardu UML 2.0

UML úvod. Zdroje: Kanisová Hana, Müller Miroslav: UML srozumitelně, Computer Press 2007

Návrh softwarových systémů - architektura softwarových systémů

Modelování podnikových procesů

Vysoká Škola Ekonomická - Fakulta informatiky a statistiky. 4IT450 CASE Computer aided systems engineering

Základy analýzy. autor. Jan Novotný února 2007

TÉMATICKÝ OKRUH Softwarové inženýrství

8 Přehled OO metodik (metod, metodologií)

Návrh softwarových systémů - architektura softwarových systémů

8 Přehled OO metodik (metod, metodologií)

7.6 Další diagramy UML

Komputerizace problémových domén

7.5 Diagram tříd pokročilé techniky

7.6 Další diagramy UML

Vývoj informačních systémů. Přehled témat a úkolů

Objektově orientované technologie Business proces Diagram aktivit. Daniela Szturcová

7.4 Diagramy interakce (základy)

Modelování řízené případy užití

Znalostní systém nad ontologií ve formátu Topic Maps

Objektově orientované technologie Logická struktura systému Objektový diagram. Pavel Děrgel, Daniela Szturcová

Modelování procesů s využitím MS Visio.

Vývoj informačních systémů. Přehled témat a úkolů

Novinky ve Visual Studio Tomáš Kroupa

TECHNIKY A CASE NÁSTROJE VÝVOJE IS

Diagramy stavů. Michale Blaha, James Rumbaugh: Object-Oriented Modeling and Design with UML, Second Edition, Pearson Prentice Hall, 2005

7.5 Diagram tříd pokročilé techniky

Business Process Modeling Notation

JEDNODUCHÁ A PRAKTICKÁ METODA ODHADU PRACNOSTI PROJEKTU (S UTILITOU KE STAŽENÍ ZDARMA)

VYUŽITÍ MDA PRO INTEGROVANÝ VÝVOJOVÝ NÁSTROJ QI BUILDER

Optimalizace podnikových procesů fakultní nemocnice

2 UML-BASED WEB ENGINEERING (UWE)

EXTRAKT z mezinárodní normy

Modelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda

7.4 Diagramy interakce (základy)

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

CASE. Jaroslav Žáček

CASE nástroje pro jazyk UML

7.3 Diagramy tříd - základy

SPEM 2.0 úvod, účel. Matoušková Soňa ZS 2013/2014 4IT421 Zlepšování procesů budování IS

Využití modelovacích nástrojů ve vývojářské firmě

Metody popisu systému, základy UML

Unifikovaný modelovací jazyk UML 1

2 Axiomatic Definition of Object 2. 3 UML Unified Modelling Language Classes in UML Tools for System Design in UML 5

Základní informace. Modelování. Notace

Tvorba informačních systémů

CASE nástroje. Jaroslav Žáček

Usage of modular scissors in the implementation of FEM

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

Seznámení s prostředím dot.net Framework

Novinky v UML 2.5 a agilní modelování

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53

6 Objektově-orientovaný vývoj programového vybavení

Využití nástrojů CASE pro řízení IS/ICT firmy

PV207. Business Process Management

Common Object Request Broker Architecture

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Pokročilé typové úlohy a scénáře 2006 UOMO 71

Modelování webových služeb v UML

Architektury informačních systémů

Architektury informačních systémů

Tvorba informačních systémů

Analýza a Návrh. Analýza

Analýza podnikových procesů ve firmě Rekstan, spol. s.r.o.

Nové vývojové nástroje i5/os Rational Developer for System i V7.1

Architektura orientovaná na služby Návrh orientovaný na služby. Ing. Petr Weiss. VUT v Brně,, FIT, UIFS

Univerzita Pardubice Fakulta ekonomicko-správní Ústav systémového inženýrství a informatiky

E-learningové materiály pro výuku jazyka UML

Stručný obsah. Část I Úvod do jazyka UML a metodiky Unified Process 25. Část II Požadavky 71. Část III Analýza 135.

Ruční návrh Připravíme si odpovědi na základní otázky Co chceme řešit (projektovat) a proč Komu to bude sloužit Jaký užitek z toho bude mít uživatel I

Mendelova zemědělská a lesnická univerzita v Brně Provozně ekonomická fakulta

ZÁZNAM PROCESU TVORBY INFORMAČNÍHO SYSTÉMU CAPTURING OF AN INFORMATION SYSTEM DEVELOPMENT

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

Transkript:

UML 1

UML: Unified Modeling Language Systém kombinace softwaru, hardwaru, dat a uživatelů, která umožňuje řešení konkrétního problému Vývoj systémů vytváření systémů pro klienta Vývoj probíhá na základě analýzy, které provádí analytik Výsledky analýzy využije vývojář k vývoji softwaru Software je nainstalován na potřebný hardware, je provedena implementace do konkrétních podmínek organizace a proškolení správců a uživatelů Celý proces je poměrně složitý UML výrazná pomoc při vyřešení tohoto procesu 2

Historie UML Duchovní otcové UML: Grady Booch, James Rumbaugh, Ivar Jacobson Na počátku 90. let 20. stol. pracovali v různých institucích snažili se vytvořit metodologii objektově orientované analýzy a návrhu V polovině 90. let se rozhodli pracovat společně ve společnosti Rational Software (nyní součást IBM) Vzniklo konsorcium jazyka UML - 1997: verze 1.0, 1.1, UML (spolu s dalšími standardy) nyní definuje Object Management Group (www.omg.org) Současná verze: 2.1.2 3

Způsoby použití UML Kreslení konceptu snaha zachytit podstatné části systému Kreslení detailních návrhů používají se speciální nástroje (CASE - Computer-aided software engineering) UML jako programovací jazyk z UML diagramů se pomocí CASE nástrojů vygeneruje přímo programový kód vyžaduje přesné vyjadřování v UML diagramech hovoří se o architektuře založené na modelech (Model Driven Architecture - MDA) Metamodel UML diagramy jsou chápány jako modely popisuje se pomocí spec. jazyka Meta-Object Facilitty (MOF) pro výměnu modelů se používá XMI (XML Metadata Interchange) 4

Součásti UML UML SuperStructure popis UML z hlediska uživatele (analytik/programátor). Tato část popisuje jednotlivé diagramy UML Infrastructure metamodel stojící v pozadí za UML, specifikovaný pomocí Meta-Object Facility (MOF) UML Object Constraint Language (OCL) jazyk pro specifikaci vstupních a výstupních podmínek, invariantů v jednotlivých diagramech UML Diagram Interchange popis XML struktur pro výměnu konkrétních modelů mezi jednotlivými modelovacími nástroji 5

Jiný pohled na součásti UML 6

UML profily přizpůsobení pro jednotlivé oblasti UML Profile for CORBA (Common Object Requesting Broker Architecture) UML Profile for CORBA Component Model (CCM) UML Profile for Enterprise Application Integration (EAI) UML Profile for Enterprise Distributed Object Computing (EDOC) UML Profile for QoS and Fault Tolerance UML Profile for Schedulability, Performance, and Time UML Testing Profile Další dialekty UML pro použití ve specifikované oblasti (technické, informační, zabezpečovací, ) 7

UML diagramy Diagram tříd (class diagram) Diagram objektů (object diagram) Diagram případů užití (use case diagram) Diagram stavů (statechart diagram) Diagram sekvencí (sequence diagram) Diagram činnosti (activity diagram) Diagram spolupráce (collaboration diagram) Diagram komponent (component diagram) Diagram nasazení (deployment diagram) 8

Diagram tříd (class diagram) Zobrazuje třídy v daném systému a vztahy mezi nimi Zobrazuje statický stav ukazuje vzájemné interakce, ale neukazuje co se při těchto interakcích děje Při znázornění vztahů (vazeb) je možné zaznamenat i jejich násobnosti Složitější systémy je možné zobrazovat "ve větším měřítku" pomocí tzv. balíčků 9

Diagram tříd (class diagram) třída atribut metoda agregace zobecnění asociace násobnost 10

Diagram objektů (object diagram) Zobrazuje instance místo tříd Vhodné pro složitější systémy Vhodné pro rekurzivní objekty (např. složka má podsložky) 11

Diagram objektů (object diagram) třída asociace instance třídy 12

Diagram případů užití (use case diagram) Vysvětluje, co systém dělá z pohledu vnějšího pozorovatele Důraz je kladen na to, co systém dělá spíše než na to, jak to dělá Diagramy případů užití jsou podobné scénářům Jsou užitečné: pro specifikaci vlastností systému (požadavků na systém) usnadňují komunikaci s klienty při vývoji pomáhají sestavit sady testovacích úloh 13

Diagram případů užití (use case diagram) účastník komunikace případ užití 14

Diagram stavů (statechart diagram) Zobrazuje možné stavy určitého objektu Zobrazuje přechody mezi nimi, včetně možných akcí, které je nutno provést při těchto přechodech Zobrazuje počáteční a koncové stavy 15

Diagram stavů (statechart diagram) stav koncový stav přechod mezi stavy počáteční stav 16

Diagram sekvencí (sequence diagram) Zobrazuje, jak objekty spolupracují Popisuje zprávy mezi objekty jaké zprávy, komu a kdy jsou zasílány Časová osa je v diagramu vnímána shora dolů 17

Diagram sekvencí (sequence diagram) objekt časová osa zpráva 18

Diagram činnosti (activity diagram) Jde o jiný pohled na stavový diagram Stavový diagram se soustřeďuje na objekt, který se mění při nějakém procesu Diagram činnosti se soustřeďuje na tok činnost, které probíhají při nějakém procesu ukazuje, jak tyto činnosti na sobě závisí Může zobrazovat činnosti i ve vztahu k uživatelským rolím 19

Diagram činnosti (activity diagram) počáteční stav role činnost nebo stav rozhodování přechod mezi stavy koncový stav 20

Diagram spolupráce (collaboration diagram) Zachycuje podobné informace jako sekvenční diagram Klade důraz na objekty (třídy) místo na čas, kdy jsou odesílány zprávy Jednotlivé zprávy mezi objekty (třídami) jsou číslovány 21

Diagram spolupráce (collaboration diagram) objekt zpráva 22

Diagram komponent (component diagram) Týká se počítačových systémů Vývoj programů probíhá často po jednotlivých komponentách Komponenty mají rozhraní a spolupracují spolu pomocí těchto rozhraní Na vývoji tak mohou spolupracovat týmy lidí Rozhraní umožňují komunikovat i zcela odlišným aplikacím 23

Diagram komponent (component diagram) objekt komponenta závislost 24

Diagram nasazení (deployment diagram) Umožňuje zachytit fyzickou architekturu (počítačového) systému K zachycení částí systému se využívajíí diagramy komponent Je možné zachytit jednotlivé vztahy, vazby, závislosti i fyzické spojení 25

Diagram nasazení (deployment diagram) uzel spojení vazba komponenta 26

Rozšiřující nástroje v UML Stereotyp meta třída pomocí níž lze rozšířit jiné třídy Tagged value (označené hodnoty) možno dodat k různým prvkům (od verze UML 2 již jen jako atribut u stereotypu) Constraint (omezení) může být spojeno se stereotypem a tím přesněji definovat pravidla dodaná stereotypem Profile může obsahovat sadu výše uvedených nástrojů sdružených do balíčku (se stereotypem <<profile>>) 27

Stereotypy Existující prvek lze použít jako základ pro nový prvek Stereotypy podle prvků, k nimž patří: závislost: <<becomes>>, <<call>>, <<copy>>, <<derived>>, <<private>>, <<friend>>, <<extends>>, <<uses>>, <<include>>, <<import>>, <<instance>>, <<send>>, klasifikátor: <<metaclass>>, <<powertype>>, <<process>>, <<thread>>, <<utility>>, <<stereotype>>, třída: <<type>>, <<implementation>>, zobecnění: <<inherits>>, <<subclass>>, <<private>>, balíček: <<facade>>, <<framework>>, <<stub>>, <<system>>, <<metamodel>>, <<toplevel>>, další: <<requirement>>, <<create>>, <<destroy>>, <<precondition>>, <<postcondition>>, <<invariant>>, grafické stereotypy: např. obrázky zařízení místo uzlů v diagramech nasazení vlastní v rámci spec. profilu: <<tool>>, <<large>>, <<ordered>>, 28

Nástroje pro práci s UML ArgoUML (http://argouml.tigris.org/) open source poslední verze 0.30 Poseidon (http://www.gentleware.com/) komerční založen na ArgoUML Jude (http://jude.change-vision.com/judeweb/index.html) komerční Objecteering (www.objecteering.com) Umbrello UML Modeller (http://uml.sourceforge.net/) Eclipse (http://www.eclipse.org/) - vývojové prostředí open source MS Visual Studio (http://www.microsoft.com/cze/msdn/produkty/vstudio/defaul t.mspx) Enterprise Architect (http://www.sparxsystems.com.au) a další... 29

Literatura 1. Enterprise Architect [online]. Dostupné z: http://www.sparxsystems.com.au/ 2. Miller, R. Practical UML: A Hands-On Introduction for Developers. URL: http://dn.codegear.com/article/31863 3. Page-Jones, M. Základy objektově orientovaného návrhu v UML. 1. vyd. Grada Publishing. Praha: 2001. ISBN 80-247-0210-X. 4. Schmuller, J. Myslíme v jazyku UML: knihovna programátora. 1. vyd. Grada Publishing. Praha: 2001. ISBN 80-247-0029-8. 5. UML Resource Page. URL: http://www.uml.org/ 30