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.

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

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

Saved successfully!

Ooh no, something went wrong!