21.01.2015 Views

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 ...

SHOW MORE
SHOW LESS

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.

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

Saved successfully!

Ooh no, something went wrong!