An Example of LOC-Based Estimation
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.
Function Estimated LOC
table for the LOC method
User interface and control facilities (UICF) 2,300 Two-dimensional geometric analysis (2DGA)
5,300 Three-dimensional geometric analysis (3DGA)
6,800 Database management (DBM)
3,350 Computer graphics display facilities (CGDF)
4,950 Peripheral control function (PCF)
2,100 Design analysis modules (DAM)
8,400 Estimated lines of code
Applying Equation (5-1), the expected value for the 3D geometric analysis function is 6800 LOC. Other estimates are derived in a similar fashion. By summing vertically in the esti-
Do not succumb to the mated LOC column, an estimate of 33,200 lines of code is established for the CAD system. temptation to use this
A review of historical data indicates that the organizational average productivity result as your
for systems of this type is 620 LOC/pm. Based on a burdened labor rate of $8000 per estimate. You should
month, the cost per line of code is approximately $13. Based on the LOC estimate derive another
estimate using a and the historical productivity data, the total estimated project cost is $431,000 and different method.
the estimated effort is 54 person-months. 12
Parts
» The Concurrent Development Model
» SUMMARY Software engineering is a discipline that integrates process, methods, and tools for
» PEOPLE In a study published by the IEEE [CUR88], the engineering vice presidents of three
» THE PROCESS The generic phases that characterize the software process—definition, development,
» THE PROJECT In order to manage a successful software project, we must understand what can go
» METRICS IN THE PROCESS AND PROJECT DOMAINS
» Extended Function Point Metrics
» METRICS FOR SOFTWARE QUALITY
» INTEGRATING METRICS WITHIN THE SOFTWARE PROCESS
» METRICS FOR SMALL ORGANIZATIONS
» ESTABLISHING A SOFTWARE METRICS PROGRAM
» Obtaining Information Necessary for Scope
» An Example of LOC-Based Estimation
» QUALITY CONCEPTS 1 It has been said that no two snowflakes are alike. Certainly when we watch snow
» SUMMARY Software quality assurance is an umbrella activity that is applied at each step in the
» R diagram 1.4 <part-of> data model; data model <part-of> design specification;
» SYSTEM MODELING Every computer-based system can be modeled as an information transform using an
» Facilitated Application Specification Techniques
» Data Objects, Attributes, and Relationships
» Entity/Relationship Diagrams
» Hatley and Pirbhai Extensions
» Creating an Entity/Relationship Diagram
» SUMMARY Design is the technical kernel of software engineering. During design, progressive
» Data Modeling, Data Structures, Databases, and the Data Warehouse
» Data Design at the Component Level
» A Brief Taxonomy of Styles and Patterns
» Quantitative Guidance for Architectural Design
» Isolate the transform center by specifying incoming and outgoing
» SUMMARY Software architecture provides a holistic view of the system to be built. It depicts the
» The User Interface Design Process
» Defining Interface Objects and Actions
» D E S I G N E VA L U AT I O N
» Testing for Real-Time Systems
» Organizing for Software Testing
» Criteria for Completion of Testing
» The Transition to a Quantitative View
» The Attributes of Effective Software Metrics
» Architectural Design Metrics
» Component-Level Design Metrics
» SUMMARY Software metrics provide a quantitative way to assess the quality of internal product
» Encapsulation, Inheritance, and Polymorphism
» Identifying Classes and Objects
» The Common Process Framework for OO
» OO Project Metrics and Estimation
» Event Identification with Use-Cases
» SUMMARY Object-oriented analysis methods enable a software engineer to model a problem by
» Partitioning the Analysis Model
» Designing Algorithms and Data Structures
» Program Components and Interfaces
» SUMMARY Object-oriented design translates the OOA model of the real world into an
» Testing Surface Structure and Deep Structure
» Deficiencies of Less Formal Approaches 1
» What Makes Cleanroom Different?
» Design Refinement and Verification
» SUMMARY Cleanroom software engineering is a formal approach to software development that
» Structural Modeling and Structure Points
» Describing Reusable Components
» SUMMARY Component-based software engineering offers inherent benefits in software quality,
» Guidelines for Distributing Application Subsystems
» Middleware and Object Request Broker Architectures
» An Overview of a Design Approach
» Consider expert Web developer will create a complete design, but time and cost can be appropriate
» A Software Reengineering Process Model
» Reverse Engineering to Understand Data
» Forward Engineering for Client/Server Architectures
» SUMMARY Reengineering occurs at two different levels of abstraction. At the business level,
Show more