Professional Documents
Culture Documents
Software Estimation
A project manager produces: An estimate of the effort. An estimate of the activity durations.
costs
keshavpoudel@prime.edu.np
Difficulties of Estimation
Some estimation difficulties include:
Nature of software.
Complexity and invisibility of software.
Political implications.
Different objectives of people in an organization.
Changing technology.
Technology is rapidly changing, making the experience of previous project estimates not useable in new ones.
Underestimating a project: can cause it to not be delivered on time and cost but still could be delivered faster than a more generous estimate. On the other side it has bad effect on the Quality why?.
keshavpoudel@prime.edu.np
keshavpoudel@prime.edu.np
In order to express work size independently of the effort, we can use measures such as:
SLOC OR KLOC: Source lines of code or thousands of lines of code. Function points.
keshavpoudel@prime.edu.np
keshavpoudel@prime.edu.np
Bottom-up Estimation
In this approach the estimator breaks the system into component tasks.
The breaking down process is iterative. Usually stops when we get tasks that can be done by an individual in a week or two. The bottom-up part comes in adding up the calculated effort for each activity to get an overall estimate.
Top-down Estimation
It is associated with parametric or algorithmic models. A formula for a parametric model: Effort = (System Size) (Productivity Rate)
Example: System Size = 3 KLOC. Productivity Rate = 40 days per KLOC. Effort = 3 * 40 =120 Days. System Size is a size driver. Productivity Rate is a productivity driver.
keshavpoudel@prime.edu.np 11
keshavpoudel@prime.edu.np
12
Estimation by Analogy
The estimator calculates an estimate for the new project by adjusting the
(base estimate) based on the differences that exist between the two projects.
keshavpoudel@prime.edu.np 13
selecting the nearest project cases to the new project. Some software tools perform that by measuring the Euclidean distance between cases (projects).
The Euclidean distance is calculate as follows: distance= square-root of ((target_parameter1- source_parameter1)2 + (target_parameter n- source_parameter n)2 )
keshavpoudel@prime.edu.np
14
keshavpoudel@prime.edu.np
15
keshavpoudel@prime.edu.np
16
Low 3 4
Average 4 5
High 6 7
10
15
10
keshavpoudel@prime.edu.np
19
2 to 5
>5
Low
Average
Average
High
High
High
keshavpoudel@prime.edu.np
20
Example
A logical internal file contains data about purchase orders. The purchase orders are organized into two separate record types: The main PURCHASE-ORDER details:
1. 2. 3. 1. 2. 3. Purchase order number Supplier reference. Purchase order date. Product code. Price. Quantity ordered.
What is the complexity of the file and its FP count ? Use tables 1&2. We have 2 RET and 6 DET, based on that the file has low complexity. FP count = 7. [RET is record element type.DET is data element type]
keshavpoudel@prime.edu.np 21
keshavpoudel@prime.edu.np
22
Exercise
SOLUTION: 3 External interface file types
(payroll file, course file, staff file) with average complexity =7, thus FP score 3*7= 21 1 External output types (report) with high complexity. FP score 1*7= 7 FP count= 21+7=28 FP.
keshavpoudel@prime.edu.np
23
How many lines of Java code should be needed to implement the previous subsystem? Assuming a productivity rate of 50 lines of code a day, what would be the estimate of effort?
keshavpoudel@prime.edu.np
24
COCOMO II
It is a parametric productivity model. It id developed by Barry Boehm in the late 1970s.(based on 63 projects) COCOMO is short for COnstructive COst MOdel. The basic model was built around the following equation: Effort= c(size)k
The effort is measured in person-months(pm), consisting of units of 152 working hours. The size is measured in (Kdsi) thousands of delivered source code of instructions. c and k are constants.
keshavpoudel@prime.edu.np
25
COCOMO II (contd)
The first step is to estimate the system size in terms of kdsi. C and k depend on classifying the system in Boehms terms as: Organic mode.
Small team, Small system, Interface requirements flexible, In- house software development. Product has to operate within very tight constraints, the project team is large, development environment consists of many complex interfaces, Changes are very costly.
Embedded mode.
Semi-detached mode.
Combination from the two above modes.
keshavpoudel@prime.edu.np 26
COCOMO II (contd)
C and k values
keshavpoudel@prime.edu.np 27
COCOMO II (contd)
COCOMO II is designed to accommodate the fact that estimates will be needed at different stages of the system life cycle. COCOMO II has models for three different stages:
Application composition. Early design. Post Architecture.
keshavpoudel@prime.edu.np
28
designed. Prototyping will typically be deployed to do this. Uses object points to estimate the size of the product
Objects include physical features such as screens, reports rather than logical features.
keshavpoudel@prime.edu.np
29
designed. Estimate the size by FPs. FPs may be converted to a LOC equivalent.
Estimate scale factor and effort multiplier.
keshavpoudel@prime.edu.np
30
Early Design(contd)
The following model can be used to calculate an estimate of effort or person-months (pm):
Size is measured in kdsi (derived from an FP count). em is an effort multiplier (7 effort multipliers). sf= B + 0.01 (exponent driver ratings). B is a constant set to 0.91. The exponent is based on some qualities that affect the system.
The greater the exponent the less quality the system has.
keshavpoudel@prime.edu.np 31
Driver table
keshavpoudel@prime.edu.np
33
keshavpoudel@prime.edu.np
34
Exercise
keshavpoudel@prime.edu.np
35
Solution
sf= B + 0.01 (exponent driver ratings)
sf= 0.91 + 0.01 * (3.72 + 2.03 + 7.07 + 1.10 +6.24)=1.112 Scale factor=1.112 2000 lines of code = how many kdsi 2000/1000 =2 kdsi Pm=A(size) sf = 2.94 * (2) 1.112 =6.35 Effort = 6.35 person-months.
keshavpoudel@prime.edu.np 36
and going into its final construction. The same basic model equation Size estimation by KLOC or FPs
Same scale factor estimation 17 factors in EM .
keshavpoudel@prime.edu.np
37
keshavpoudel@prime.edu.np
38
Refer to the following manual for more details on the Post Architecture stage. http://sunset.usc.edu/csse/research/COCOMOII/COCOMO_main .html.
keshavpoudel@prime.edu.np
39