0% found this document useful (0 votes)
332 views22 pages

Software Engineering: Cost Estimation: Decomposition Techniques

This document discusses techniques for decomposing software projects into smaller tasks to facilitate cost estimation. It describes work breakdown structures (WBS) for dividing projects into logical units and measuring effort. Source lines of code (SLOC) and function points (FP) are presented as common size metrics used with estimation models like COCOMO. The benefits and process of FP analysis are outlined, including identifying external inputs/outputs and internal files/interfaces to calculate unadjusted and adjusted function points.

Uploaded by

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

Software Engineering: Cost Estimation: Decomposition Techniques

This document discusses techniques for decomposing software projects into smaller tasks to facilitate cost estimation. It describes work breakdown structures (WBS) for dividing projects into logical units and measuring effort. Source lines of code (SLOC) and function points (FP) are presented as common size metrics used with estimation models like COCOMO. The benefits and process of FP analysis are outlined, including identifying external inputs/outputs and internal files/interfaces to calculate unadjusted and adjusted function points.

Uploaded by

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

SOFTWARE ENGINEERING

Cost Estimation: Decomposition Techniques


DECOMPOSITION TECHNIQUES
• Software project estimation is a form of problem solving, and in
most cases, the problem to be solved i.e.,
• Developing a cost and effort estimate for a software project is too
complex to be considered in one piece.
• For this reason, we decompose the problem, re-characterizing it as a
set of smaller (and hopefully, more manageable) problems.
SOFTWARE SIZING
• The accuracy of a software project estimate is predicated on a number of
things:
I. The degree to which the planner has properly estimated the size of the
product to be built.
II. The ability to translate the size estimate into human effort, calendar
time, and dollars.
III. The degree to which the project plan reflects the abilities of the software
team.
IV. The stability of product requirements and the environment that
supports the software engineering effort.
ESTIMATION TOOL
• The Project Estimation Approach that is widely used is Decomposition
Technique.
• Tools use for estimation;
1. Workbreak down Structure
Dividing into Logical Units/Tasks
2. Measuring effort for a project
Source lines of Code (SLOC)
Function Point (FP)
Constructive Cost Model (COCOMO)
1. WORK BREAKDOWN STRUCTURE(WBS)
• Creating a WBS is a prerequisite for any estimation activity.
• To correctly estimate the effort, size, or cost of completing a project,
it is important to be aware of the multiple tasks that comprise a
project.
• It enables you to conceptualize an abstract entity, such as a project,
into distinct, independent units.
• After dividing a project into tasks, you can categorize them as
logical, broad tasks.
BENEFITS OF USING WBS
• It gives the management an idea about the size and complexity of the
project.
• It helps in planning, scheduling, and monitoring a project realistically.
This is possible because all the tasks in the project can be preformed
measurable targets for each task.
2. MEASURING THE EFFORT FOR
PROJECT
• Measuring the effort for a project is a specialized activity.
• It enables you to derive cost estimates that are critical for project
management.
• An incorrect measurement of effort at the beginning of project can
result in inaccurate project plans and also lead to inaccurate cost
estimates, which can cause steep cost deviations between estimated and
actual cost values.
SOURCE LINES OF CODE (SLOC)
• The SLOC technique is an objective method of estimating the size
because there are no multiple ways of calculating the lines of code.
• This technique includes the calculation of lines of code, documentation
of pages, inputs, outputs, and components of a software program.
• The SLOC technique is also used to directly calculate the effort to be
spent on a project.
SOURCE LINES OF CODE (SLOC)
• The general considerations include the following:
• Only the delivered lines of code are included in SLOC calculation. For
example, test drivers and other support software are not part of the number of
lines developed for a project.
• Only the source lines of code written only by the development team are
counted. This excludes the code created by applications generators.
• Only declaration statements are counted as source lines of code. This excludes
comments inserted to improve the readability of programs.
DISADVANTAGES OF SLOC
• The SLOC technique is language-dependent.
• The effort required to calculate source lines of code may not be the same
for all languages.
• For example, to write 15 lines of code that accomplish a task in the
assembly language may require 20 minutes. However, you may need
only 10 minutes to complete the same lines of code if it is written in
Visual Basic.
FUNCTION POINT (FP)
• The FP technique is a direct indicator of the functionality of a
software application from the user's perspective.
• This is the most popular technique used to estimate the size of a
software project.
• FP technique to estimate the total size of a project. The total size of
a project is estimated as a single FP value.
• After calculating the total size of a project in FP, you divide the
total FP into the different phases of the SDLC. This way, you can
determine how much effort per FP is required in that particular
phase.
FUNCTION POINT (FP)
• The total size of a software project is expressed in total function
points.
• It is independent of the computer language, development
methodology, technology, or capability of the project team
developing the software project.
• The specific user functionality of the application is evaluated in
terms of relation to what is delivered by the application and, not
how it is delivered.
• Only user requested and user-defined components are counted.
FUCTION POINT ANALYSIS
Working from the project design specifications, the following system functions
are measured

1. External Inputs (EI)


2. External Outputs (EO)
3. Internal Logic Files(ILF
4. External Inquires (EQ)
5. External Interfaces(EI)
FP CALCULATION
• You
can calculate the function point estimates for a project oa particular phas
e by following four steps:
• 1.Identify the unadjusted function points.
• 2.Calculate total GSC s.
• 3.Calculate Value Adjustment Factor (VAF)
• 4.Apply a formula to calculate Adjusted FP (AFP)
FUNCTION POINT ANALYSIS

These function-point counts are then weighed (multiplied) by their degree


of complexity:
Simple/Low Average Complex/high
Inputs 3 4 6
Outputs 4 5 7
Files 7 10 15
Inquires 3 4 6
Interfaces 5 7 10
FUNCTION POINT ANALYSIS
A simple example:

inputs
2 simple X 3 = 6
4 average X 4 = 16
1 complex X 6 = 6
outputs
6 average X 5 = 30
2 complex X 7 = 14
files
5 complex X 15 = 75
inquiries
8 average X 4 = 32
interfaces
3 average X 7 = 21
4 complex X 10 = 40
Unadjusted function points 240
GENERAL SYSTEM
CHARACTERISTICS
• The value adjustment factor (VAF) is based on 14 general system characteristics
(GSC’s) that rate the general functionality of the application being counted.
• Each characteristic has associated descriptions to determine the degrees of influence.
GENERAL SYSTEM
CHARACTERISTICS
3
4

2
5
4

2
1

0
1
22

(22 *0.01)+0.65=0.87
FUNCTION POINT
• On the whole:
• The constant values in the equation and the weighting factors are determined
empirically

FP= 240*0.87=208.8
ADVANTAGES OF FUNCTION
POINT
• Function points are language-and technology-independent. Therefore, you can use them to
estimate any kind of project. 
• In addition, you can use function points as a project estimation technique when
you anticipate changes in the middle of a project. These changes may disturb the
estimates if, you had used SLOC to estimate the effort, cost, or size of a project.
• The estimates calculated by using the FP are unlikely to be incorrect
DISADVANTAGES OF FP

• Estimation by using FP generally uses data from past projects


• To be able to do this realistically, it is important for the organization
to have developed similar projects in the past.
• FP provides a vague estimation.
•.

You might also like