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.
Chyby v procese tvorby softvéru a ich príčiny 7<br />
Okolo 80% nepotrebnej práce, ktorá vzniká opravou chýb spočíva v<br />
odstraňovaní 20% chýb. Číslo 80% samozrejme závisí od veľkosti<br />
systému, ale sa netreba hrať na maličké percentá, hlavný je pomer.<br />
Rýchla špecifikácia požiadaviek, návrh a vývoj zvyčajne zapríčiňujú<br />
hlavné chyby v architektúre, v návrhu a v kóde, ktorých dôvodom je<br />
neskoré prispôsobenie požiadaviek. Veľkú úsporu vynaloženého úsilia<br />
môžeme získať zdokonaľovaním vyspelosti softvérových procesov,<br />
softvérových architektúr a manažmentu rizík, ktorý vzniká z nadbytočnej<br />
práci.<br />
Z uvedených pravidiel jednoznačne vyplýva, že presnou<br />
špecifikáciou, zameranou na nejednoznačné časti systémov znížime počet<br />
vyskytnutých chýb, nedostatkov. Keďže mnoho zákazníkov nevie<br />
jednoznačne vyjadriť svoje požiadavky, počas vývoja sa treba zamerať aj<br />
na rýchle a skoré prototypovanie. Dobre vytvorené prototypy pomôžu<br />
lepšie identifikovať nedostatky (nepreskúmané možnosti) v systémoch a<br />
to nielen nám, ale aj zákazníkom. S tým docielime zníženie počtu chýb,<br />
ktorých odstránenie vyžaduje značnú časť celkového úsilia. Tento názor<br />
potvrdzuje aj pravidlo, že väčšina chýb vzniká v 20% modulov a asi<br />
polovica modulov je bezchybná.<br />
Kontrola, ako riešenie<br />
Je dané, že skoré zachytenie a oprava mnohých chýb v životnom cykle<br />
projektu je viac cenovo efektívna, ako zachytenie neskôr. Pokúšame sa<br />
teda nájsť chyby čím skôr. Mnoho výskumov potvrdilo tvrdenie pána<br />
Boehma, že opätovná kontrola zachytí 60% chýb. Výsledkom výskumov<br />
je, že vizuálna kontrola a testovanie zachytí rozličné triedy chýb v<br />
rozličných bodoch v životnom cykle. Taktiež sa zistilo, že riadenou<br />
kontrolou identifikujeme o jednu tretinu viac chýb, než neriadenou<br />
kontrolou. Vzniká teda potreba empirického výskumu na výber najlepšej<br />
stratégie pri hľadaní chýb. Basili [Basili97] uvádza metódu snímania<br />
založenú na scenároch, ktorá ponúka množinu formálnych postupov pre<br />
detekciu nedostatkov. Tieto techniky sa používajú pri odstraňovaní<br />
nedostatkov počas vývoja softvéru – pri špecifikácii požiadaviek, pri<br />
objektovo-orientovanom návrhu a pri kontrole používateľského<br />
rozhrania.<br />
Podobne je potvrdené, že disciplinované osobné prevádzkové<br />
predpisy (dobré organizovanie) môžu redukovať výskyt chýb až o 75%.<br />
Hypotéza Harlana Millsa hovorí, že ľudia nekontrolujú tak ako by mali,<br />
lebo veria, že testovanie odhaľuje chyby za nich. Dokazovanie tejto<br />
hypotézy bolo jednoduché: ľudia, ktorí čítali (kontrolovali) a vedeli, že<br />
nemôžu testovať, robili to dôslednejšie, pozornejšie než tí, ktorí vedeli, že<br />
môžu testovať neskôr. Každý môže cítiť tento vplyv na človeka aj na<br />
vlastnej koži. Pri písaní programov (resp. textov) urobíme preklepy, ktoré<br />
si pri pozornej vizuálnej kontrole všimneme a opravíme, inak to necháme<br />
na kompilátor (resp. zapneme kontrolu pravopisu). Síce syntaktické<br />
analyzátory odhalia syntaktické chyby, ale chyby v sémantike už<br />
neodhalia. Teda môžeme konštatovať, že vizuálna kontrola je