0% found this document useful (0 votes)
28 views19 pages

CSC 514 - Software Cost Estimation

Cost Estimation

Uploaded by

Nkpah Blessing
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views19 pages

CSC 514 - Software Cost Estimation

Cost Estimation

Uploaded by

Nkpah Blessing
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

CSC 514:

SPECIAL TOPICS IN SOFTWARE ENGINEERING

SOFTWARE COST ESTIMATION

By
IKENNA CAESAR NWANDU PhD
Department of Software Engineering, Federal University of
Technology Owerri, Nigeria.
Software Cost Estimation
• Software cost estimation is the act of predicting the resources
required for a software development process.
• Software cost estimation is a continuing activity which starts at
the proposal stage and continues throughout the lifetime of a
project.
• Continual cost estimation is necessary to ensure that spending is
in line with the budget made for the project.
• The primary objective of cost estimation is to determine the cost
and time required to carry out the software project
Software Cost Estimation by Dr. Ikenna Caesar Nwandu 2
Fundamental Estimation Questions
• Software cost estimation tries to provide answers to the
following questions:
1. How much effort is required to complete an
activity?
2. How much calendar time is needed to complete an
activity?
3. What is the total cost of an activity?

Software Cost Estimation by Dr. Ikenna Caesar Nwandu 3


Software Cost Components
• The total software cost is influenced by the following:
1. Hardware and software costs
2. Travel and training costs
3. Effort costs (the dominant factor in most
projects)
₋ salaries of engineers involved in the project
₋ social and insurance costs

Software Cost Estimation by Dr. Ikenna Caesar Nwandu 4


Software Cost Estimation Techniques
1. Algorithmic cost modeling
◊ This technique analyzes costs using formulae, linking costs with metrics.
◊ The commonest cost estimation metric is the number of lines of code (LOC).
₋ Unfortunately, LOC is only known at the completion of the system.
2. Expert judgement
◊ This involves allowing some experts to make individual cost estimates after
which, a consensus is reached by sharing ideas and opinions.
3. Estimation by analogy
◊ This technique is used when a proposed system has similarities with an
existing system.
◊ It will be expected that the current project will take a similar cost.
Software Cost Estimation by Dr. Ikenna Caesar Nwandu 5
Software Cost Estimation Techniques
4. Parkinson's Law
◊ Parkinson's Law states that work expands to fill the time available.
◊ It estimates cost using available resources such that, cost becomes the
product of time and workforce.
5. Top- down estimation
◊ This technique estimates software cost at system level.
◊ It identifies the resources and personnel needed to develop the entire
system.
₋ E.g., system integration, testing, and publications.
6. Bottom- up estimation
◊ This technique estimates the cost of developing each module or subsystem.
◊ The overall cost estimation is gotten by combining the costs of each module
Software Cost Estimation by Dr. Ikenna Caesar Nwandu 6
Estimation Modality: COCOMO
• COCOMO (Constructive Cost Model) is a procedural cost estimate
model for software projects.
• It is based on number of lines of code (LOC) and works with
regression principles.
• The outcome of COCOMO which are also regarded as the key
parameters for defining the quality of software products are effort
and schedule or duration.
₋ Effort – the amount of labour needed to complete a task, measured in
person-months or person-days.
₋ Schedule or Duration – the amount of time required to complete the
project, measured in weeks or months.
Requirements Engineering by Dr. Caesar Nwandu 7
Development Modes of Software Projects
• COCOMO is used for different types of projects that fall within any of the three
development modes of software projects:
1. Organic:
₋ An organic project is small in size, typically 2 to 50 KLOC.
₋ It is known for well understood problem and small team of developers who are experienced in
the problem area.
₋ This could be because they have solved the problem in the past.
2. Semidetached:
₋ A semi-detached project contains between 50 to 300 KLOC.
₋ It is medium sized and requires medium sized team to be developed.
₋ The projects classified as semi-detached are comparatively less familiar and difficult to
develop compared to the organic ones and require more experience and better guidance and
creativity. E.g., Compilers.
3. Embedded:
₋ An embedded project is of highest level of complexity, creativity and experience, typically of
more than 300 KLOC size.
₋ The software project requires a larger team size than the other two models and also the
developers need to be sufficiently experienced and creative to develop such complex models.
Requirements Engineering by Dr. Caesar Nwandu 8
Hierarchy of COCOMO Models
• COCOMO has three hierarchy of models which are applied to
different development modes of software projects:
1. Basic COCOMO
2. Intermediate COCOMO
3. Detailed COCOMO

