SZZ » temata » 31-uml

Export page to Open Document format

Jazyk UML

Definice: UML je jednotný grafický (vizuální) jazyk pro jednotnou specifikaci, vizualizaci, konstrukci a dokumentaci při objektově orientované analýze a návrhu (OOA&D) i pro modelování organizace (business modelling).

Pozor, častá chyba, nepatří sem ER diagram!

UML operuje s pojmem pohled (view). Pohled systému je projekce systému na jeden z jeho relevantních aspektů.
Taková projekce se zaměřuje na příslušný aspekt a ignoruje ostatní.
Jak jistě vyplývá z podstaty věci, je vhodné vytvářet několik různých pohledů na tentýž systém.
Pohledy nad systémem jsou pak modelovány prostřednictvím vhodných nástrojů (modelů) poskytovaných UML.
Můžeme rozlišit tyto základní pohledy:

  • Strukturální pohled popisuje vrstvu mezi objekty a třídami, jejich asociace a možné komunikační kanály.
  • Pohled chování popisuje, jak systémové komponenty interagují, charakterizuje reakce na vnější systémové operace.
  • Datový pohled popisuje stavy systémových komponent (objekty) a jejich vazby.
  • Pohled rozhraní je zaměřeno na zapouzdření systémových částí a jejich potenciální použití okolím systému.

Nabízí několik základních diagramů:

Časti UML

  • Prvky
  • Strukturní: třída, případ užití, komponenta
  • Chování: interakce, stav
  • Seskupování: modul, balíček, podsystém (angl. package)
  • Doplňkové: komentáře a poznámky
  • Vztahy
  • Asociace (spojení mezi prvky)
  • Závislost (změna v jednom prvku ovlivní jiný závislý prvek)
  • Agregace, Kompozice (vyjádření dekompozice prvku na podčásti)
  • Generalizace (vztah mezi obecnějším a specifičtějším prv-kem)
  • Realizace (vztah mezi předpisem a jeho uskutečněním deklarace/instanciace)
  • Mechanizmy
  • Specifikace – textový popis jednotlivých elementů
  • Ozdoby – volitelné doplňky elementů
  • Podskupiny – různé způsoby „vidění světa“ (klasifikátor, instance, rozhraní, implementace)

Asociacia

  • slouží k zachycení vztahů a informací mezi třídami z několika různých perspektiv
  • vyjadruhe identifikaci vztahu mezi třídami - Asociace má svůj název
  • vyjadruje násobnost vztahu - kolik instancí třídy A může být svázáno s instancí třídy B
  • Určení jakou roli hraje objekt ve vztahu (např. zaměstnanec, zaměstnavatel apod.)
  • Asociace se graficky znázorňuje čárou mezi asociovanými třídami.
  • Násobnost a role se uvádějí u čáry blíže k objektu, ke kterému se váží.
  • Stupeň asociace – kolik tříd se podílí (participuje) v jedné asociaci
    • 2 (binární)
    • 3 (ternální)
  • Povýšení asociace na třídu. V objektově orientovaném návrhu lze asociaci povýšit na třídu.
    • V případech, kdy chceme asociaci přiřadit parametry, které nelze přiřadit objektu v asociaci.
    • Jiným případem povýšení je eliminace vícenásobných asociací.

Agregace
  • vyjadřuje slabší vztah mezi objektem reprezentujícím celek a objekty reprezentující části celku.
  • příklad: Vztah firma-zaměstnanci
  • objektu reprezentujícímu celek se říká agregační objekt (seskupený)
  • jeho částem pak konstituční objekty (tvořící).
  • seskupený objekt může existovat bez svých konstitučních objektů
  • agregace bývají homeometrické (tj. konstituenti patří do téže třídy).

Kompozice
  • vyjadřuje silnější vztah mezi objektem reprezentujícím celek a objekty reprezentující části celku
  • Příklad: člověk - orgány
  • Objektu reprezentujícímu celek se říká kompozitní (složený) objekt
  • jeho částem pak komponentní (složkové) objekty.
  • Složený objekt nemůže existovat bez svých komponent.
  • Složený objekt většinou řídí životní dráhu svých komponent
  • Komponentní objekt může být součástí pouze jedné kompozice.
  • Implicitní násobnost každé složky je 1.
  • Kompozice bývají heterometrické (tj. komponenty patří do různých tříd).

Generalizacia
  • zachycuje vazbu mezi třídami, kterou již známe – dědičnost.
  • Zobrazuje se šipkou s prázdným trojúhelníkem.
  • Existuje vícenásobná dědičnost

Zavislost
  • vyjadřuje jiné různé vztahy mezi objekty či třídami.
  • Typ závislosti se v diagramech označuje pomocí stereotypů
    • «use» - objekt třídy A (klient) sice neobsahuje objekt třídy B (dodavatel), tedy není jeho složkou, ale přesto jej potřebuje.
    • «instantiate» – klient je instancí dodavatele
    • «trace» – obecná vazba mezi elementy, které jsou na různé úrovni abstrakce (analýza/návrh)
    • «refine» – upřesnění, např. dvě třídy, jedna z nich je optimalizovaná na výkon
    • «friend» – řízené narušení zapouzdření,klient má přístup k privátním prvkům dodavatele
    • «bind» – u generický tříd zobrazuje navázání objektu na generický parametr <T>

Realizacia
  • je vztah mezi třídou a rozhraním, který říká, že třída implementuje všechny operace z daného rozhraní.
  • Libovolný objekt pracující s tímto rozhraním pak umí pracovat i s jeho implementačními třídami
  • Rozhraní je specifický typ třídy, která slouží pouze jako závazná definice chování, neobsahuje implementaci.

UML v etapách vývoje softwaru

