SlideShare une entreprise Scribd logo
1  sur  47
LOC, COCOMO I & COCOMO II
Kalyan Mondal (2012ca49)
Jyoti Shrivastava (2012ca52)
Kamal Kishore (2012ca34)
Jyotsna Agnihotri (2012ca66)
Karishma Gupta(2012ca55)
Presented By:
Subject: Software Engineering
Coordinator:
Mr Anoj Kumar
Contents
 Software Planning
 LOC: Lines of Code
 Function Point
 Cost Estimation
 Development Mode
 COCOMO I
• Basic COCOMO
• Intermediate COCOMO
• Detailed COCOMO
 COCOMO II
• Application Composition
• Early Design Model
• Post Architecture Model
 References
SOFTWARE PLANNING
Software planning begins before technical work starts, continues as the softwa
Evolves from concept to reality, and culminates only when the software is retir
Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, yogesh si
Fig:- Activities during software project planning
LINES OF CODE(LOC)
• A Line of code is any line of program text that is not a comment
or blank line, regardless of the number of statements or
fragments on the line. This specifically includes all lines
containing program header, declarations, and executable and
non-executable statements.
• While line of codes have their uses, their usefulness is limited for
other tasks like functionality, complexity, efficiency, etc.
Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, yogesh si
FUNCTION POINT
Function point measures functionality which is a solution to the size
measurement problem.
It is decomposed into following functional units
Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, yogesh si
Inputs Outputs Enquiries
Internal
Logical
Files
External
Interface
Files
FUNCTIONAL UNITS WITH WEIGHTING FACTORS
Functional units Low Average High
External Inputs 3 4 6
External Outputs 4 5 7
External Inquiries 3 4 5
Internal logical files (ILF) 7 10 15
External interface files
(EIF)
5 7 10
The procedure for the calculation of UFP in mathematical form is
given below
5 3
UFP = ∑ ∑ 𝑍𝑖𝑗WijUFP : Unadjusted Function Point i=1
j=1
Where i indicates the row and j indicates the column of table.
Wij : It is the entry of ith row and jth column of the table.
Zij: It is the count of the number of functional unit of type i that have been
classified as having the complexity corresponding to column j
Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, yogesh si
An example
Consider a project with the following functional units: 50 user inputs,40
user outputs, 35 user enquiries,6 user files,4 external interfaces.
Assume all complexity adjustment factors and weighting factors are
average.
Compute the function points for the project. Suppose that program
needs 70 LOC per FP. Find out the size of complete project.
Solution:
5 3
UFP = ∑ ∑ 𝑍𝑖𝑗Wij
i=1 j=1
UFP= 50 * 4 + 40 * 5 + 35 * 4 + 6 * 10 + 4 * 7
= 200+200+140+60+28 = 628
CAF= (0.65 + ∑𝐹𝑖 )
=(0.65 + 0.01 (14 * 3 )) = 1.07
FP= UFP * CAF
=628 * 1.07 = 672
Size = FP * (LOC per FP) = 672 * 70 = 47040 LOC
Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, Yogesh S
Cost Estimation
 Approximate judgement of the costs for a project. It
should be done throughout the entire life cycle.
 Why we need?
 To determine how much effort and time a
software project requires.
Important for making good management
decisions.
It facilitates competitive contract bids.
It affect the planning and budgeting of a project.
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
Jyoti Shrivastava
Development Mode of S/W Projects
Mode Project
Size
Nature of Project Innovation Deadline
Organic Typically
2-50 KLOC
Small size project,
Experienced
developers.
Little Not Tight
Semi
Detached
Typically
50-
300KLOC
Medium size project
and team.
Medium Medium
Embedded Typically
over
300KLOC
Large project, Real-
time systems
Significant Tight
Constructive Cost Model(COCOMO )
 The COCOMO model is a single variable software
cost estimation model developed by Barry Boehm
in 1981.
 The model uses a basic regression formula, with
parameters that are derived from historical project
data and current project characteristics.
Hierarchy of Cocomo Model
1. Basic COCOMO model
2. Intermediate COCOMO model
3. Detailed COCOMO model
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
Jyoti Shrivastava
Basic COCOMO Model
It take the form:
Effort(E) = ab * (KLOC)b
b(in Person-months)
DevelopmentTime(D) = cb * (E) d
b (in month)
Average staff size(SS) = E/D (in Person)
Productivity(P) = KLOC / E (in KLOC/Person-month)
Project ab bb cb db
Organic 2.4 1.05 2.5 0.38
Semidetached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
Jyoti Shrivastava
Person-Months
What is Person-Months ?
The area under the curve
Ref: Fundamentals of Software Engineering By Rajib Mall Created by:
Basic cocomo: Example
A project size of 200KLOC is to be developed.S/W
development team has average experience on
similar type of projects.The project schedule is not
very tight.Calculate the effort and development time
of the project.
Ans: 200 KLOC implies semi-detached mode.
Hence, E= 3.0 * (200)1.12 = 1133.12 PM
D=2.5 * (1133.12)0.35 = 29.3 M
Avg. staff size(SS) = E/D
= 1133.12/29.3=38.67 Persons.
Productivity (P) = KLOC/E
= 200/1133.12=0.1765
KLOC/PM.
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by: Jyoti
Shrivastava
Intermediate COCOMO
 Extension of Basic COCOMO
 Why Use ?
Basic model lacks accuracy
 Computes software development effort as a function of
program size and set of 15 Cost Drivers
 Cost Driver: A multiplicative factor that determines the effort
required to complete the software project.
 Why Cost Drivers?
Adjust the nominal cost of a project to the actual project
Environment.
 For each Characteristics, Estimator decides the scale factor
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by: Kalyan
Mondal
Very
Low
Low Nominal High
Very
High
Extra
High
Cost Drivers
• Required Software Reliability (RELY)
• Database Size (DATA)
• Product Complexity (CPLX)
Product
Attributes
• Execution Time Constraint (TIME)
• Main Storage constraint (STOR)
• Virtual Machine volatility (VIRT)
• Computer turnaround time (TURN)
Computer
Attributes
• Analyst Capability (ACAP)
• Application Experience (AEXP)
• Programmer Capability (PCAP)
• Virtual Machine Experience (VEXP)
• Programming language Experience (LEXP)
Personnel
Attributes
• Modern programming practices (MODP)
• Use of Software tools (TOOL)
• Required development schedule (SCED)
Project
Attributes
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
The Calculation
 Multiply all 15 Cost Drivers to get Effort Adjustment
