Jazyk UML Unified Modeling Language

Podobné dokumenty
Jazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken

UML úvod. Zdroje: Kanisová Hana, Müller Miroslav: UML srozumitelně, Computer Press 2007

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

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

DBS Konceptuální modelování

3 druhy UML diagramů

7.3 Diagramy tříd - základy

Diagram tříd (class diagram)

UML. Unified Modeling Language. Součásti UML

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

Jak správně psát scénáře k případům užití?

1. Dědičnost a polymorfismus

OOT Objektově orientované technologie

7.3 Diagramy tříd - základy

7 Jazyk UML (Unified Modeling Language)

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

Diagramy tříd - základy

7 Jazyk UML (Unified Modeling Language)

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

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

Zapnutí a vypnutí počítače

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

Objektově orientované technologie Dynamický náhled Stavový diagram. Pavel Děrgel, Daniela Ďuráková

Pokročilé typové úlohy a scénáře 2006 UOMO 71

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

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

Unifikovaný modelovací jazyk UML

Mobilní skladová evidence v QI

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

11 Diagram tříd, asociace, dědičnost, abstraktní třídy

Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

OOT Objektově orientované technologie

Svolávací systém Uživatelský manuál

OOT Objektově orientované technologie

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

Obsah. Zpracoval:

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

Objekty, třídy, vazby 2006 UOMO 30

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

UŽIJTE SI TELEVIZI. Uživatelský manuál HD Mediaboxu

PRACUJEME S TSRM. Modul Samoobsluha

Business Process Modeling Notation

20. Projekt Domácí mediotéka

Objektově orientované technologie. Daniela Szturcová

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

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

Vyřešené teoretické otázky do OOP ( )

Výběr a instalace mobilního terminálu. II. Používání čárových kódů v katalogu položek. III. Tisk etiket s čárovými kódy

Nápověda k používání mapové aplikace Katastrální mapy Obsah

Klíčová slova: OOP, konstruktor, destruktor, třída, objekt, atribut, metoda

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

Užijte si televizi Horizon od UPC

Příručka uživatele HELPDESK GEOVAP

Soukromá střední odborná škola Frýdek-Místek, s.r.o. VY_32_INOVACE_03_IVT_MSOFFICE_02_Excel

PHP tutoriál (základy PHP snadno a rychle)

JEDNODUCHÝ PRŮVODCE STRÁNKAMI

Elektronické podání žádosti o udělení výjimky pro použití konvenčních osiv v ekologickém zemědělství prostřednictvím Portálu farmáře MZe

Elektronické podání žádosti o udělení výjimky pro použití konvenčních osiv v ekologickém zemědělství prostřednictvím Portálu farmáře MZe

KTE / ZPE Informační technologie

Principy UML. Clear View Training 2005 v2.2 1

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

Návod k práci s programem MMPI-2

ANOTACE vytvořených/inovovaných materiálů

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Přehledový manuál aplikace GABVAR (verze )

MS SQL Server 2008 Management Studio Tutoriál

VAŠE NOVÁ APLIKACE NISSAN GROUP EPC PŘÍRUČKA ZAČÍNÁME

Záložka.cz - zobrazuje nabídku eshopu a knihkupců, kteří jsou do Záložky zapojeni. Záložka.cz umožňuje tedy dva způsoby nakupování:

Teoretické minimum z PJV

Jídelna Intraweb. Osobní údaje

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

7.2 Model použití (jednání) (Use Case)

UML: Unified Modeling Language

1. Podmínky chodu aplikace

Objektově orientované technologie. Daniela Szturcová

Nová verze mojepco pro mobily

Nastavení a použití EET (elektronické evidence tržeb) v programu WinVet 2017

Modul Půjčovna Materiál pro samostudium +1873

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

Návod k obsluze webové aplikace EJídelníček 1. Vstupní stránka

Podrobný postup pro doplnění Žádosti o podporu a příloh OPR přes Portál farmáře, 3. a 4. výzvy příjmu žádostí Operačního programu Rybářství

Připojení ke vzdálené aplikaci Target 2100

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín

ON-LINE PORADA PRO TEST

ŽÁDOST O OTEVŘENÍ ÚČTU

Podrobný postup pro vygenerování a zaslání Žádosti o dotaci přes Portál Farmáře. 3. kolo příjmu žádostí Programu rozvoje venkova ( )

Metody popisu systému, základy UML

7.6 Další diagramy UML

7.5 Diagram tříd pokročilé techniky

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

Průvodce aplikací FS Karta

Funkční schéma Datové schéma Integrita modelu s realitou

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze Kontakty 08/ Obsah

