UML. Unified Modeling Language. Součásti UML



Podobné dokumenty
UML - Unified Modeling Language

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

7 Jazyk UML (Unified Modeling Language)

7 Jazyk UML (Unified Modeling Language)

Unifikovaný modelovací jazyk UML

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

UML: Unified Modeling Language

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

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í.

Principy UML. Clear View Training 2005 v2.2 1

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

7.3 Diagramy tříd - základy

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

Modelování podnikových procesů

Unifikovaný modelovací jazyk UML 1

7.5 Diagram tříd pokročilé techniky

7.5 Diagram tříd pokročilé techniky

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

7.3 Diagramy tříd - základy

EXTRAKT z mezinárodní normy

Metody popisu systému, základy UML

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

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

7.4 Diagramy interakce (základy)

7.6 Další diagramy UML

7.4 Diagramy interakce (základy)

7.6 Další diagramy UML

Diagramy tříd - základy

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

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

Tvorba informačních systémů

Třída. Atributy. Operace

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

3 druhy UML diagramů

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

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

Novinky ve standardu UML 2.0

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

Novinky ve Visual Studio Tomáš Kroupa

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

Unifikovaný modelovací jazyk UML 1

2 UML-BASED WEB ENGINEERING (UWE)

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

Specifikace požadavků, UC. Jaroslav Žáček

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

Specifikace požadavků, UC. Jaroslav Žáček

7.2 Model použití (jednání) (Use Case)

Business Process Modeling Notation

Tvorba informačních systémů

PV207. Business Process Management

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

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

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Úvod do principů objektově orientovaného programování

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

1. Dědičnost a polymorfismus

Diagram nebo text? Miroslav Benešovský, BenSoft s.r.o

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

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

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

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

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

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

PV167 Projekt z obj. návrhu IS. 26. března 2008

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

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

BORM-II a BPMN v provozně ekonomických procesech BORM-II and BPMN in operation economic processes

Novinky v UML 2.5 a agilní modelování

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

Modelování informačních systémů Standard architektury MPSV

Modelování podnikových procesů a návrh informačního systému ve firmě UNIKOL s.r.o.

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

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

Komputerizace problémových domén

PŘÍNOSY MODELOVACÍCH TECHNIK PRO ANALÝZU A NÁVRH KNIHOVNÍCH APLIKACÍ

Diagram sekvencí (sequence diagram)

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

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

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Mendelova zemědělská a lesnická univerzita v Brně Provozně ekonomická fakulta. Začínáme s BPM. Učební pomůcka. Vypracoval: Ing.

Analýza. Pracovní postup Analýza

OCL a integritní omezení

FORMÁLNÍ LOGIKA PODNIKOVÝCH PRAVIDEL

Návrh softwaru. RNDr. Michal Žemlička, Ph.D. Zimní semestr 2013/2014

Jazyk OCL a modelem řízený vývoj 1

Kurz Postupy návrhu IS pomocí UML a OOP (5 dnů, in-house)

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

Student s Life. Návrhová dokumentace (Design) Lukáš Barák, Jakub Ječmínek, Jaroslav Brchel, Jiří Zmeškal

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

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

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

Obsah Charakteristiky software Programování ve velkém... 3

Konceptuální datové modely používané při analýze

WebML Objektově orientovaná metodika pro tvorbu webových sídel

PŘÍLOHA C Požadavky na Dokumentaci

Objektově orientované technologie. Daniela Szturcová

UML, alea iacta est!

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Transkript:

UML Unified Modeling Language 1995 počátek 1997 verze 1.0 leden dnes verze 2.0 (vývoj stále nedokončen) Standardní notace OMG podpora velkých firem (Microsoft, IBM, Oracle, HP ) popisuje struktury popisuje chování Součásti UML Celá metodologie je definována několika dobře napsanými dokumenty. 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 Metamodel UML Metamodel je diagram, obvykle class diagram, který definuje notaci (tedy UML) Příklad části metamodelu jazyka UML ukazující vztah mezi asociacemi a generalizací

Prvky modelů Prvky struktury třídy, rozhraní, spolupráce, use case, aktivní třída, komponenta, uzel Prvky chování interakce, stavový diagram Prvky skládání package, subsystém Další prvky Vztahy Závislost Asociace Dědičnost Realizace Pravidla UML UML poskytuje pravidla pro pojmenování rozsah platnosti rozsah viditelnosti integritní omezení provedení modelu Specifikace za grafickou notací jsou ukryty další informace sémantika modelu je založena na definovaném metamodelu Diagramy Diagram je pohled na model prezentován z pozice určitého uživatele poskytuje určitou reprezentaci systému sémanticky konzistentní s dalšími pohledy V rámci UML je definováno devět standardních diagramů statický pohled: use case, třídy, objekty, komponenty, rozmístění dynamické pohledy: sekvence, spolupráce, stavy, aktivity

Use case (model jednání / případ užití / kontextový diagram...) Class diagram (diagramy tříd)

Collaboration diagrams (diagramy spolupráce)

Statechart diagrams (stavové diagramy)

Activity diagram (diagramy aktivit)

Component and Deployment diagrams (diagramy komponent a diagramy nasazení) OCL - Object Constraint Language Specification Většina modelovacích technik nedokáže všechny závislosti mezi jednotlivými konstrukty vyjádřit pouhým grafickým znázorněním a musí si pomáhat popisem. Slovní popis však není vždy jednoznačný, proto byl pro použití v UML vyvinut speciální formální jazyk OCL (Object Constraint Language), jednoduchý pro zápis i čtení. Zdrojem toho jazyka byl obchodní modelovací jazyk interně používaný ve firmě IBM. OCL není programovací jazyk, je to jazyk určený pro modelovací techniky. Jedná se však o typový jazyk. K jakému účelu je ho možné v UML použít? Například pro specifikování podmínek vykonání operací či metod, pro specifikování invariantů tříd, jako navigační jazyk, pro definování constraint, pokud například poznámka v UML nestačí. OCL umí pracovat s množinami objektů, například s collection, set, bag, sequence. Jako ukázku vyjadřovacích schopností jazyka OCL si uvedeme výraz, který má vyjádřit podmínku, že všechny instance osoby mají rozdílné jméno. Person.allInstances?forAll(p1, p2 p1 <> p2 implies p1.name <> p2.name) Person.allInstances je set (množina) všech osob a je typu Set(Person). Nad touto množinou je aplikována operace forall, která vykoná definovanou činnost pro všechny prvky množiny. Parametrem činnosti jsou dva prvky množiny, pro které platí, že pokud jsou rozdílné, mají rozdílná jména. Je vidět, že definování podmínky je deklarativní a nikoliv algoritmické.

Dalším příkladem je podmínka, která vybere všechny zaměstnance jejichž věk, je větší než v 50 let. self.emloyee.select(p : Person p.age > 50) Tento výraz čteme následovně. Na množinu zaměstnanců aktivní třídy je uplatněna operace výběru (select), která vybíra prvky splňující podmínku, že věk zaměstnance je větší než hodnota 50. Dalším příkladem je výraz jehož výsledkem je množina všech rozdílných dat narození všech osob. self.emloyee?collect(birthdate)?asset Na množinu zaměstnanců je uplatněna operace collect, která vytvoří množinu všech dat narození, nad touto množinou je dále uplatněna operace asset, která z této množiny vytvoří množinu všech rozdílných dat narození všech zaměstanců. Doufám, že výše uvedené ukázky naznačí možnosti jazyka OCL, více než pokus o neucelený popis jeho syntaxe a sémantiky. Osobně s tím jazykem namám vůbec žádné zkušenosti, takže za příklady neručím.