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.
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