Uživatelská příručka k systému Jídelna inet

Projekt Obrázek strana 135

Systém pro podávání připomínek a námitek ke konceptu Územního plánu hl. m. Prahy

7.6 Další diagramy UML

Návod k ovládání programu PATENT.EXE

Generické programování

Podrobný postup pro vygenerování a zaslání Žádosti o dotaci přes Portál Farmáře. 1. kolo příjmu žádostí Programu rozvoje venkova ( )

Transkript:

1/11 Josef Hladík Jazyk UML Unified Modeling Language Obsah Teorie.. 2 Diagramy hierarchie procesů. 2 případů užití. 2 o vkládání případů užití... 3 o rozšíření případů užití.. 5 stavové diagramy... 5 o doplnění informací 6 objektová orientace- vysvětlení pojmů...10 o objekt 10 o abstrakce 10 o dědičnost 10 o polymorfizmus 10 o zapouzdření 10 o asociace 10 o agregace 10 o znázornění třídy a objektu 11 o doplňující informace 12

2/11 Josef Hladík Teorie Snahou jazyka UML graficky popisuje objektově orientovanou analýzu. První verze tohoto jazyka vznikla v roce 1997, pod záštitou firmy Rational. Tento modelovací jazyk je souhrnem grafických notací k vyjádření analytických a návrhových modelů. Podlé mého názoru byly toto dva hlavní důvody jeho vzniku: Práce, na kterých se podílí mnoho pracovníku, vyžaduje, aby byla prezentována v takové formě, aby projekt každý pracovník pochopil jako celek, i přestože bude pracovat pouze na některé z jeho částí. Druhým, neméně důležitým důvodem byla snaha přiblížit zákazníkovy, jak bude jeho projekt vlastně pracovat. Rozhodně na zákazníka zapůsobí lépe přehledný obrázek s vysvětlením, než kousek zdrojového kódu a větou: tak toto je přihlášení v phpéčku.. Víc k teorii nemá cenu, stejně to ani číst nikdo nebude. Diagram hierarchie procesů Process Hierarchy Diagram Tento diagram řeší procesní dekompozici systému a pomáhá v ujasnění rozsahu vyvíjeného systému a vzájemnou souvislost jednotlivých firemních procesů. Firemní proces je sekvence činností vytvářející produkt, který organizace potřebuje pro splnění svých cílu. Česky řečeno, tento diagram by měl zhruba zobrazovat rozsáhlost projektu, a spojitost mezi jednotlivými částmi. Diagram případů užití Use case Případy užití zachycují přesně funkčnost, která bude budoucím informačním systémem pokryta a vymezují tak jednoznačně rozsah prací. Diagram užití popisuje jednu požadovanou funkčnost systému. Systém nebude tedy obsahovat nic jiného, než popisují případy užití. Prostě v tomto diagramu bude všechno co váš systém umí. Dále byste měli vědět, kdo ne co(může to být i systém) je to Aktér. Zde je jeho stručný popis: Všechny akce v systému jsou vyvolávány Aktéry Pod aktérem si představíme externí objekt, který si vyměňuje informace se systémem

3/11 Josef Hladík Aktér= uživatelská role vůči systému Aktér se v diagramech značí jako postavička Takto by například vypadal diagram užití pracovníka sběrny uživatel Odeslat zakázku do sběrny Přijmout zakázku ze servisu Uzavřít zakázku Další příklad diagramu užití, by mohl vypadat takto: Případ užití uživatel uživatel Shrnutí: Případ užití se soubor scénářů(sled jednotlivých kroků),inicializovaný entitou zvanou patricipant. Výstupem případu užití by měl být výsledek, ze kterého bude mít užitek on sám, nebo jiný patricipant. Patricipant může být osoba, systém, nebo uplynutí určitého času. S dalším pojmem se kterým se můžete setkat, je pojem vkládání případů užití. Vkládání případů užití se používat tehdy, kdy se nějaký případ užití opakuje. Nechtělo se mi nic nového vymýšlet, a tak jako příklad uvedu, žáky velmi oblíbený příklad, s nápojovým automatem. Možná si někteří pamatují, že k tomuto automatu přistupují 3 patricipanti: Zákazník, doplňovatel a člověk, který vybírá peníze.

