Team Se@Msi: Meranie v softvérovom inžinierstve. - FIIT STU ...
Team Se@Msi: Meranie v softvérovom inžinierstve. - FIIT STU ...
Team Se@Msi: Meranie v softvérovom inžinierstve. - FIIT STU ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
78 Eseje<br />
myslieť aj na to, že integrácia súčiastok tiež nesmie vniesť do nášho<br />
systému zbytočne veľa zložitosti.<br />
RAD nástroje sa snažia eliminovať túto zložitosť a poskytnúť tvorcom<br />
systému len tie najnevyhnutnejšie prostriedky pre dosiahnutie<br />
požadovaného správania. Z toho však vyplýva, že ich možno použiť iba v<br />
určitých aplikačných doménach a nie sú univerzálne. Vytvorenie<br />
kompletného produktu použitím takýchto nástrojov sa označuje ako<br />
"Generator RAD" (GRAD) [Boehm99]. Zahŕňa použitie špecifikačných<br />
jazykov veľmi vysokej úrovne – napríklad jazykov 4 generácie (napr.<br />
Focus) alebo iných doménovo špecifických jazykov pre finančné aplikácie<br />
alebo pre riadenie priemyselných strojov. Medzi takéto nástroje možno<br />
zaradiť napríklad aj tabuľkové procesory. Iným príkladom môže byť<br />
použitie generátorov agentov pre multiagentové systémy, kedy sa<br />
zadefinuje správanie agenta na vyššej úrovni a použije sa generátor pre<br />
vytvorenie zdrojového kódu (napr. Zeus). Podobne aj zadefinovanie<br />
lexikálneho a syntaktického analyzátora špecifikovaným gramatiky<br />
jazyka (napr. programy lex a yack). S obľubou sa tiež používajú<br />
skriptovacie jazyky, ktoré umožňujú pohodlnejšie zadefinovať správanie<br />
– napríklad pri inštalácii aplikácie (Installshield) alebo aj pre činnosť<br />
data warehouse servera.<br />
GRAD sa najčastejšie aplikuje v ohraničených doménach, kde sú<br />
požiadavky zákazníkov dobre známe. V takom prípade umožňuje<br />
špecifikačný jazyk pohodlne zadefinovať požadovanú funkcionalitu a<br />
generátor s využitím pred-vytvorených súčiastok dokáže vytvoriť<br />
samotný produkt splňujúci používateľské požiadavky. Používanie<br />
generátorov vyžaduje len minimálne programátorské skúsenosti a je<br />
možné pomerne rýchlo získať uspokojivé výsledky.<br />
Základným problémom GRAD je slabá škálovateľnosť [Boehm99],<br />
pretože generátory umožňujú pohodlné vyjadrovanie často na úkor<br />
efektívnosti. V prípade väčších systémov potom môže rýchlo dôjsť k<br />
preťaženiu systému a jeho úplnému odstaveniu, čo môže mať<br />
katastrofálne následky pre celý projekt. Používanie vyšších<br />
špecifikačných jazykov a generátorov taktiež môže výrazne ohraničiť<br />
realizovateľné funkcie, a preto je niekedy potrebné myslieť aj na<br />
možnosti rozšírenia, ktoré špecifikačný jazyk priamo neposkytuje.<br />
Ďalšou z foriem RAD je "Composition RAD" (CRAD) [Boehm99].<br />
CRAD vychádza vo veľkej miere zo znovupoužitia väčších existujúcich<br />
súčiastok (tried knižníc) pre univerzálnejšie programovacie jazyky v<br />
kombinácii s nástrojmi urýchľujúcimi vývoj. V dnešnej dobe je<br />
nevyhnutnosťou využívať základné funkcie poskytované samotným<br />
operačným systémom. Využitie týchto funkcií spolu s ďalšími knižnicami<br />
pre podporu grafického výstupu, databázového spracovania a sieťových<br />
protokolov umožňujú veľmi rýchle vytvorenie veľkej skupiny stredne<br />
veľkých aplikácií. V procese implementácie sa osvedčilo použitie tzv.<br />
pomocníkov (angl. wizardov) pre generovanie šablón pre kód aplikácie a<br />
vizuálnych nástrojov pre vytváranie používateľského rozhrania.