Top Banner
Software Size Estimation
25

Software Size Estimation

Apr 14, 2017

Download

Education

Muhammad Asim
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software Size Estimation

Software Size Estimation

Page 2: Software Size Estimation

Prepared by:Muhammad AsimPH# - +923066010010

Presentation

Software Engineering 2

Page 3: 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?

Page 4: 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

Page 5: Software Size Estimation

1) Initial sizing during or after requirements phase2) Subsequent sizing after system design or when

change occurs3) Final sizing after install

Define Design Build Test Implement

Sizing Sizing Sizing

When to Size

Phases1. Define2. Design3. Implement

Software Size Estimation

Page 6: Software Size Estimation

The measurement of software size is hard.

The Measurement of Software Size

Why

?

Page 7: Software Size Estimation

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

Page 8: Software Size Estimation

The Measurement of Software Size

Two methods of software size measurement

Functional size measurement method Non-Functional size measurement method.

Method

How?

Page 9: Software Size Estimation

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

FunctionalMethod

(‘what does the software do’)

Page 10: Software Size Estimation

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 )

Page 11: Software Size Estimation

The Software Size

SizingTechniques

?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 Delphi4. Component Estimating5. 3-point Estimation

Page 12: Software Size Estimation

The Software Sizing Techniques Types of LOC Two types of LOC

1) Physical LOC2) Logical LOC

Example1. for (i = 0; i < 100; i++) printf("hello"); /* How many lines of code is this? */

2. for (i = 0; i < 100; i++) {printf("hello"); } /* How many lines of code is this? */

LOC

What is LOC ???

Page 13: Software Size Estimation

Advantages of LOC1. Automation of Counting2. An Intuitive Metric

Disadvantage of LOC1. Lack of Accountability2. Lack of Cohesion with Functionality3. Developer’s Experience4. Difference in Languages5. Problems with Multiple Languages6. Lack of Counting Standards.

The Software Sizing Techniques

LOC

(Analysis)

Page 14: Software Size Estimation

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 ?

Page 15: Software Size Estimation

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

Page 16: Software Size Estimation

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)

Page 17: Software Size Estimation

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

Page 18: Software Size Estimation

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.

Page 19: Software Size Estimation

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

Page 20: Software Size Estimation

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

Page 21: Software Size Estimation

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)

?

Page 22: Software Size Estimation

Advantages:1. Helps Comparison2. Helps Monitor Scope Creep3. Ease of Agreement Talks4. Use of Historic Data

Advantages & Disadvantages

Function Points

Page 23: Software Size Estimation

Three steps for estimating the

software

Point Estimation Technique

The Software Sizing TechniquesIn 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. BG2. P3. O

Step3:mathematics with the three estimates the weighted mean=(O + 4BG + P) ÷ 6 the standard deviation= (P-O)/6

Page 24: Software Size Estimation

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 ?

Page 25: Software Size Estimation

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

?