Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Software Size Estimation
Software Size Estimation
Software Size Estimation
An activity in software engineering that is used to
estimate the size of a software application or component
What is
Software Size
Estimation?
Size increases, the interdependency among
various elements of the software grows rapidly
increase.
 “Software size is the main driver for project cost
estimation”
Why we
feel need?
Software Size Estimation
1) Initial sizing during or after requirements phase
2) Subsequent sizing after system design or when
change occurs
3) Final sizing after install
Define Design Build Test Implement
Sizing Sizing Sizing
When to Size
Phases
1. Define
2. Design
3. Implement
Software Size Estimation
The measurement of software size is hard.
The Measurement of Software Size
Why
Difference between Software sizing and
software effort estimation?
 Sizing estimates the probable size of a piece
of software
 while effort estimation predicts the effort
needed to build it.
Difference
Software
Sizing
Vs
Effort
Estimation
The Measurement of Software Size
Two methods of software size measurement
 Functional size measurement method
 Non-Functional size measurement method.
Method
How?
Functional size measurement methods
Functional size measurement methods measure the
functionality
Advantages of functional size measurement methods
 The size measurement is repeatable and verifiable.
 The size measurement is defendable.
Disadvantages of functional size measurement
 Need Expert People.
 It takes some time and costs effort
Software Size Measurement Methods
Functional
Method
(‘what does the
software do’)
Non-functional size measurement methods
 Measure the technical objects of the software
 e.g Use-Case , DFD, Sequence diagram etc.
Software Size Measurement Methods
Non-
Functional
Method
( Diagrams )
The Software Size
There are many techniques of software size estimation
but here we will discuss only five techniques which are :
1. LOC (Line of code)
2. Functional Point (FP)
3. Wideband Delphi
4. Component Estimating
5. 3-point Estimation
The Software Sizing Techniques
Types of LOC
Two types of LOC
1) Physical LOC
2) Logical LOC
Example
1. for (i = 0; i < 100; i++) printf("hello"); /* How many lines of code is this? */
1. for (i = 0; i < 100; i++)
{
printf("hello");
} /* How many lines of code is this? */
LOC
What is LOC
???
 Advantages of LOC
1. Automation of Counting
2. An Intuitive Metric
 Disadvantage of LOC
