software project estimation ifpug vs cosmic faculty of informatics qasim babatunde md forhad rabbi...

40
Software Project Estimation IFPUG VS COSMIC culty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Upload: rachel-ball

Post on 16-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project EstimationIFPUG VS COSMIC

Faculty of Informatics

Qasim BabatundeMd Forhad Rabbi Shailendra Natraj

Page 2: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 2

1.Introduction

2.Methodology

3.Analysis

Topic

Introduction• Project estimation• IFPUG

Methodology• IFPUG • COSMIC

Analysis• Convertibility issues• Mapping of concepts between IFPUG and COSMIC• conversion equations• Conclusion • References.

Page 3: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 3

1.Introduction

2.Methodology

3.Analysis

Introduction

He who every morning plans the transaction of the day and follows out that plan, carries a thread that will guide him through the maze of the most busy life. But where no plan is laid, where the disposal of time is surrendered merely to the chance of incidence, chaos will soon reign.

Victor Hugo (1802 - 1885)

 

Page 4: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 4

1.Introduction

2.Methodology

3.Analysis

Project EstimationWhat is Project estimation?

Project estimation can be defined as a project management task which involves three main factors (Time, Cost and effort) and dividing the project life cycle and giving a estimate of time, effort and cost involved in this complete process.

Project Estimation

Page 5: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 5

1.Introduction

2.Methodology

3.Analysis

Allan Albrecht

1980 1985 1990 1995 2000 2005 2007

Mk II 1.3

IFPUG 4.1

Full FPs v.1

ISO FSM standard

COSMIC 2.0

COSMIC 3.0

IFPUG 4.2

3D FPs

Mk II FP

Feature points

IFPUG 4.0

FSM Evolutionary Timeline

Page 6: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 6

1.Introduction

2.Methodology

3.Analysis

Project Estimation :Methodology

The various Methodology

Estimation Techniques

Heuristic approachParametric approach

Methodology

Expert Judgment Method.

Thumbs Rule.

Delphi Technique.

Parkinson’s Law.

IFPUG’s FPA.Feature Points.

Cosmic Full Function Points.

Page 7: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 7

1.Introduction

2.Methodology

3.Analysis

Approach Path

PC GEEK Simple LocatorApplication

IFPUG’s FPA Cosmic Full Function Points

IFPUG’s FPA Cosmic Full Function Points

Approach

RESULT (IFPUG’s FPA)

