Page 156 -
P. 156
CHAPTER 5 SOFTWARE PROJECT PLANNING 127
do while subfunctions remain
select subfunction k
if subfunction resembles subfunction described in a historical data base
d
k
then note historical cost, effort, size (LOC or FP) data for subfunction ;
d
adjust historical cost, effort, size data based on any differences;
use adjusted cost, effort, size data to derive partial estimate, E ;
p
project estimate = sum of {E };
p
else if cost, effort, size (LOC or FP) for subfunction can be estimated
k
then derive partial estimate, E ;
p
project estimate = sum of {E };
p
else subdivide subfunction into smaller subfunctions;
k
add these to subfunctions list;
endif
endif
enddo
enddo
This decomposition approach assumes that all functions can be decomposed
into subfunctions that will resemble entries in a historical data base. If this is
not the case, then another sizing approach must be applied. The greater the
degree of partitioning, the more likely reasonably accurate estimates of LOC can
be developed.
For FP estimates, decomposition works differently. Rather than focusing on
function, each of the information domain characteristics—inputs, outputs, data
For FP estimates, files, inquiries, and external interfaces—as well as the 14 complexity adjustment
decomposition focuses
on information domain values discussed in Chapter 4 are estimated. The resultant estimates can then be
characteristics. used to derive a FP value that can be tied to past data and used to generate an
estimate.
Regardless of the estimation variable that is used, the project planner begins by
estimating a range of values for each function or information domain value. Using
historical data or (when all else fails) intuition, the planner estimates an optimistic,
most likely, and pessimistic size value for each function or count for each informa-
tion domain value. An implicit indication of the degree of uncertainty is provided
when a range of values is specified.
A three-point or expected value can then be computed. The expected value for the
estimation variable (size), S, can be computed as a weighted average of the optimistic
? How do I (s opt ), most likely (s ), and pessimistic (s pess ) estimates. For example,
m
compute the
expected value S = (s opt + 4s m + s pess )/6 (5-1)
for software
size? gives heaviest credence to the “most likely” estimate and follows a beta probability
distribution. We assume that there is a very small probability the actual size result
will fall outside the optimistic or pessimistic values.