Typy UML vztahů: Asociace, Závislost, Zobecnění

Co je UML vztah?

Vztahy v UML se používají k reprezentaci spojení mezi strukturálními, behaviorálními nebo seskupovacími věcmi. Nazývá se také odkaz, který popisuje, jak spolu mohou dvě nebo více věcí souviset během provádění systému. Typy vztahů UML jsou Asociace, Závislost, Zobecnění a Realizace.

Pojďme si je podrobně prostudovat

Typy vztahů diagramu tříd UML

Vztahy diagramu tříd UML

Sdružení

Jedná se o sadu vazeb, která propojuje prvky modelu UML. Také definuje, kolik objektů se tohoto vztahu účastní.

Závislost

Ve vztahu závislosti, jak název napovídá, jsou dva nebo více prvků na sobě závislé. V tomto druhu vztahu, pokud provedeme změnu určitého prvku, je pravděpodobné, že všechny ostatní prvky budou také ovlivněny změnou.

Zobecnění

Říká se tomu také vztah rodič-dítě. Při zobecnění je jeden prvek specializací jiné obecné složky. Může to být nahrazeno. Většinou se používá k reprezentaci dědictví.

Realizace

V realizačním vztahu UML jedna entita označuje nějakou odpovědnost, která není implementována sama o sobě, a druhá entita, která je implementuje. Tento vztah se většinou nachází v případě Rozhraní.

Sdružení

Je to strukturální vztah, který představuje objekty, které mohou být připojeny nebo spojeny s jiným objektem uvnitř systému. Na vztah přidružení lze použít následující omezení.

  • {implicitní} – Implicitní omezení určují, že vztah není zjevný; je založen na konceptu.
  • {objednáno} – Uspořádaná omezení určují, že množina objektů na jednom konci přidružení je specifickým způsobem.
  • {měnitelný} – Změnitelné omezení určuje, že spojení mezi různými objekty v systému lze přidávat, odstraňovat a upravovat podle požadavku.
  • {addOnly} – Specifikuje, že nová spojení mohou být přidána z objektu, který se nachází na druhém konci asociace.
  • {zamrzlý} – Určuje, že když je odkaz přidán mezi dva objekty, nelze jej upravit, pokud je u daného spojení nebo spojení aktivní zmrazené omezení.

Můžeme také vytvořit třídu, která má asociační vlastnosti; nazývá se jako asociační třída.

Reflexní asociace

Reflexní asociace je podtypem asociačního vztahu v UML. V reflexivní asociaci mohou být instance stejné třídy vzájemně propojeny. O instanci třídy se také říká, že je objektem.

Reflexní přidružení uvádí, že v rámci objektů stejné třídy může být přítomen odkaz nebo spojení.

Podívejme se na příklad ovoce třídy. Třída ovoce má dvě instance, například mango a jablko. Reflexní asociace uvádí, že spojení mezi mangem a jablkem může být přítomno, protože se jedná o případy stejné třídy, jako je ovoce.

Řízené sdružení

Jak název napovídá, řízená asociace souvisí se směrem toku v rámci asociačních tříd.

V řízené asociaci je tok řízen. Přidružení z jedné třídy do jiné třídy proudí pouze jedním směrem.

Označuje se plnou čarou se šipkou.

Příklad:

Můžete říci, že mezi serverem a klientem existuje řízený asociační vztah. Server může zpracovávat požadavky klienta. Tento tok je jednosměrný a proudí pouze ze serveru ke klientovi. V rámci serverů a klientů systému tedy může být přítomen řízený asociační vztah.

Závislost

Pomocí vztahu závislostí v UML lze porovnat, jak jsou různé věci uvnitř konkrétního systému na sobě závislé. Závislost se používá k popisu vztahu mezi různými prvky v UML, které jsou na sobě závislé.