1.Specifikace požadavků

  • Vyuzivaju sa
  • diagramy případů užití
  • detaily případů užití
  • specifikace (strukturovaný text)
  • slovníky pojmů
Diagramy případů užití
  • Info
  • Používají se pro zachycení požadavků – případů užití a jejich účastníků.
  • Každý případ užití má svůj název, jednoznačný identifikátor a specifikaci.
  • Znázorňujú hranice, účastníkov, interakcie medzi aktérmi a prípady použitia
  • Zobecniť môžeme
    • zobecnění účastníka = student,ucitel > uzivateľ
    • zobecnění případu užití = najdiCD, najdiKnihu > najdiProdukt
  • relace «include»
    • tato relace vyjadřuje situaci, kdy jeden případ užití zahrnuje v sobě jeden či více jiných případů užití.
    • vložený případ se musí vždy použít
  • relace «extend»
    • Tato relace vyjadřuje situaci, kdy jeden případ užití může rozšiřovat funkcionalitu jiných případů užití.
    • Oproti relaci include, případ v relaci extend je nepovinný.

clipboard04.jpg

Detaily případů užití
  • Info
  • Samotné diagramy případů užití pouze ukazují, jaké akce je možné v systému vykonávat a kdo je může vykonávat.
  • V mnoha případech je však tato informace málo konkrétní, nedá se z ní poznat co vše se děje a za jakých podmínek.
  • Pro konkretizaci (specifikaci) případu užití existuje Detail případu užití.
  • Každá specifikace případu užití má své vstupní podmínky, tok událostí a výstupní podmínky.
  • Pro jeho zobrazení neexistuje standard, většinou se však používá tabulka

clipboard01.jpg

2. Analýza

  • Vyuzivaju sa:
  • diagramy analytických tříd
  • realizace případů užití (diagramy interakce)
  • diagramy aktivit
  • analytické balíčky
  • objektové diagramy
Analytické třídy
  • Info
  • mapují pojmy problémové domény na abstraktní entity modelu – třídy.
  • není návrhová třída, tj. analytická třída slouží pouze pro identifikaci entit v řešené problematice a vztahů mezi nimi
  • Během etapy návrhu jsou analytické třídy upřesňovány do jedné či více návrhových tříd.
  • Obsahuje
    • jen nejpodstatnější atributy a operace
    • minimální množinu odpovědností
    • minimum vazeb na jiné (analytické) třídy

Objektove diagrami
  • Info
  • Objektové diagramy patří mezi diagramy dynamické.
  • Zachycují konkrétní instance tříd a jejich vazby v určitém čase či podmínce
  • Vazby mezi objekty se mohou v průběhu měnit

ads.jpg

Analytické balíčky
  • Info
  • souvisejí s dekompozicí problému
  • umožňují souběžnou práci na více částech (balíčcích) v etapě návrhu
  • seskupují sémanticky související elementy a definují hranice tohoto seskupení.
  • Více balíčků můžeme řešit souběžně.
    • poskytuje zapouzdření prostoru jmen
    • definuje viditelnost zapouzdřených elementů
  • mohou obsahovat:
    • případy užití
    • analytické třídy
    • realizace případů užití
    • další balíčky

Diagramy interakce - Diagram spolupráce
  • Info
  • Diagramy interakce zahrnují
    • diagramy spolupráce, které zdůrazňují strukturálí relace mezi objekty
    • sekvenční diagramy které zdůrazňují časově orientovanou posloupností předávání zpráv mezi objekty, bývají přehlednější.

Diagramy interakce - Sekvenční diagramy
  • Info
  • Reprezentují časově orientovanou posloupnost předávání zpráv mezi objekty
  • bývají přehlednější než diagramy spolupráce
  • uživatelé (zákazník) jim lépe porozumí.
  • Ukončení života objektu je znázorněno křížem na konci časové osy objektu
  • umožňují definovat omezení (constraints) či význačný stav objektu.

aa.jpg

Diagramy aktivit
  • Info
  • Diagramy aktivit reprezentují OO diagramy toků a lze je připojit k libovolnému modelovanému elementu (třída, balík, apod.)
  • Diagram aktivit je zvláštním případem stavového automatu, který je určen především na modelování manažerských procesů.
  • Diagram aktivit obsahuje počátek a konec, stavy aktivity a přechody mezi stavy.

sda.jpg

  • Vyuzivaju sa
  • analytických třídy
  • stavové diagramy
  • návrhové podsystémy
  • Info
  • Specifikace návrhových tříd je na takovém stupni, že je lze přímo implementovat.
  • Jedná se o upřesnění analytických tříd.
  • Využití tříd z doménového řešení (knihovny, vrstva aplikačního serveru, GUI, . . . ).

Stavové diagramy
  • Info
  • stavové automaty
  • speciálni případ stavového automatu je diagram aktivit (modelování manažerských procesů, účastní se více objektů)
  • stavový diagram – modelování životního cyklu jednoho reaktivního objektu
  • Reaktivní objekt
  • reaguje na vnejší události
  • životní cyklus je modelován jako řada stavů, přechodů a událostí.
  • Chování je důsledkem předchozího chování (následný stav závisí na aktuálním stavu).
  • Stavové diagramy mohou modelovat dynamické chování reaktivních objektu:
    • třídy
    • případy užití
    • podsystémy
    • systémy

dasa.jpg

Potvrzení

31
Celé jménoOK!!!
Martin Pavelka2016-05-27 17:33:48 
 1

Diskuze

Martin Pavelkaxpavel27, 2016/05/27 17:33

Doplnene

Vložte svůj komentář
 
temata/31-uml/main.txt · Poslední úprava: 2016/05/27 17:33 autor: xpavel27
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki