Page 157 -
P. 157
128 PART TWO MANAGING SOFTWARE PROJECTS
Once the expected value for the estimation variable has been determined, histor-
ical LOC or FP productivity data are applied. Are the estimates correct? The only rea-
sonable answer to this question is: "We can't be sure." Any estimation technique, no
matter how sophisticated, must be cross-checked with another approach. Even then,
common sense and experience must prevail.
5.6.3 An Example of LOC-Based Estimation
As an example of LOC and FP problem-based estimation techniques, let us consider
a software package to be developed for a computer-aided design application for
mechanical components. A review of the System Specification indicates that the soft-
ware is to execute on an engineering workstation and must interface with various
computer graphics peripherals including a mouse, digitizer, high resolution color dis-
play and laser printer.
Using the System Specification as a guide, a preliminary statement of software scope
can be developed:
The CAD software will accept two- and three-dimensional geometric data from an
engineer. The engineer will interact and control the CAD system through a user interface
that will exhibit characteristics of good human/machine interface design. All geometric
data and other supporting information will be maintained in a CAD database. Design analy-
sis modules will be developed to produce the required output, which will be displayed on
a variety of graphics devices. The software will be designed to control and interact with
peripheral devices that include a mouse, digitizer, laser printer, and plotter.
This statement of scope is preliminary—it is not bounded. Every sentence would have
to be expanded to provide concrete detail and quantitative bounding. For example,
before estimation can begin the planner must determine what "characteristics of good
human/machine interface design" means or what the size and sophistication of the
Many modern
applications reside on "CAD database" are to be.
a network or are part For our purposes, we assume that further refinement has occurred and that the
of a client/server following major software functions are identified:
architecture. Therefore,
be sure that your • User interface and control facilities (UICF)
estimates include the • Two-dimensional geometric analysis (2DGA)
effort required for the
development of • Three-dimensional geometric analysis (3DGA)
“infrastructure” • Database management (DBM)
software.
• Computer graphics display facilities (CGDF)
• Peripheral control function (PCF)
• Design analysis modules (DAM)
Following the decomposition technique for LOC, an estimation table, shown in Fig-
ure 5.3, is developed. A range of LOC estimates is developed for each function. For
example, the range of LOC estimates for the 3D geometric analysis function is opti-
mistic—4600 LOC, most likely—6900 LOC, and pessimistic—8600 LOC.