UPOZORNĚNÍ

Zkoušky OCUP Fundamental a OCUP Intermediate již není možné absolvovat. Nově jsou k dispozici OCUP 2 Foundation a OCUP 2 Intermediate. Texty uvedené na těchto neodpovídají plně novým zkouškám. Aktuální text najdete na nových stránkách.

Testy znalostí UML

Chcete si kdykoliv před, při nebo po čtení těchto stránek udělat test znalostí UML? Máte možnost absolvovat takový, který připravil autor těchto stránek. Vše podstatné najdete na http://www.kurzy-uml.cz.

Diagramy nasazení (Deployment Diagrams)

Diagramy nasazení se používají pro znázornění hardwarové konfigurace a fyzického rozdělení modelu do souborů. Tato část je obsažena v 5 % testových otázek.
Metamodel: Dependencies between Packages

Třída Artifact
Metamodel: Artifact package

Třídou Artifact specifikujeme fyzický kus informace, který je použit nebo vytvořen během libovolné fáze vývoje softwarového řešení. Obecně lze říct, že artefakt je nějaký soubor. Může to ovšem být i třeba databázové tabulka nebo e-mail.

Instance artefaktu je nasazena v instanci nějakého uzlu (třída Node, viz dále). Artefakty mohou být mezi sebou provázány kompoziční asociací.

Atribut fileName odkazuje na místo, kde je artefakt umístěn. Může to být jak lokální disk, tak např. nějaký server na internetu (pak se v názvu souboru použije URL).

UML standard definuje několik stereotypů, které můžete artefaktu přisoudit:
  • «file»: Fyzický soubor na disku. Výchozí stereotyp pro níže uvedený (více viz kapitola věnovaná profilům).
  • «document»: Obecný soubor, který není ani zdrojovým, ani spustitelným souborem.
  • «executable»: Soubor, který lze spustit.
  • «library»: Statická i dynamická knihovna.
  • «script»: Skriptový soubor, který lze na v nějakém běhovém prostředí interpretovat.
  • «source»: Zdrojový soubor, který lze přeložit do spustitelného tvaru.

Artefakt se zobrazuje tak, jak mu přisuzuje jeho předchůdce, tedy třída Classifier. Navíc lze do pravého horního rohu přidat symbol dokumentu. Název instance artefaktu nemusí být podtržen za předpokladu, že kontext čtenář diagramu zná (takže bych to raději vždy nechával podtržené).
Příklad notace třídy Artifact

Třída Manifestation

Manifest (třída Manifestation) je vztah mezi artefaktem (který manifest vlastní) a třídou Kernel::PackageableElement. Slovo „manifestation“ mj. znamená zhmotnění. Představte si to jako zhmotnění např. vámi vymodelovaného balíku s třídami do zdrojového souboru např. pro .NET platformu.

Notace: přerušovaná šipka s otevřeným koncem u prvku PackageableElement a uvedením klíčového slova «manifest».
Příklad třídy Manifestation

Třídy Node, Device, ExecutionEnviroment a CommunicationPath
Metamodel: Node Concept

Diagram nasazení je často chápán jako přechod od logického modelu k fyzickému. Logický prvek (např. třída) je ve fyzickém světě představován např. souborem. Tento soubor je pak ale nutné mít umístěn na nějakém fyzickém zařízení.

Třída Node představuje výpočetní prostředek (computational resource), kam lze artefakt umístit a kde jej lze případně spustit. Uzel může obsahovat další uzly (asociace nestedNode). Uzel se zobrazuje jako kvádr s názvem:
Příklad notace třídy Node

Uzel stejně tak může být propojen s jinými uzly pomocí třídy CommunicationPath (specializace třídy Association, žádnou novou notaci nepřidává), která znázorňuje výměnu signálů a zpráv mezi propojenými prvky. Komunikační cesta je typicky pojmenovaná dle fyzické propojenosti dvou uzlů (např. ethernetový kabel) nebo komunikačním protokolem (http, ftp, …). Stejně tak je možné použít násobnost (viz příklad níže).

Ačkoliv třídu Node lze použít přímo, UML definuje ještě dvě její specializace: třídy Device a ExecutionEnviroment. Zařízení (device) je kus šrotu, na kterém jsou manifesty umístěny. Může to být stolní počítač, telefon, server, myčka na nádobí a další. Prostředí pro běh naší aplikace (execution enviroment) představuje platformu, na které náš vyvinutý software běží (webový server, databáze, J2EE server a další). Notace je shodná s třídou Node, pouze je přidáno klíčové slovo «device» resp. «execution enviroment». Obě třídy mohou mít v sobě vnořené další uzly (vlastnost převzatá z třídy Node). U zařízení tak můžeme zakreslit dekompozici do požadované úrovně. V případě běhového prostředí to lze také, ale v praxi jsem to dosud použité neviděl (příklady samozřejmě na webu rostou).


Uvedený diagram se často pro lepší názornost zakresluje i jako instanční diagram:



Pro plné zobrazení nasazení vyvinutého řešení je vhodné použít ještě třídu DeploymentSpecification, ale ta je předmětem až třetí úrovně znalostí.

Žádné komentáře:

Okomentovat

Líbila se vám právě přečtená kapitola?

Líbil se vám článek? Přinesl vám užitek? Pokud ano, můžete mi zaslat pár drobných, čímž jednak dáte najevo, že se vám tu opravdu líbilo, a jednak mi ukážete, že má práce není zbytečná. Informace o darovací platbě zde.