Stereotypy

  • "svázat" – Bind je omezení, které určuje, že zdroj může inicializovat šablonu v cílovém umístění pomocí poskytnutých parametrů nebo hodnot.
  • "odvodit" – Představuje, že umístění zdrojového objektu lze vypočítat z cílového objektu.
  • "přítel" – Určuje, že zdroj má v cílovém objektu jedinečnou viditelnost.
  • "instanceOf" – Určuje, že instance cílového klasifikátoru je zdrojovým objektem.
  • "instantovat" – Určuje, že zdrojový objekt je schopen vytvářet instance cílového objektu.
  • "vylepšit" – Určuje, že zdrojový objekt má výjimečnou abstrakci než cílový objekt.
  • "použití" – Používá se při vytváření balíčků v UML. Stereotyp použití popisuje, že prvky zdrojového balíčku mohou být přítomny i uvnitř cílového balíčku. Popisuje, že zdrojový balíček využívá některé prvky cílového balíčku.
  • "nahradit" – určuje, že za běhu může být dodavatelem nahrazen klient.
  • "přístup" – Určuje, že zdrojový balíček přistupuje k prvkům cílového balíčku které se také nazývá soukromé sloučení.
  • "Import" – Určuje, že cíl může importovat prvek zdrojového balíčku, jak je definován uvnitř cíl, kterému se také říká veřejné sloučení.
  • "povolení" – určuje, že zdrojový prvek má přístup k prvku dodavatel bez ohledu na deklarovanou viditelnost dodavatele.
  • "rozšířit" – Pomůže vám určit, že cíl může rozšířit chování zdrojového prvku.
  • "zahrnout" – Umožňuje určit zdrojový prvek, který může zahrnovat chování jiného prvku na určeném místě. (stejné jako volání funkce v c/c++)
  • "stát se" – Specifikuje, že cíl je podobný zdroji s různými hodnotami a rolemi.
  • "volání" – Určuje, že zdroj může vyvolat metodu cílového objektu.
  • "kopírovat" – Určuje, že cílový objekt je nezávislý, kopie zdrojového objektu.
  • "parametr" - dodavatel je parametr klientských operací.
  • "odeslat" - klient je operace, která posílá dodavateli nějaký blíže nespecifikovaný cíl.

Stereotypy mezi státními stroji

  • "poslat" – Určuje, že zdrojová operace odešle cílovou událost.

Zobecnění

Je to vztah mezi obecnou entitou a jedinečnou entitou, která je přítomna uvnitř systému.

Ve vztahu zobecnění se objektově orientovaný koncept tzv dědictví lze implementovat. Mezi dvěma objekty, nazývanými také jako entity nebo věci, existuje vztah zobecnění. Ve vztahu zobecnění je jedna entita rodičem a druhá je považována za dítě. Tyto entity lze reprezentovat pomocí dědičnosti.

Při dědění může potomek kteréhokoli rodiče přistupovat k funkcím uvedeným v nadřazeném objektu, aktualizovat je nebo je zdědit. Podřízený objekt může k sobě přidat svou funkčnost a také zdědit strukturu a chování nadřazeného objektu.

Tento typ vztahu se souhrnně nazývá vztah zobecnění.

Stereotypy a jejich omezení

  • "implementace" – Tento stereotyp se používá k vyjádření toho, že podřízená entita je implementována nadřazenou entitou zděděním struktury a chování nadřazeného objektu, aniž by došlo k porušení pravidel.Hodnocení Tento stereotyp je široce používán v jediném dědictví.

Vztah zobecnění obsahuje omezení, jako je úplný, neúplný, aby se zkontrolovalo, zda jsou do vztahu zahrnuty všechny podřízené entity nebo ne.

Realizace

V realizačním vztahu UML jedna entita označuje nějakou odpovědnost, která není implementována sama o sobě, a druhá entita, která je implementuje. Tento vztah se většinou nachází v případě Rozhraní.

Realizace může být reprezentována dvěma způsoby:

  • Použití kanonická forma
  • Pomocí elidovaná forma
