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.

114 <strong>Meranie</strong> a životný cyklus softvéru<br />

end;<br />

t := a[j - 1];<br />

a[j - 1] := a [j];<br />

a[j] := t;<br />

end<br />

until t = a[1]<br />

Tab. 1: Operátory a operandy v zdrojovom texte príkladu.<br />

Operátor<br />

Počet<br />

;<br />

4<br />

[...] (index poľa)<br />

8<br />

:=<br />

4<br />

-<br />

3<br />

><br />

1<br />

=<br />

1<br />

if … then<br />

1<br />

repeat … until<br />

1<br />

for...:=...to...do<br />

1<br />

begin ...end<br />

1<br />

procedure ...;<br />

1<br />

n1 = 11 N1 = 26<br />

Operand<br />

Počet<br />

j<br />

7<br />

t<br />

4<br />

a<br />

8<br />

N<br />

1<br />

1<br />

5<br />

2<br />

1<br />

n2 = 6 N2 = 26<br />

veľkosť programového slovníka n = n1 + n2 = 11 + 6 = 17<br />

dĺžka programu N = N1 + N2 = 26 + 26 = 52<br />

odhad dĺžky N’ = n1log2n1 + n2log2n2 = 11log211 + 6log26 = 53,56<br />

objem programu V = Nlog2n = 52log217 = 212,55<br />

Halsteadova teória sa porušuje najmä „nečistotami“ programovania<br />

[Churcher98]. Medzi ne patria napr.:<br />

• komplementárne operácie: i + 1 – j – 1 + j<br />

• viacznačné operandy: ten istý operand predstavuje dve alebo viac vecí<br />

v rôznych častiach programu<br />

r = b * b – 4 * a * c;<br />

…<br />

r = (–b + sqrt (r)) / 2.0;<br />

• nadbytočné operandy (synonymá): rôzne operandy predstavujú tú<br />

istú vec

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

Saved successfully!

Ooh no, something went wrong!