
- •Version 4.1 Revision e5
- •Index 70
- •Preface
- •Revisions
- •Revision 4.1 5/1/1998
- •Notices
- •Brief cosmos Product Description
- •Cosmos Capabilities and Theory of Operation
- •Cosmos Project Level Estimation
- •Cosmos System Level Estimation
- •Cosmos Versions and Development History
- •Cosmos Personnel
- •Chapter 2: Function Point Model
- •Introduction to Function Points
- •Function Point Analysis
- •Application Boundary
- •Functionality
- •Data Functionality
- •Transaction Functionality
- •Complexity
- •Complexity Weights
- •Value Adjustment Factor and Adjusted Function Points
- •Backfire Method
- •Added, Changed, and Deleted Functionality
- •Comparison of Function Points and sloc
- •Cosmos and Function Point Analysis
- •Function Point Formulae Unadjusted Function Point Count
- •Total Degree of Influence
- •Value Adjustment Factor
- •Adjusted Function Point Count
- •Source Lines of Code: Backfire Method
- •Differences in Function Point Terminology
- •Chapter 3: cocomo Model cocomo Model Description
- •Cocomo Equations
- •Sloc and Delivered Source Instructions
- •Cocomo Modes
- •Cocomo Cost Drivers
- •Product Attributes
- •Hardware Attributes
- •Personnel Attributes
- •Project Attributes
- •Cocomo Complexity Influence Assignments
- •Cocomo Phase Distribution
- •Cocomo Formulae
- •Rayleigh Equations – General Description
- •Putnam’s Analysis: Software Equation
- •Manpower Buildup Index
- •Rayleigh Model
- •Development Phases
- •Application Type and Productivity
- •Rayleigh Formulae Software Equation
- •Manpower Buildup Index Equation
- •Chapter 5: Project Estimation Overview
- •Model Interrelationships
- •Import and Export of Models
- •Project Report
- •Chapter 6: System Estimation System Description
- •System Development Phases
- •System-LevelEffortEstimates
- •System-LevelScheduleEstimates
- •System-Level Manpower Buildup Index Level
- •System-Level Project Specification and Management
- •Schedule Compression
- •System Development and cocomo
- •System Output Report
- •References
- •Glossary
- •Customizing
Cocomo Formulae
Unadjusted Person Months
where:
-
=
Unadjusted person-months to complete project
SLOC =
Source lines of code
For Organic
For Semidetached
For Embedded
N1 =
3.2
3.0
2.8
N2 =
1.05
1.12
1.20
Effort Adjustment Factor
EAF = Product of all selected cost driver attribute ratings
where:
-
EAF =
Effort Adjustment Factor
Adjusted Person Months
where:
-
=
Adjusted person-months to complete project
=
Unadjusted person-months to complete project
EAF =
Effort Adjustment Factor
Time to Develop
where:
-
=
Estimated calendar time to complete project
=
Adjusted person-months to complete project
For Organic
For Semidetached
For Embedded
N3 =
.38
.35
.32
COCOMO II
Boehm and his associates have formulated a COCOMO II model. The description of COCOMO II is beyond the scope of this document. Although COSMOS is based on the original COCOMO model, it has similarities with COCOMO II Phase 3 analysis, particularly in its use of function points as a sizing measure.
Chapter 4: Rayleigh Model
Rayleigh Distribution
The Rayleigh distribution is a curve that shows a step increase near the origin and a gradual tapering off toward zero.
The relationship has formed the mathematical basis for a number of hypotheses in physics. The distribution also fits the general pattern of staff buildup in development projects. One of the earliest attempts at theoretical cost analysis is the work of Peter Norden to quantify the changes in the number of people applied to a hardware project. Using project data from as far back as 1958, Norden used a theoretical reliability model to form an analogy which applied to the number of problems remaining to be solved in a task. The result was the determination that the Wiebull distribution provided a theoretical basis for estimating the shape over time of the number of people applied to a project. His analysis was subsequently validated empirically. Lawrence Putnam (1978) applied Norden’s adaptation of the Rayleigh model, a special case of the Weibull model, to software development. The results have been validated over a 15 year time period with thousands of real, completed projects. The Rayleigh-Norden curve is the basis for Putnam’s estimation program, the Software Lifecycle Model (SLIM) .
Rayleigh Equations – General Description
The Rayleigh equation takes the conceptual form:
Quantity Produced = Process Productivity * Effort * Schedule
This means that the product of the time and effort, coupled with the process productivity of the development organization, determines how much functionality can be delivered. The calculation form of the equation is expressed:
Size = Process Productivity Parameter * (Effort/B) (1/3) * Time (4/3)
where
The Process Productivity Parameter is the development process proficiency of the organization. It is determined from historical data.
Size is the quantity of function created in source lines of code, function points, objects, or other measures of function.
Effort is the development effort required. It includes all categories of labor used on the project. Effort is consistent with the time specified below.
B is a complexity adjustment factor. It provides for specialized skills for integration testing, documentation, and management as the size of the system increases.
Time is the elapsed calendar development time from the start of detailed design until the product is ready to enter into operational service (frequently this is a 95% reliability level).