Chapter-5: Cost Estimation Tutorial in Software Engineering

Software Engineering

Cost Estimation Tutorial

Cost is s strategic concept in software development for the following reasons:

  1. Project management: Estimating cost is extremely crucial in carrying out project management activities such as scheduling, planning and control.
    1. Feasibility Study: Making investment decisions regarding software projects requires full cost breakdown and analysis .Consequently, identified recurring and one-time  costs are then incorporated in a financial feasibility study in terms of cost-benefit analysis.
    1. Cost reduction: Since software engineering aims to provide cost-effective software solutions to business problems, many process and project related activities are designed or re-engineered to achieve the goal of cost minimization.
    1. Evaluating business performance: Cost is an essential ingredient to calculate many of the financial ratios – explained above- uses to evaluate the financial performance for business firm
    1. Leverage: Cost plays a significant role in both e the operating and the financial leverage in respect of risk and return. Relying on fixed costs as opposed to variable costs can boost the operating leverage while financing with high percentage on debt- based costs may boost the financial leverage.

Cost Estimation

Every year more projects are doomed by poor cost and schedule estimates than by technical, political or organizational problems. It‘s no wonder that so few companies realize that software cost estimating can be a science, not just an art. It has been proven that it is quite applicable to accurately and consistently predict development life cycle costs and schedules for a broad array of software projects.

Though a vast body of knowledge exists today in respect to cost estimation techniques, most of these estimation techniques view cost as a function of complexity whether explicitly or implicitly. In early models, complexity means the project size or the program volume, which can be estimated merely via kilo lines of codes KSLOC. In late models, complexity is determined firstly by inputs, outputs, interfaces, files and queries that the software system needs. Then this complexity is further adjusted via up to 14 different added-complexity factors. Eventually, the final result is converted, through a standard conversion table to KLOC.

In basic cost estimation model the calculation is straightforward. By determining the value of only two variables, total efforts in person-months can be easily calculated. These two variables are :

  • How many thousands of lines of code (KSLOC) your programmers must develop?
  • The effort required per KSLOC (i.e.: Linear Productivity Factor)

Accordingly, multiplying these two variables together will result in the person months of effort required for the project provided that the project is relatively small. Otherwise, another exponential size penalty factor has to be incorporated for larger project sizes. Person-months implies the number of months required to complete the entire project if only one person was to carry out this mission. This underlying concept is the foundation of all of the software cost estimating models especially those originated from Barry Boehm‘s famous COCOMO models.

COCOMO Sample Example

Suppose it is required to build a Web Development system consisting of 25,000 lines of code. How many person months of effort would this take using just this equation if:

  1. The project size was relatively small
  2. The project size was considered large

Answer:

  1. For a relatively small project:

Efforts = Productivity x KSLOC

                                =     3.3 x 25 = 82.5 Person-Months

  • For a large project :

Efforts = Productivity x KSLOCPenalty

= 3.3 x 251.030 = 90.86 Person-Months

It should be  noted , however . that COCOMO formulas   have also different  modes , models and versions up to COCOMOII and the new COCOTS.

Estimating software costs typically involves the following drivers:

  1. Complexity of the software project
  2. Size of the software project 3- Efforts needed to complete the project 4- Time needed to complete the project

5- Risks and uncertainties involved .Yet , the risk driver is still not clearly incorporated in the majority of cost estimation models for software systems .

Despite of several differences, most cost estimation models are more or less based on the following rule:

Complexity € size

(Complexity determines software size in terms of KLOC)

Size € efforts

(KLOC determines efforts in person-months with a given level of productivity and exponential size penalty factor)

Efforts € time

(Effort determines time at a given mode and/or model )

Time € Number of people required

(Time determines people ―well-trained full time software development team‖)

Four standard conversion tables are widely adopted in cost estimation. These tables are shown below.  

Table 1. Common Values for the Linear Productivity Factor

Project TypeLinear Productivity Factor
COCOMO II Default2.94
Embedded Development2.58
E-commerce Development3.60
Web Development3.30
Military Development2.77

Table 2. Typical Size Penalty Factors for Various Project Types

Project TypeExponential Size Penalty Factor
COCOMO II Default1.052
Embedded development1.110
E-Commerce development1.030
Web development1.030
Military development1.072

