elektronická verzia publikácie - FIIT STU - Slovenská technická ...
elektronická verzia publikácie - FIIT STU - Slovenská technická ...
elektronická verzia publikácie - FIIT STU - Slovenská technická ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Znovupoužitie návrhových vzorov na úrovni modelu 155<br />
5.4 Modelovanie s návrhovými vzormi na vyššej úrovni abstrakcie<br />
Pri používaní návrhových vzorov v praxi sa spravidla stretávame iba so štandardnými<br />
UML modelmi. Obsahujú konkrétne inštancie vzorov vo forme spolupracujúcich OO prvkov,<br />
priom informáciu, že ide o použitie nejakého vzoru, naznaujú len pomenovania<br />
týchto prvkov. Presná informácia o tom, akú rolu hrá daný prvok diagramu, chýba. Potom<br />
sa môže ahko sta, že vývojár spätne nerozpozná, že ide o použitie uritého vzoru, o<br />
v konenom dôsledku môže znamena stratu významu jeho nasadenia, i iné komplikácie.<br />
Tým, že v diagramoch štandardne neuchovávame explicitné informácie o vzoroch, asto sa<br />
v návrhu strácajú, ím sa sami pripravujeme o mnohé výhody, ktoré plynú z ich použitia.<br />
Následne vývojári pracujú opä na OO úrovni návrhu, zatia o by mohli pracova<br />
s vyššou úrovou abstrakcie, ktorú vzory prinášajú.<br />
5.4.1 Možnosti práce na vyššej úrovni abstrakcie<br />
Existuje niekoko riešení, ktoré sa snažia prida informácie o aplikovaných inštanciách<br />
vzorov do modelov zachytávajúcich návrh systému. V rámci práce POAD podrobnejšie<br />
opisovanej v kapitole 5.3.1 sú prezentované tri nové modely, ktoré slúžia tomuto úelu.<br />
Prístup poíta sa postupným vytváraním modelov od najvyššej úrovne abstrakcie<br />
na úrovni komponentov až po optimalizovaný OO návrh. Ten je však zachytený vo forme<br />
bežného UML diagramu, takže informácie o aplikovaných návrhových vzoroch<br />
vo finálnom modeli opä chýbajú.<br />
V práci [7] sú opísané rôzne rozšírenia UML diagramov, ktoré dopajú informácie<br />
o prítomnosti inštancií vzorov. Tie síce predstavujú prínos pri modelovaní softvérového<br />
návrhu s použitím vzorov, stále však kladú dôraz na rozmiestnenie a spoluprácu tried,<br />
priom informácie týkajúce sa vzorov sú až druhoradé. Znamená to, že návrhár pracujúci<br />
s takýmito modelmi robí stále na nižšej úrovni abstrakcie, než umožujú vzory. Samotné<br />
znaky týkajúce sa vzorov sú do diagramov pridané až po vytvorení modelu tried. To<br />
znamená, že návrhár musí najskôr sám pochopi vzor, manuálne vytvori jeho inštanciu<br />
v návrhu a tú oznakova tak, aby bolo možné vzor spätne rozpozna.<br />
Ovea zaujímavejší prístup by bol, keby bolo možné priamo pracova na vyššej úrovni<br />
abstrakcie - na úrovni vzorov. Návrhár by definoval, aký vzor chce použi a ako ho chce<br />
pripoji do kontextu riešeného systému. Nástroj by následne zabezpeil vytvorenie inštancie<br />
vzoru, ktorú by korektne napojil k ostatným astiam návrhu poda špecifikácie používatea.<br />
Na to, aby bolo možné nad nieím podobným uvažova, je potrebné zadefinova<br />
dve základné techniky:<br />
− formu modelovania, pomocou ktorej by bolo možné modelova na vyššej úrovni abstrakcie<br />
vzorov,<br />
− metódy, ktoré by transformovali modely na vyššej úrovni abstrakcie do modelov na<br />
klasickej OO úrovni.<br />
Pri uvažovaní o takomto spôsobe riešenia je možné využi výsledky súvisiace s iniciatívou<br />
Modelom riadená architektúra (Model Driven Architecture – MDA) [25]. MDA prístup<br />
umožuje modelova na vyššej úrovni abstrakcie nezávisle od platformy, na ktorej by mal<br />
by výsledný systém nasadený. Následne by malo by možné po dodaní špecifikácií jednotlivých<br />
platforiem transformova takto vytvorené modely do modelov, ktoré sú posta-