+ All Categories
Home > Documents > Jazyk UML VST (Velmi stručný tutorial) verze 1 · VST (Velmi stručný tutorial) verze 1.0...

Jazyk UML VST (Velmi stručný tutorial) verze 1 · VST (Velmi stručný tutorial) verze 1.0...

Date post: 25-Apr-2020
Category:
Upload: others
View: 38 times
Download: 0 times
Share this document with a friend
15
Jazyk UML VST (Velmi stručný tutorial) verze 1.0 Softwarové inženýrství školní rok 2004-2005 Ing. Ladislava Smítková Janků (Praha, 24.5.2005)
Transcript

Jazyk UMLVST (Velmi stručný tutorial)

verze 1.0

Softwarové inženýrstvíškolní rok 2004­2005 

Ing. Ladislava Smítková Janků(Praha, 24.5.2005)

Obsah

ObsahObsah....................................................................................................................................................21 Co je to UML.....................................................................................................................................32 Diagram případů užití........................................................................................................................43 Diagram tříd a diagram objektů.........................................................................................................54 Diagram spolupráce ..........................................................................................................................65 Diagram sekvencí (Sekvenční scénáře).............................................................................................76 Stavový diagram................................................................................................................................97 Diagram aktivity (činnosti)..............................................................................................................138 Diagram komponent a diagram nasazení.........................................................................................14Použitá literatura a internetové zdroje................................................................................................15

1 Co je to UML

Pár slov úvodemDostává se vám do ruky velmi stručný tutorial jazyka UML sepsaný na žádost studentů předmětuX36SIN   a   36SI   v   letním   semestru   2004/2005.   Vzhledem   k   nejednoznačnosti   českých   výrazůpoužívaných v českých překladech odborné literatury, uvadím v závorkách vždy výrazy anglické.To by mělo umožnit studentům  snadnější orientaci v anglicky psaných materiálech. 

Jedná se o první verzi tutorialu – případné připomínky nebo upozornění zasílejte prosím mailem naadresu [email protected]

Co je to UML?UML (Unified Modeling Language) je grafický jazyk pro objektově orientovanou analýzu a návrhsoftwaru. Jinými slovy, jedná se o jazyk, kterým vývojář popisuje architekturu vyvíjenéhosoftwarového systému ze všech hledisek důležitých pro analýzu a návrh. Protože se jedná o grafickýjazyk, jsou konstrukty tohoto jazyka také grafické. Nazýváme je diagramy. 

Vývojář používá standardně definované grafické prvky jazyka. Proto jsou jím vytvořené konstrukty(diagramy) srozumitelné každému, kdo zná syntaxi a sémantiku daného grafického jazyka. Místosložitého a často nejednoznačného slovního popisu použije analytik nebo vývojář grafický jazyk sjednoznačně definovanými prvky a konstrukty, které mají jednoznačný význam. 

2 Diagram případů užití

Diagram případů užití (Use case diagrams)  slouží ke zmapování skupin uživatelů (uživatelskýchrolí) a ke zmapování způsobů používání systému každou skupinou uživatelů, tj. ke zmapování sadyakcí,   které   každá   skupina  uživatelů   bude   se   systémem   provádět   nebo  od   systému  očekává   (zpohledu externího pozorovatele). 

Diagram případů užití slouží:• zadavatelům a budoucím uživatelům systému, aby zjistili, jaké akce nebo uživatelské role

ještě nespecifikovali• vývojářům, aby věděli, jaké uživatelské role a akce je třeba navrhnout a implementovat• vývojářům,   aby   vůbec   měli   možnost   se   dohodnout   se   zadavatelem.   Pro   uživatele/

zadavatele totiž není vždy snadné formulovat, jak bude systém využívat. • generování testů

Diagram případů užití obsahuje tyto prvky:účastník (actor)komunikace (communication)případ užití (use case)

Obr.1: Prvky diagramu případů užití dle [6]

Obr.2: Ukázka diagramu případů užití dle [6]

Účastníky lze zobecňovat a lze vytvářet jejich hierarchie. 

