http www uml org UML unified modelling language

  • Slides: 37
Download presentation
http: //www. uml. org/ UML unified modelling language sjednocený modelovací jazyk

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

Co to je UML spadá pod „objektové modelovací techniky“. Základy OOA: • Abstrakce •

Co to je 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)

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

Předměty (things) • Strukturní Seskupení • Behaviorální • Poznámky

Předměty (things) • Strukturní Seskupení • Behaviorální • Poznámky

Relace (relationships) • Závislost (dependency) : znázornění vztahu, kdy změnou v jednom elementu je

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 generalizacespecializace, tj. jeden element je specializací jiného elementu • Realizace (realization) : jeden element je realizací jiného elementu

Diagramy (diagrams) – Statické • diagram tříd • diagram komponent • diagram nasazení –

Diagramy (diagrams) – Statické • diagram tříd • diagram komponent • diagram nasazení – Dynamické • • • diagram případu použití sekvenční diagram spolupráce stavový diagram aktivit objektový diagram 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.

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

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

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

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.

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

Objektový diagram zobrazuje objekty a jejich spoje (links) v jednom okamžiku

Objektový diagram zobrazuje objekty a jejich spoje (links) v jednom okamžiku

Sequence diagram sekvenční diagram Objekty si mohou posílat zprávy. Sekvenční diagram zobrazuje jejich časovou

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 spolupráce Objekty si mohou posílat zprávy. Diagram spolupráce ukazuje objekty a spojení

Collaboration 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

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

Activity diagram - diagram aktivit Diagram aktivit je vlastně sociálním případem stavového diagramu -

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 komponent Komponenta je fyzická nahraditelná část systému, která obaluje implementaci a poskytuje

Component 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 nasazení Diagram nasazení ukazuje rozmístění zdrojů (např. HW) a softwarové komponenty, procesy

Deployment diagram nasazení Diagram nasazení ukazuje rozmístění zdrojů (např. HW) a softwarové komponenty, procesy a objekty, které na nich žijí

UML Sekvenční diagram

UML Sekvenční diagram

Etymologie • Slovo sekvence je původně hudební termín, který vychází z lat. sequentia a

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

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

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 : = (argument 1, argument 2, . . ) – 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á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í

Zakreslení zpráv jednoduchá synchronní asynchronní

Složitější funkce • popisky lze vkládat vlevo, a ve směru časové osy - jde

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

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í

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í

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

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ů 1. 2. 3. 4. 5. 6. 7. 8. 9.

Příklad 2 – sekvence kroků 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 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 se přestane napouštět 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ýší 11. Buben se přestane otáčet, čímž praní končí

Příklad 2 - řešení

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,

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ů 1. Zákazník vhodí mince do otvoru v ovládacím panelu

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

Příklad 3 - řešení

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

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. 1. Pokladna zkontroluje, zda množství vhozených mincí odpovídá ceně nápoje 2. Pokud je vhozená částka vyšší, vyplatí pokladna rozdíl

Příklad 3 – scénář 3 Pro případ nápojového automatu uvažujte scénář, kdy je požadovaný

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. 1. Poté, co zákazník zvolí vyprodaný druh, automat vypíše zprávu Vyprodáno 2. Automat čeká na volbu jiného druhu nápoje