Realizace v UML
Realizace v UML

Ve výše uvedeném diagramu obchodní pravidla účtu realizují rozhraní IRuleAgent.

Typy realizace

  1. Kanonická forma V realizačním vztahu UML se kanonická forma používá k realizaci rozhraní napříč systémem. K vytvoření rozhraní používá stereotyp rozhraní a k realizaci konkrétního rozhraní se používá realizační vztah. V kanonické formě je realizační vztah označen pomocí čárkované směrované čáry s velkou otevřenou šipkou. Ve výše uvedeném diagramu je rozhraní Iruleagent realizováno pomocí objektu zvaného Account Business Rules.
  2. Elided forma Realizace v Diagram tříd UML lze také zobrazit pomocí elidovaného tvaru. V elidované formě je rozhraní označeno pomocí kruhu, který se také nazývá zápis lízátka. Toto rozhraní, když je realizováno pomocí čehokoli přítomného uvnitř systému, vytváří elidovanou strukturu. Ve výše uvedeném diagramu je rozhraní Iruleagent označeno pomocí elidované formy, kterou realizuje acctrule.dll.

Složení

Nejedná se o standardní UML vztah, ale stále se používá v různých aplikacích.

Složená agregace je podtypem agregačního vztahu s charakteristikami jako:

  • je to obousměrná asociace mezi objekty.
  • Je to vztah celek/část.
  • Pokud je kompozit odstraněn, jsou odstraněny všechny ostatní díly, které jsou k němu přidruženy.

Kompozitní agregace je popsána jako binární asociace zdobená vyplněným černým diamantem na agregovaném (celém) konci.

Kompozice v UML

Kompozice v UML

Složka je struktura, která obsahuje n počet souborů. Složka se používá k ukládání souborů uvnitř. Každá složka může být spojena s libovolným počtem souborů. V počítačovém systému je každý jednotlivý soubor součástí alespoň jedné složky v systému organizace souborů. Stejný soubor může být i součástí jiné složky, ale není to povinné. Kdykoli je soubor ze složky odstraněn, složka zůstane nedotčena, zatímco data související s tímto konkrétním souborem jsou zničena. Pokud je ve složce provedena operace odstranění, ovlivní to také všechny soubory, které se ve složce nacházejí. Všechny soubory spojené se složkou jsou automaticky zničeny, jakmile je složka odstraněna ze systému.

Tento typ vztahu v UML je znám jako kompozitní agregační vztah.

Agregace

An agregace je podtypem asociačního vztahu v UML. Agregace a kompozice jsou oba typy asociačních vztahů v UML. Agregační vztah lze popsat jednoduchými slovy jako „objekt jedné třídy může vlastnit nebo přistupovat k objektům jiné třídy“.

V agregačním vztahu zůstává závislý objekt v rozsahu vztahu, i když je zdrojový objekt zničen.

Vezměme si příklad auta a kola. Auto potřebuje kolo, aby správně fungovalo, ale kolo ne vždy potřebuje auto. Může být také použit na kole, jízdním kole nebo jiných vozidlech, ale ne na konkrétním vozidle. Zde má objekt kola smysl i bez objektu auta. Takový typ vztahu se nazývá agregační vztah.

Shrnutí

  • Vztah v UML umožňuje, aby se jedna věc vztahovala k ostatním věcem uvnitř systému.
  • Vztahy asociace, závislosti, zobecnění a realizace jsou definovány pomocí UML.
  • Kompoziční vztah lze také použít k reprezentaci toho, že objekt může být součástí pouze jednoho kompozitu najednou.
  • Asociace se používá k popisu toho, že jeden objekt může být spojen s jiným objektem.
  • Závislost označuje, že objekty mohou být na sobě závislé.
  • Realizace je smysluplný vztah mezi klasifikátory.
  • Generalizace se také nazývá vztah rodič-dítě.