Factor(EAF)
 E(Effort) = ab(KLOC)b
b * EAF(in Person-Month)
 D(Development Time) = cb(E)d
b (in month)
 SS (Avg Staff Size) = E/D (in persons)
 P (Productivity) = KLOC/E (in KLOC/Person-month)
Project ab bb cb db
Organic 3.2 1.05 2.5 0.38
Semidetach
ed
3.0 1.12 2.5 0.35
Embedded 2.8 1.20 2.5 0.32
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
Intermediate COCOMO : Example
A new project with estimated 400 KLOC embedded system has to
be developed. Project manager hires developers of low quality but
a lot of experience in programming language. Calculate the Effort,
Development time, Staff size & Productivity.
EAF = 1.29 * 0.95 = 1.22
400 LOC implies Embedded System
Effort = 2.8*(400)1.20 * 1.225 = 3712 * 1.22 = 4528 person-months
Development Time = 2.5 * (4528)0.32 = 2.5 * 14.78 = 36.9 months
Avg. Staff Size = E/D = 4528/36.9 = 122 persons
Productivity = KLOC/Effort = 400/4528 = 0.0884 KLOC/person-
month
Cost
Drivers
Very
Low
Low Nominal High Very
High
Extra High
AEXP 1.29 1.13 1.00 0.91 0.82 --
LEXP 1.14 1.07 1.00 0.95 -- --
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
Detailed COCOMO
 Detailed COCOMO = Intermediate COCOMO +
assessment of Cost Drivers impact on each phase.
 Phases
1) Plans and requirements
2) System Design
3) Detailed Design
4) Module code and test
5) Integrate and test
• Cost of each subsystem is estimated separately. This
reduces the margin of error.
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
The Calculation
 Multiply all 15 Cost Drivers to get Effort Adjustment
Factor(EAF)
 E(Effort) = ab(KLOC)b
b * EAF(in Person-Month)
 D(Development Time) = cb(E)d
b (in month)
 Ep (Total Effort) = µp * E (in Person-Month)
 Dp (Total Development Time) = τp * D (in month)
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
Detailed COCOMO : Example
Consider a project to develop a full screen editor. The major
components identified and their sizes are (i) Screen Edit – 4K (ii)
Command Lang Interpreter – 2K (iii) File Input and Output – 1K (iv)
Cursor movement – 2K (v) Screen Movement – 3K. Assume the
Required software reliability is high, product complexity is high,
analyst capability is high & programming language experience is
low. Use COCOMO model to estimate cost and time for different
phases.
Size of modules : 4 + 2 + 1 + 2 + 3 = 13 KLOC [Organic]
EAF = 1.15 * 1.15 * 0.86 * 1.07 = 1.2169
Cost
Drivers
Very
Low
Low Nominal High Very
High
Extra High
RELY 0.75 0.88 1.00 1.15 1.40 --
CPLX 0.70 0.85 1.00 1.15 1.30 1.65
ACAP 1.46 1.19 1.00 0.86 0.71
LEXP 1.14 1.07 1.00 0.95 -- --
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
Example (Contd.)
Initial Effort (E) = ab(KLOC)b
b * EAF = 3.2*(12)1.05 * 1.2169
= 52.9 person-months
Initial Development Time = cb(E)d
b =2.5*(52.9)0.38 = 11.29 months
Phase value of µp and τp
Phase wise effort & development time distribution
Plan &
Reqr
System
Design
Detail
Design
Module
code & test
Integration
& Test
Organic Small
µp
0.06 0.16 0.26 0.42 0.16
Organic Small
τp
0.10 0.19 0.24 0.39 0.18
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
E D Ep (in person-months) Dp (in months)
Plan &
Requirement
52.9 11.29 0.06*52.9 = 3.17 0.10*11.29=1.1
2
System Design 52.9 11.29 0.16*52.9=8.46 0.19*11.29=2.1
4
Detail Design 52.9 11.29 0.26*52.9=13.74 0.24*11.29=2.7
0
Module code & test 52.9 11.29 0.42*52.9=22.21 0.39*11.29=4.4
WHY COCOMO-II ?
 The changes in s/w development techniques included a
move away from mainframe overnight batch processing
to desktop-based real-time turnaround.
 These changes and others began to make applying the
original COCOMO model problematic.
 The model is tuned to the life cycle practices of the 21st
century.
Ref: Software Engineering By K.K.Aggarwal & Y. Singh and csse website by : Jyotsna Agnihotri
Categories Identified By
Cocomo II
 End User Programming
 Infrastructure Sector
 Intermediate Sectors
