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



Podobné dokumenty
Návrh IS - UML. Jaroslav Žáček

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

7 Jazyk 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)

UML: Unified Modeling Language

UML. Unified Modeling Language. Součásti UML

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

Principy UML. Clear View Training 2005 v2.2 1

UML - Unified Modeling Language

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

Unifikovaný modelovací jazyk UML

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

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

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

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

6INF2. RNDr. Jaroslav Žáček, Ph.D.

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

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

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz

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

Novinky ve standardu UML 2.0

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

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

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

7.6 Další diagramy UML

Unifikovaný modelovací jazyk UML 1

7.6 Další diagramy UML

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

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

Klasické metodiky softwarového inženýrství 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

Metody popisu systému, základy UML

Architektury Informačních systémů. Jaroslav Žáček

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

Komputerizace problémových domén

Ročníkový projekt. Jaroslav Žáček

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

Analýza a design na reálném projektu. Richard Michalský

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

Unifikovaný proces vývoje

Modelování IS Strukturovaný a objektově orientovaný přístup (UML)

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

Architektury Informačních systémů. Jaroslav Žáček

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

Analýza a design na reálném projektu. Richard Michalský

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

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

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

7.3 Diagramy tříd - základy

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

Analýza a Návrh. Analýza

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

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

PŘÍLOHA C Požadavky na Dokumentaci

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

Novinky v UML 2.5 a agilní modelování

7.5 Diagram tříd pokročilé techniky

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

TECHNIKY A CASE NÁSTROJE VÝVOJE IS

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

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

PV207. Business Process Management

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

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

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

Unifikovaný modelovací jazyk UML 1

Obsah. Zpracoval:

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

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

Metodika analýzy. Příloha č. 1

11 Návrh programového vybavení

Softwarové inženýrství 01. doc. Ing. František Huňka, CSc.

7.5 Diagram tříd pokročilé techniky

Ročníkový projekt. Jaroslav Žáček

Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS

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

Tvorba informačních systémů

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

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

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

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

2. Modelovací prostředky, UML, diagramy UML, jazyk OCL. CASE nástroje. Požadavky a jejich modelování. Trasovatelnost požadavků.

Modelování podnikových procesů

Vývoj informačních systémů. Obecně o IS

Architektura softwarových systémů

2. Začlenění HCI do životního cyklu software

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

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

METODIKA PŘENOSU INFORMACÍ Z PODNIKOVÉ DO SOFTWAROVÉ ARCHITEKTURY

Česká zemědělská univerzita v Praze. Provozně ekonomická fakulta. Katedra informačních technologií

7.3 Diagramy tříd - základy

Modelování IS Strukturovaný a objektově orientovaný přístup (UML) Informační systémy VIKBA18 Mgr. Jan Matula, PhD. II.

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

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

Jiří Mašek BIVŠ V Pra r ha

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

Programovací techniky

Analýza a modelování dat. Helena Palovská

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

Transkript:

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

Různé pohledy na modelování

Různé pohledy na modelování

Unified Modeling Language UML není metodikou ani programovacím jazykem, je to pouze vizuální modelovací nastroj pro objektově orientované systémy. S žádnou konkrétní metodikou také není svázán. Lze jej použít se všemi existujícími. Nejlépe adaptováno pro použití s UP/RUP. UML nabízí vizuální syntaxi pro modelování během celého vývojového cyklu (analýza až nasazení) UML slouží pro modelování čehokoliv, podporuje různé aplikační domény (od real-time systémů až po expertní systémy). UML je nezávislý na programovacím jazyku. Nejlepší použití je samozřejmě s OO jazyky jako je Smalltalk, Java nebo C#. Vhodný ale i pro hybridní jazyky (C++ nebo Visual Basic).

Historie V roce 1994 vyvstal problém - máme několik OO metod a k většině existuje vizuální reprezentace Metody Booch a OMT pro vizuální modelování, metodika Objectory (Jacobson) První pokus o sjednocení - metodika Fusion (1994) - nebyly do ní zapojeny nejrozšířenější metodiky na trhu->neujala se. Booch a Rumbaugh se spojili v Rational Corp. a začali tvořit jazyk UML. Ten se stal otevřeným standardem. 1996 - OMG navrhlo UML jako standard objektově orientovaného jazyka pro vizuální modelování. 1997 - standard OMG přijat. UML je souhrn toho nejlepšího, co tehdy bylo dostupné, integruje vše do jednoho standardu.

Architektura 4+1 Statický Dynamický Funkční -> Use Case

Standard UML UML 2.0 Superstructure - popisuje UML pro uživatele (diagramy) UML 2.0 Infrastructure - metamodel definující modely UML (popsán pomocí MOF) UML 2.0 Object Constraint Language - jazyk specifikující vstupní a výstupní podmínky UML 2.0 Diagram Interchange - XML struktura pro výměnu modelů mezi CASE nástroji

