Archyno
UMLPrehľad notácie

Symboly diagramu komponentov

Každá značka, ktorú môže UML diagram komponentov niesť, a čo vás zaväzuje: ikona zástrčky, lízanka a objímka, konektory zostavy a delegovania, porty a štyri stereotypy, ktoré sa oplatí písať.

7 min čítaniaUML 2.5.120 z 35

Krátka odpoveď

  • Lízanka je poskytované rozhranie a šípka realizácie na box rozhrania hovorí to isté. Na jednom diagrame používajte jednu formu, nikdy obe.
  • Realizácia vedie od implementácie k zmluve, závislosť s otvoreným hrotom opačne. Tá istá prerušovaná čiara, opačné tvrdenie.
  • UML 1 nahradilo box obdĺžnikom s dvoma jazýčkami. UML 2 ponecháva box klasifikátora a tú ikonu zmenší do pravého horného rohu.
  • Objímka je druhá polovica gule: vyžadované rozhranie. Komponent nakreslený so samými lízankami nepriznal ani jednu závislosť.
Jediný UML komponent s názvom Pricing engine. Naľavo od neho mieri šípka realizácie na rozhranie IPricing, ktoré poskytuje. Napravo mieri šípka závislosti na rozhranie ITax, ktoré vyžaduje.
Celá gramatika na jednom obrázku: komponent, zmluva, ktorú poskytuje, vľavo, a zmluva, ktorú vyžaduje, vpravo. Každý ďalší symbol na tejto stránke je skratkou za časť tohto.

01Samotný komponent#

V obehu sú dve podoby a obe sú správne, a preto ten istý systém nakreslený v dvoch nástrojoch môže vyzerať ako dve notácie.

PrvokNotáciaČo znamená
Komponent (UML 2)box, malá ikona zástrčky vpravo horeObyčajný box klasifikátora s ikonou zmenšenou do rohu. Často nesie nad názvom kľúčové slovo «component». Toto kreslia súčasné nástroje predvolene.
Komponent (UML 1)box s dvoma jazýčkami na ľavej hraneStaršia podoba, kde ikona je tvarom. Stále bežná v učebniciach a v diagramoch zdedených z rokov 2000; rozpoznajte ju, ale v novej práci ju nekreslite.
Podsystém«subsystem» na komponenteKomponent dosť veľký na to, aby mal vlastné časti. Písať to má zmysel len vtedy, keď diagram ukazuje, čo je vnútri.
Artefakt«artifact», stránka s ohnutým rohomFyzický súbor, v ktorom sa komponent dodáva - jar, image, balík. Patrí na diagram nasadenia, nie sem, pokiaľ nie je reč práve o balení.

02Poskytované a vyžadované rozhrania#

Každý komponent má dva zoznamy - čo poskytuje a čo vyžaduje - a celá notácia sú spôsoby, ako tie dva zoznamy zapísať. Sú dva a sú zameniteľné.

PrvokNotáciaČo znamená
Poskytované (explicitne)Prerušovaná čiara, prázdny trojuholník, mieriaci na rozhranie. Komponent túto zmluvu implementuje.
Poskytované (lízanka)krúžok na krátkej paličkeTo isté tvrdenie, nakreslené na hrane komponentu s názvom rozhrania vedľa krúžku. Kompaktné, a preto to väčšina nástrojov robí predvolene.
Vyžadované (explicitne)Prerušovaná čiara, otvorený hrot, mieriaci na rozhranie. Zvyčajne s popisom «use». Komponent potrebuje, aby to niekto naplnil.
Vyžadované (objímka)polovica šálky na krátkej paličkeTo isté tvrdenie v kompaktnej podobe. Prázdna objímka je nenaplnená závislosť, a to je užitočná vec, ktorú diagram vie ukázať.

Explicitne alebo skratkou, nikdy oboje na jednom diagrame - čitateľ nemá overovať, či dve notácie na jednom obrázku neznamenajú dve rôzne veci.

03Konektory, porty a delegovanie#

Hranica podsystému Reporting obsahujúca dva komponenty. Komponent Report API vnútri realizuje rozhranie IReports publikované mimo hranice a závisí od rozhrania IQuery, ktoré realizuje komponent Query engine vedľa neho.
Delegovanie vnorením: podsystém publikuje IReports a Report API vnútri je to, čo zmluvu naozaj realizuje. IQuery je interné - čitateľ mimo hranice nikdy nepotrebuje vedieť, že existuje.

Len čo komponenty obsahujú ďalšie komponenty, objavia sa dve ďalšie značky. Zostavovací konektor zapojí poskytované rozhranie jedného komponentu priamo do vyžadovaného rozhrania druhého - guľôčka sediaca v objímke, čo je skratka za dve šípky na obrázku v úvode článku. Delegačný konektor vedie z portu na vonkajšej hranici k tej vnútornej časti, ktorá ho napĺňa.

PrvokNotáciaČo znamená
Zostavovací konektorguľôčka spočívajúca v objímkeJeden komponent napĺňa požiadavku druhého. To isté tvrdenie ako realizácia plus závislosť cez spoločné rozhranie, na tretine miesta.
Portmalý štvorec na hraniciJeden odlišný bod interakcie. Stojí za nakreslenie, keď má komponent naozaj oddelené povrchy - verejné API a administrátorské API - inak je to šum.
Delegačný konektorZ portu na vnútornú časť: túto vonkajšiu zmluvu obsluhuje tamtá časť. Práve to robí vnútro podsystému overiteľným voči jeho vonkajšku.
Závislosť medzi komponentmiLegálna a takmer vždy chyba: hovorí „nejako závisí“, čo je práve tá vágnosť, ktorú diagram existuje odstrániť. Pomenujte radšej rozhranie.