1. Application Generators And Composition Aids
2. Application Composition Sector
3. System Integration
Stages Of Cocomo-II
Application Composition
Earlier Design
Post Architecture
Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
Application Composition
Assess Object
Counts
Classification Of
Complexity
Levels
Assign Complexity
Weight To Each Object
Determine Object
Points
Compute New
Object Points
Calculation Of
Productivity Rate
Compute The
Effort In Person
Months.
• Assess object counts: Estimate the number of screens,
reports and 3 GL components that will comprise this application.
• Classification of complexity levels:
We have to classify each object instance (depending on
values of its characteristics) into :-
o simple
o medium
o Difficult
• Assign complexity weight to each object : The
weights are used for three object types :-
o screen
o report
o 3GL components
Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
• Determine object points: Add all the weighted object
instances to get one number and this known as object-point count.
• Compute new object points: We have to estimate the
percentage of reuse to be achieved in a project. Depending on the
percentage reuse, the new object points (NOP) are computed.
Object Points * (100 - %reuse)
NOP = ---------------------------------------------
100
NOP are the object points that will need to be developed and differ
from the object point count because there may be reuse( percentage of
the Product development which is accomplished by exploiting the
existence of existing component's design-or-development effort).
Ref: Software Engineering By K.K.Aggarwal & Y. Singh&gilb.com by : Jyotsna Agnihotri
• Calculation of productivity rate: The productivity
rate can be calculated as:
Productivity rate (PROD) = NOP/Person month
• Compute the effort in Persons-Months: When
PROD is known, we may estimate effort in Person-
Months as:
NOP
Effort in PM = ------------
PROD
Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
Example: Consider a database application project with the
following characteristics:
 The application has 4 screens with 4 views each and 7
data tables for 3 servers and 4 clients.
 The application may generate two report of 6 sections
each from 07 data tables for two server and 3 clients.
There is 10% reuse of object points.
 The developer’s experience and capability in the similar
environment is low. The maturity of organization in
terms of capability is also low. Calculate the object point
count, New object points and effort to develop such a
project.
Example
Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
Solution :
Lets have a look on the tables for screens, for reports , for
complexity weights for each level
No. Of Views
Contained in a
screen
Total<4
(<2 servers
<3 clients)
Total<8
(2-3 servers
3-5 clients)
Total 8+
(>3 servers
>5 clients)
<3 Simple Simple Medium
3-7 Simple Medium Difficult
>8 Medium Difficult Difficult
No. Of
Sections
Contained in a
report
Total<4
(<2 servers
<3 clients)
Total<8
(2-3 servers
3-5 clients)
Total 8+
(>3 servers
>5 clients)
0 or 1 Simple Simple Medium
2 or 3 Simple Medium Difficult
4+ Medium Difficult Difficult
 This project comes under the category of application composition estimation
model.
 Number of screens = 4 with 4 views each
 Number of reports = 2 with 6 sections each
 From Table we know that each screen will be of medium complexity and
each report will be difficult complexity.
 Using Table of complexity weights, we may calculate object point count
= 4 x 2 + 2 x 8 = 24
Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
Object Type Simple
Complexity
Medium
Complexity
Difficult
Complexity
Screen 1 2 3
Report 2 5 8
3GL - - 10
Using the formula NOP is calculated as:
NOP= 24 * (100-10)/100=21.6
Low value of productivity is given in above Productivity table =
7
Efforts in PM=NOP/PROD=21.6/7=3.086 PM
Developer’s Experience
And Capability
PROD (NOP/PM)
Very low 4
Low 7
Nominal 13
High 25
Very high 50
Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
Early Design Model
Used in the early stages of a software project when very little
may be known about:
the size of the product to be developed,
the nature of the target platform,
the nature of the personnel to be involved in the project.
Uses Unadjusted Function Points (UFP) as the measure of size.
Based on a standard formula for COCOMO-II models:
Where
PMnominal = Effort of the project in person months
A = Constant representing the nominal productivity,
provisionally set to 2.5
B = Scale factor
Size = Software size
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh 32
The Scaling Factors that COCOMO-II model uses for the
calculation of B are:
 Precedentness (PREC)
 Development flexibility (FLEX)
 Architecture/ Risk Resolution (RESL)
 Team Cohesion (TEAM)
 Process maturity (PMAT)
Early design cost drivers
There are 7 early design cost drivers and are given below:
1. Product Reliability and Complexity (RCPX)
2. Required Reuse (RUSE)
3. Platform Difficulty (PDIF)
4. Personnel Capability (PERS)
5. Personnel Experience (PREX)
6. Facilities (FCIL)
7. Schedule (SCED)
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh 33
Data for the Computation of B (Scalar Factor)
Scaling Factors Very
Low
Low Nominal High Very High Extra High
Precedentness 6.20 4.96 3.72 2.48 1.24 0.00
Development
Flexibility
5.07 4.05 3.04 2.03 2.03 0.00
Architecture/
Risk Resolution
7.07 5.65 4.24 2.83 1.41 0.00
Team Cohesion 5.48 4.38 3.29 2.19 1.10 0.00
Process
Maturity
7.80 6.24 4.68 3.12 1.56 0.00
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
If B=1.0, then Linear relationship b/w Effort & Size.
If B 1.0, then Non-Linear relationship b/w Effort & Size.
If B<1.0, then the rate of increase of effort decreases as the size of
the product increases.
If B>1.0, then the rate of increase of effort increases as the size of
the product increases.
B = 0.91 + 0.01 * (Sum of rating on scaling factors for the project)
When all the scaling factors of a project are rated as extra high,
then the best value of B= 0.91 (for COCOMO II.2000)
when all the scaling factors of a project are rated as very low,
Then the worst value of B= 1.23 (for COCOMO II.2000)
Hence, the value of B may vary from 0.91 to 1.23
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
Calculate the scalar factor B
Early Design Model:
Example
Question: A software project of application generator category with estimated 50
KLOC has to be developed. The scale factor (B) has low precedentness, high
development flexibility and low team cohesion.
Other factors are nominal. The early design cost drivers like platform
difficult (PDIF) and Personnel Capability (PERS) are high and others are
nominal.
Calculate the Effort in person-months for the development of the project.
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
Early Design
Cost Drivers
Extra
Low
Very
Low
Low Nominal High Very
High
Extra
High
RCPX 0.73 0.81 0.98 1.0 1.30 1.74 2.38
RUSE - - 0.95 1.0 1.07 1.15 1.24
PDIF - - 0.87 1.0 1.29 1.81 2.61
PERS 2.12 1.62 1.26 1.0 0.83 0.63 0.50
PREX 1.59 1.33 1.12 1.0 0.87 0.71 0.62
FCIL 1.43 1.30 1.10 1.0 0.87 0.73 0.62
SCED - 1.43 1.14 1.0 1.0 1.0 -
36
B = 0.91 + 0.01 * (Sum of rating on scaling factors for the
project)
= 0.91 + 0.01 * (4.96 + 2.03 + 4.24 + 4.38 + 4.68)
= 0.91 + 0.01(20.29)=1.1129
= 2.5 * (50)1.1129 = 194.41 Person-months
here A=2.5 (for COCOMO II.2000) predefined
The 7 cost drivers are:
PDIF = high (1.29) PERS = high (0.83)
RCPX = nominal (1.0) RUSE = nominal (1.0)
PREX = nominal (1.0) FCIL = nominal (1.0)
SCEO = nominal (1.0)
Solution :
= 194.41 * [1.29 x 0.83]
= 194.41 x 1.07
= 208.155 Person months
37
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
Post Architecture Model
• Most detailed estimation model.
• Used when a software life cycle architecture has been completed.
• Used in the development and maintenance of software products
in the application generators, system integration or infrastructure
sectors.
Where
EM : Effort multiplier which is the product of 17 cost drivers.
PMnominal = Effort of the project in person months.
Lines of Codes Counting Rules
Function Points
Cost Drivers
38
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
Cost Drivers of Post Architecture
• Required Software Reliability (RELY)
• Database Size (DATA)
• Product Complexity (CPLX)
• Documentation (DOCU)
• Required Reusability (RUSE)
Product
Attributes
• Execution Time Constraint (TIME)
• Platform Volatility (PVOL)
• Main Storage constraint (STOR)
Computer
Attributes
• Analyst Capability (ACAP)
• Personnel Continuity (PCON)
• Programmer Experience (PEXP)
• Programmer Capability (PCAP)
• Analyst Experience(AEXP)
• Language & Tool Experience (LTEX)
Personnel
Attributes
• Use of Software tools (TOOL)
• Required development schedule (SCED)
• Site Locations & Communications Technology
b/w sites (SITE)
Project
Attributes
39
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
Added Cost
Drivers
7 cost drivers
 DOCU
 RUSE
 PVOL
 PLEX
 LTEX
 PCON
 SITE
Deleted Cost
Drivers
5 Cost Drivers
• VIRT
• TURN
• VEXP
• LEXP
• MODP
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
Cost
Drivers
Very Low Low Nominal High Very High Extra High
RELY 0.75 0.88 1.00 2.48 1.24 0.00
DATA 0.93 1.00 2.03 2.03 0.00
CPLX 0.75 0.88 1.00 2.83 1.41 0.00
RUSE 0.91 1.00 2.19 1.10 0.00
DOCU 0.89 0.95 1.00 3.12 1.56 0.00
TIME 1.00 1.11 1.31 1.67
STOR 1.00 1.06 1.21 1.57
PVOL 0.87 1.00 1.15 1.30
ACAP 1.50 1.22 1.00 0.83 0.67
PCAP 1.37 1.16 1.00 0.87 0.74
PCON 1.24 1.10 1.00 0.92 0.84
AEXP 1.22 1.10 1.00 0.89 0.81
PEXP 1.25 1.12 1.00 0.88 0.81
LTEX 1.22 1.10 1.00 0.91 0.84
TOOL 1.24 1.12 1.00 0.86 0.72
SITE 1.25 1.10 1.00 0.92 0.84 0.78
SCED 1.29 1.10 1.00 1.00 1.00
17 Cost Drivers
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Schedule Estimation
Development time can be calculated using PMadjusted as a key
factor and the desired equation is:
Where
= constant, provisionally set to 3.67, B = Scaling factor
TDEVnominal = calendar time in months with a scheduled constraint
PMadjusted = Estimated effort in Person months (after adjustment)
Size can be measured in any unit and the model can be calibrated
accordingly. However, COCOMO II details are:
I. Application composition model uses the size in object points.
II. The other two models use size in KLOC.
Size Measurement
42
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
Post Architecture: Example
Ques: A software project of application generator category with estimated 50
KLOC has to be developed. The scale factor (B) has low precedentness, high
development flexibility and low team cohesion. The identified 17 Cost drivers are
high reliability (RELY), very high database size (DATA), high execution time
constraint (TIME),
very high analyst capability (ACAP), high programmers capability (PCAP).
The other cost drivers are nominal.
 Calculate the effort in Person-Months for the development of the project.
Here B = 1.1129
PMnominal = 194.41 Person-months
= 194.41 x (1.15 x 1.19 x 1.11 x 0.67 x 0.87)
= 194.41 x 0.885
= 172.05 Person-months
Solution :
43
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
Final Word
“The models are just there to help,
not to make the management
decisions for you.”
--Barry Boehm
Ref: https://cs.uwaterloo.ca/~apidduck/se362/Lectures/cocomo.pdf
References
 Software Engineering (Third Edition) By
K.K.Aggarwal & Y. Singh
 Fundamentals of Software Engineering (Third
Edition) By Rajib Mall
 Software Engineering , 6th Edition By Ian
Sommerville
 Software Engineering (Sixth Edition) by Roger S.
Pressman
 https://cs.uwaterloo.ca/~apidduck/se362/Lectures/c
ocomo.pdf
Thank You

Contenu connexe

Tendances

Software project management
Software project managementSoftware project management
Software project managementR A Akerkar
 
Spm ap-network model-
Spm ap-network model-Spm ap-network model-
Spm ap-network model-Kanchana Devi
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
software cost factor
software cost factorsoftware cost factor
software cost factorAbinaya B
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structuresNur Islam
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimationKanchana Devi
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling Benazir Fathima
 
Software project estimation
Software project estimationSoftware project estimation
Software project estimationinayat khan
 
Introduction to systems programming
Introduction to systems programmingIntroduction to systems programming
Introduction to systems programmingMukesh Tekwani
 
Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)ShudipPal
 
Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)AmanSharma1172
 