4/11 Josef Hladík Zde se nám potvrdí ona červeně zvýrazněná věta : Výstupem případu užití by měl být výsledek, ze kterého. Výstupem pro zákazníka je sice nepitelná, ale limonáda, pro doplňovatele je to dobrý pocit(později mizerná mzda) a pro kasaře jsou to peníze. My se budeme soustředit na poslední dva. Vezměme v úvahu, že oba musí vykonat několik stejných kroků. Oba musí nejprve odemknou zámek, a oddělat vrchní kryt. Potom si každý udělá svoji práci. Jeden doplní limonádu z Ukrajiny, a druhý vezme peníze. Potom musí oba udělat stejnou věc, a to že oba musí vrátit kryt, a oba musí tento kryt zajistit. Schválně jsem zdůraznil slovo oba. Podívejme se jak by to vypadalo v UML diagram Nápojový automat zákazník Koupit limonádu zákazník Odkrýt dodavatel Doplnění zásob <<include>> dodavatel zakrýt <<include>>> <<include>> výběrčí Výběrčí výběrčí odkrýt Výběr peněz <<include>> zakrýt Rozšíření případů užití Pamatujte si, že vkládaný případ užití nikdy neexistuje samostatně, ale vždy je součástí jiného případu užití. Vkládaný případ užití se znázorňuje přerušovanou šipkou. Zde bohužel uvedu příklad na automat, protože se mi nechce nic vymýšlet. Vezměme si případ užití Doplnění zásob. Může se stát, že se v automatu vůbec nebude prodávat limonáda Pštrosí moč, ale zato limonáda Pepův elixír se bude prodávat velmi dobře. Tak

5/11 Josef Hladík nás napadne, že místo obyčejného doplnění zásob, bychom chtěli doplňovat zásoby podle prodejnosti. Proto náš případ užití Doplnění zásob rozšíříme na Doplnění zásob podle prodejností. Rozšíření se provádí pomocí <<rozšíření>>, my budeme používat anglický výraz <<extends>>. Doplnění zásob Bod rozšíření <<include>> <<include>> Otevření <<extends>> uzavření Doplnění zásob podle prodejnosti Praktické použití stavových diagramů Stavový diagram je mechanizmus, který nám pomáhá popsat systémové změny. Tyto změny mohou vzniknou například nějakou reakcí na událost, nebo také ubíháním času. Například: Půjdu ke Košťálovy ve špinavých botách jsem vyloučen. Reakcí na událost Jdu v botách je změna stavu Jsem student na stav Jsem vyloučen. Toto je příklad reakce na událost. Druhý příklad zabývající se plynutím času: Již 3 hodiny se učím Merge sort. Po dalších několika hodinách byste se s uplynutý časem dostaly ze stavu Mám dobru náladu do stavu Asi skočím pod vlak. Samozřejmě může mít tuto časovou hranici každý jinou. Jiný asi lepší příklad na čas by bylo: Přihlášený uživatel je již 30 minut neaktivní. Ze stavu Přihlášen ho systém uvede do stavu Odhlášen. Dalším známým příkladem muže být například to, že vás na www.wz.cz automaticky po 30 dnech vymaží s evidence, pokud se nepřihlásíte po tuto dobu. (To je docela kec, já tam nebyl půl roku a nic ) Veškerými změnami, kterými projde systém, se mohou zobrazit pomocí stavových diagramů. Zle jimi také vykreslit podmínky, za jakých se do těchto stavů dostanou, a také podmínky přechodů mezi jednotlivými stavy. Také je možno zadat počáteční a koncový stav každého objektu.

6/11 Josef Hladík Toto je základní značka stavového diagramu počátek konec stav Omlouvám se za ty nekvalitní diagramy, ve wordu se to moc dobře nekreslí. Jednotlivé stavy můžete doplnit od další informace. Jsou to: Název stavu název stavu je povinný Stavové proměnné -nepovinný Činnosti - nepovinný Na další stránce je ukázka toho jak by mohl fungovat takový fax. Má dva stavy. Buď se odesílá nějaký dokument, nebo jen tak stojí. Tyto stavy a jejich atributy jsou uvedeny na obrázku. Vypadá to asi takto:

7/11 Josef Hladík Faxuje se Datum= aktuální datum Čas=čas začátku přenosu Telefonní číslo majitele Jméno majitele Vstup/zadání čísla stanice Výstup/dokončení přenosu Proveď/očísluj stánky Proveď/záznam o čase Proveď/ble ble atd Název stavu Stavové proměnné činnosti Flákám se Datum=aktuální datum Čas=aktuální čas Telefonní číslo=moje číslo Jméno=Leoš Hnědka Vstup/přenos dokumentu dokončen Výstup/začátek přenosu Proveď/ukazuj datum Proveď/ukazuj čas Vstup/ akce- co se stane, když je spuštěn tento stav Výstup/akce co by mělo být výsledkem tohoto stavu Proveď- tyto akce se provádí během činnosti jednotlivých stavů Logičtější by bylo pořadí : 1. vstup,2. proveď, 3. výstup. Možná, se to takto zapisovat může, ale všude se to zakresluje v pořadí, v jakém to je zakresleno v diagramech. Další možnosti doplnění informací Další doplňující informace lze doplnit také k šípkám, která symbolizují přechody stavů.

