1 calibrating function points using neuro-fuzzy technique vivian xia nfa estimation inc. london,...

13
1 Calibrating Function Points Using Neuro-Fuzzy Technique Vivian Xia NFA Estimation Inc. London, Ontario, Canada danny@nfa- estimation.com Danny Ho IT Department HSBC Bank Vancouver, BC Canada [email protected] Department of Electrical and Computer Engineering University of Western Ontario London, Ontario, Canada [email protected] Luiz F Capretz

Post on 19-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

1

Calibrating Function Points Using Neuro-Fuzzy Technique

Vivian Xia

NFA Estimation Inc. London, Ontario, Canada

[email protected]

Danny Ho

IT DepartmentHSBC Bank

Vancouver, BC Canada

[email protected]

Department of Electrical and Computer Engineering

University of Western OntarioLondon, Ontario, Canada

[email protected]

Luiz F Capretz

2

Roadmap Concepts of Calibration Neuro-Fuzzy Function Points Calibration Model Validation Result Conclusions

3

Calibration Concept

DET, RET --- Component Associated Files

Same methodology for all FP 5 components

Data Element Types (DET)

Record Element Types (RET) 1-19 20-50 51+

1 Low Low Average

2-5 Low Average High

6+ Average High High

Internal Logical File (ILF) Complexity Matrix

External Input, External Output, External Inquiry

Internal Logical File, External Interface File

4

Calibration Concept Cont’d e.g. One project has 3 Internal Logical Files (ILF)

ILF A ILF B ILF C

DET 50 20 19

RET 3 3 3

Original Classification Average Average Low

Original Weight Value 10 10 7

Observation 1 Ambiguous Classification

Observation 2 Crisp Boundary

Calibrate complexity degree by fully utilizing the number of component associated files

Calibrate to fit specific application

5

Calibration Concept Cont’d

Component Low Average High

External Input 3 4 6

External Output 4 5 7

Internal Logical File 7 10 15

External Interface File 5 7 10

External Inquiry 3 4 6

. Calibrate UFP weight values to reflect global software

industry trend

Unadjusted Function Points Weight Values UFP weight values are determined in 1979 based on

Albrecht’s study of 22 IBM Data Processing projects

6

Neuro-Fuzzy Function Points Calibration Model Overview

Project Data

Calibrated by Fuzzy Logic

Calibrated by

NeuralNetwork

Validated for better estimation

EstimationEquationISBSG 8

MMRE, PRED

7

Calibrating by Fuzzy Logic

Fuzzy Set Fuzzy Rule

Fuzzy Inference

OutputInput

Fuzzy Logic System

8

Calibrating by Neural Network

Learn UFP weight values by effort the values should reflect complexity complexity proportioned to effort

15 UFP inputs as neuronsBack-propagation algorithm

9

Data Source --- ISBSG Release 8 ISBSG

International Software Benchmarking Standards Group Non-profit organization

Release 8 Contains 2,027 projects 75% built in recent 5 years Filter on ISBSG 8 data set

Filter Criteria: Quality, Counting method, Resource level,

Development Types, UFP breakdowns Shrink to 184 projects

10

Validation Methodology Developed a calibration tool Randomly split data set

totally 184 data points 100 training points 84 testing points for validation

Repeat 5 times Using estimation equation for comparison

11

Validation Results (MMRE)

Exp.1 Exp.2 Exp.3 Exp.4 Exp.5

MMREOriginal

1.38 1.58 1.57 1.39 1.42

MMRENeuro-Fuzzy

1.10 1.28 1.17 1.03 1.11

IMPRV %20% 19% 25% 26% 22%

Avg.IMPRV %

22%

MMRE: Mean Magnitude

of Relative Error Criteria to assess

estimation error The lower the

better

n

i i

ii

Act

ActEst

nMMRE

1

1

12

Validation Results (PRED)

PRED: Prediction at level p

Criteria to assess estimation ability

The higher the better

n

kpPRED )(

0.0

10.0

20.0

30.0

40.0

50.0

60.0

70.0

80.0

Pred 25 Pred 50 Pred 75 Pred 100

Perc

enta

ge Original

Calibrated

13

Conclusions Neuro-Fuzzy Function Points model improves

software cost estimation by an average of 22%. Fuzzy logic calibration part improves UFP

complexity classification. Neural network calibration part overcomes

problems with UFP weight values.