3 Diagram tříd a diagram objektůUML je jazyk pro návrh objektově orientovanou analýzu a návrh. U OOP (objektově orientovanéparadigma)   je   základním   stavebním   kamenem   pro   reprezentaci   dat   a   operaci   nad   nimi  třída.Diagram   tříd   (Class   Diagram)  popisuje   strukturu   jednotlivých   tříd   a   vztahy   mezi   třídami.   Zpředchozích   kurzů   programování   víte,   že   s   OOP   souvisí   následující   koncepty:   dědičnost   azobecnění,  asociace, agregace, vazby, závislosti,  viditelnost,  násobnost,  abstraktní  třída, rozhraní(zopakujte si).  Všechny tyto vlastnosti  je možné  v diagramu tříd znázornit.  Diagram objektů   jeobdobnýů narozdíl od diagramu tříd znázorňuje interakci mezi konkrétními instancemi – objekty.

Diagram tříd je statický diagram – znázorňuje, které třídy spolu interagují, ale neříká nic o tom, jaktato interakce probíhá. Lze jej chápat jako datový model vyvíjené softwarové aplikace.

V jazyce UML se třída znázorňuje jako obdélník rozdělený na tři části: název třídy, atributy ametody. Asociace se znázorňuje pomocí čáry spojující dvě třídy. Agregace je označenakosočtvercem (diamond). Zobecnění (generalizce) je označena trojúhelníkem/šipkou směřujícím knadřazené třídě. 

Slovníček pojmů:

třída (class) abstraktní třída (abstract class)zobecnění (generalization)jméno role (role name)násobnost (multiplicity)směr asociace (navigability)asociace (association)jméno třídy (class name)atributy (attributes)metody, operace (operations)

4 Diagram spolupráce Diagramy spolupráce (Collaboration diagrams) patří mezi diagramy interakce. Diagram spolupráceznázorňuje vztahy mezi objekty a zprávy, které si objekty posílají. Kvůli přehlednosti se každázpráva zakresluje jednou, i když se ve skutečnosti může vyskytnout i vícekrát. Na rozdíl oddiagramů sekvencí (sekvenčních scénářů), které také patří mezi diagramy interakce, diagramyspolupráce znázorňují časový rozměr pouze číslováním zpráv mezi objekty. Diagramy spoluprácepopisují role objektů v systému. 

V diagramu spolupráce je   každý objekt znázorněn obdélníkem. Objekty jsou navzájem spojenyasociačními čarami. Zprávy zasílané  mezi objekty se znázorňují  pomocí  šipek. Šipka směřuje kcílovému objektu a je popsána názvem zprávy. Zpráva obvykle informuje cílový objekt o tom, žemá   vykonat   nějakou   operaci.   Za   názvem   zprávy   se   uvádějí   závorky,   do   kterých   se   vpisujíparametry.   Pořadí zpráv v čase se znázorňuje číslem zprávy. Číslo zprávy se uvádí před jménemzprávy. 

V diagramu spolupráce se objekty znázorňují jako obdélníky, do kterých je vepsán název třídy neboobjektu nebo obojí. 

Diagram spolupráce obsahuje tyto prvky:

objekt (object)zpráva (message)iterace (iteration)pořadí zprávy (sequence number)

Obr. 4: Ukázka diagramu spolupráce dle [6]

V diagramu spolupráce je možné zachytit i změny stavu objektu. Každému stavu objektu odpovídásamostatný   obdélník.  Vzájemně   jsou   stavy   téhož   objektu  propojeny  čárkovanou   šipkou.  Šipkasměřuje  ke  stavu  objektu,  do  kterého objekt  přechází.  Do diagramu spolupráce   lze  znázornit   ivytvoření nového objektu nebo více objektů stejné třídy.  

5 Diagram sekvencí (Sekvenční scénáře)

Diagramy sekvencí (Sekvenční scénář e, Sequential scenario) patří mezi tzv. scénáře interakce. Popisují   interakci mezi jednotlivými objekty, moduly systému apod. Sekvenční  scénáře popisujíspolupráci mezi objekty v kontextu času. Na každou interakci mezi objekty lze pohlížet jako nasekvenci akcí v čase. Sekvenční  scénáře zachycují  právě  takovéto sekvence akcí v čase v rámciinterakce dvou a více objektů. Čas v těchto diagramech plyne směrem dolů.

Sekvenční scénáře obsahují tyto prvky:objekt (object), jinak to také může být komponenta, modul, apod.zpráva (message)iterace (iteration)podmínka (condition)vytvoření (creation)vymazání (deletion)označení aktivace (activation bar)linie existence („života“) objektu, komponenty apod. (lifeline)

