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.

Mutácia znovupoužitia<br />

Znovupoužitie – áno či nie Ak áno, tak ako 47<br />

Jedným často využívaným odvodeným spôsobom znovupoužitia je<br />

kopírovanie využiteľných častí zdrojového kódu na viaceré miesta<br />

v programe. Ušetrí sa tým čas na vývoj a testovanie, keďže miernymi<br />

úpravami vieme prispôsobiť tento kód novým požiadavkám. Často sa<br />

však nevyhneme obrovským problémom s údržbou takto vyvinutého<br />

produktu. Chyby z jednej kópie sa rozšíria na viaceré miesta a ich<br />

odstraňovanie je potom veľmi namáhavé.<br />

Sociálne a etické problémy<br />

Pri aplikácii znovupoužitia veľmi často dochádza k problémom<br />

vyplývajúcich z nedostatočnej dôvery využívateľov softvérových súčiastok<br />

k práci vývojárov týchto súčiastok, pretože dostávajú do rúk čierne<br />

skrinky, na ktoré sa musia spoľahnúť. Programátori sa sťažujú i na stratu<br />

nezávislosti a možnosti vlastnej realizácie, pretože do ich predstáv<br />

nemusia vždy zapadnúť ohraničenia, ktoré stanovujú už hotové súčiastky.<br />

Znovupoužitie bez vedomia autora súčiastky<br />

V tejto časti mi nedá, aby som nespomenul veľmi zaujímavý spôsob<br />

znovupoužitia aplikovaný na našej škole, i keď je málo pravdepodobné,<br />

že by niekoho trápili sociálne a etické problémy s ním spojené. Ako sa už<br />

stalo dobrým zvykom na Katedre informatiky a výpočtovej techniky treba<br />

na získanie zápočtu odovzdať jeden či viac programov. Zopár pedagógov<br />

však nepovažuje za potrebné meniť zadanie týchto programov niekoľko<br />

rokov. A tak šikovnejší študenti (ktorí si to vedia dobre zariadiť) len<br />

zoženú hotový program (prehľadajú databázu znovupoužiteľných<br />

súčiastok), ktorý presne vyhovuje danej špecifikácii. Ušetria si tým<br />

náklady a čas na vývoj a testovanie programu, ale prídu o skúsenosti<br />

potrebné na jeho vyhotovenie...<br />

Prínosy znovupoužitia<br />

Okrem výhod uvedených v úvode tejto eseje – 47%-né zníženie<br />

nákladovosti na vývoj softvéru, skrátenie času potrebného na vývoj<br />

softvéru na štvrtinu, zvýšenie kvality výsledného produktu atď., by som<br />

rád uviedol konkrétny príklad z projektov ministerstva obrany USA<br />

[Boehm99], ktorý výhody aplikácie znovupoužitia znázorňuje na obr. 2.<br />

Vo svojej analýze sa neopieral o počet riadkov naprogramovaných<br />

v určitom programovacom jazyku, pretože určitý počet riadkov<br />

naprogramovaných v jazyku štvrtej generácie prináša so sebou oveľa<br />

väčšiu produktivitu ako ten istý počet riadkov v asembleri. Kvôli<br />

nezávislosti od programovacieho jazyka použil vo svojich štatistikách<br />

počet strojových inštrukcií pripadajúcich na daný kód (angl. LOCS).<br />

Sledoval počet strojových inštrukcií a náklady na jednu strojovú<br />

inštrukciu v rozmedzí rokov 1950 – 2000. Aj keď počet strojových<br />

inštrukcií vygenerovaných počas tohto obdobia rástol, náklady na jednu<br />

inštrukciu sa znižovali práve vďaka znovupoužitiu.

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

Saved successfully!

Ooh no, something went wrong!