V model presentation
V model presentationV model presentation
V model presentationNiat Murad
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metricsIndu Sharma Bhardwaj
 

Tendances (20)

Software project management
Software project managementSoftware project management
Software project management
 
Spm ap-network model-
Spm ap-network model-Spm ap-network model-
Spm ap-network model-
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
software cost factor
software cost factorsoftware cost factor
software cost factor
 
Stepwise planning
Stepwise planningStepwise planning
Stepwise planning
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structures
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimation
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
Software project estimation
Software project estimationSoftware project estimation
Software project estimation
 
Introduction to systems programming
Introduction to systems programmingIntroduction to systems programming
Introduction to systems programming
 
Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)
 
Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)
 
COCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. MohiteCOCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. Mohite
 
Two pass Assembler
Two pass AssemblerTwo pass Assembler
Two pass Assembler
 
Software design
Software designSoftware design
Software design
 
COCOMO model
COCOMO modelCOCOMO model
COCOMO model
 
V model presentation
V model presentationV model presentation
V model presentation
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 

Similaire à Cocomo model

Cost estimation using cocomo model
Cost estimation using cocomo modelCost estimation using cocomo model
Cost estimation using cocomo modelNitesh Bichwani
 
LatestCOCOMO model presentation for college students .pptx
LatestCOCOMO model presentation for college students .pptxLatestCOCOMO model presentation for college students .pptx
LatestCOCOMO model presentation for college students .pptxaditiibaghla16
 
SE_Sec-A_Lecture-10.pdf
SE_Sec-A_Lecture-10.pdfSE_Sec-A_Lecture-10.pdf
SE_Sec-A_Lecture-10.pdfDISHANTBALOTRA
 
COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimationPramod Parajuli
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxYagnaGummadi
 