Zpráva zaslaná jedním objektem druhému objektu vede od linie života jednoho objektu k liniiživota jiného objektu. Objekt může zaslat zprávu i sám sobě. Každá zpráva může být buďjednoduchá, synchronní nebo asynchronní. Každý typ zprávy reprezentuje jiná šipka (jednoducházpráva = jednoduchá šipka, synchronní zpráva = plná šipka, asynchronní zpráva, poloviční šipka).

Obr. 5: Sekvenční scénář  dle [6]

Implicitně se v UML používají sekvenční scénáře pro popis interakce mezi objekty. Pokud popisují

interakci mezi moduly, komponentami apod., bývá rozumné na tuto skutečnost v doprovodnémtextu upozornit. Je také zřejmé, že „neobjektové“ scénáře neobsahují vytvoření a vymazání objektuapod. Oproti tomu scénáře interakce mezi objekty mohou zachytit aktuální stavy jednoho či více objektů. 

Ukázky sekvenčních scénářů:

Obr. 6: Ukázka sekvenčního scénáře přihlašování

6 Stavový diagram

Stavové   diagramy   (Statechart   diagrams)  spolu   s  diagramy   aktivity   (Activity   diagrams,   někdypřekládáno také jako diagramy činnosti) popisují dynamiku vyvíjeného systému. Stavové diagramypopisují změny objektů v čase. Stavový diagram popisuje všechny stavy a podmínky přechodů mezijednotlivými stavy. 

Základním   prvkem   stavového   diagramu   je   stav.   K   jeho   označení   používáme   obdélník   nsezaoblenými rohy, který obsahuje název stavu. Tento obdélník může být rozdělen na 3 části: název,stavové proměnné a činnosti, které se vážou k danému stavu.

Stavové diagramy obsahují následující prvky:počáteční stav (initial state)koncový stav (final state)stav (state)akce (action)přechod (transition)událost (event)podmínka (guard)aktivita (activity)

Stavový   diagram popisuje   chování   systému pomocí   sady   stavů   a  přechodů  mezi   těmito   stavy.Systém se může nacházet v různých stavech. Ke každému stavu se může/nemusí vázat jedna nebovíce   akcí.   Přechod   do   jiného   stavu   je   definován   pomocí   přechodu   (tj.   akce   označované   jako„přechod“, „transition“, která způsobí přechod systému z jednoho stavu do jiného). Scénář končí vkoncovém stavu (final state).

Značení dle normy je uvedené v následující ukázce:

Obr. 7: Ukázka stavového diagramu dle [6]

Speciální   značení   nabízí   UML   pro   vyjádření   souběžnosti   (concurrency)   a   asynchronity(asynchrony) ve stavových diagramech. 

Setkáme se s těmito prvky:složený stav (composite state)vlákno (thread)větvení (fork)spojení (join)podstav (substate)

Ukázka je na následujícím obrázku: 

Obr. 8: Ukázka stavového diagramu dle [6]

Ukázky studentských prací:

ÚlohaZáměrem tohoto projektu je vytvoření informačního systému elektronického obchodu. Systém budeumožňovat prodej zboží přes internet: jeho zobrazování zákazníkům podle různých kritérií, vedenískladové evidence, evidence zákazníků a napojení na účetní program. E­obchod budou využívat jakzákazníci   pro   nákup   zboží   a   informování   o   jeho   dostupnosti,   tak   zaměstnanci   dle   svýchpřístupových práv nastavených v závislosti na jejich pozici ve firmě. 

Návrh řešení:Základem systému je serverová stanice. Na té běží operační systém Linux, webový server Apache adatabázový server MySQL. Stanice je připojena do sítě internetu i lokální sítě. V lokální síti jsouzapojeny další  pracovní   stanice sloužící   zaměstnancům ke komunikaci   se   systémem a  laserovátiskárna pro tisk faktur. Celý systém je založen na použití PHP skriptů pro generování dynamickýchstránek   obchodu   a   administrace   umožňujících   interaktivní   komunikaci   uživatele   se   systémem.Systém  bude  mít   všechna  data   uložená   v   databázi.   Stránky  budou   rozdělené   do   dvou   značněnezávislých částí a to stránek katalogu, které se budou starat o zobrazování zboží, košík a generaciobjednávky a stránek admistračních, které budou zajišťovat funkce nabízené zaměstnancům. Veškerá   komunikace   zákazníků   nebo   prodavačů   se   serverem   probíhá   přes   protokol   http   nebozabezpečený https.

Obr. 9: Ukázka stavového diagramu

Obr. 10: Ukázka stavového diagramu

