Académique Documents
Professionnel Documents
Culture Documents
General
Accurately forecasting how much time and
effort it will take to develop a system, or to
take a specific set of changes is one of the
biggest challenges in SE.
Although a lot of projects underestimated the
cost they needed, cost estimation is still
necessary for a new project.
Types of Cost
Time: The difference in time from the start
date to the end date of a project. This is
called elapsed time.
Effort: Also called development effort. This is
the amount of labor needed for a project.
Effort is expressed in person-months mostly.
COCOMO
Constructive Cost Model (COCOMO) proposed
by Barry Boehm.
It is a cost estimation model that considers the
complexity of a project:
Organic
Semidetached
embedded
Organic
In the organic mode, relatively small software teams
develop software in a highly familiar, in-house
environment. Most people connected with the
project have extensive experience in working with
related systems within the organization, and have a
thorough understanding of how the system under
development will contribute to the organizations
objectives. Very few organic-mode projects have
developed products with more than 50 thousand
delivered source instructions (KDSI).
Semidetached
The semidetached mode of software development
represents an intermediate stage between the
organic and embedded modes. "Intermediate"
may mean either of two things:
1.An intermediate level of project characteristic.
2.A mixture of the organic and embedded mode
characteristics.
Embedded
The major distinguishing factor of an
embedded-mode software project is a need to
operate within tight constraints. The product
must operate within (is embedded in) a
strongly coupled complex of hardware,
software, regulations, and operational
procedures, such as an electronic funds
transfer system or an air traffic control system.
Basic COCOMO
Basic COCOMO model estimates the software
development effort using only a single
predicator variable (size in DSI) and three
software development modes.
Development Mode
Effort Equation
Schedule Equation
Organic
E=2.4*(KDSI)^1.05
TDEV=2.5*(E)^0.38
Semidetached
E=3.0*(KDSI)^1.12
TDEV=2.5*(E)^0.35
Embedded
E=3.6*(KDSI)^1.20
TDEV=2.5*(E)^0.32
Basic COCOMO
Basic COCOMO is good for quick, early, rough
order of magnitude estimates of software
costs, but its accuracy is necessarily limited
because of its lack of factors which have a
significant influence on software costs.
An Example
Project A is to be a 32,000 DSI semi-detached
software. Then we can estimate:
Effort = 3.0*(32)^1.12 = 146 person months
Productivity = 32,000 DSI/ 146 PM = 219 DSI/PM
Schedule = 2.5*(146)^0.35 = 14 months
Average staffing = 146 pm/ 14 months = 10
Persons
Intermediate COCOMO
The Intermediate COCOMO estimates the software
development effort by using 15 cost driver variables
besides the side variable used in Basic COCOMO.
The Intermediate COCOMO can be applied across the
entire software product for easily and roughly cost
estimation during the early stage, or be applied at
the software product component level for more
accurate cost estimation in more detailed stages.
Intermediate COCOMO
The Intermediate COCOMO uses an Effort
Adjustment Factor (EAF) and slightly different
coefficients for the effort equations than the
Basic COCOMO.
The EAF is simply the product of the Effort
Multipliers corresponding to each of the cost
drives for the target product.
Intermediate COCOMO
Development Mode Effort Equation
Schedule Equation
Organic
E=EAF*3.2*(KDSI)^1.05
TDEV=2.5*(E)^0.38
Semidetached
E=EAF*3.0*(KDSI)^1.12
TDEV=2.5*(E)^0.35
Embedded
E=EAF*2.8*(KDSI)^1.20
TDEV=2.5*(E)^0.32
EAF Features
Product attributes
Required software reliability(RELY)The extent to
which the software product must perform its intended
functions satisfactorily over a period of time.
Database size(DATA)The degree of the total amount
of data to be assembled for the database.
Product complexity(CPLX)The level of complexity of
the product to be develop.
EAF Features
Computer attributes
Execution time constraint(TIME)The degree of the execution
constraint imposed upon a software product.
Main storage constraint(STOR)The degree of main storage
constraint imposed upon a software product.
Virtual machine volatility(VIRT)The level of the virtual machine
underlying the product to be developed.
Computer turnaround time(TURN)The level of computer
response time experienced by the project team developing the
product.
EAF Features
Personal attributes
Analyst capability(ACAP)The level of capability of the analysts
working on a software product.
Applications experience(AEXP)The level of applications
experience of the project team developing the software product.
Programmer capability(PCAP)The level of capability of the
programmers working on the software product.
Virtual machine experience(VEXP)The level of virtual machine
experience of the project team developing the product.
Programming language experience(LEXP)The level of
programming language experience of the project team developing
the product.
EAF Features
Project attributes
Use of modern programming practices(MODP)The
degree to which modern programming practices are
used in developing software product.
Use of software tools(TOOL)The degree to which
software tools are used in developing the software
product.
Required development schedule(SCED)The level of
schedule constraint imposed upon the project team
developing the software product.
EAF Rating
Cost Drivers
Very Low
Low
Nominal
High
Very High
RELY
0.75
0.88
1.00
1.15
1.40
0.94
1.00
1.08
1.16
0.85
1.00
1.15
1.30
1.65
TIME
1.00
1.11
1.30
1.66
STOR
1.00
1.06
1.21
1.56
DATA
CPLX
0.70
VIRT
0.87
1.00
1.15
1.30
TURN
0.87
1.00
1.07
1.15
ACAP
1.46
1.19
1.00
0.86
0.71
AEXP
1.29
1.13
1.00
0.91
0.82
PCAP
1.42
1.17
1.00
0.86
0.70
VEXP
1.21
1.10
1.00
0.90
LEXP
1.14
1.07
1.00
0.95
MODP
1.24
1.10
1.00
0.91
0.82
TOOL
1.24
1.10
1.00
0.91
0.83
SCED
1.23
1.08
1.00
1.04
1.10
Extra High
An Example
Project B is in embedded mode and estimated to be
10,000 delivered source instructions in length. Its
EAF is as:
Cost Drivers
RELY
DATA
CPLX
TIME
STOR
VIRT
TURN
ACAP
AEXP
PCAP
VEXP
LEXP
MODP
TOOL
SCED
1.15
0.94
1.30
1.11
1.06
1.00
1.00
0.86
1.00
0.86
1.10
1.00
0.91
1.10
1.00
An Example
Nominal Effort = 2.8*(10)^1.20 = 44 personmonths
The product of the multipliers = 1.15**1.00
= 1.35
The estimated effort = 1.35*44 = 59 personmonths
Detailed COCOMO
The Detailed COCOMO differs from the Intermediate
COCOMO in two aspects:
Phase sensitive effort multipliers
The effort multipliers for every cost drivers are different during the
software development phases. These multipliers are used to
determine the amount of effort required to complete each phase.
Detailed COCOMO
Module Level Cost Drivers
CPLX, PCAP, VEXP, LEXP
Detailed COCOMO
The Detailed COCOMO uses the same equations for
estimation as the Intermediate COCOMO.
Detailed Model uses a very complex procedure to estimate
the cost of the product. The procedure uses the DSIs for
subsystems and modules, and module level and subsystem
level effort multipliers as inputs.
The Detailed COCOMO can estimate the staffing, cost, and
duration of each of the development phases, subsystems,
modulesallowing you to experiment with different
development strategies, to find the plan that best suits your
needs and resources.