Software Estimation Part II
Software Estimation Part IISoftware Estimation Part II
Software Estimation Part IIsslovepk
 
Cocomo model (muskan soni)
Cocomo model (muskan soni)Cocomo model (muskan soni)
Cocomo model (muskan soni)MuskanSony
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceArti Parab Academics
 
Software Project Planning 1
Software Project Planning 1Software Project Planning 1
Software Project Planning 1Gagan Deep
 
In Depth Constructive Cost Modeling related slides
In Depth Constructive Cost Modeling related slidesIn Depth Constructive Cost Modeling related slides
In Depth Constructive Cost Modeling related slidesChobodiDamsaraniPadm
 
Cocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity modelCocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity modelPrakash Poudel
 

Similaire à Cocomo model (20)

Cost estimation using cocomo model
Cost estimation using cocomo modelCost estimation using cocomo model
Cost estimation using cocomo model
 
LatestCOCOMO model presentation for college students .pptx
LatestCOCOMO model presentation for college students .pptxLatestCOCOMO model presentation for college students .pptx
LatestCOCOMO model presentation for college students .pptx
 
SE_Sec-A_Lecture-10.pdf
SE_Sec-A_Lecture-10.pdfSE_Sec-A_Lecture-10.pdf
SE_Sec-A_Lecture-10.pdf
 
COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimation
 
Cocomomodel
CocomomodelCocomomodel
Cocomomodel
 
COCOMO Model
COCOMO ModelCOCOMO Model
COCOMO Model
 
COCOMO.pptx
COCOMO.pptxCOCOMO.pptx
COCOMO.pptx
 
COCOMO MODEL
COCOMO MODELCOCOMO MODEL
COCOMO MODEL
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptx
 
Software Estimation Part II
Software Estimation Part IISoftware Estimation Part II
Software Estimation Part II
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
5. COCOMO.pdf
5. COCOMO.pdf5. COCOMO.pdf
5. COCOMO.pdf
 
Cocomo model (muskan soni)
Cocomo model (muskan soni)Cocomo model (muskan soni)
Cocomo model (muskan soni)
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
Cocomo
CocomoCocomo
Cocomo
 
cost-estimation-tutorial
cost-estimation-tutorialcost-estimation-tutorial
cost-estimation-tutorial
 
Software Project Planning 1
Software Project Planning 1Software Project Planning 1
Software Project Planning 1
 
In Depth Constructive Cost Modeling related slides
In Depth Constructive Cost Modeling related slidesIn Depth Constructive Cost Modeling related slides
In Depth Constructive Cost Modeling related slides
 
Cocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity modelCocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity model
 
V2I6_IJERTV2IS60721
V2I6_IJERTV2IS60721V2I6_IJERTV2IS60721
V2I6_IJERTV2IS60721
 

Dernier

Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 

Dernier (20)

Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 

