spm3 - Estimation
spm3 - Estimation
Estimation Framework
Collect Project
Inputs
Estimate
Software Size
Estimate Effort
Historical Project
Data
Estimate
Schedule
Resource
Availability
Current Price
Data
Estimate Price
Re-estimate,
if needed
Approve the
Estimate
Actual Project
Data (size,
effort, schedule,
pricing)
Approved
Estimates
Actual Data
Analyze the
Estimation
Process
Lines of Code
By measuring NCLOC
separately we can define:
total
and
CLOC
Algorithmic Models
Effort Equation obtained through
regression analysis
E= a + bKLOC^c
Where E is the effort in person months
a, b and c are constants
Algorithmic Models
COCOMO
COCOMO
The COnstructive COst MOdel (COCOMO) is one of the bestdocumented algorithmic cost estimation models. In its simplest form,
Basic COCOMO, the formula that relates effort to software size,
reads
Here, b and c are constants that depend on the kind of project that
is being executed. COCOMO distinguishes three classes of project:
Organic A relatively small team develops software in a known environment. The
people involved generally have a lot of experience with similar projects in their
organization. They are thus able to contribute at an early stage, since there is no
initial overhead. Projects of this type will seldom be very large projects.
Embedded The product will be embedded in an environment which is very
inflexible and poses severe constraints. An example of this type of project might
be air traffic control or an embedded weapons system.
Semidetached This is an intermediate form. The team may include a mixture of
experienced and inexperienced people, the project may be fairly large, though
not excessively large, etc
COCOMO
For the various classes of project, the parameters of Basic COCOMO take
on the following values:
b
Organic
2.4
1.05
Semi-detatched
3.0
1.12
embedded
3.6
1.20
Organic (E = 2.4KLOC1.05)
Semidetached (E =
3.0KLOC1.12)
Embedded (E =
3.6KLOC1.20)
2.4
3.0
3.6
10
26.9
39.6
57.1
50
145.9
239.4
392.9
100
302.1
521.3
904.2
1 000
3 390.0
6 872.0
14 333.0
COCOMO
For the various classes of project, the parameters of Basic COCOMO take
on the following values:
b
Organic
2.4
1.05
Semi-detatched
3.0
1.12
embedded
3.6
1.20
Organic (E = 2.4KLOC1.05)
Semidetached (E =
3.0KLOC1.12)
Embedded (E =
3.6KLOC1.20)
2.4
3.0
3.6
10
26.9
39.6
57.1
50
145.9
239.4
392.9
100
302.1
521.3
904.2
1 000
3 390.0
6 872.0
14 333.0
In general, applications with large, complicated use cases take more effort
to design and implement than small applications with less complicated use
cases. Moreover, the time to complete the application is affected by:
Use Case Points (UCP) is an estimation method that provides the ability to
estimate an applications size and effort from its use cases. Based on work
by Gustav Karner in 1993, UCP analyzes the use case actors, scenarios
and various technical and environmental factors and abstracts them into an
equation. The equation is composed of four variables:
In general, applications with large, complicated use cases take more effort
to design and implement than small applications with less complicated use
cases. Moreover, the time to complete the application is affected by:
Use Case Points (UCP) is an estimation method that provides the ability to
estimate an applications size and effort from its use cases. Based on work
by Gustav Karner in 1993, UCP analyzes the use case actors, scenarios
and various technical and environmental factors and abstracts them into an
equation. The equation is composed of four variables:
Rate 0-5, multiply with the weight and finally sum up to get the Total Factors
Technical Factor
Description
Weight
T1
Distributed system
T2
Performance
T3
T4
Complex internal
Processing
T5
Reusability
T6
Easy to install
0.5
T7
Easy to use
0.5
T8
Portable
T9
Easy to change
T10
Concurrent
T11
T12
T13
Rate 0-5, multiply with weight and finally sum up to get the Total Factors
The Unadjusted Use Case Weight (UUCW) based on the total number of activities (or steps)
contained in all the use case Scenarios.
The Unadjusted Actor Weight (UAW) based on the combined complexity of all the use cases
Actors.
Total Factors UUCW+UAW
UUCW = total use cases in each category, multiply by Weight and finally sum-up to get UUCW
UAW = total number of actors in each category, multiply with its weight and finally sum-up
Description
Simple
Average
Complex
Weight
10
15
Actor Type
Description
Weight
Simple
Average
Complex
The Unadjusted Use Case Weight (UUCW) based on the total number of activities (or steps)
contained in all the use case Scenarios.
The Unadjusted Actor Weight (UAW) based on the combined complexity of all the use cases
Actors.
Total Factors UUCW+UAW
UUCW = total use cases in each category, multiply by Weight and finally sum-up to get UUCW
UAW = total number of actors in each category, multiply with its weight and finally sum-up
Description
Simple
Average
Complex
Weight
10
15
Actor Type
Description
Weight
Simple
Average
Complex
The Productivity Factor (PF) is a ratio of the number of man hours per use case point based on
past projects. If no historical data has been collected, a figure between 15 and 30 is suggested
by industry experts. A typical value is 20.
Final Calculation
Types of FPs
Development Project Count
measures the functions provided to the users with the first installation of the
software delivered when the project is complete
Application Count
provides a measure of the current functions the application provides to the user
commonly referred to as the Baseline or Installed Function Point count
initialized when the development project Function Point count is completed
updated every time completion of an enhancement project alters the applications
functions
Inputs to FP calculation
Suggested Input Documents
Requirements Document
Data Flow Diagrams
Data Models
Entity Relationship Diagrams
Flow Charts
Interface Descriptions
Reports Layouts
File Layouts
Screen Layouts
User Manual/Guide
Tutorial Documentation
Elementary Processes
External Input (EI) FPA Definition
It is an elementary process that processes data or control information that enters from
outside the application boundary
It maintains one or more ILFs and/or alters the behavior of the application
Example
Example
Employee information
Leave Master
Identify system
boundaries
Example
Example
Employee
information
Salary
Informati
on
Payroll
Calculate adjusted FP
Low
Avg
High
ILF
10
15
EIF
10
EI
EO
EQ
Effort Calculation
Analysis (20%)
Design (25%)
Development (30%)
Testing (15%)
Implementation Go Live & Training (10%)
Overheads like
Project Management
Performance Engineering
QA
.
Exercise
Personal information
Students are able to see the fee (paid and to be paid infuture) Interface with Finance Department for Fees & Deposits.
Students are able to pay fees Interface with payment gateway
Students are able to see marks and apply for re-evaluation
Interface with Evaluation System
Students are able to select courses & electives Interface with
Institutes Curriculum
All other systems are developed in Java, Oracle as DB, OS Unix
Internet based system is required