7 Diagram aktivity (činnosti)

Diagramy aktivity  (Activity  diagrams,  někdy překládáno  také   jako  diagramy činnosti)  spolu   sestavovými diagramy popisují dynamiku vyvíjeného systému. Diagram aktivity popisuje jednotlivékroky operace nebo procesu. Úzce souvisí se stavovými diagramy. 

Diagram   aktivity   podává   zjednodušený   přehled   jednotlivých   kroků   procesu.   Každá   činnost   jereprezentována oválem (obdélníkem se zaoblenými rohy, který je ale podstatně užší, než je tomu vpřípadě grafického prvku stavu). Po dokončení každé činnosti následuje přechod na další činnost.Tento přechod je v diagramu znázorněn šipkou. Činností  může být i čekání. Začátek a konec seoznačuje podobně jako ve stavovém diagramu (plný kroužek, plný kroužek s bílým okrajem). 

Diagramy aktivity obsahují následující prvky:

aktivita, činnost (activity)větvení, rozhodování (branch)začátek (start)konec (end)sloučení (merge)větvení pro modelování souběžných cest (fork)spojení (join)podmínka (guard expression)

Při větvení rozlišujeme, zda se jedná o větvení na základě rozhodování (platné PIN, neplatné PIN)nebo zda se jedná o souběžné cesty. Podmínka rozhodování se uvádí v hranatých závorkách.

Obr. 11: Ukázka diagramu aktivity dle [6]

8 Diagram komponent a diagram nasazení

Diagramy komponent (Component diagrams) a diagramy nasazení (Deployment diagrams) popisujífyzickou architekturu navrhovaného systému. 

Komponenta je označení pro fyzicky existující část softwaru systému – nejčastěji se jedná o modul;může   to   však   být   také   datový   soubor,   dynamicky   linkovaná   knohovna,   spustitelný   soubor,dokument,   apod.   Komponenta   může   být   implementací   více   tříd.   Každá   komponenta   má   svérozhraní.  Při   modelování   se   setkáváme   se   třemi   typy   komponent:  rozmisťované   komponenty,podpůrné   komponenty   a   prováděcí   komponenty.  Mezi   rozmisťované   komponenty   patří   např.dynamicky  linkované  knihovny (DLL)  nebo spustitelné   soubory.  Rozmisťované  komponenty sevytváří z podpůrných komponent. Prováděcí komponenty jsou generovány za běhu systému.

Obr. 12: Ukázka diagramu nasazení a diagramu komponent (spojeny) dle [6]

Schmuller [10] uvádí následující důvody pro používání diagramu komponent:

• předvedení struktury hotového systému zákazníkovi,

• podpora vývojářů – aby věděli co a s čím budou dělat,

• podpora tvorby dokumentace – aby autoři dokumentace věděli, o čem psát,

• podpora a usnadnění opakovaného použití komponent.

Diagramy nasazení  se používají ke znázornění hardware a rozmístění jednotlivých softwarovýchkomponent na hardware. Hlavním hardwarovým prvkem je uzel (node).  Uzel je reprezenotván 3Dhranolem nakresleném v perspektivě. Uzel může být dvojího typu: procesor a zařízení. procesor jeschopen spustit komponentu. Zařízení není schopno pustit komponentu.

Uzly se často v diagramech spojují s komponentami. 

Použitá literatura a internetové zdroje[1]   Arlow, J., Neustat, I.: UML a unifikovaný proces vývoje aplikací. Computer Press, ISBN: 80­7226­947­X, Praha 2003. 

[2]   Drbal: Objektově­orientované metodiky a techniky. Skripta VŠE, Praha 1997 

[3]   Chlapek, Řepa: Materiály ke strukturované analýze. Skripta VŠE, Praha 1997 

[4] UML Resource page, www.uml.org

[5] Cetus Tutorial, http://www.cetus­links.org/oo_uml.html#oo_uml_tutorials

[6] Miller, R: Practical UML™: A Hands­On Introduction for Developers, Borland´s Tutorial

[7] UML Resource Center, http://www­306.ibm.com/software/rational/uml/

[8]   Pressman,R.S.: Software Engineering: A Practitioner's Approach. ISBN 0­07­707936­1,McGraw­Hill, 1992. 

[9]   Richta, Sochor: Softwarové inženýrství I. Skripta ČVUT­FEL, Praha 1996,1998 

[10] Schmuller, J: Myslíme v jazyku UML, Grada, Praha 2001


Recommended