04.11.2014 Views

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

156 Štúdie vybraných tém programových a informaných systémov<br />

vené pre konkrétne platformy. Z nich by sa následne malo da vytvori konkrétne, v rámci<br />

platformy použitené riešenie (napr. zdrojové kódy, konfigurané súbory a pod.).<br />

Pre naše potreby definovania návrhu na vyššej úrovni abstrakcie vzorov sa javí MDA<br />

prístup ako vhodné riešenie. Za platformovo nezávislé modely (PIM) považujeme modely<br />

na úrovni návrhových vzorov. Za platformovo špecifické modely (PSM) môžeme považova<br />

klasické UML modely obsahujúce konkrétne aplikované inštancie vzorov, z ktorých je<br />

neskôr možné vygenerova zdrojové kódy. Za platformu možno považova definície<br />

štruktúr návrhových vzorov z pohadu OO návrhu. Zostáva došpecifikova formu zápisov<br />

platformovo nezávislých modelov (PIM) a nástroje, ktoré budú použité na transformáciu<br />

z PIM do PSM.<br />

Pred výberom jazyka PIM je nutné uvies požiadavky, ktoré budú od neho vyžadované.<br />

Najdôležitejšou je možnos modelovania na úrovni vzorov, priom je nutné ma<br />

možnos pripoji prvky modelu na úrovni vzorov do kontextu ostatného OO návrhu. Tu<br />

sa javí ako najvhodnejšia možnos používa rozšírené UML modely, priom samotné prvky<br />

na úrovni vzorov budú odlíšené od ostatných pomocou vlastného UML Profilu.<br />

5.4.2 Modelovanie vzorov<br />

V rámci štruktúry návrhových vzorov možno identifikova role, ktoré vykonávajú uritú<br />

doménovo špecifickú funkcionalitu a role, ktorých innos je z väšej asti nezávislá od<br />

doménovej oblasti. Takéto role sú viac-menej v rámci vzoru implicitné, vyplývajú<br />

z použitia vzoru, no pri približovaní vzoru doménovej oblasti sa nimi nemusíme zaobera.<br />

Touto myšlienkou je motivovaný aj predstavovaný spôsob modelovania vzorov. Jeho<br />

princíp tkvie v definovaní použitia samotného vzoru a rolí, ktoré sú doménovo závislé.<br />

Doménovo nezávislými rolami sa nemusíme pri modelovaní zaobera, nakoko ich prítomnos<br />

je definovaná už prítomnosou samotnej inštancie vzoru, a teda môžu by automaticky<br />

doplnené v rámci transformácie vzoru do finálneho OO návrhu.<br />

V nasledujúcej asti sú prezentované ukážky modelovania na vyššej úrovni abstrakcie<br />

pre vzory Composite a Decorator vrátane ukážky ich možnej kompozície.<br />

Composite<br />

Cieom vzoru Composite je umožni zhromažovanie objektov do stromových štruktúr,<br />

priom by malo by možné pracova s jedným objektom rovnako ako so skupinou.<br />

Ke sa pozrieme na vzor z pohadu, ako by sa mal modelova, môžeme si všimnú,<br />

že jediné, o potrebujeme definova, je trieda (prípadne skupina tried), ktorá má by uložitená<br />

v stromovej hierarchii. Ostatné informácie, ako napríklad konkrétna forma vytvárania<br />

stromovej štruktúry, nie je pre nás pri modelovaní na vyššej úrovni podstatná. Takéto<br />

informácie by mali by obsiahnuté v konfigurácii vytvárania inštancie vzoru a nie neoddelitenou<br />

súasou modelu.<br />

Z tohto dôvodu sa javí vhodné modelova vzor Composite pomocou dvoch prvkov<br />

modelu: prvku reprezentujúceho samotný vzor a triedy, ktorá má by pomocou vzoru<br />

ukladaná. Na obrázku 5-19 sa nachádza ukážka modelovania vzoru na vyššej úrovni.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!