unified modelling language sjednocený modelovací jazyk

Slides:



Advertisements
Podobné prezentace
Stránka 1, © Vema, a. s.. Stránka 2, © Vema, a. s. Podnikové aplikace  Integrovaný podnikový systém (Integrated Business System):  komplex aplikací.
Advertisements

Dynamické systémy.
Stručný úvod do UML.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Dynamické dokumenty na straně klienta Informatika pro ekonomy II.
Tvorba webových stránek
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Ing. Monika Šimková. Máme-li data reprezentovat v databázi, jak vybereme jejich strukturu na konceptuální úrovni? Konceptuální modelování analyzuje požadavky.
M ODELOVÁNÍ SYSTÉMU POMOCÍ USE CASE Jan Kožusznik.
Softwarový systém DYNAST
A4M33NMS Návrh a modelování softwarových systémů
Objektová analýza a návrh
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Š.
Klubový materiál. Zjednodušený multilevelmarketing cesta za finanční nezávislostí je naše Naše.
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ů.
Název a adresa školy: Střední odborné učiliště stavební, Opava, příspěvková organizace, Boženy Němcové 22/2309, Opava Název operačního programu:OP.
Dynamické modelování PVY 2. pololetí 4.cv Bc. Jiří Šilhán.
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.
Informační systémy Modelování dynamiky objektového modelu. Koncepce modelu v programu MS Visio.
Vizuální modelování Vlastnosti “Informace v obrázcích”
3. Životní cyklus a procesy projektu
Výstupy z GIS Pojmy a typy výstupů, aneb pro koho, co a jak Ing. Jiří Fejfar, Ph.D.
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ý.
KEG Použití vzorů při vyhledávání na webu Václav Snášel.
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
Operační systémy.
Tato prezentace byla vytvořena
PC Vstupní periferie.
Informatika pro ekonomy II přednáška 10
Databázové systémy Přednáška č. 6 Proces návrhu databáze.
OBJEKTOVÉ METODOLOGIE – JEJICH UŽITÍ A VÝKLAD Ing. Martin Molhanec, CSc.
B. Miniberger, BIVŠ Praha 2009
Dokumentace objektů a zveřejnění funkcí
Tabulátory, neboli zarážky VY_32_INOVACE_7C3. Definice Zarážka tabulátoru na vodorovném pravítku označuje, kam bude odsazen text nebo kde začne sloupec.
Návrh systému evidence komponent měřícího řetězce stanic SampleFx.
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ FAKULTA STROJNÍ ÚSTAV PŘÍSTROJOVÉ A ŘÍDICÍ TECHNIKY ODBOR AUTOMATICKÉHO ŘÍZENÍ A INŽENÝRSKÉ INFORMATIKY Aplikace objektově.
TVORBA TÉMATICKÝCH MAP
VY_32_INOVACE_E3-07 KRESLÍME VEKTOROVOU GRAFIKOU I. AUTOR: Mgr. Vladimír Bartoš VYTVOŘENO: SRPEN 2011 STRUČNÁ ANOTACE: VÝKLAD LÁTKY K TÉMATU KRESBY VEKTOROVOU.
Databázové modelování
Jan Smolík UML.
Autor:Jiří Gregor Předmět/vzdělávací oblast: Digitální technika Tematická oblast:Digitální technika Téma:Statické paměti RWM – RAM 1. část Ročník:3. Datum.
State Transition Diagram a model řízení 5.Cvičení IS/IT.
Základní škola a mateřská škola Bzenec Číslo projektu: CZ.1.07/1.4.00/ Číslo a název šablony klíčové aktivity: III/2: využívání ICT – inovace Vypracoval/a:
Distribuované algoritmy - přehled Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
OPERAČNÍ SYSTÉMY.
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
UML Jan Zachrla.
Kreslítko Petr Diviš Zdeněk Papež. Úvod - připomenutí Desktopová („stand-alone“) aplikace Jednoduchý grafický editor  Tvorba a editace základních geometrických.
BPMN Business process modeling notation
David Osička OSI011 UML – přehled, notace VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a Informatiky Katedra Informatiky.
Univerzita třetího věku kurz Znalci Databáze 1.
Digitální výukový materiál zpracovaný v rámci projektu „EU peníze školám“ Projekt:CZ.1.07/1.5.00/ „SŠHL Frýdlant.moderní školy“ Škola:Střední škola.
Pro 2. a 4.ročník ZŠ, vytvořeno : duben 2012 Základní škola a mateřská škola Lázně Kynžvart Autor: Mgr. Petra Šandová Název: VY_32_INOVACE_5B_INF3_07_.
Grafické systémy II. Ing. Tomáš Neumann Interní doktorand kat. 340 Vizualizace, tvorba animací.
Bezpečnostní technologie I
PC Vstupní periferie.
IS
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Název projektu: ZŠ Háj ve Slezsku – Modernizujeme školu
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.
Definiční obory. Množiny řešení. Intervaly.
Transkript prezentace:

