Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

UML unified modelling language sjednocený modelovací jazyk

Podobné prezentace


Prezentace na téma: "UML unified modelling language sjednocený modelovací jazyk"— Transkript prezentace:

1 UML unified modelling language sjednocený modelovací jazyk

2 Co to je UML 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

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

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

5 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

6 Diagramy (diagrams) –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 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.

7 Diagramy UML

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

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

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

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

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

13 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

14 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ů.

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

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

17 UML Sekvenční diagram

18 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

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

20 Z čeho se skládá objekt se zobrazuje stejně, jako v objektovém diagramu (ovšem bez hodnot a atributů)objektovém diagramu čá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ší

21 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

22 Zakreslení zpráv jednoduchá synchronní asynchronní

23 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

24

25 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

26 Příklad 1 - řešení

27 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

28 Příklad 2 – sekvence kroků 1.Voda se přívodní hadicí napustí do bubnu 2.Buben se 5 min nebude pohybovat 3.Voda se přestane napouštět 4.Buben se bude asi 15 min otáčet oběma směry 5.Voda s pracím práškem se vypustí 6.Voda se znovu začne napouštět 7.Buben se znovu otáčí oběma směry 8.Voda se přestane napouštět 9.Voda z máchání se vypustí 10.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čí

29 Příklad 2 - řešení

30 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

31 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

32 Příklad 3 - řešení

33 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

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

35 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

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

37


Stáhnout ppt "UML unified modelling language sjednocený modelovací jazyk"

Podobné prezentace


Reklamy Google