RESULT (IFPUG’s FPA

RESULT Cosmic FFP

RESULT Cosmic FFP

Analysis Equation

Page 8: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 8

1.Introduction

2.Methodology

3.Analysis

COSMIC

advancing software functional size measurement

The Common Software Measurement International Consortium

Page 9: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Lets See IFPUG First…

IFPUG

Transaction Function Data Function

•External Input•External Output•External Query

•Internal Logic File•External Interface File

Page 10: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

IFPUG

Shared Data

Stored DataProcess

Input

Output

Inquiry

Internal Logical File

External Logical File

5 Base Functional Component Type

Page 11: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

COSMIC

Entry

4 Base Functional Component Type

Write Read Exit

Persistence Data Storage

Functional Process

USER

Page 12: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Lets try with a requirement…

• Create new order

Order Id Customer ID Order date Price

Customer Name Configuration Quantity

File Report System Admin Help Utility

Page 13: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Identify Logical File

ILF:

Sales= {customer_id, customer_name, order_id, order_date, configuration, quantity}

EIF:

Configuration = {ID, RAM size, board type, CPU speed,….}

Sales

Configuration

Page 14: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

IFPUG: Create new order…

Order IdCustomer idCustomer nameConfigurationQuantityPriceAction (Submit)

Sales

Configurations

FTR

FTR

7 DETs

Number of DET : 7Number of FTR : 2Complexity : AverageFunctional Point : 04

Page 15: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Complexity of ILF (Sales)

DET RET COMPLEXITY FP

7 1 Low 7

Complexity of EIF (Configuration)

DET RET COMPLEXITY FP

7 1 Low 5

Page 16: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

FP Calculation(Using IFPUG): PCGEEK

Function Type Complexity Total Complexity Total

EI 7 Low X 3

8 AVG X 4 0 High X 6

56 157

EQ 9 Low X 3

2 Avg X 4

0 High X 6

35

EO 4 Low X 4

0 Avg X 5

0 High X 7

16

ILF 5 Low X 7

0 Avg X 10

0 High X 15

35

EIF 3 Low X 5

0 Avg X 7

0 High X 10

15

Page 17: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

STEPS OF COSMIC…

•Identify the purpose of measurement•Identify the scope•Identify the functional user•Identify the functional process•Identify data group.•Identify data movement

A (type of) user that is a sender and/or an intended recipient of data in the Functional User Requirements of a piece of software.

A functional process is an elementary component of a set of Functional User Requirements comprising a unique, cohesive and independently executable set of data movements

A data group is a distinct, non empty, non ordered and non redundant set of data attributes where each included data attribute describes a complementary aspect of the same object of interest.

A base functional component which moves a single data group type

Page 18: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

COSMIC: Create Customer Order..

Order IdCustomer idCustomer nameQuantityPriceAction (Submit)

Configuration

2 Data Groups

Persistence Data Storage

Entry

Entry

Write

Exit

Functional Process

Page 19: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Entry

Order data group to process

Configuration data group to process

Order Id, Customer Name, Customer id, Quantity, Price

Configuration; e.g. HDD, RAM, Monitor, etc.

Page 20: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

READ…

No READ operation has been performed

Page 21: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

WRITE..

•Order detail to stored data

•Configuration detail to stored data

Page 22: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

EXIT

Return a conformation message to user

Page 23: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Functional Point : Create Customer Order

Size = 2 Entry+2 Write+1 Exit = 5 FP

Page 24: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

FP Calculation (Using COSMIC): PCGEEK

Size (functional process)=Σ size (Entries) + Σ size (Exits) + Σ size (Reads) + Σ size (Writes)

Size (functional process) = Σ size

(1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1) +

Σ size (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1) +

Σ size (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1) + Σ size (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)

= 97

Page 25: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

IFPUG: SIMPLE LOCATOR APPLICATION

Function Types Function complexity Complexity Tota l Function Type Total EIs 4 Low X 3 = 12

1 Ave rage X 4 = 04 0 High X 6 = 00 16

EOs 0 Low X 4 = 00 0 Ave rage X 5 = 00 0 High X 7 = 00 0

EQs 3 Low X 3 = 09 0 Ave rage X 4 = 00 0 High X 6 = 00 9

EIFs 0 Low X 5 = 00 1 Ave rage X 7 = 07 0 High X 10 = 00 7

ILFs 2 Low X 7 = 14 0 Ave rage X 10 = 00 0 High X 15 = 00 14

TOTAL Unadjusted Function Point Count = 46

Page 26: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

COSMIC: SIMPLE LOCATOR APPLICATION

•Size (functional process) = Σ size (Entries) + Σ size

(Exits) + Σ size (Reads) + Σ size (Writes)

Size (functional process) = (1+1+1+1+1+1) + (1+1+2+1+1+1) + (0+0+1+0+0+0) + (1+1+0+1+1+1)

= 6+7+1+5

=19 cfp

Page 27: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Process…

IFPUG: Files accessed (FTR)

COSMIC: Sub Process (Read, Write)

IFPUG: Logical Files

Cosmic: Persistent Data

IFPUG: DETs crossing boundary

COSMIC: Sub process (Entry, Exit)

Stored data

Stored data

Page 28: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 28

1.Introduction

2.Methodology

3.Analysis

Why COSMIC?

• Firstly, it should be noted that most, if not all FPA methods are based on heuristics rather than engineering principles!! except COSMIC

• This section will try to compare the IFPUG and the COSMIC methods, in terms of applicability.

Cosmic

Page 29: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 29

1.Introduction

2.Methodology

3.Analysis

Why COSMIC contd….

Application types

Business applications

Embedded systems

Infrastructure systems

Real time systems

Hybrid

Cosmic

Page 30: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 30

1.Introduction

2.Methodology

3.Analysis

Why COSMIC contd….

•Measurement viewpoint.– User view (does this describe all the functionality of the system?) e.g.

multiprocessor system, functionality of software beneath the application layer, batch processing stream.

•Measurement and scale validity– Weighted complexity with limits

– No limits and all EP equal

– Ordinal VS ratio

•COSMIC provides very good estimates close to the actual effort spent in each project.

Cosmic

Page 31: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 31

1.Introduction

2.Methodology

3.Analysis

Convertibility issues

• A lot of organizations have invested a lot into IFPUG and it is hard and unwise to scrap such investments over-night

• But note: the COSMIC [2003]says:

“…that an average conversion formula to convert COSMIC FFP

size to an IFPUG FPA size would be grossly misleading.”

Cosmic

Page 32: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 32

1.Introduction

2.Methodology

3.Analysis

Convertibility issues Contd…

•However, the same also says:

“….therefore the only means of conversion will be to measure

some sizes of software developed or enhanced in similar

circumstances on both the IFPUG and COSMIC methods and to

establish an empirical conversion formula.”Cosmic

Page 33: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 33

1.Introduction

2.Methodology

3.Analysis

Mapping of concepts between IFPUG and COSMIC

COSMIC  IFPUG 

Purpose of measurement Purpose of the count

Scope of a measurement 

Scope of the count 

Boundary  Application boundary 

User  User 

Object of interest  Entity 

Data group  File 

Data attribute  Data elements 

Functional process  Transactional function Comparision

Page 34: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 34

1.Introduction

2.Methodology

3.Analysis

Suggested conversion equations

Authors Convertibility Equation

Fetcke Y(Cfsu) = 1.1 * (UFP) - 7.6/6.2

Letherthuis ≤200 FP Y(Cfsu) = 1.2 * (UFP) -87

Letehrthuis ≥200 FP Y(Cfsu) = 0.75 * (UFP) -2.6

Desharnais 2005 Y(Cfsu) = 0.84 * (UFP) + 18

Abran [1999] Y(Cfsu) = 1.0* (UFP) - 3

Cuadrado et al. [2007] see next slideConvertibility equation

Page 35: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

( ) ( ) ( )

( ) ( ) ( )∑∑ ∑

∑∑∑

== =

===

+++++

≤≤

+++++

EQ

i

EI

i

EO

i

EQ

i i

EO

i i

EI

i i

FTRFTRFTR

FTRFTRFTRCFSU

00 0

000

1,2max1,2max1,2max

1,2max1,2max1,2max

.2.2.2

Page 36: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Empirical illustration

16 146 234 244 88 10 37.61% 4.27%17 130 158 236 28 78 17.72% 49.37%18 194 297 342 103 45 34.68% 15.15%19 189 310 329 121 19 39.03% 6.13%20 156 263 268 107 5 40.68% 1.90%21 178 215 278 37 63 17.21% 29.30%22 181 279 292 98 13 35.13% 4.66%23 117 166 199 49 33 29.52% 19.88%24 152 224 260 72 36 32.14% 16.07%25 227 248 400 21 152 8.47% 61.29%26 189 313 324 124 11 39.62% 3.51%27 129 215 249 86 34 40.00% 15.81%28 200 264 375 64 111 24.24% 42.05%29 111 125 208 14 83 11.20% 66.40%30 165 267 295 102 28 38.20% 10.49%31 105 144 180 39 36 27.08% 25.00%32 171 277 285 106 8 38.27% 2.89%33 150 155 269 5 114 3.23% 73.55%

Proj. ID Minimum CFSU MaximumD_ D_ D_% D_%1 43 68 73 25 5 36.76% 7.35%2 51 80 88 29 8 36.25% 10.00%3 43 72 73 29 1 40.28% 1.39%4 115 177 198 62 21 35.03% 11.86%5 180 195 301 15 106 7.69% 54.36%6 160 267 278 98 11 36.70% 4.12%7 66 108 115 42 6 38.89% 5.56%8 228 278 403 50 125 17.99% 44.96%9 201 210 352 9 142 4.29% 67.62%10 112 191 200 79 9 41.36% 4.71%11 208 286 357 78 71 27.27% 24.83%12 175 263 312 88 49 33.46% 18.63%13 42 65 68 23 3 35.38% 4.62%14 228 294 392 66 98 22.45% 33.33%15 165 200 436 35 236 17.50% 118.00%

Page 37: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 37

1.Introduction

2.Methodology

3.Analysis

Further analysis with own data

Equation PCGEEK (157, 97) Locator (46,19)

Fetcke 166 43

Letherthuis ≤ 200 FP

102 -38

Letehrthuis ≥ 200 FP

116 32

Desharnais [2005] 150 57

Abran [1999] 155 43

Cuadrado et al. [2007]

77 ≤ 97 ≤ 99 19 ≤ 19 ≤ 25

Data analysis

Page 38: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 38

1.Introduction

2.Methodology

3.Analysis

Current travails

•Benchmark data are not as widely available as is the case for FPA. But this is a matter of time!!

• It can not measure mathematical algorithms.

Page 39: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 39

1.Introduction

2.Methodology

3.Analysis

Conclusion

•More investigation and research is necessary to deal with the convertibility among different FSM methods, mapping between Unified Modeling Language and FP, measuring the domain of algorithmic/ scientific software, measurement of functional reuse and automating FSM process.

Conclusion

Page 40: Software Project Estimation IFPUG VS COSMIC Faculty of Informatics Qasim Babatunde Md Forhad Rabbi Shailendra Natraj

Software Project Estimation

21/04/23 Slide 40

1.Introduction

2.Methodology

3.Analysis

Refences

[1] Vogelezang, F., One year experience with COSMIC-FFP,

Software Measurement European Forum – SMEF 2005, Rome

(Italy), 2005.

[2] The COSMIC Functional Size Measurement Method Version

3.0, Measurement Manual, Common Software Measurement

International Consortium, September 2007

[3] IFPUG, Function point counting practices manual 4.1.1. Tech.

rep., The International Function Point Users Group, 2000.