unified modelling language sjednocený modelovací jazyk http://www.uml.org/ UML unified modelling language sjednocený modelovací jazyk

Co to je UML Základy OOA: UML spadá pod „objektové modelovací techniky“. Základy OOA: Abstrakce Dědičnost Polymorfismus Zapouzdření Posílání zpráv Asociace Agregace Booch, Rumbaugh, Jacobson

Z čeho se UML skládá? Předměty (things) Relace (relationships) Diagramy (diagrams)

Předměty (things) Strukturní Seskupení Behaviorální Poznámky strukturní abstrakce (structural things) : podstatná jména (modelu UML), tj. elementy : třída (class), rozhraní (interface), spolupráce (collaboration), případ užití (use-case), aktivní třída (active class), komponenta (component), uzel (node) chování (behavioral things) : slovesa (modelu UML), tj.: interakce (vztahují se ke komunikaci mezi objekty - např. zprávy (messages), spoje (links)) a stavový stroj (specifikuje sekvenci stavů objektu pomocí stavů, přechodů, událostí a aktivit) seskupení (grouping things) : balíčky (packages) seskupující (dle potřeby) prvky modelu poznámky (anotational things) : poznámky s přidanými informacemi

Relace (relationships) Závislost (dependency) : znázornění vztahu, kdy změnou v jednom elementu je ovlivněn jiný (závislý) element Asociace (association) : spojení definující vztah mezi elementy Zobecnění (generalization) : vztahy generalizace-specializace, tj. jeden element je specializací jiného elementu Realizace (realization) : jeden element je realizací jiného elementu relace (relationships), tj. elementy modelu spojující spolu dva (či více) předmětů - strukturních abstrakcí (také mohou spojovat seskupení); jejich typy jsou : závislost (dependency) : znázornění vztahu, kdy změnou v jednom elementu je ovlivněn jiný (závislý) element asociace (association) : spojení definující vztah mezi elementy zobecnění (generalization) : vztahy generalizace-specializace, tj. jeden element je specializací jiného elementu realizace (realization) : jeden element je realizací jiného elementu

Diagramy (diagrams) Diagram je jeden průhled, okénko, kterým se díváme na model. A model je schéma, kterým se díváme na realitu světa. Statické diagram tříd diagram komponent diagram nasazení Dynamické diagram případu použití sekvenční diagram diagram spolupráce stavový diagram diagram aktivit objektový diagram model je souhrn všech předmětů a relací, jejichž znázornění v jednom obrázku by bylo nepřehledné, mnohdy zcela nemožné; naproti tomu diagram je jeden průhled, okénko, kterým se díváme na model; diagramů je v UML několik typů, ale většinou máme v jednom projektu i vícero diagramů jenoho typu (ať už z důvodu velikosti modelu, nebo chceme v různých diagramech zobrazit pohled na systém z různých úhlů, či se v různých diagramech chceme zaměřit na různé aspekty modelovaného systému). Máme tedy devět diagramů ve dvou skupinách :

Diagramy UML http://cs.felk.cvut.cz/%7Ehrzinap/013DFA.htm

Use case diagram - diagram případů užití Zobrazuje chování systému (nebo jeho části) z hlediska uživatele

Class diagram - diagram tříd Zobrazuje statickou strukturu systému.

Objektový diagram Objektový diagram zobrazuje objekty a jejich spoje (links) v jednom okamžiku Na obrázku je příklad objektového diagramu odvozeného z class diagramu naší půjčovny videokazet. : objekt je znázorněn podobně jako třída - obdélníkem, ale název objektu je vždy podtržený zápis c1:CKazeta značí objekt c1, který je instancí třídy CKazeta (obdobně je tomu s objekty c2 a c3) zápis :CRežisér značí tzv. anonymní objekt : nevíme, z jaké třídy je odvozen (nebo to autor věděl, ale chtěl záměrně znázornit, že objekt :CRežisér mohl vzniknout z různých tříd) třstí možnost zápisu by byla c4, tj. objekt bez vyznačení třídy spojení (link) mezi objekty vznikl jako instance asociace objekt :CRežisér je znázorněn v minimálním tvaru (jen jeho znázev), objekt c1:CKazeta je znázorněn s dalším oddílem (kompartment) ukazujícím aktuální hodnoty atributů u objektu c1 je vyznačena role - tj. ve vztahu anoanymního objektu :CRežisér versus c1:CKazeta hraje tato kazeta roli filmu (který byl režísrován spojeným obejktem- režisérem)