1. Lack of Accountability
2. Lack of Cohesion with Functionality
3. Developer’s Experience
4. Difference in Languages
5. Problems with Multiple Languages
6. Lack of Counting Standards.
The Software Sizing Techniques
LOC
(Analysis)
The Software Sizing Techniques
An objective and structured technique to measure
software size by quantifying its functionality
provided to the user, based on the requirements
and logical design.
Function
Point
What is FP ?
Analysis
Function
Point
The Software Sizing Techniques
Function point Analysis consists of performing the
following steps:
• Determine the type of Function Point count
• Determine the application boundary
• Identify and rate to the Unadjusted Function Point count (UFP)
• Identify and rate the data function types to calculate their contribution to the
UFP
• Determine the Value Adjustment Factor (VAF) by using General System
Characteristics (GSCs)
• Finally, calculate the adjusted Function Point count
Component
Function
Point
The Software Sizing Techniques
There are five component of FP:
1. EI’s (External Input)
2. EO’s (External output)
3. EQ’s (External inquiries)
4. EIF’s(External Interface Files)
5. ILF’s(Internal logical files)
Component
Function
Point
The Software Sizing Techniques
1. External Input (EI)
Is an elementary process in which data crosses the boundary
from outside to inside
2. External Output (EO)
An elementary process in which derived data passes across the
boundary from inside to outside
3. External Inquiry (EQ)
Is an elementary process with both input and output
components that results in data retrieval from one or more
internal logical files and external interface files
Component
Function
Point
The Software Sizing Techniques
4. Internal Logical File (ILF)
A user identifiable group of logically related data that resides
entirely within the application boundary and is maintained
through External Inputs
5. External Interface File (EIF)
A user identifiable group of logically related data that is used for
reference purposes only.
Rating the Transactional and Data Function Types
Each of the identified components is assigned a rating
(as Low, Average, and High)
General System Characteristics (GSCs)
The value adjustment factor (VAF) is calculated based on
General System Characteristics that rate the general
functionality of the application being counted
• Rating the
Transaction
• Data Functi0n
Types
Function
Point
The Software Sizing Techniques
The degree of effect of each characteristic has to be
determined as a rating on a scale of 0 to 5 as defined
below.
0: Not present, or no effect
1: Incidental effect
2: Moderate effect
3: Average effect
4: Significant effect
5: Strong effect throughout
General System Characteristics (GSCs)
Degree
of
Effect
Characteristic
General System Characteristics (GSCs)
Once all the GSCs have been rated, TDI is obtained by summing up all
the ratings. Now, Value Adjustment Factor is calculated using the
formula:
VAF = 0.65 + TDI/100
Final FP Count
FP = Unadjusted Function Point count (UFP) * Value Adjustment
Factor (VAF)
Total Degrees
of Influence
(TDI)
Advantages:
1. Helps Comparison
2. Helps Monitor Scope Creep
3. Ease of Agreement Talks
4. Use of Historic Data
Advantages & Disadvantages
Function
Points
Three steps for
estimating the
software
Point Estimation
Technique
The Software Sizing Techniques
In this technique we examine the three steps for estimating the software.
Step1:
work with the team member assigned to each task to identify both the positive
and negative risks involved in their task.
Step2:
we ask the team member to make three estimates
1. BG
2. P
3. O
Step3:
mathematics with the three estimates the
weighted mean=(O + 4BG + P) ÷ 6 the standard deviation= (P-O)/6
Delphi Estimating
a way of attempting to get specialists in predicting
software size to come to a consensus on their predictions -
important because experts often disagree.
How apply Delphi Technique ?
1. Group of experts [E1….Ei……En]
2. Meet to discuss project
3. Each estimates size:[X1….. Xi ….. Xn]
4. Each Ei __ gets to see all the Xs (anonymously)
5. Stop if the estimates are sufficiently close together
6. Otherwise, back to step 2
Wideband-Delphi Estimating
Delphi
Estimating is
?
Standard Component Estimation Technique
guess the size of a software system as a function of the size
estimates of its components.
Apply Method
• Gather historical data on key components
• Guess how many of each type you will need (Mi)
• Also guess largest (Li)_ and smallest (Si)_ extremes
• Final estimate (Ei_) is a function of Mi,Li and Si
• For example Ei=(Si+(4*Mi)+Li)/6
How to Apply
?

More Related Content