8/11 Josef Hladík Tento případ si ukážeme na dalším obrázku. Abych se to vzal jedním vrzem, zakreslím do toho to obrázku i další pojem a to Strážní podmínky. Příklad ukazuje, jak funguje spořič obrazovky. Doplňující informace Zapínání Inicializace Proveď/spusť systém Pracuj, hrej, sleduj porno vypnout Vypni PC [Uběhl nastavený čas] Pohnuto myší, nebo stisk klávesy Šetření obrazovky

9/11 Josef Hladík Objektová orientace Vysvětlení některých pojmů Základem objektové orientace je nečekaně objekt. Jůůůů. Objekt by se dal specifikovat takto: Objekt - Nejdůležitější je fakt, že objekt je instancí třídy. Objekt se vyznačuje strukturou. Znamená to, že má atributy, a chování. Atributy jsou jeho vlastnosti, a chování je sled operací, které objekt provádí prostě v OOP jsou to metody třídy. Dále si vysvětlíme některé pojmy. U matury by se to mohlo hodit, pokud víte houby jako já, tak to ukecáte alespoň těmito blbostmi. Abstrakce- znamená filtrování atributů a operací objektu, do té míry, než nám zbytou ty, které potřebujeme. Dědičnost- dědičnost používáme tehdy, pokud potřebujeme vytvořit objekt již existujícími vlastnostmi a metodami, ale chceme nějakou vlastnost nebo metodu přidat. Zděděná třída má tedy všechny vlastnosti děděné třídy. Polymorfizmus- některé operace u různých tříd mají stejné jméno. Otevřít dveře, otevřít okno atd. Pokaždé však provádíme jinou operaci. Každá třída ví, kterou operaci má udělat. Tomuto jevu se říká polymorfizmus.(toto jsem nějak nepochopil) Zapouzdření- Každý objekt má své vlastnosti a metody. Ty jsou obsaženy uvnitř třídy. Jsou v ní zapouzdřeny. Znamená to, že vidíme, jak se objekt chová, ale nevidíme jak to děla, protože toto chování je zapouzdřené. Asociace je informace o vztahu mezi objekty. Může být jednosměrná- zapnu rádio. Ale tím to hasne. Rádio jede, ať dělám cokoliv. Obousměrná asociace je např.: Jsme ženatý/moje vyvolená je vdaná. Když umřu tak už nebude vdaná, ale vdova. Agregace je to jeden z typů asociace. Formou agregace může být kompozice. Kompozice vyžaduje silný vztah mezi agregátem, a jeho komponentami. Např.: Kompozice může být mezi Tělem a hlavou. Tělo bez hlavy je na nic.

10/11 Josef Hladík Objektová orientace Vizualizace třídy a objektu -třídy se vykresluje jako obdélník s ostrými rohy. Pozor na stavy, které vypadají podobně, ale se vykreslují se oblými rohy. User jméno : String příjmení:string věk :integer dement :boolean=0 Jméno třídy. První písmeno velké, pokud je název víceslovný, další slovo také velké. Např.: OsobníAutomobil Proměnné, neboli atributy. Začínají malým písmenem, ostatní slova velkým. Např.: rodnéčíslo vypišjméno() vypišpříjmení() vypišvěk() jetodement() Jednotlivé metody začínají malým, další slovo velkým. Za názvem se uvádějí závorky Takto by vypadal zápis nového objektu uživatel1, který je instancí třídy User v Javě: User uživatel1=new User(); A takto by vypadal v UML: uživatel1::user jméno = Josef příjmení = Hladík věk = 19 dement = true názevobjektu:: Třída inicializace jednotlivých atributů Ještě ve stručnosti proberu pojem balíček neboli package.všichni zhruba víme co to jeurčuje se tehdy třída součástí balíčku. Např.: třídy Uklizečky,Manageři a Skladníci budou patřit do balíčku personál. Balíček se zakresluje takto: personál

11/11 Josef Hladík doplňující informace-připojují se pomocí poznámek. Viz obrázek User jméno : String příjmení:string věk :integer dement :boolean=0 je-li atribut dement nastaven a true tak je uživatel dement vypišjméno() vypišpříjmení() vypišvěk() jetodement()