Sequence diagram - sekvenční diagram Objekty si mohou posílat zprávy. Sekvenční diagram zobrazuje jejich časovou posloupnost. Sekvenční diagram spolu s diagramem spolupráce (collaboration diagram) patří do skupiny interakčních diagramů (interaction diagrams). Tyto dva diagramy jsou téměř izomorfní - tj. dají se převádět z jednoho tvaru na druhý (často i automatizovaně). Použití sekvenčního diagramu bývá vhodnější v těch případech, kde jsou důležité časové souvislosti interakcí.

Collaboration diagram - diagram spolupráce Objekty si mohou posílat zprávy. Diagram spolupráce ukazuje objekty a spojení a zprávy, které si objekty posílají

State diagram - stavový diagram, diagram stavů a přechodů Používá se pro popis dynamického chování jednoho reaktivního objektu. Diagram obsahuje jeden stavový automat stav : situace, kdy modelovaný objekt splňuje nějakou podmínku, provádí nějakou operaci nebo čeká na událost - např. ve stavunarozený splňuje objekt podmínku, že mu není dosud 18 roků a čeká, až dosáhne plnoletosti přechod spojení mezi dvěma stavy; obsahuje elementy : událost(parametry)[podmínka]/akce, kde : událost (event trigger) : "příhoda", která může spustit přechod do jiného stavu parametry : daší hodnoty, které si sebou událost nese podmínka (guard) : booleovský výraz podmiňující přechod akc : další činnost přidružená k přechodu např. startování při automobilových soutěžích : změnaSemaforu(barva)[je na řadě]/rozjede : pokud semafor změní barvu a závodník je nařadě, tak se rozjede rozloučení ukazuje přechod do téhož stavu (něco význačného se stane, ale stav se nezmění) počáteční, finální stav : zvláštní pseudostavy pro počátek a konec automatu

Activity diagram - diagram aktivit Diagram aktivit je vlastně sociálním případem stavového diagramu - jeho visuální elementy jsou si podobné Používá se pro popis dynamických aspektů systému. Jde o jakýsi flowchart - znázorňuje tok řízení z aktivity do aktivity. Používané k modelování obchodních (business) procesů.

Component diagram - diagram komponent Komponenta je fyzická nahraditelná část systému, která obaluje implementaci a poskytuje realizaci množiny specifikovaných rozhraní. Diagram komponent znázorňuje softwarové komponenty použité v systému. Mohou to být jak komponenty vytvořené vlastními silami, tak komponenty zakoupené od třetích stran.

Deployment diagram - diagram nasazení Diagram nasazení ukazuje rozmístění zdrojů (např. HW) a softwarové komponenty, procesy a objekty, které na nich žijí Zde vidíme instance uzlů, tedy např. PocitacPavuse který je instancí typu uzlu PC, HP Unix databázový server atd. Také zde vidíme instance komponent, a na kterých kusech HW tyto komponenty běží. V těchto diagramech se velmi často používají stereotypy, a to tak, že mají přiřazen vlastní vizuální symbol - tedy např. tiskárna nevypadá jako krychle, ale opravdu nám připomíná tiskárnu, nebo server opravdu může vypadat jako schématické znázornění serveru. Pak jsou tyto diagramy přístupné i pro čtenáře, kteří naprosto neznají UML.

UML Sekvenční diagram

Etymologie Slovo sekvence je původně hudební termín, který vychází z lat. sequentia a označuje úryvek chrámové hudby, který následuje po evangeliu apod. Od lat. sequens = následující To od lat. sequi = následovat

Sequence diagram - sekvenční diagram Objekty si mohou posílat zprávy. Sekvenční diagram zobrazuje jejich časovou posloupnost. Sekvenční diagram spolu s diagramem spolupráce (collaboration diagram) patří do skupiny interakčních diagramů (interaction diagrams). Tyto dva diagramy jsou téměř izomorfní - tj. dají se převádět z jednoho tvaru na druhý (často i automatizovaně). Použití sekvenčního diagramu bývá vhodnější v těch případech, kde jsou důležité časové souvislosti interakcí.