Cocomo model

  • 1. LOC, COCOMO I & COCOMO II Kalyan Mondal (2012ca49) Jyoti Shrivastava (2012ca52) Kamal Kishore (2012ca34) Jyotsna Agnihotri (2012ca66) Karishma Gupta(2012ca55) Presented By: Subject: Software Engineering Coordinator: Mr Anoj Kumar
  • 2. Contents  Software Planning  LOC: Lines of Code  Function Point  Cost Estimation  Development Mode  COCOMO I • Basic COCOMO • Intermediate COCOMO • Detailed COCOMO  COCOMO II • Application Composition • Early Design Model • Post Architecture Model  References
  • 3. SOFTWARE PLANNING Software planning begins before technical work starts, continues as the softwa Evolves from concept to reality, and culminates only when the software is retir Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, yogesh si Fig:- Activities during software project planning
  • 4. LINES OF CODE(LOC) • A Line of code is any line of program text that is not a comment or blank line, regardless of the number of statements or fragments on the line. This specifically includes all lines containing program header, declarations, and executable and non-executable statements. • While line of codes have their uses, their usefulness is limited for other tasks like functionality, complexity, efficiency, etc. Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, yogesh si
  • 5. FUNCTION POINT Function point measures functionality which is a solution to the size measurement problem. It is decomposed into following functional units Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, yogesh si Inputs Outputs Enquiries Internal Logical Files External Interface Files
  • 6. FUNCTIONAL UNITS WITH WEIGHTING FACTORS Functional units Low Average High External Inputs 3 4 6 External Outputs 4 5 7 External Inquiries 3 4 5 Internal logical files (ILF) 7 10 15 External interface files (EIF) 5 7 10 The procedure for the calculation of UFP in mathematical form is given below 5 3 UFP = ∑ ∑ 𝑍𝑖𝑗WijUFP : Unadjusted Function Point i=1 j=1 Where i indicates the row and j indicates the column of table. Wij : It is the entry of ith row and jth column of the table. Zij: It is the count of the number of functional unit of type i that have been classified as having the complexity corresponding to column j Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, yogesh si
  • 7. An example Consider a project with the following functional units: 50 user inputs,40 user outputs, 35 user enquiries,6 user files,4 external interfaces. Assume all complexity adjustment factors and weighting factors are average. Compute the function points for the project. Suppose that program needs 70 LOC per FP. Find out the size of complete project. Solution: 5 3 UFP = ∑ ∑ 𝑍𝑖𝑗Wij i=1 j=1 UFP= 50 * 4 + 40 * 5 + 35 * 4 + 6 * 10 + 4 * 7 = 200+200+140+60+28 = 628 CAF= (0.65 + ∑𝐹𝑖 ) =(0.65 + 0.01 (14 * 3 )) = 1.07 FP= UFP * CAF =628 * 1.07 = 672 Size = FP * (LOC per FP) = 672 * 70 = 47040 LOC Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, Yogesh S
  • 8. Cost Estimation  Approximate judgement of the costs for a project. It should be done throughout the entire life cycle.  Why we need?  To determine how much effort and time a software project requires. Important for making good management decisions. It facilitates competitive contract bids. It affect the planning and budgeting of a project. Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by: Jyoti Shrivastava
  • 9. Development Mode of S/W Projects Mode Project Size Nature of Project Innovation Deadline Organic Typically 2-50 KLOC Small size project, Experienced developers. Little Not Tight Semi Detached Typically 50- 300KLOC Medium size project and team. Medium Medium Embedded Typically over 300KLOC Large project, Real- time systems Significant Tight
  • 10. Constructive Cost Model(COCOMO )  The COCOMO model is a single variable software cost estimation model developed by Barry Boehm in 1981.  The model uses a basic regression formula, with parameters that are derived from historical project data and current project characteristics. Hierarchy of Cocomo Model 1. Basic COCOMO model 2. Intermediate COCOMO model 3. Detailed COCOMO model Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by: Jyoti Shrivastava
  • 11. Basic COCOMO Model It take the form: Effort(E) = ab * (KLOC)b b(in Person-months) DevelopmentTime(D) = cb * (E) d b (in month) Average staff size(SS) = E/D (in Person) Productivity(P) = KLOC / E (in KLOC/Person-month) Project ab bb cb db Organic 2.4 1.05 2.5 0.38 Semidetached 3.0 1.12 2.5 0.35 Embedded 3.6 1.20 2.5 0.32 Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by: Jyoti Shrivastava
  • 12. Person-Months What is Person-Months ? The area under the curve Ref: Fundamentals of Software Engineering By Rajib Mall Created by:
  • 13. Basic cocomo: Example A project size of 200KLOC is to be developed.S/W development team has average experience on similar type of projects.The project schedule is not very tight.Calculate the effort and development time of the project. Ans: 200 KLOC implies semi-detached mode. Hence, E= 3.0 * (200)1.12 = 1133.12 PM D=2.5 * (1133.12)0.35 = 29.3 M Avg. staff size(SS) = E/D = 1133.12/29.3=38.67 Persons. Productivity (P) = KLOC/E = 200/1133.12=0.1765 KLOC/PM. Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by: Jyoti Shrivastava
  • 14. Intermediate COCOMO  Extension of Basic COCOMO  Why Use ? Basic model lacks accuracy  Computes software development effort as a function of program size and set of 15 Cost Drivers  Cost Driver: A multiplicative factor that determines the effort required to complete the software project.  Why Cost Drivers? Adjust the nominal cost of a project to the actual project Environment.  For each Characteristics, Estimator decides the scale factor Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by: Kalyan Mondal Very Low Low Nominal High Very High Extra High
  • 15. Cost Drivers • Required Software Reliability (RELY) • Database Size (DATA) • Product Complexity (CPLX) Product Attributes • Execution Time Constraint (TIME) • Main Storage constraint (STOR) • Virtual Machine volatility (VIRT) • Computer turnaround time (TURN) Computer Attributes • Analyst Capability (ACAP) • Application Experience (AEXP) • Programmer Capability (PCAP) • Virtual Machine Experience (VEXP) • Programming language Experience (LEXP) Personnel Attributes • Modern programming practices (MODP) • Use of Software tools (TOOL) • Required development schedule (SCED) Project Attributes Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
  • 16. The Calculation  Multiply all 15 Cost Drivers to get Effort Adjustment Factor(EAF)  E(Effort) = ab(KLOC)b b * EAF(in Person-Month)  D(Development Time) = cb(E)d b (in month)  SS (Avg Staff Size) = E/D (in persons)  P (Productivity) = KLOC/E (in KLOC/Person-month) Project ab bb cb db Organic 3.2 1.05 2.5 0.38 Semidetach ed 3.0 1.12 2.5 0.35 Embedded 2.8 1.20 2.5 0.32 Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
  • 17. Intermediate COCOMO : Example A new project with estimated 400 KLOC embedded system has to be developed. Project manager hires developers of low quality but a lot of experience in programming language. Calculate the Effort, Development time, Staff size & Productivity. EAF = 1.29 * 0.95 = 1.22 400 LOC implies Embedded System Effort = 2.8*(400)1.20 * 1.225 = 3712 * 1.22 = 4528 person-months Development Time = 2.5 * (4528)0.32 = 2.5 * 14.78 = 36.9 months Avg. Staff Size = E/D = 4528/36.9 = 122 persons Productivity = KLOC/Effort = 400/4528 = 0.0884 KLOC/person- month Cost Drivers Very Low Low Nominal High Very High Extra High AEXP 1.29 1.13 1.00 0.91 0.82 -- LEXP 1.14 1.07 1.00 0.95 -- -- Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
  • 18. Detailed COCOMO  Detailed COCOMO = Intermediate COCOMO + assessment of Cost Drivers impact on each phase.  Phases 1) Plans and requirements 2) System Design 3) Detailed Design 4) Module code and test 5) Integrate and test • Cost of each subsystem is estimated separately. This reduces the margin of error. Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
  • 19. The Calculation  Multiply all 15 Cost Drivers to get Effort Adjustment Factor(EAF)  E(Effort) = ab(KLOC)b b * EAF(in Person-Month)  D(Development Time) = cb(E)d b (in month)  Ep (Total Effort) = µp * E (in Person-Month)  Dp (Total Development Time) = τp * D (in month) Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
  • 20. Detailed COCOMO : Example Consider a project to develop a full screen editor. The major components identified and their sizes are (i) Screen Edit – 4K (ii) Command Lang Interpreter – 2K (iii) File Input and Output – 1K (iv) Cursor movement – 2K (v) Screen Movement – 3K. Assume the Required software reliability is high, product complexity is high, analyst capability is high & programming language experience is low. Use COCOMO model to estimate cost and time for different phases. Size of modules : 4 + 2 + 1 + 2 + 3 = 13 KLOC [Organic] EAF = 1.15 * 1.15 * 0.86 * 1.07 = 1.2169 Cost Drivers Very Low Low Nominal High Very High Extra High RELY 0.75 0.88 1.00 1.15 1.40 -- CPLX 0.70 0.85 1.00 1.15 1.30 1.65 ACAP 1.46 1.19 1.00 0.86 0.71 LEXP 1.14 1.07 1.00 0.95 -- -- Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
  • 21. Example (Contd.) Initial Effort (E) = ab(KLOC)b b * EAF = 3.2*(12)1.05 * 1.2169 = 52.9 person-months Initial Development Time = cb(E)d b =2.5*(52.9)0.38 = 11.29 months Phase value of µp and τp Phase wise effort & development time distribution Plan & Reqr System Design Detail Design Module code & test Integration & Test Organic Small µp 0.06 0.16 0.26 0.42 0.16 Organic Small τp 0.10 0.19 0.24 0.39 0.18 Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by: E D Ep (in person-months) Dp (in months) Plan & Requirement 52.9 11.29 0.06*52.9 = 3.17 0.10*11.29=1.1 2 System Design 52.9 11.29 0.16*52.9=8.46 0.19*11.29=2.1 4 Detail Design 52.9 11.29 0.26*52.9=13.74 0.24*11.29=2.7 0 Module code & test 52.9 11.29 0.42*52.9=22.21 0.39*11.29=4.4
  • 22. WHY COCOMO-II ?  The changes in s/w development techniques included a move away from mainframe overnight batch processing to desktop-based real-time turnaround.  These changes and others began to make applying the original COCOMO model problematic.  The model is tuned to the life cycle practices of the 21st century. Ref: Software Engineering By K.K.Aggarwal & Y. Singh and csse website by : Jyotsna Agnihotri
  • 23. Categories Identified By Cocomo II  End User Programming  Infrastructure Sector  Intermediate Sectors 1. Application Generators And Composition Aids 2. Application Composition Sector 3. System Integration Stages Of Cocomo-II Application Composition Earlier Design Post Architecture Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
  • 24. Application Composition Assess Object Counts Classification Of Complexity Levels Assign Complexity Weight To Each Object Determine Object Points Compute New Object Points Calculation Of Productivity Rate Compute The Effort In Person Months.
  • 25. • Assess object counts: Estimate the number of screens, reports and 3 GL components that will comprise this application. • Classification of complexity levels: We have to classify each object instance (depending on values of its characteristics) into :- o simple o medium o Difficult • Assign complexity weight to each object : The weights are used for three object types :- o screen o report o 3GL components Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
  • 26. • Determine object points: Add all the weighted object instances to get one number and this known as object-point count. • Compute new object points: We have to estimate the percentage of reuse to be achieved in a project. Depending on the percentage reuse, the new object points (NOP) are computed. Object Points * (100 - %reuse) NOP = --------------------------------------------- 100 NOP are the object points that will need to be developed and differ from the object point count because there may be reuse( percentage of the Product development which is accomplished by exploiting the existence of existing component's design-or-development effort). Ref: Software Engineering By K.K.Aggarwal & Y. Singh&gilb.com by : Jyotsna Agnihotri
  • 27. • Calculation of productivity rate: The productivity rate can be calculated as: Productivity rate (PROD) = NOP/Person month • Compute the effort in Persons-Months: When PROD is known, we may estimate effort in Person- Months as: NOP Effort in PM = ------------ PROD Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
  • 28. Example: Consider a database application project with the following characteristics:  The application has 4 screens with 4 views each and 7 data tables for 3 servers and 4 clients.  The application may generate two report of 6 sections each from 07 data tables for two server and 3 clients. There is 10% reuse of object points.  The developer’s experience and capability in the similar environment is low. The maturity of organization in terms of capability is also low. Calculate the object point count, New object points and effort to develop such a project. Example Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
  • 29. Solution : Lets have a look on the tables for screens, for reports , for complexity weights for each level No. Of Views Contained in a screen Total<4 (<2 servers <3 clients) Total<8 (2-3 servers 3-5 clients) Total 8+ (>3 servers >5 clients) <3 Simple Simple Medium 3-7 Simple Medium Difficult >8 Medium Difficult Difficult No. Of Sections Contained in a report Total<4 (<2 servers <3 clients) Total<8 (2-3 servers 3-5 clients) Total 8+ (>3 servers >5 clients) 0 or 1 Simple Simple Medium 2 or 3 Simple Medium Difficult 4+ Medium Difficult Difficult
  • 30.  This project comes under the category of application composition estimation model.  Number of screens = 4 with 4 views each  Number of reports = 2 with 6 sections each  From Table we know that each screen will be of medium complexity and each report will be difficult complexity.  Using Table of complexity weights, we may calculate object point count = 4 x 2 + 2 x 8 = 24 Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri Object Type Simple Complexity Medium Complexity Difficult Complexity Screen 1 2 3 Report 2 5 8 3GL - - 10
  • 31. Using the formula NOP is calculated as: NOP= 24 * (100-10)/100=21.6 Low value of productivity is given in above Productivity table = 7 Efforts in PM=NOP/PROD=21.6/7=3.086 PM Developer’s Experience And Capability PROD (NOP/PM) Very low 4 Low 7 Nominal 13 High 25 Very high 50 Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
  • 32. Early Design Model Used in the early stages of a software project when very little may be known about: the size of the product to be developed, the nature of the target platform, the nature of the personnel to be involved in the project. Uses Unadjusted Function Points (UFP) as the measure of size. Based on a standard formula for COCOMO-II models: Where PMnominal = Effort of the project in person months A = Constant representing the nominal productivity, provisionally set to 2.5 B = Scale factor Size = Software size Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal & Yogesh Singh 32
  • 33. The Scaling Factors that COCOMO-II model uses for the calculation of B are:  Precedentness (PREC)  Development flexibility (FLEX)  Architecture/ Risk Resolution (RESL)  Team Cohesion (TEAM)  Process maturity (PMAT) Early design cost drivers There are 7 early design cost drivers and are given below: 1. Product Reliability and Complexity (RCPX) 2. Required Reuse (RUSE) 3. Platform Difficulty (PDIF) 4. Personnel Capability (PERS) 5. Personnel Experience (PREX) 6. Facilities (FCIL) 7. Schedule (SCED) Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal & Yogesh Singh 33
  • 34. Data for the Computation of B (Scalar Factor) Scaling Factors Very Low Low Nominal High Very High Extra High Precedentness 6.20 4.96 3.72 2.48 1.24 0.00 Development Flexibility 5.07 4.05 3.04 2.03 2.03 0.00 Architecture/ Risk Resolution 7.07 5.65 4.24 2.83 1.41 0.00 Team Cohesion 5.48 4.38 3.29 2.19 1.10 0.00 Process Maturity 7.80 6.24 4.68 3.12 1.56 0.00 Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal & Yogesh Singh
  • 35. If B=1.0, then Linear relationship b/w Effort & Size. If B 1.0, then Non-Linear relationship b/w Effort & Size. If B<1.0, then the rate of increase of effort decreases as the size of the product increases. If B>1.0, then the rate of increase of effort increases as the size of the product increases. B = 0.91 + 0.01 * (Sum of rating on scaling factors for the project) When all the scaling factors of a project are rated as extra high, then the best value of B= 0.91 (for COCOMO II.2000) when all the scaling factors of a project are rated as very low, Then the worst value of B= 1.23 (for COCOMO II.2000) Hence, the value of B may vary from 0.91 to 1.23 Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal & Yogesh Singh Calculate the scalar factor B
  • 36. Early Design Model: Example Question: A software project of application generator category with estimated 50 KLOC has to be developed. The scale factor (B) has low precedentness, high development flexibility and low team cohesion. Other factors are nominal. The early design cost drivers like platform difficult (PDIF) and Personnel Capability (PERS) are high and others are nominal. Calculate the Effort in person-months for the development of the project. Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal & Yogesh Singh Early Design Cost Drivers Extra Low Very Low Low Nominal High Very High Extra High RCPX 0.73 0.81 0.98 1.0 1.30 1.74 2.38 RUSE - - 0.95 1.0 1.07 1.15 1.24 PDIF - - 0.87 1.0 1.29 1.81 2.61 PERS 2.12 1.62 1.26 1.0 0.83 0.63 0.50 PREX 1.59 1.33 1.12 1.0 0.87 0.71 0.62 FCIL 1.43 1.30 1.10 1.0 0.87 0.73 0.62 SCED - 1.43 1.14 1.0 1.0 1.0 - 36
  • 37. B = 0.91 + 0.01 * (Sum of rating on scaling factors for the project) = 0.91 + 0.01 * (4.96 + 2.03 + 4.24 + 4.38 + 4.68) = 0.91 + 0.01(20.29)=1.1129 = 2.5 * (50)1.1129 = 194.41 Person-months here A=2.5 (for COCOMO II.2000) predefined The 7 cost drivers are: PDIF = high (1.29) PERS = high (0.83) RCPX = nominal (1.0) RUSE = nominal (1.0) PREX = nominal (1.0) FCIL = nominal (1.0) SCEO = nominal (1.0) Solution : = 194.41 * [1.29 x 0.83] = 194.41 x 1.07 = 208.155 Person months 37 Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal & Yogesh Singh
  • 38. Post Architecture Model • Most detailed estimation model. • Used when a software life cycle architecture has been completed. • Used in the development and maintenance of software products in the application generators, system integration or infrastructure sectors. Where EM : Effort multiplier which is the product of 17 cost drivers. PMnominal = Effort of the project in person months. Lines of Codes Counting Rules Function Points Cost Drivers 38 Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal & Yogesh Singh
  • 39. Cost Drivers of Post Architecture • Required Software Reliability (RELY) • Database Size (DATA) • Product Complexity (CPLX) • Documentation (DOCU) • Required Reusability (RUSE) Product Attributes • Execution Time Constraint (TIME) • Platform Volatility (PVOL) • Main Storage constraint (STOR) Computer Attributes • Analyst Capability (ACAP) • Personnel Continuity (PCON) • Programmer Experience (PEXP) • Programmer Capability (PCAP) • Analyst Experience(AEXP) • Language & Tool Experience (LTEX) Personnel Attributes • Use of Software tools (TOOL) • Required development schedule (SCED) • Site Locations & Communications Technology b/w sites (SITE) Project Attributes 39 Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal & Yogesh Singh
  • 40. Added Cost Drivers 7 cost drivers  DOCU  RUSE  PVOL  PLEX  LTEX  PCON  SITE Deleted Cost Drivers 5 Cost Drivers • VIRT • TURN • VEXP • LEXP • MODP Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal & Yogesh Singh
  • 41. Cost Drivers Very Low Low Nominal High Very High Extra High RELY 0.75 0.88 1.00 2.48 1.24 0.00 DATA 0.93 1.00 2.03 2.03 0.00 CPLX 0.75 0.88 1.00 2.83 1.41 0.00 RUSE 0.91 1.00 2.19 1.10 0.00 DOCU 0.89 0.95 1.00 3.12 1.56 0.00 TIME 1.00 1.11 1.31 1.67 STOR 1.00 1.06 1.21 1.57 PVOL 0.87 1.00 1.15 1.30 ACAP 1.50 1.22 1.00 0.83 0.67 PCAP 1.37 1.16 1.00 0.87 0.74 PCON 1.24 1.10 1.00 0.92 0.84 AEXP 1.22 1.10 1.00 0.89 0.81 PEXP 1.25 1.12 1.00 0.88 0.81 LTEX 1.22 1.10 1.00 0.91 0.84 TOOL 1.24 1.12 1.00 0.86 0.72 SITE 1.25 1.10 1.00 0.92 0.84 0.78 SCED 1.29 1.10 1.00 1.00 1.00 17 Cost Drivers Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
  • 42. Schedule Estimation Development time can be calculated using PMadjusted as a key factor and the desired equation is: Where = constant, provisionally set to 3.67, B = Scaling factor TDEVnominal = calendar time in months with a scheduled constraint PMadjusted = Estimated effort in Person months (after adjustment) Size can be measured in any unit and the model can be calibrated accordingly. However, COCOMO II details are: I. Application composition model uses the size in object points. II. The other two models use size in KLOC. Size Measurement 42 Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal & Yogesh Singh
  • 43. Post Architecture: Example Ques: A software project of application generator category with estimated 50 KLOC has to be developed. The scale factor (B) has low precedentness, high development flexibility and low team cohesion. The identified 17 Cost drivers are high reliability (RELY), very high database size (DATA), high execution time constraint (TIME), very high analyst capability (ACAP), high programmers capability (PCAP). The other cost drivers are nominal.  Calculate the effort in Person-Months for the development of the project. Here B = 1.1129 PMnominal = 194.41 Person-months = 194.41 x (1.15 x 1.19 x 1.11 x 0.67 x 0.87) = 194.41 x 0.885 = 172.05 Person-months Solution : 43 Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal & Yogesh Singh
  • 44. Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal & Yogesh Singh
  • 45. Final Word “The models are just there to help, not to make the management decisions for you.” --Barry Boehm Ref: https://cs.uwaterloo.ca/~apidduck/se362/Lectures/cocomo.pdf
  • 46. References  Software Engineering (Third Edition) By K.K.Aggarwal & Y. Singh  Fundamentals of Software Engineering (Third Edition) By Rajib Mall  Software Engineering , 6th Edition By Ian Sommerville  Software Engineering (Sixth Edition) by Roger S. Pressman  https://cs.uwaterloo.ca/~apidduck/se362/Lectures/c ocomo.pdf