07.01.2015 Views

osa 3

osa 3

osa 3

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

mõõtmiseks vajalike andmete kogumine on automaatne (mis tagab andmete objektiivsuse) ja<br />

kasutatakse vaid käesolevat projekti iseloomustavaid andmeid.<br />

3.8.1 Näiteid tarkvaratoote kvaliteedimeetrikas kasutatavatest mõistetest.<br />

Tarkvaratoote iseloomustamiseks kasutatakse ebamääraseid, täpselt defineerimata mõisteid –<br />

näiteks hea projekt, adapteeruv tarkvarasüsteem, jne. Intuitiivselt tähendab hea projekt hästi<br />

arusaadavalt (nii kasutajale kui ka programmistile) esitatud projekti, millele on vajaduse korral<br />

kerge muudatusi sisse viia (ilma, et tekiks palju kõrvalmõjusid (side-effects)).<br />

Tarkvaratoote arusaadavus on pisut seotud tema struktuuri keerukusega (või lihtsusega). Järelikult<br />

on vaja mingeid keerukuse hinnanguid. Tüüpiline mõõdetav keerukuse hinnang on McCabe<br />

keerukus (vt. täpsemalt Sommerville (1992) lk. 434-437). McCabe keerukus on tegelikult<br />

programmi kirjeldava voograafi läbivate sõltumatute teede arv. Testide arv, mis on vajalik<br />

kõikide programmis sisalduvate tingimuslike üleminekute kontrollimiseks on võrdne nn.<br />

tsüklomaatilise arvuga, ehk McCabe keerukusega. Keerukuse näitajana on McCabe<br />

keerukusmõõdul kaks puudust:<br />

• Ta mõõdab keerukust , mis on määratud tsüklites olevate predikaatide ja tingimuslike<br />

üleminekutega. Kui programm on andmete poolt juhitud, võib tal olla väga madal<br />

McCabe keerukuse mõõt, aga sellegipoolest on ta raskesti arusaadav<br />

• Sama kaaluga arvestatakse väliseid ja sisemisi tsükleid (nested and non-nested loops).<br />

On üsna kindel, et sisemised tingimuslikud struktuurid on palju raskemini<br />

mõistetavad kui välimised.<br />

Toote muudetavus (adapteeruvus) on oluliselt seotud omadustega, millest tuleb juttu loengusarja<br />

viiendas <strong>osa</strong>s – arvutiteaduse ja tarkvaratehnika vahekord. Need on moodulite (süsteemi <strong>osa</strong>de)<br />

kokkukuuluvus (ingl.k. cohesion), ja ühendatus (ingl.k. coupling). Nõrk ühendatus ja tugev<br />

kokkukuuluvus on hästi adapteeruva süsteemi olulised omadused.<br />

Kokkukuuluvust (cohesion) ei ole võimalik vahetult mõõta, ühendatust (coupling) saab mõõta<br />

automaatselt, kui selline funktsioon ehitada sisse tarkvaratehnika tööriista. Constantine and<br />

Yourdan (1979) on soovitanud ühendatuse (coupling) mõõduks võtta süsteemi komponenti<br />

sissetulevate ja väljaminevate voogude (ühenduste) arvu tarkvaratoote struktuuri kirjeldaval<br />

mudelil. Sisenevate voogude arv (fan-in value of a component) on struktuursel mudelil seda<br />

komponenti väljakutsuvate (kasutavate) teiste komponentide arv (sellesse komponenti sisenevate<br />

voogude arv). Väljuvate voogude arv (fan-out value of the component) on defineeritud<br />

analoogiliselt. Hiljem on Constantine & Yourdani ühendatuse (coupling) mõõdu definitsiooni<br />

pisut laiendatud – nn. informatsioonilise ühendatuse mõõduks on komponendist väljuvate<br />

lokaalsete andmevoogude arv pluss globaalsete andmestruktuuride arv, mille väärtuseid<br />

komponent muudab.<br />

3.8.2 Tarkvara toodet iseloomustavad parameetrid<br />

91

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

Saved successfully!

Ooh no, something went wrong!