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 mohou dvě nebo více věcí spolu souviset během provádění systému. Typem vztahu UML jsou asociace, závislost, zobecnění a realizace.
Pojďme je podrobně prostudovat
- Sdružení
Jedná se o sadu odkazů, která spojuje prvky modelu UML. Také definuje, kolik objektů se účastní daného vztahu.
- Závislost
Ve vztahu závislosti, jak název napovídá, jsou dva nebo více prvků na sobě navzájem závislé. U tohoto druhu vztahu, pokud provedeme změnu konkrétního prvku, je pravděpodobné, že změna bude ovlivněna také u všech ostatních prvků.
- Zobecnění
Také se tomu říká vztah rodič-dítě. V generalizaci je jeden prvek specializací jiné obecné komponenty. Může to být nahrazeno. Většinou se používá k představení dědičnosti.
- Realizace
V realizačním vztahu UML označuje jedna entita určitou odpovědnost, která není implementována sama, a druhá entita, která je implementuje. Tento vztah se většinou vyskytuje v případě rozhraní.
V tomto výukovém programu UML se naučíte:
- Sdružení
- Závislost
- Zobecnění
- Realizace
- Složení
- Agregace
Sdružení
Jedná se o strukturální vztah, který představuje objekty, které lze připojit nebo spojit s jiným objektem uvnitř systému. Na vztah přidružení lze použít následující omezení.
- {implicit} - Implicitní omezení určují, že vztah není manifestní; je založen na konceptu.
- {ordered} - Uspořádaná omezení určují, že sada objektů na jednom konci přidružení je specifickým způsobem.
- {changeable} - Změnitelné omezení určuje, že spojení mezi různými objekty v systému lze přidat, odebrat a upravit podle požadavku.
- {addOnly} - Určuje, že nová připojení lze přidat z objektu, který je umístěn na druhém konci přidružení.
- {zmrazené} - Určuje, že když je přidán odkaz mezi dva objekty, nelze jej upravit, pokud je zmrazené omezení aktivní na daném odkazu nebo připojení.
Můžeme také vytvořit třídu, která má asociační vlastnosti; nazývá se to jako asociační třída.
Reflexní sdružení
Reflexivní asociace je podtyp asociačního vztahu v UML. V reflexivní asociaci mohou instance stejné třídy souviset navzájem. O instanci třídy se také říká, že je objekt.
Reflexivní přidružení uvádí, že odkaz nebo spojení může být přítomno v objektech stejné třídy.
Uvažujme o příkladu prvotřídního ovoce. Třída ovoce má dva příklady, například mango a jablko. Reflexivní asociace uvádí, že může existovat souvislost mezi mangem a jablkem, protože se jedná o instance stejné třídy, například ovoce.
Řízené sdružení
Jak název napovídá, směrovaná asociace souvisí se směrem toku v asociačních třídách.
V řízené asociaci je směrován tok. Přidružení z jedné třídy do jiné třídy probíhá pouze v jednom směru.
Označuje se plnou čarou s hrotem šipky.
Příklad:
Můžete říci, že mezi serverem a klientem existuje vztah řízeného přidružení. Server může zpracovávat požadavky klienta. Tento tok je jednosměrný, který proudí pouze ze serveru na klienta. Řízený asociační vztah může být tedy přítomen na serverech a klientech systému.
Závislost
Pomocí vztahu závislostí v UML je možné uvést, jak různé věci uvnitř konkrétního systému jsou 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
- «Bind» - 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.
- «Derive» - 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ý objekt.
- «Instantiate» - Určuje, že zdrojový objekt je schopen vytvářet instance cílového objektu.
- «Upřesnit» - Určuje, že zdrojový objekt má výjimečnou abstrakci než cílový objekt.
- «Use» - Používá se, když jsou balíčky vytvářeny v UML. Stereotyp použití popisuje, že prvky zdrojového balíčku mohou být přítomny také v cílovém balíčku. Popisuje, že zdrojový balíček využívá některé prvky cílového balíčku.
- «Substitute» - určuje, že klient může být za běhu programu nahrazen dodavatelem.
- «Access» - Určuje, že zdrojový balíček přistupuje k prvkům cílového balíčku, který se také nazývá jako soukromé sloučení.
- «Import» - Určuje, že cíl může importovat prvek zdrojového balíčku, jako by byl definován uvnitř cíle, který je také nazýván jako veřejné slučování.
- «Povolit» - určuje, že zdrojový prvek má přístup k prvku dodavatele bez ohledu na deklarovanou viditelnost dodavatele.
- «Extend» - Pomůže vám určit, že cíl může rozšířit chování zdrojového prvku.
- «Include» - Umožňuje určit zdrojový prvek, do kterého lze zahrnout chování jiného prvku na určeném místě. (stejné jako volání funkce v c / c ++)
- «Stát» - Určuje, že cíl je podobný zdroji s různými hodnotami a rolemi.
- «Call» - Určuje, že zdroj může vyvolat metodu cílového objektu.
- «Copy» - Určuje, že cílový objekt je nezávislý, kopie zdrojového objektu.
- «Parametr» - dodavatel je parametr operací klienta .
- «Odeslat» - klient je operace, která odesílá dodavateli nějaký nespecifikovaný cíl.
Stereotypy mezi stavovým automatem
- «Send» - Určuje, že operace zdroje odešle cílovou událost.
Zobecnění
Jedná se o vztah mezi obecnou entitou a jedinečnou entitou, která je přítomna uvnitř systému.
Ve vztahu generalizace lze implementovat objektově orientovaný koncept zvaný dědičnost . Zobecňovací vztah existuje mezi dvěma objekty, nazývanými také jako entity nebo věci. Ve vztahu generalizace je jedna entita rodičem a další je považována za dítě. Tyto entity lze reprezentovat pomocí dědičnosti.
V dědičnosti může dítě kteréhokoli z rodičů přistupovat, aktualizovat nebo dědit funkce, jak je uvedeno uvnitř nadřazeného objektu. Podřízený objekt může k sobě přidat svou funkčnost a zdědit strukturu a chování nadřazeného objektu.
Tento typ vztahu se souhrnně označuje jako generalizační vztah.
Stereotypy a jejich omezení
- «Implementace» - Tento stereotyp se používá k vyjádření, že podřízená entita je implementována nadřazenou entitou zděděním struktury a chování nadřazeného objektu bez porušení pravidel. Poznámka: Tento stereotyp, pokud je široce používán v samostatném dědictví .
Zevšeobecňovací vztah obsahuje omezení, například úplná, neúplná ke kontrole, zda jsou do vztahu zahrnuty všechny podřízené entity nebo ne.
Realizace
V realizačním vztahu UML označuje jedna entita určitou odpovědnost, která není implementována sama, a druhá entita, která je implementuje. Tento vztah se většinou vyskytuje v případě rozhraní.
Realizaci lze vyjádřit dvěma způsoby:
- Pomocí kanonické formy
- Pomocí elidovaného formuláře
Ve výše uvedeném diagramu realizují obchodní pravidla účtu rozhraní IRuleAgent.
Druhy realizace:
- Kanonická forma
V realizačním vztahu UML se kanonická forma používá k realizaci rozhraní v celém systému. Používá stereotyp rozhraní k vytvoření rozhraní a realizační vztah se používá k realizaci konkrétního rozhraní.
V kanonické formě je realizační vztah označen pomocí přerušované směrované čáry se značnou otevřenou šipkou.
Ve výše uvedeném diagramu je rozhraní Iruleagent realizováno pomocí objektu zvaného jako Obchodní pravidla účtu.
- Elited forma
Realizaci v diagramu tříd UML lze také zobrazit pomocí elidovaného formuláře. V elidované formě je rozhraní označeno pomocí kruhu, který se také nazývá jako lízátko.
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, která je realizována pomocí acctrule.dll.
Složení
Není to standardní vztah UML, ale stále se používá v různých aplikacích.
Kompozitní agregace je podtyp agregačního vztahu s charakteristikami jako:
- jedná se o obousměrnou asociaci mezi objekty.
- Je to vztah celý / část.
- Pokud je složená složka odstraněna, budou odstraněny všechny ostatní části s ní spojené.
Kompozitní agregace je popsána jako binární asociace zdobená vyplněným černým diamantem na agregátním (celém) konci.
Složka je struktura, která obsahuje n počet souborů. Složka se používá k ukládání souborů uvnitř. Ke každé složce lze přidružit libovolný počet souborů. V počítačovém systému je každý jeden soubor součástí alespoň jedné složky v systému organizace souborů. Stejný soubor může být také součástí jiné složky, ale není to povinné. Kdykoli je soubor odebrán ze složky, zůstane složka nedotčena, zatímco data související s daným konkrétním souborem budou zničena. Pokud se ve složce provede operace odstranění, ovlivní to také všechny soubory, které jsou uvnitř složky. Po odebrání složky ze systému se všechny soubory přidružené ke složce automaticky zničí.
Tento typ vztahu v UML je znám složeným agregačním vztahem.
Agregace
Agregace je podtyp asociačního vztahu v UML. Agregace a složení 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.
Uvažujme příklad auta a kola. Auto potřebuje kolo, aby správně fungovalo, ale kolo ne vždy potřebuje auto. Lze jej také použít na kole, na kole nebo v jakémkoli jiném vozidle, ale ne v konkrétním automobilu. Zde je objekt kola smysluplný i bez objektu automobilu. Takový typ vztahu se nazývá agregační vztah.
souhrn
- Vztah v UML umožňuje jedné věci souviset s jinými věcmi uvnitř systému.
- Vztahy asociace, závislosti, generalizace a realizace jsou definovány 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, ž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.
- Zobecnění se také nazývá jako vztah rodič-dítě.