Z čeho se skládá objekt se zobrazuje stejně, jako v objektovém diagramu (ovšem bez hodnot a atributů) čára života (lifeline) ukazuje, kdy objekt žije - v tomto diagramu všchny objekty existovaly už před posláním první zprávy, a dále existují po dokončení sekvenčního diagramu (resp. nevíme, kdy který objekt zanikne nebo nás to v tuto chvíli nezajímá) aktivita objektu (focus of control) ukazuje, kdy je který objekt aktivní zpráva : zde jednoduchá zpráva se zobrazuje plnou šipkou a má syntaxi návratováHodnota := (argument1, argument2, ....) návratováHodnota není povinná návratováHodnota může být v návratové zprávě : zobrazuje se čárkovnou šipkou (zde má název Return() ) POZOR : časová osa nemá měřítko - od délky obdélníku se nedá usuzovat na délky času ani na to, který čas bude delší či kratší

Zprávy Zpráva může být zaslaná mezi objekty, nebo objekt zašle zprávu sám sobě. Druhy zpráv: jednoduchá – přechod řízení z jednoho objektu na druhý synchronní – objekt čeká na odpověď, aniž by do té doby něco dělal asynchronní – objekt nečeká na odpověď a pokračuje ve své práci

Zakreslení zpráv jednoduchá synchronní asynchronní

Složitější funkce popisky lze vkládat vlevo, a ve směru časové osy - jde jen upřesňující/vysvětlucící text či označení bodů na časové ose, které lze pak využít v podmínkách a výrazech iterace : co má být iterováno je uzavřeno v obdélníku, iterační výraz je pod obdélníkem (zde *[dokud má host hlad] : hvězdička označuje iteraci, v hranatých závorkách je podmínka asynchronní zpráva je vyjádřena (prostou) šipkou: po zaslání této zprávy klient pokračuje dále ve zpracování (nemusí čekat, až server vrátí focus zpět), vlastně dojde k vytvoření nového vlákna vytvoření objektu je vyznačeno pozicí objektu (není umístěn nahoře, ale jeho čára života začíná níže na časové ose) a tím, že zpráva (v jejímž důsledku objěkt vznikl) vede přímo k objektu (namísto do jeho lifeline) uvolnění objektu je označeno křížkem podmínka [má peníze] : zpráva bude poslána jen tehdy, pokud bude podmínka splněna

Sekvenční diagram – příklad 1 Pro příklad operačního systému počítače vytvořte sekvenční diagram představující stisk klávesy v textovém editoru, který způsobí zobrazení tohoto znaku na obrazovce. Předpokládejte interakce mezi těmito objekty: GUI (grafické uživatelské rozhraní) OS (operační systém) CPU (procesor) Grafická karta Monitor

Příklad 1 - řešení

Sekvenční diagram – příklad 2 Vytvořte sekvenční diagram pro praní prádla v pračce. Předpokládejte interakce mezi těmito objekty: přívod vody buben odtok

Příklad 2 – sekvence kroků Voda se přívodní hadicí napustí do bubnu Buben se 5 min nebude pohybovat Voda se přestane napouštět Buben se bude asi 15 min otáčet oběma směry Voda s pracím práškem se vypustí Voda se znovu začne napouštět Buben se znovu otáčí oběma směry Voda z máchání se vypustí Buben se začne otáčet pouze jedním směrem a rychlost otáčení se na 5 min zvýší Buben se přestane otáčet, čímž praní končí

Příklad 2 - řešení

Sekvenční diagram – příklad 3 Vytvořte sekvenční diagram pro nákup nápoje v automatu. Předpokládejte, že se automat skládá z těchto čtyř objektů: Zákazník Ovládací panel Pokladna Výdejník

Příklad 3 – sekvence kroků Zákazník vhodí mince do otvoru v ovládacím panelu Zákazník si vybere druh nápoje Peníze propadnou do pokladny Pokladna předá na výdejník pokyn pro vydání nápoje Výdejník vydá nápoj

Příklad 3 - řešení

Příklad 3 – scénář 2 Pro případ nápojového automatu uvažujte scénář, v němž zákazník nemá správný obnos. Pokladna zkontroluje, zda množství vhozených mincí odpovídá ceně nápoje Pokud je vhozená částka vyšší, vyplatí pokladna rozdíl

Scénář 2 - řešení

Příklad 3 – scénář 3 Pro případ nápojového automatu uvažujte scénář, kdy je požadovaný druh nápoje vyprodán. Poté, co zákazník zvolí vyprodaný druh, automat vypíše zprávu Vyprodáno Automat čeká na volbu jiného druhu nápoje

Scénář 3 - řešení