Software Size Estimation

  • 3. Software Size Estimation An activity in software engineering that is used to estimate the size of a software application or component What is Software Size Estimation?
  • 4. Size increases, the interdependency among various elements of the software grows rapidly increase.  “Software size is the main driver for project cost estimation” Why we feel need? Software Size Estimation
  • 5. 1) Initial sizing during or after requirements phase 2) Subsequent sizing after system design or when change occurs 3) Final sizing after install Define Design Build Test Implement Sizing Sizing Sizing When to Size Phases 1. Define 2. Design 3. Implement Software Size Estimation
  • 6. The measurement of software size is hard. The Measurement of Software Size Why
  • 7. Difference between Software sizing and software effort estimation?  Sizing estimates the probable size of a piece of software  while effort estimation predicts the effort needed to build it. Difference Software Sizing Vs Effort Estimation
  • 8. The Measurement of Software Size Two methods of software size measurement  Functional size measurement method  Non-Functional size measurement method. Method How?
  • 9. Functional size measurement methods Functional size measurement methods measure the functionality Advantages of functional size measurement methods  The size measurement is repeatable and verifiable.  The size measurement is defendable. Disadvantages of functional size measurement  Need Expert People.  It takes some time and costs effort Software Size Measurement Methods Functional Method (‘what does the software do’)
  • 10. Non-functional size measurement methods  Measure the technical objects of the software  e.g Use-Case , DFD, Sequence diagram etc. Software Size Measurement Methods Non- Functional Method ( Diagrams )
  • 11. The Software Size There are many techniques of software size estimation but here we will discuss only five techniques which are : 1. LOC (Line of code) 2. Functional Point (FP) 3. Wideband Delphi 4. Component Estimating 5. 3-point Estimation
  • 12. The Software Sizing Techniques Types of LOC Two types of LOC 1) Physical LOC 2) Logical LOC Example 1. for (i = 0; i < 100; i++) printf("hello"); /* How many lines of code is this? */ 1. for (i = 0; i < 100; i++) { printf("hello"); } /* How many lines of code is this? */ LOC What is LOC ???
  • 13.  Advantages of LOC 1. Automation of Counting 2. An Intuitive Metric  Disadvantage of LOC 1. Lack of Accountability 2. Lack of Cohesion with Functionality 3. Developer’s Experience 4. Difference in Languages 5. Problems with Multiple Languages 6. Lack of Counting Standards. The Software Sizing Techniques LOC (Analysis)
  • 14. The Software Sizing Techniques An objective and structured technique to measure software size by quantifying its functionality provided to the user, based on the requirements and logical design. Function Point What is FP ?
  • 15. Analysis Function Point The Software Sizing Techniques Function point Analysis consists of performing the following steps: • Determine the type of Function Point count • Determine the application boundary • Identify and rate to the Unadjusted Function Point count (UFP) • Identify and rate the data function types to calculate their contribution to the UFP • Determine the Value Adjustment Factor (VAF) by using General System Characteristics (GSCs) • Finally, calculate the adjusted Function Point count
  • 16. Component Function Point The Software Sizing Techniques There are five component of FP: 1. EI’s (External Input) 2. EO’s (External output) 3. EQ’s (External inquiries) 4. EIF’s(External Interface Files) 5. ILF’s(Internal logical files)
  • 17. Component Function Point The Software Sizing Techniques 1. External Input (EI) Is an elementary process in which data crosses the boundary from outside to inside 2. External Output (EO) An elementary process in which derived data passes across the boundary from inside to outside 3. External Inquiry (EQ) Is an elementary process with both input and output components that results in data retrieval from one or more internal logical files and external interface files
  • 18. Component Function Point The Software Sizing Techniques 4. Internal Logical File (ILF) A user identifiable group of logically related data that resides entirely within the application boundary and is maintained through External Inputs 5. External Interface File (EIF) A user identifiable group of logically related data that is used for reference purposes only.
  • 19. Rating the Transactional and Data Function Types Each of the identified components is assigned a rating (as Low, Average, and High) General System Characteristics (GSCs) The value adjustment factor (VAF) is calculated based on General System Characteristics that rate the general functionality of the application being counted • Rating the Transaction • Data Functi0n Types Function Point The Software Sizing Techniques
  • 20. The degree of effect of each characteristic has to be determined as a rating on a scale of 0 to 5 as defined below. 0: Not present, or no effect 1: Incidental effect 2: Moderate effect 3: Average effect 4: Significant effect 5: Strong effect throughout General System Characteristics (GSCs) Degree of Effect Characteristic
  • 21. General System Characteristics (GSCs) Once all the GSCs have been rated, TDI is obtained by summing up all the ratings. Now, Value Adjustment Factor is calculated using the formula: VAF = 0.65 + TDI/100 Final FP Count FP = Unadjusted Function Point count (UFP) * Value Adjustment Factor (VAF) Total Degrees of Influence (TDI)
  • 22. Advantages: 1. Helps Comparison 2. Helps Monitor Scope Creep 3. Ease of Agreement Talks 4. Use of Historic Data Advantages & Disadvantages Function Points
  • 23. Three steps for estimating the software Point Estimation Technique The Software Sizing Techniques In this technique we examine the three steps for estimating the software. Step1: work with the team member assigned to each task to identify both the positive and negative risks involved in their task. Step2: we ask the team member to make three estimates 1. BG 2. P 3. O Step3: mathematics with the three estimates the weighted mean=(O + 4BG + P) ÷ 6 the standard deviation= (P-O)/6
  • 24. Delphi Estimating a way of attempting to get specialists in predicting software size to come to a consensus on their predictions - important because experts often disagree. How apply Delphi Technique ? 1. Group of experts [E1….Ei……En] 2. Meet to discuss project 3. Each estimates size:[X1….. Xi ….. Xn] 4. Each Ei __ gets to see all the Xs (anonymously) 5. Stop if the estimates are sufficiently close together 6. Otherwise, back to step 2 Wideband-Delphi Estimating Delphi Estimating is ?
  • 25. Standard Component Estimation Technique guess the size of a software system as a function of the size estimates of its components. Apply Method • Gather historical data on key components • Guess how many of each type you will need (Mi) • Also guess largest (Li)_ and smallest (Si)_ extremes • Final estimate (Ei_) is a function of Mi,Li and Si • For example Ei=(Si+(4*Mi)+Li)/6 How to Apply ?