Dostupné modely UML 1.x: Use Case diagram Class diagram Object diagram Sequence diagram Statechart Activity diagram Component diagram Deployment diagram UML 2.0: Class diagram Component diagram Composite structure diagram Deployment diagram Object diagram Package diagram Activity diagram State Machine diagram Use case diagram Communication diagram Interaction overview diagram Sequence diagram Timing Diagram

Modely při vývoji SW Use Case Class diagram Sequence diagram

Struktura UML

Use Case Hranice systému Aktoři Use Cases (identifikované společně a aktory) Relace, vazby Nejčastější chyby?

Use Case - vazby

Class diagram Statický pohled: Objekty, třídy, atributy, datové typy, omezení,... Jejich relace (uses, gen/spec, agregace)

Class diagram

Sequence diagram Dynamický pohled: Popisuje chování jak v analýze, tak v návrhu.

Sequence diagram - Analýza

Statechart diagram Změny stavu systému (stavy tříd) v průběhu existence/ běhu systému

Activity diagram Popis business procesů Tok řídících procesů přes několik objektů

Component diagram Fyzický pohled na softwarové komponenty a jejich vazby, vztahy, komunikaci

Deployment diagram Jak je systém fyzicky nasazen na hardware, prostředí

DD - univerzitní IS

UML v procesu vývoje

Vývoj řízený UC (UC Driven) Vision Use-Case Model + Popis + Doplňující spec. Realizace UC = Spolupracující entity Analytické třídy Vše v jedné iteraci Návrhový model

Use Case model

Dvě úrovně plánování Project plan Iterační Plán (současný) Fáze a hlavní milníky Co a kdy Road-map (nezapomínat na milníky) Iterační Plán (příští) Jemný, detailní plán

Cíle iterace System analyst Software architect Priorita (dopad, úroveň rizik) + omezení (business, zdroje) Stakeholders Project manager Outlined Use-Cases + Supplementary <<Use-Case pointing>> Project planning meeting Odhadovaná pracnost Project Plan Scénáře + snížení rizik (cíle) pro každou iteraci

UC realizace

UC realizace - detail UC realizace popisuje, jak je daný UC realizován modelem spolupracujících objektů.

UC realizace - detail

Návrh Vývoj v čase Analytické elementy se většinou vyvinou v několik návrhových elementů (třída či subsystém)

Návrh - sekvenční diagram Design contract mezi komponentami

Vývoj řízený UC Vision Use-Case Model + Popis + Doplňující spec. Realizace UC = Spolupracující entity Trasovatelnost (Tracebility) mezi modely a komponentami Analytické třídy Návrhový model

Testy jsou také UC driven Vision Use-Case Model + Popis + Doplňující spec. Test Cases CO jsou cíle/ omezení/ Scénáře? Test Scripts

Test Cases Use Case Scénář Data a podmínky Hodiny Uživatel Výstup Reportuj čas BF 5 user OK Reportuj čas AF#1 4 user Chybové hlášení............... Use Case Driven: znovupoužití (reuse) popisů scénářů (jednotlivých kroků), počátečních a ukončujících podmínek, atd.

Construction Implementace zbylých Use Case + refaktoring + návrhové vzory

Construction Iterace 1 Iterace 2 Rezervace Management

UML a podpora nasazení SW komponenta Diagram komponent

UML a podpora nasazení HW uzel Komunikační kanál Diagram nasazení

Shrnutí potřebnosti UML pro vývoj V zásadě platí, že pokud chceme omezit modelování na minimum, měly by nás zajímat alespoň následující modely: Use case model (+ scénáře) na specifikaci požadavků a pochopení potřeb bychom moc šetřit neměli, jelikož se jedná o nejzásadnější část procesu tvorby software, vše ostatní vychází ze správného pochopení potřeb. Diagram tříd reprezentuje statickou strukturu, statický pohled na systém/komponentu. Sekvenční diagram reprezentuje chování systému či komponenty a tudíž zachycuje dynamickou stránku systému.

Spustitelné modely? Executable UML (exuml, xuml) Je přímo zaměřen na tvorbu spustitelných modelů. Nepředepisuje žádnou konkrétní syntax. Pro každý vytvořený model je potřeba definovat akce umožňující spuštění modelu. Zatím neexistuje žádná smysluplná praktická implementace obecného spustitelného modelu.

Kritika UML Příliš obsáhlý jazyk - široký a složitý, redundantní, nepoužívané konstruktory (hlavně v UML 2.0). Snaha uspokojit všechny potřeby (golden hammer) - obecný modelovací jazyk pro implementační i doménovou oblast. Snaha UML 2.0 Action semantics být tzv. Turing complete pro automatické generování (hlavně MDA architektura). Některé modely nejsou z jejich povahy syntakticky kompletní.