
- •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
Adjusted Function Point Count
The Adjusted Function Point Count is the function point count as adjusted to compensate for environmental conditions or circumstances that impact the software development. The Adjusted Function Point Count is computed from the Unadjusted Function Point Count (UFPC) and the Value Adjustment Factor (VAF) as follows:
where:
-
AFPC =
Number of function points
UFPC =
Function point count
VAF =
Adjusted processing complexity
Source Lines of Code: Backfire Method
The Backfire Method is a means of estimating the count of SLOC that is equivalent to the adjusted function point count. SLOC is estimated from the adjusted function point count by using the selected programming language’s “language multiplier”, as follows:
where:
-
SLOC =
Source lines of code
AFPC =
Number of function points
LM =
Language multiplier, a function point-to-SLOC conversion constant for the selected language
Differences in Function Point Terminology
Earlier releases of COSMOS, through version 3.1, employed the function point terminology of the inventor of function points, Allan Albrecht, as set forth in his 1983 paper. Releases of COSMOS from version 3.2 onward use function point terminology as set forth by the International Function Point User's Group (IFPUG), except in the COSMOS Initialization File. The differences between the two terminologies may be summarized as follows:
-
Albrecht 1983
IFPUG 4.0
Processing Complexity Adjustment (PCA) Unadjusted Processing Complexity (PC) Logical Internal File (LIF) Simple/Average/Complex Complexities Function Count
Value Adjustment Factor (VAF) Total Degree of Influence (TDI) Internal Logical File (ILF) Low/Average/High Complexities Function Point Count
Chapter 3: cocomo Model cocomo Model Description
The Constructive Cost Model, or COCOMO, was devised by Barry Boehm and associates to produceparametricestimates of software project effort and schedule. Boehm defined a hierarchy of models: basic, intermediate, and advanced. The basic COCOMO Model is a static single-valued model which calculates development effort and cost as a function of the estimated source lines of code (SLOC The intermediate COCOMO Model calculates development effort and cost as a function of program size in terms of estimated SLOC and a subjective assessment of 15 “cost driver” attributes. The advanced COCOMO Model includes all intermediate features plus an assessment of cost driver's impact oneach phaseof the system life cycle. COCOMO is described in detail in Dr. Boehm’s landmark text, Software Engineering Economics, published in 1981. The use of COCOMO and the principles of estimating given inSoftware Engineering Economicsare the heart of COSMOS.
As described in the previous chapter, a considerable problem with using COCOMO is the difficulty in estimating SLOC early in the software development cycle, before a detailed software design or solution has emerged. COSMOS was invented to overcome this difficulty. COSMOS produces a “backfired” estimate of SLOC from a project function point count. This SLOC estimate is input into a project’s COCOMO model. For stand-alone COCOMO models, the user is expected to supply the SLOC to be produced in the project. Other than the use of a SLOC estimate, COSMOS implements a “pure” intermediate COCOMO model. All three modes (organic, semidetached, and embedded) are supported. This chapter describes the COSMOS implementation of the intermediate COCOMO model. For more detailed information, readers are referred to Software Engineering Economics.