Co je třída?
Třída je plán, který se používá k vytvoření objektu. Třída definuje, co může objekt dělat.
Co je diagram tříd?
UML CLASS DIAGRAM poskytuje přehled softwarového systému zobrazením tříd, atributů, operací a jejich vztahů. Tento diagram obsahuje název třídy, atributy a provoz v oddělených určených oddílech.
Diagram tříd definuje typy objektů v systému a různé typy vztahů, které mezi nimi existují. Poskytuje pohled na vysokou úroveň aplikace. Tuto metodu modelování lze spustit téměř se všemi objektově orientovanými metodami. Třída může odkazovat na jinou třídu. Třída může mít své objekty nebo může dědit z jiných tříd.
Diagram tříd pomáhá vytvářet kód pro vývoj softwarových aplikací.
V tomto výukovém programu se naučíte:
- Co je třída?
- Co je diagram tříd?
- Výhody diagramu tříd
- Základní prvky diagramu tříd UML
- Jméno třídy
- Atributy:
- Vztahy
- Agregace vs. složení
- Abstraktní třídy
- Příklad diagramu tříd UML:
- Diagram tříd v životním cyklu vývoje softwaru:
- Osvědčené postupy pro návrh třídního diagramu
Výhody diagramu tříd
- Diagram tříd Ilustruje datové modely i pro velmi složité informační systémy
- Poskytuje přehled o struktuře aplikace před prostudováním skutečného kódu. To může snadno zkrátit dobu údržby
- Pomáhá lépe porozumět obecným schématům aplikace.
- Umožňuje kreslení podrobných grafů, které zvýrazňují kód, který je třeba naprogramovat
- Užitečné pro vývojáře a další zúčastněné strany.
Základní prvky diagramu tříd UML
Základní prvky diagramu tříd UML jsou:
- Jméno třídy
- Atributy
- Operace
Jméno třídy
Název třídy je potřeba pouze v grafickém znázornění třídy. Objeví se v nejvyšším oddílu. Třída je plán objektu, který může sdílet stejné vztahy, atributy, operace a sémantiku. Třída je vykreslena jako obdélník, včetně jejího názvu, atributů a operací v oddělených oddílech.
Při zastupování třídy je třeba se postarat o následující pravidla:
- Název třídy by měl vždy začínat velkým písmenem.
- Název třídy by měl být vždy uprostřed první přihrádky.
- Název třídy by měl být vždy napsán tučně .
- Název abstraktní třídy by měl být napsán kurzívou.
Atributy:
Atribut je pojmenována vlastnost třídy, která popisuje modelovaný objekt. V diagramu tříd je tato komponenta umístěna těsně pod oddílem jmen.
Odvozený atribut se počítá z jiných atributů. Například věk studenta lze snadno vypočítat z data jeho narození.
Vlastnosti atributů
- Atributy jsou obvykle psány spolu s faktorem viditelnosti.
- Veřejné, soukromé, chráněné a balíček jsou čtyři viditelnosti, které jsou označeny znaménky +, -, # nebo ~.
- Viditelnost popisuje přístupnost atributu třídy.
- Atributy musí mít smysluplný název, který popisuje jejich použití ve třídě.
Vztahy
V UML existují hlavně tři druhy vztahů:
- Závislosti
- Zobecnění
- Sdružení
Závislost
Závislostí se rozumí vztah mezi dvěma nebo více třídami, ve kterých změna v jedné může vynutit změny v druhé. Vždy však vytvoří slabší vztah. Závislost označuje, že jedna třída závisí na jiné.
V následujícím příkladu má Student závislost na College
Zobecnění:
Zobecnění pomáhá připojit podtřídu k její nadtřídě. Podtřída se dědí ze své nadtřídy. Generalizační vztah nelze použít k modelování implementace rozhraní. Diagram tříd umožňuje dědění z více nadtříd.
V tomto příkladu je třída Student zobecněna z Person Class.
Sdružení:
Tento druh vztahu představuje statické vztahy mezi třídami A a B. Například; zaměstnanec pracuje pro organizaci.
Zde jsou některá pravidla pro přidružení:
- Sdružení je většinou sloveso nebo slovesná fráze nebo podstatné jméno nebo podstatná fráze.
- Mělo by to být pojmenováno, aby se označila role, kterou hraje třída připojená na konci cesty přidružení.
- Povinné pro reflexivní asociace
V tomto příkladu je ukázán vztah mezi studentem a vysokou školou, což je studium.
Násobnost
Násobnost je faktor spojený s atributem. Určuje, kolik instancí atributů je vytvořeno při inicializaci třídy. Pokud není zadána multiplicita, standardně se jedna považuje za výchozí multiplicitu.
Řekněme, že na jedné škole je 100 studentů. Vysoká škola může mít více studentů.
Agregace
Agregace je speciální typ asociace, která modeluje celostranný vztah mezi agregátem a jeho částmi.
Například třídu koleje tvoří jeden nebo více studentů. V agregaci nejsou obsažené třídy nikdy zcela závislé na životním cyklu kontejneru. Tady zůstane vysokoškolská třída, i když student není k dispozici.
Složení:
Složení je speciální typ agregace, který označuje silné vlastnictví mezi dvěma třídami, když je jedna třída součástí jiné třídy.
Například pokud se vysoká škola skládá z tříd student. Vysoká škola mohla obsahovat mnoho studentů, zatímco každý student patří pouze k jedné vysoké škole. Pokud tedy vysoká škola nefunguje, všichni studenti také odstranili.
Agregace vs. složení
Agregace |
Složení |
Agregace označuje vztah, kde dítě může existovat odděleně od své nadřazené třídy. Příklad: Automobil (rodič) a auto (dítě). Takže pokud odstraníte automobil, podřízené auto stále existuje. |
Vztah zobrazení kompozice, kde dítě nikdy nebude existovat nezávisle na rodiči. Příklad: Dům (rodič) a Pokoj (dítě). Pokoje se nikdy nerozdělí do domu. |
Abstraktní třídy
Je to třída s provozním prototypem, ale ne s implementací. Je také možné mít abstraktní třídu bez deklarovaných operací uvnitř. Abstrakt je užitečný pro identifikaci funkcí napříč třídami. Uvažujme příklad abstraktní třídy. Předpokládejme, že máme abstraktní třídu nazvanou jako pohyb s metodou nebo operací deklarovanou uvnitř. Metoda deklarovaná uvnitř abstraktní třídy se nazývá move () .
Tuto metodu abstraktní třídy může ke změně aktuální polohy použít jakýkoli objekt, například auto, zvíře, robot atd. Je efektivní použít tuto metodu abstraktní třídy s objektem, protože pro danou funkci není poskytována žádná implementace. Můžeme jej použít jakýmkoli způsobem pro více objektů.
V UML má abstraktní třída stejný zápis jako třída. Jediný rozdíl mezi třídou a abstraktní třídou spočívá v tom, že název třídy je přísně psán kurzívou.
Abstraktní třídu nelze inicializovat ani vytvořit instanci.
Ve výše uvedeném abstraktním zápisu třídy existuje jediná jediná abstraktní metoda, kterou lze použít více objekty tříd.
Příklad diagramu tříd UML
Vytvoření třídního diagramu je přímočarý proces. Nezahrnuje mnoho technických prvků. Zde je příklad:
Systém bankomatů je velmi jednoduchý, protože zákazníci musí pro příjem hotovosti stisknout některá tlačítka. Existuje však několik bezpečnostních vrstev, které musí každý systém ATM projít. To pomáhá předcházet podvodům a poskytnout bankovním zákazníkům hotovost nebo informace o potřebách.
Níže je uveden příklad diagramu tříd UML:
Diagram tříd v životním cyklu vývoje softwaru
Diagramy tříd lze použít v různých fázích vývoje softwaru. Pomáhá při modelování diagramů tříd ve třech různých perspektivách.
1. Konceptuální perspektiva: Konceptuální diagramy popisují věci v reálném světě. Měli byste nakreslit diagram, který představuje koncepty ve studované doméně. Tyto pojmy se týkaly třídy a ta je vždy nezávislá na jazyce.
2. Specifikační perspektiva: Specifikační perspektiva popisuje softwarové abstrakce nebo komponenty se specifikacemi a rozhraními. Nezaručuje však konkrétní implementaci.
3. Perspektiva implementace: Tento typ diagramů tříd se používá pro implementace v konkrétním jazyce nebo aplikaci. Perspektiva implementace, použití pro implementaci softwaru.
Osvědčené postupy pro návrh třídního diagramu
Diagramy tříd jsou nejdůležitějšími diagramy UML používanými pro vývoj softwarových aplikací. Při kreslení třídního diagramu je třeba vzít v úvahu mnoho vlastností. Představují různé aspekty softwarové aplikace.
Zde je několik bodů, které byste měli mít na paměti při kreslení diagramu tříd:
- Název daný třídnímu diagramu musí mít smysl. Kromě toho by měl popisovat skutečnou stránku systému.
- Je třeba předem určit vztah mezi jednotlivými prvky.
- Je třeba určit odpovědnost za každou třídu.
- U každé třídy by měl být uveden minimální počet vlastností. Nežádoucí vlastnosti proto mohou diagram snadno zkomplikovat.
- Poznámky uživatele by měly být zahrnuty, kdykoli potřebujete definovat nějaký aspekt diagramu. Na konci výkresu to musí být pochopitelné pro tým vývoje softwaru.
- A konečně, před vytvořením finální verze je třeba diagram nakreslit na obyčejný papír. Kromě toho by mělo být přepracováno, dokud nebude připraveno ke konečnému odeslání.
Závěr
- UML je standardní jazyk pro specifikaci, návrh a vizualizaci artefaktů softwarových systémů
- Třída je plán pro objekt
- Diagram tříd popisuje typy objektů v systému a různé druhy vztahů, které mezi nimi existují
- Umožňuje analýzu a návrh statického pohledu na softwarovou aplikaci
- Diagramy tříd jsou nejdůležitější diagramy UML používané pro vývoj softwarových aplikací
- Základní prvky diagramu tříd UML jsou 1) Třída 2) Atributy 3) Vztahy
- Diagram třídy poskytuje přehled o tom, jak je aplikace strukturována před studiem skutečného kódu. Určitě to snižuje dobu údržby
- Diagram tříd je užitečný k mapování objektově orientovaných programovacích jazyků, jako jsou Java, C ++, Ruby, Python atd.