Diagram tříd UML
Abschlussbedingungen
Diagram tříd je:
- Zobrazení statické struktury systému prostřednictvím tříd a vztahů mezi nimi.
využití diagramu tříd:
- fáze analýzy (konceptuální model)
- fáze návrhu (návrh atributů a operací)
- fáze implementace (návrh a tvorba programového kódu) projektovaného systému
základní konstrukční prvky:
Třída (class) |
|
sdružuje objekty se společnými vlastnostmi a chováním (sdílejí stejné atributy, operace, vztahy a sémantiku) | |
atributcharakterizuje vlastnost objektuvypovídá o stavu objektu, případně popisuje historii jeho stavů (aktivit) operace (metoda)funkční složka objektu, která zajišťuje jeho chování; má formu funkce nebo proceduryconstructor: vytvoření instance třídy, tj. objektu (CREATE) get: čtení hodnoty atributu (READ) set: editace hodnoty atributu (UPDATE) destructor: zničení objektu (DELETE) |
|
Dostupnost (visibility) objektů diagramu třídUrčuje, zda a jak mohou ostatní elementy modelu využívat atributy a operace daného objektu. |
|
- private (soukromý) |
pouze pro danou třídu |
# protected (chráněný) |
pouze pro danou třídu a její instance (dětské třídy nebo objekty) |
* package |
pouze pro objekty obsažené ve stejném balíčku (package) |
+ public (veřejný) |
pro všechny objekty |
Typy tříd |
||
Model |
entitní, konceptuální, aplikační třída | objekty reprezentované třídou obsahují a zpracovávají data |
View |
boundary, třída uživatelského rozhraní | objekty reprezentované třídou používají aktoři k interakci se systémem třída má definované pouze operace: s entitními třídami (jež poskytují data) je spojena asociacemi (agregacemi) |
Controller |
ovládací třída | objekty reprezentované třídou koordinují chování v systému (definují způsob reakce uživatelského rozhraní na uživatelský vstup) |
Vztahy |
|
asociaceobecný sémantický vztah mezi prvky modelu, který specifikuje spojení mezi jejich instancemi(objekty, které vzniknou z tříd spojených asociací, si budou moci posílat zprávy) |
|
agregaceforma asociace, jež vyjadřuje vztah celek - částelement může „přežít“ svůj kontejner, příp. stát se součástí jiného kontejneru |
|
kompozicesilnější vazba než agregace - zrušením kontejneru automaticky zrušíme i obsažený element;daný element může být součástí právě jednoho kontejneru |
|
dědičnost (generalizace)hierarchický vztah tříd, v němž třída - potomek (subclass, specifický typ) dědí atributy a operace třídy - předka (superclass, nadtyp);kromě zděděných charakteristik může mít potomek ještě své specifické vlastnosti; zděděné vlastnosti mohou být v potomkovi modifikovány |
|
závislostvztah mezi dvěma elementy modelu, v němž změna jednoho (nezávislého) elementu ovlivní druhý (závislý) element |
|
realizacesouhrn všech veřejně přístupných metod dané třídy;umožňuje vícenásobné využití operací, aniž bychom museli zavádět dědičnost mezi třídami |
Násobnost (multiplicita, kardinalita) vztahů
zápis |
význam |
|
0..* | * | 0 až více |
0..1 | 0 nebo 1 | |
1..* | 1 až více | |
1..1 | 1 | právě 1 |
1..3 | 1,2,3 | 1 až 3 |
5,10,20 | 5, 10 nebo 20 | |
5..* | 5 až více |
Vlastnosti správného diagramu tříd:
- je normalizovaný
- umožňuje flexibilitu
- umožňuje znovupoužitelnost
Příklady a ukázky:
Diagram tříd pro informační systém školy
Komentář:
- Třídy Zkouška a Rozvrh jsou tzv. asociační třídy, které mají vazbu nikoli ke konkrétním třídám, ale k jejich vztahu.
- Třída Osoba je tzv. abstraktní třída, která slouží pouze ke vzniku tříd Student nebo Zaměstnanec, ale vlastní instance (tj. objekty Osoba) nevytváří.
- Třídy ZápisStudentů a ZápisZnámek jsou tzv. třídy uživatelského rozhraní, jež mají pouze operace a data jim poskytují entitní třídy spojené asociacemi nebo agregacemi.
Bibliografické citace
Bibliografický popis
Výpůjčky knih
Webová stránka
Katalog webových stránek
Zuletzt geändert: Donnerstag, 25. März 2021, 16:26