Requirements Engineering by Dr. Caesar Nwandu 9


Basic COCOMO
• These are basic formulae which are needed to be applied for
calculating effort and time schedule.
𝐄𝐟𝐟𝐨𝐫𝐭 𝐄 = 𝐚 ∗ (𝐊𝐋𝐎𝐂)𝐛 (measured in person-months (PM))
𝐓𝐢𝐦𝐞 (𝐃) = 𝐜 ∗ (𝐄𝐟𝐟𝐨𝐫𝐭)𝐝 (measured in months (M))
𝐒𝐭𝐚𝐟𝐟 𝐒𝐢𝐳𝐞 𝐒𝐒 = 𝐄Τ𝐃 (measured in persons (P))
𝐏𝐫𝐨𝐝𝐮𝐜𝐭𝐢𝐯𝐢𝐭𝐲 𝐏 = 𝐊𝐋𝐎𝐂Τ (measured in KLOC/person-months)
𝐄

• The constant values a, b, c and d for the Basic COCOMO for the
different categories of projects are given in the table
Project a b c d
Organic 2.4 1.05 2.5 0.38
Semi-detached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
Requirements Engineering by Dr. Caesar Nwandu 10
Basic COCOMO: Example
• A project size of 200 KLOC is to be developed by a software
development team with average experience on similar type of
project. The project schedule is not very tight. Calculate the effort
and development time of the project.
Solution: 200 KLOC implies semidetached mode.
Hence, Effort (E) = 3.0 * (200)1.12 = 1133.12 PM
Time (D) = 2.5 * (1133.12)0.35 = 29.3 M

Requirements Engineering by Dr. Caesar Nwandu 11


Intermediate COCOMO
• This is an extension of Basic COCOMO.
• It makes use of program size and certain factors to calculate effort and
schedule of software projects.
• These factors are called Cost Drivers.
₋ They are 15 in number:
1. Required software reliability (RELY) 9. Software engineer capability (SECAP)
2. Database Size (DATA) 10. Applications experience (AEXP)
3. Product complexity (CPLX) 11. Virtual machine experience (VEXP)
4. Execution time constraints (TIME) 12. Programming language experience (LEXP)
5. Main Storage constraints (STOR) 13. Use of software tools (TOOL)
6. Virtual Machine Volatility (VIRT) 14. Modern programming practices (MODP)
7. Computer turnaround time (TURN) 15. Required development schedule (SCED)
8. Analyst capability (ACAP) Requirements Engineering by Dr. Caesar Nwandu 12
Intermediate COCOMO
• The formulae needed to for calculating effort and time schedule are
given by:
𝐄𝐟𝐟𝐨𝐫𝐭 𝐀𝐝𝐣𝐮𝐬𝐭𝐦𝐞𝐧𝐭 𝐅𝐚𝐜𝐭𝐨𝐫 𝐄𝐀𝐅 = 𝐌𝐮𝐥𝐭𝐢𝐩𝐥𝐲 𝐚𝐥𝐥 𝐜𝐨𝐬𝐭 𝐝𝐫𝐢𝐯𝐞𝐫𝐬
𝐄𝐟𝐟𝐨𝐫𝐭 𝐄 = 𝐚(𝐊𝐋𝐎𝐂)𝐛 ∗ 𝐄𝐀𝐅 (measured in person-months (PM))
𝐓𝐢𝐦𝐞 (𝐃) = 𝐜(𝐄𝐟𝐟𝐨𝐫𝐭)𝐝 (measured in months (M))
𝐒𝐭𝐚𝐟𝐟 𝐒𝐢𝐳𝐞 𝐒𝐒 = 𝐄Τ𝐃 (measured in persons (P))
𝐏𝐫𝐨𝐝𝐮𝐜𝐭𝐢𝐯𝐢𝐭𝐲 𝐏 = 𝐊𝐋𝐎𝐂Τ𝐄 (measured in KLOC/person-months)
• The constant values a, b, c and d for the Intermediate COCOMO for
the different categories of projects are in given in the table
Project a b c d
Organic 3.2 1.05 2.5 0.38
Semi-detached 3.0 1.12 2.5 0.35
Embedded 2.8 1.20 2.5 0.32
Requirements Engineering by Dr. Caesar Nwandu 13
Intermediate COCOMO: Example
• A new project with estimated 400 KLOC embedded system has to be developed. Project
manager hires developers of low quality but have a lot experiences in programming.
Calculate the effort, development time, staff size and productivity.
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 - -
Solution:
EAF = 1.29 * 0.95 = 1.22
400 KLOC implies Embedded mode.
Hence, Effort = 2.8*(400)1.20 * 1.22 = 4528 PM
Time = 2.5 * (4528)0.32 = 36.9 M
Avg Staff Size = 4528/36.9 = 122 persons
Productivity = 400/4528 = 0.0884 KLOC/PM
Requirements Engineering by Dr. Caesar Nwandu 14
Detailed COCOMO
• Detailed COCOMO incorporates all characteristics of the
intermediate version with an assessment of the cost driver’s impact
on each of the six phases of the model.
• The six phases of detailed COCOMO are
1. Planning and requirements
2. System design
3. Detailed design
4. Module code and test
5. Integration and test
6. Cost Constructive model

Requirements Engineering by Dr. Caesar Nwandu 15


Detailed COCOMO
• The formulae needed to for calculating effort and time schedule are
given by:
𝐄𝐟𝐟𝐨𝐫𝐭 𝐀𝐝𝐣𝐮𝐬𝐭𝐦𝐞𝐧𝐭 𝐅𝐚𝐜𝐭𝐨𝐫 𝐄𝐀𝐅 = 𝐌𝐮𝐥𝐭𝐢𝐩𝐥𝐲 𝐚𝐥𝐥 𝐜𝐨𝐬𝐭 𝐝𝐫𝐢𝐯𝐞𝐫𝐬
𝐄𝐟𝐟𝐨𝐫𝐭 𝐄 = 𝐚(𝐊𝐋𝐎𝐂)𝐛 ∗ 𝐄𝐀𝐅 (measured in person-months (PM))
𝐓𝐢𝐦𝐞 (𝐃) = 𝐜(𝐄𝐟𝐟𝐨𝐫𝐭)𝐝 (measured in months (M))
𝐓𝐨𝐭𝐚𝐥 𝐄𝐟𝐟𝐨𝐫𝐭 𝐄𝐩 = 𝛍𝐩 ∗ 𝐄 (measured in person-months (PM))
𝐓𝐨𝐭𝐚𝐥 𝐓𝐢𝐦𝐞 𝐃𝐩 = 𝛕𝐩 ∗ 𝐃 (measured in months)
• The phase value of μp and τp are given in the table.
Plan & System Detailed Module Integration
Req Design Design code & & test
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
Requirements Engineering by Dr. Caesar Nwandu 16
Detailed COCOMO: Example
• Consider a project to develop a full screen editor. The major component
were 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 that the required software reliability is
high, product complexity is high, analyst capacity is high and
programming language experience is low. Use COCOMO to estimate cost
and time for different phases.
Cost Very Low Low Nominal High Very High Extra
Drivers 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 - -

Requirements Engineering by Dr. Caesar Nwandu 17


Detailed COCOMO: Example
Solution:
EAF = 1.15 * 1.15 * 0.86 * 1.07 = 1.2169
Initial Effort (E) = 3,2 * (12)1.05 * 1.2169 = 52.9 PM
Initial Time = 2.5 * (52.9)0.38 = 11.29 M
Phase-wise Effort and Time is calculated thus:
E D EP DP
Plan & Requirement 52.9 11.29 0.06 * 52.9 = 3.17 0.10 * 11.29 = 1.12
System Design 52.9 11.29 0.16 * 52.9 = 8.46 0.19 * 11.29 = 2.14
Detailed Design 52.9 11.29 0.26 * 52.9 = 13.74 0.24 * 11.29 = 2.70
Module code & test 52.9 11.29 0.42 * 52.9 = 22.21 0.39 * 11.29 = 4.40
Integration & Test 52.9 11.29 0.16 * 52.9 = 8.46 0.18 * 11.29 = 2.03
Requirements Engineering by Dr. Caesar Nwandu 18
Review Questions

Software Cost Estimation by Dr. Ikenna Caesar Nwandu 19

You might also like