http www uml org UML unified modelling language
- Slides: 37
http: //www. uml. org/ UML unified modelling language sjednocený modelovací jazyk
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)
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 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í – 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
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 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 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í 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
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 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 a objekty, které na nich žijí
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 : = (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á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
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ů 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í
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 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 – 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ý 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
- Unified modelling language
- Unified modeling language uml
- Uml cardinality
- Uml overview
- Uml 1..*
- Unified modeling language tutorial
- Introduction to the unified modeling language
- Krning
- Pengertian unified modeling language
- What-is-uml
- Introduction to unified modeling language
- Introduction to unified modeling language
- Language
- Fungsi deployment diagram
- Uml full form
- Omg unified modeling language
- Uml activity diagram
- Collaboration diagram
- Uml org
- Http //mbs.meb.gov.tr/ http //www.alantercihleri.com
- Siat ung sistem informasi akademik
- Http://mbgnet.mobot.org/
- Http://oh.portal.airast.org
- Ets.criterion
- Icas score levels
- Http://hdr.undp.org/en/data
- Http://www.pbs.org/ktca/liberty/
- Taiga nimi
- Official smarter balanced summative assessment
- Http //pisa.ets.org/school questionnaire
- "http://www.python.org"
- Http://www.finaid.org/calculators/loanpayments.phtml
- Http://www.educationplanner.org
- Www.python.com
- Number of neutrons of xenon
- Http://hdr.undp.org/en/countries
- Http://fsassessments.org/
- Http://library.thinkquest.org