Table 4. Lines of Code Per Function Point by Programming Language

Function Points Estimations

An alternative to direct KSLOC estimating is through function points, then use a the above standard table called ―Lines of Code Per Function Point by Programming Language” to convert them to KSLOC. Function points was used for the first time by IBM to capture the complexity of the software system in terms of its SRS functionality and the way it interacts with its users.

How Function Points Work?

  1. Estimate the number of external inputs, external interface files, external outputs, external queries and logical internal tables (files).
  2. Use the Function Point Conversion Factor table to get total initial function points .
  3. Initial function points are adjusted via 14 complexity factors to obtain final (adjusted) function points.
  • Use adjusted function points to obtain KSLOC.
  • Use KSLOC to estimate efforts as explained in COCOMO examples above

FP Sample Example

Suppose the requirement specification for the Blood Bank Website Development of the blood bank project has been carefully analyzed and the following estimates have been obtained. There is a need for 11 inputs, 11 outputs, 7 inquiries, 22 files, and 6 external interfaces. Also, assume outputs, queries , files function point attributes are of low complexity and all other function points attributes are of medium complexity.

The complexity adjustment value for factor is significant which is 4.  

Make the following calculations showing the full procedure in details:

  1. What is the FUNCTION POINTS (FP) for the blood bank project
  2. What is the ADJUSTED FUNCTION POINTS (AFP) for the blood bank project? 
  3. 3- What is the approximate number of LOC in the following languages:
    1. “C++” programming language
    1. “Java” Programming language
  4. Calculate the estimated schedule time in person-months assuming that Java is used as the implementation language

Answer

1- Calculating Function Points

FUNCTION POINTS ESTIMATION (1) 
DESCRIPTIONLOWMEDIUMHIGHTOTAL
INPUTSX311X4X644
OUTPUTS11X4X5X744
QUERIES7X3X4X621
FILES22X7X10X15154
PROGRAM INTERFACESX56X7X1042
Total Unadjusted Function Points305

2- Calculating Adjusted Function Points

FUNCTION POINT ESTIMATION (3) 
PROCESSING COMPLEXITY(PC):04
ADJUSTED PROCESSING COMPLEXITY (PCA)0.65+(0.01 *04)= 0.69
TOTAL ADJUSTED FUNCTION POINTS305 * .69 = 210.45
  • Approximate number of LOC for the following languages:
  • “C++” programming language :

LOC = 210.45 x 53 = 11153.85 ~ 11.15 KSLOC

  • “Java” Programming language

LOC = 210.45 x 46 = 9680.7 ~ 9.68 KSLOC

  • Estimated efforts calculation

Efforts = Productivity x KSLOCPenalty = 3.3 x 9.68.030 = 3.532 Person-Months

Chapter 4 Relational Algebra

Relational Algebra The part of mathematics in which letters and other general symbols are used to represent numbers and quantities in formula and equations. Ex: (x + y) · z = (x · z) + (y · z). The main application of relational algebra is providing a theoretical...

Chapter 3 Components of the Database System Environment

Components of the Database System Environment There are five major components in the database system environment and their interrelationships are. Hardware Software Data Users Procedures Hardware:  The hardware is the actual computer system used for keeping and...

Chapter 2: Database Languages and their information

Database Languages A DBMS must provide appropriate languages and interfaces for each category of users to express database queries and updates. Database Languages are used to create and maintain database on computer. There are large numbers of database languages like...

Database basic overview

What is DBMS? A Database Management System (DBMS) is a collection of interrelated data and a set of programs to access those data. Database management systems (DBMS) are computer software applications that interact with the user, other applications, and the database...

Laravel – Scopes (3 Easy Steps)

Scoping is one of the superpowers that eloquent grants to developers when querying a model. Scopes allow developers to add constraints to queries for a given model. In simple terms laravel scope is just a query, a query to make the code shorter and faster. We can...

CAMBRIDGE IELTS 17 TEST 3

READING PASSAGE 1: The thylacine Q1. carnivorous keywords: Looked like a dog had series of stripes ate, diet ate an entirely 1 .......................................... diet (2nd paragraph 3rd and 4th line) 1st and 2nd paragraph, 1st  paragraph,resemblance to a...

You may find interest following article

Chapter 4 Relational Algebra

Relational Algebra The part of mathematics in which letters and other general symbols are used to represent numbers and quantities in formula and equations. Ex: (x + y) · z = (x · z) + (y · z). The main application of relational algebra is providing a theoretical foundation for relational databases, particularly query languages for such databases. Relational algebra...

Chapter 3 Components of the Database System Environment

Components of the Database System Environment There are five major components in the database system environment and their interrelationships are. Hardware Software Data Users Procedures Hardware:  The hardware is the actual computer system used for keeping and accessing the database. Conventional DBMS hardware consists of secondary storage devices, usually...

Chapter 2: Database Languages and their information

Database Languages A DBMS must provide appropriate languages and interfaces for each category of users to express database queries and updates. Database Languages are used to create and maintain database on computer. There are large numbers of database languages like Oracle, MySQL, MS Access, dBase, FoxPro etc. Database Languages: Refers to the languages used to...

Database basic overview

What is DBMS? A Database Management System (DBMS) is a collection of interrelated data and a set of programs to access those data. Database management systems (DBMS) are computer software applications that interact with the user, other applications, and the database itself to capture and analyze data. Purpose of Database Systems The collection of data, usually...

Laravel – Scopes (3 Easy Steps)

Scoping is one of the superpowers that eloquent grants to developers when querying a model. Scopes allow developers to add constraints to queries for a given model. In simple terms laravel scope is just a query, a query to make the code shorter and faster. We can create custom query with relation or anything with scopes. In any admin project we need to get data...

CAMBRIDGE IELTS 17 TEST 3

READING PASSAGE 1: The thylacine Q1. carnivorous keywords: Looked like a dog had series of stripes ate, diet ate an entirely 1 .......................................... diet (2nd paragraph 3rd and 4th line) 1st and 2nd paragraph, 1st  paragraph,resemblance to a dog. … dark brown stripes over its back, beginning at the rear of the body and extending onto the...

CAMBRIDGE IELTS 17 TEST 4

PASSAGE 1 Q1 (False) (Many Madagascan forests are being destroyed by attacks from insects.) Madagascar's forests are being converted to agricultural land at a rate of one percent every year. Much of this destruction is fuelled by the cultivation of the country's main staple crop: rice. And a key reason for this destruction is that insect pests are destroying vast...

Cambridge IELTS 16 Test 4

Here we will discuss pros and cons of all the questions of the passage with step by step Solution included Tips and Strategies. Reading Passage 1 –Roman Tunnels IELTS Cambridge 16, Test 4, Academic Reading Module, Reading Passage 1 Questions 1-6. Label the diagrams below. The Persian Qanat Method 1. ………………………. to direct the tunnelingAnswer: posts – First...

Cambridge IELTS 16 Test 3

Reading Passage 1: Roman Shipbuilding and Navigation, Solution with Answer Key , Reading Passage 1: Roman Shipbuilding and Navigation IELTS Cambridge 16, Test 3, Academic Reading Module Cambridge IELTS 16, Test 3: Reading Passage 1 – Roman Shipbuilding and Navigation with Answer Key. Here we will discuss pros and cons of all the questions of the...

Cambridge IELTS 16 Test 2

Reading Passage 1: The White Horse of Uffington, Solution with Answer Key The White Horse of Uffington IELTS Cambridge 16, Test 2, Academic Reading Module, Reading Passage 1 Cambridge IELTS 16, Test 2: Reading Passage 1 – The White Horse of Uffington  with Answer Key. Here we will discuss pros and cons of all the questions of the passage with...

Cambridge IELTS 16 Test 1

Cambridge IELTS 16, Test 1, Reading Passage 1: Why We Need to Protect Bolar Bears, Solution with Answer Key Cambridge IELTS 16, Test 1: Reading Passage 1 – Why We Need to Protect Bolar Bears with Answer Key. Here we will discuss pros and cons of all the questions of the passage with step by step...

Cambridge IELTS 15 Reading Test 4 Answers

PASSAGE 1: THE RETURN OF THE HUARANGO QUESTIONS 1-5: COMPLETE THE NOTES BELOW. 1. Answer: water Key words:  access, deep, surface Paragraph 2 provides information on the role of the huarango tree: “it could reach deep water sources”. So the answer is ‘water’. access = reach Answer: water. 2. Answer: diet Key words: crucial,...

Cambridge IELTS 15 Reading Test 3 Answers

PASSAGE 1: HENRY MOORE (1898 – 1986 ) QUESTIONS 1-7: DO THE FOLLOWING STATEMENTS AGREE WITH THE INFORMATION GIVEN IN READING PASSAGE 1? 1. Answer: TRUE Key words: leaving school, Moore, did, father, wanted It is mentioned in the first paragraph that “After leaving school, Moore hoped to become a sculptor, but instead he complied with his father’s...

Cambridge IELTS 15 Reading Test 2 Answers 

PASSAGE 1: COULD URBAN ENGINEERS LEARN FROM DANCE ?  QUESTIONS 1- 6: READING PASSAGE 1 HAS SEVEN PARAGRAPHS, A-G. 1. Answer: B Key words: way of using dance, not proposing By using the skimming and scanning technique, we would find that before going into details about how engineers can learn from dance, the author first briefly mentions ways of...

Cambridge IELTS 15 Reading Test 1 Answers

PASSAGE 1: NUTMEG – A VALUABLE SPICE QUESTIONS 1- 4: COMPLETE THE NOTES BELOW.CHOOSE ONE WORD ONLY FROM THE PASSAGE FOR EACH ANSWER.WRITE YOUR ANSWER IN BOXES 1-8 ON YOUR ANSWER SHEET. 1. Answer: oval Key words: leaves, shape Using the scanning skill, we can see that the first paragraph describes the characteristics of the tree in detail, including...

CAMBRIDGE IELTS 14 READING TEST 4 ANSWERS 

PASSAGE 1: THE SECRET OF STAYING YOUNG QUESTIONS 1-8: COMPLETE THE NOTES BELOW. 1. ANSWER: FOUR / 4 Explain– Key words: focused age groups, ants– In paragraph 3, it is stated that “Giraldo focused on ants at four age ranges”,so the answer must be “four/4”. 2. ANSWER: YOUNG Explain– Key words: how well, ants, looked after– The first sentence of...

CAMBRIDGE IELTS 14 READING TEST 3 ANSWERS

PASSAGE 1: THE CONCEPT OF INTELLIGENCE QUESTIONS 1-3: READING PASSAGE 1 HAS SIX PARAGRAPHS, A-F. 1. ANSWER: B Explain ·     Key words: non-scientists, assumptions, intelligence, influence, behavior ·    People‟s behavior towards others‟ intelligence is mentioned in the first sentence of paragraph B: “implicit theories of...

CAMBRIDGE IELTS 14 READING TEST 2 ANSWERS

Cambridge IELTS 14 is the latest IELTS exam preparation.https://draftsbook.com/ will help you to answer all questions in cambridge ielts 14 reading test 2 with detail explanations. PASSAGE 1: ALEXANDER HENDERSON (1831-1913) QUESTIONS 1-8: DO THE FOLLOWING STATEMENTS AGREE WITH THE INFORMATION GIVEN IN READING PASSAGE 1? 1. ANSWER: FALSE Explain Henderson rarely...

Cambridge IELTS 14 Reading Test 1 Answers

Cambridge IELTS 14 is the latest IELTS exam preparation.https://draftsbook.com/ will help you to answer all questions in cambridge ielts 14 reading test 1 with detail explanations. PASSAGE 1: THE IMPORTANCE OF CHILDREN’S PLAY QUESTIONS 1-8: COMPLETE THE NOTES BELOW. 1. ANSWER: CREATIVITY Explain building a “magical kingdom” may help develop … – Key words: magical...

Cambridge IELTS 13 Reading Test 4 Answers 

PASSAGE 1: CUTTY SARK: THE FASTEST SAILING SHIP OF ALL TIME QUESTIONS 1-8: DO THE FOLLOWING STATEMENTS AGREE WITH THE INFORMATION GIVEN IN READING PASSAGE 1? 1. CLIPPERS WERE ORIGINALLY INTENDED TO BE USED AS PASSENGER SHIPS Key words: clippers, originally, passengerAt the beginning of paragraph 2, we find the statement: “The fastest commercial sailing...