Vnorenie je tretí spôsob, ako povedať „vnútri“, a ten, ktorý táto séria kreslí: časti umiestnené v hranici svojho vlastníka, ako vyššie. Nepotrebuje žiadny symbol navyše a prežije čitateľa, ktorý delegačný konektor nikdy nevidel, čo je väčšina čitateľov.

04Stereotypy, ktoré stojí za to písať#

Stereotyp vo francúzskych úvodzovkách rozširuje význam boxu a pokušenie je vymyslieť si celý slovník. Svoje miesto si zaslúžia štyri, lebo každý z nich mení, čo má čitateľ s boxom robiť:

  • «subsystem» - toto má vlastné časti a môžu byť na inom diagrame.
  • «service» - toto je nasadené a dostupné cez sieť, takže jeho rozhranie je zmluva na drôte a jeho verzovanie je niečia práca.
  • «library» - toto sa prilinkuje, nevolá sa cez hranicu, takže jeho zmena je rebuild, nie nasadenie.
  • «external» - toto vlastní niekto iný, takže jeho rozhranie je obmedzenie, nie rozhodnutie.

Čokoľvek nad tie štyri je zvyčajne prezlečený profil. Ak tím naozaj potrebuje vlastný formálny slovník - označené prvky, obmedzené prvky, pravidlá vynucované nástrojom - je na to UML profil a zapísať ho poriadne je lacnejšie než konvencia, ktorú dodržiava polovica tímu.

05V čom sa nástroje nezhodnú#

Za väčšinu zmätku pri presune diagramu medzi nástrojmi môžu tri rozdiely a ani jeden z nich nemení význam:

  1. Ikona alebo kľúčové slovo. Niektoré nástroje kreslia ikonu zástrčky, iné píšu «component», ďalšie oboje. Všetky tri sú ten istý komponent UML 2.
  2. Lízanky predvolene. Väčšina kresliacich nástrojov pripne guľôčku a objímku na hranu komponentu; modelovacie nástroje, ktoré držia repozitár, kreslia rozhranie skôr ako samostatný prvok, lebo ním je.
  3. Porty tam, kde žiadne nie sú. Niektoré nástroje dajú malý štvorec ku každému bodu pripojenia rozhrania. Ak diagram nikdy nerozlišuje dva povrchy na jednom komponente, tie štvorčeky nenesú žiadnu informáciu.

Po jednom riadku na každé

  1. 01Box s ikonou zástrčky v rohu: komponent UML 2. Dva jazýčky na ľavej hrane: podoba z UML 1.
  2. 02Realizácia - prerušovaná, prázdny trojuholník - mieri od implementátora na zmluvu.
  3. 03Závislosť - prerušovaná, otvorený hrot - mieri od toho, kto potrebuje, na zmluvu.
  4. 04Lízanka je poskytované, objímka je vyžadované, guľôčka v objímke je zostava oboch.
  5. 05Port je odlišný bod interakcie; delegačný konektor ho smeruje na časť vnútri.
  6. 06Šípka medzi dvoma komponentmi bez rozhrania nepomenúva nič - to je tá chyba, ktorú treba hľadať.

Symboly v použití na skutočných systémoch nájdete v piatich rozobratých príkladoch a poradie, v akom ich klásť, v článku ako nakresliť diagram komponentov.

06Časté otázky#

Čo znamená symbol lízanky v UML?

Lízanka - malý krúžok na krátkej paličke - je poskytované rozhranie: komponent, na ktorom visí, tú zmluvu implementuje. Je to úsporná forma šípky realizácie mieriacej na box rozhrania a obe znamenajú presne to isté, takže diagram má používať jednu formu, nie obe naraz.

Dajú sa lízanky a boxy rozhraní miešať na jednom diagrame?

Dajú, ale čitateľa to stojí námahu a nič tým nezískate. Obe formy hovoria presne to isté, takže dve notácie na jednom obrázku nechajú človeka rozmýšľať, či ten rozdiel niečo znamená. Voľte úspornú formu gule a objímky, keď je málo miesta, a explicitné boxy rozhraní vtedy, keď sú predmetom reči samotné šípky.

Čo znamená prerušovaná šípka s prázdnym trojuholníkom?

To je realizácia a na diagrame komponentov vždy mieri od implementácie k zmluve. Komponent na začiatku šípky sľubuje, že splní rozhranie na jej konci. Prerušovaná šípka s obyčajným otvoreným hrotom je druhá strana toho istého vzťahu: závislosť, teda že komponent tú zmluvu od niekoho potrebuje.

Líši sa symbol komponentu v UML 1 a UML 2?

Áno a kreslia sa obe. UML 1 nahradilo box priamo obdĺžnikom s dvoma menšími obdĺžnikmi na ľavej hrane. UML 2 používa bežný box klasifikátora s tou ikonou zmenšenou do pravého horného rohu, voliteľne s kľúčovým slovom «component» nad názvom - a to je forma, ktorú dnešné nástroje kreslia štandardne.

V tejto sérii

Súvisiace články

Všetky články