Also known as stepwise-refinement or decomposition, this approach takes the whole software system as one entity and decomposes it to achieve more than one subsystem based on some characteristics.
2. What is Effort Estimation?
Effort Estimation is the process of finding an
estimate, or approximation, which is a value
that can be used for some purpose even if
input data may be incomplete, uncertain, or
unstable.
3. Why Effort Estimation?
1. Establishes the cost and schedule goals of the
project
2. Determines the staffing level for a project during
different phases
3. Depends on the level of information available
about the project
4. The more detailed the information, the more
accurate the estimation can be
6. •Also known as stepwise-refinement or
decomposition, because this approach
takes the whole software system as
one entity and decomposes it to
achieve more than one subsystem
based on some characteristics.
Top-Down Estimation
Approach
•This approach starts with designing the
most basic components and proceeds
to higher level components that uses
these lower-level components.
Bottom-Up
Estimation Approach
7. Top Down Approach
It considers the effort as the function of project size
Where a and b are constants and the project size is
generally in KLOC (thousands of lines of code). Values for
these constants for an organization are determined through
regression analysis, which is applied to data about the
projects that have been performed in the past.
EFFORT = a * SIZEb
8. COCOMO Model
The Constructive Cost Model (COCOMO) is a procedural
software cost estimation model based on LOC (Lines of
code). In this model, for the initial estimate (also called
nominal estimate) the equation for an organic project is
E = 3.9(SIZE)0.91
9. Cost Drivers
After determining the initial estimate, COCOMO uses a
set of 15 different attributes of a project called cost
driver attributes. Some of them are:
Software
Reliability
Product
Complexity
Analyst
Capability
Application
Experience
Use of Modern
Tools
Required
Development
Schedule
12. Effort Adjustment Factor (EAF)
If we multiply all the multiple factors of 15 different cost
driver attributes, we get the Effort Adjustment Factor.
To better understand EAF, let’s consider an example of
developing a software application for the Hospital
Management
13. The modules involved in this application would be
Login 100 LOC
Payment 100 LOC
Appointment Booking 400 LOC
Selecting Time Schedule 400 LOC
TOTAL 1000 LOC
14. Using COCOMO Model…
Suppose the cost drivers involved in developing
this application would be –
High complexity (1.15)
Nominal execution time constraint (1.00)
Nominal application experience (1.00)
Very high development schedule (1.10)
15. Then, the Effort Estimation Factor is
The initial effort estimate can be calculated from the
relevant equation as
Using the EAF, the adjusted effort estimate is
EAF = 1.15*1.00*1.00*1.10 = 1.265
Ei = 3.9 * 10.91 = 3.9 PM
E = 1.265 * 3.9 = 4.93 PM
16. COCOMO’s
Phase-wise Distribution of Effort
Phase Small
2 KLOC
Intermediate
8 KLOC
Medium
32 KLOC
Large
128 KLOC
Product Design 16 16 16 16
Detailed Design 26 25 24 23
Code and unit test 42 40 38 36
Integration and test 16 19 22 25
17. Advantages of Top-Down Approach
1. This approach is more suitable when the software solution needs to be
designed from scratch and specific details are unknown
2. In top-down approach, the heads of an organization make the decisions
and pass them down to other members of the organization to implement.
3. It helps align the project goals with the organization’s strategic goals as
upper management is giving the directions.
4. For top-down estimation to work well, it is important that good estimates
for the size of the software be obtained.