Date post: | 30-Dec-2015 |
Category: |
Documents |
Upload: | lisandra-graham |
View: | 55 times |
Download: | 2 times |
Software Project EstimationIFPUG VS COSMIC
Faculty of Informatics
Qasim BabatundeMd Forhad Rabbi Shailendra Natraj
Software Project Estimation
19/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.
Software Project Estimation
19/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)
Software Project Estimation
19/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
Software Project Estimation
19/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
Software Project Estimation
19/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.
Software Project Estimation
19/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
Software Project Estimation
19/04/23 Slide 8
1.Introduction
2.Methodology
3.Analysis
COSMIC
advancing software functional size measurement
The Common Software Measurement International Consortium
Lets See IFPUG First…
IFPUG
Transaction Function Data Function
•External Input•External Output•External Query
•Internal Logic File•External Interface File
IFPUG
Shared Data
Stored DataProcess
Input
Output
Inquiry
Internal Logical File
External Logical File
5 Base Functional Component Type
COSMIC
Entry
4 Base Functional Component Type
Write Read Exit
Persistence Data Storage
Functional Process
USER
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
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
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
Complexity of ILF (Sales)
DET RET COMPLEXITY FP
7 1 Low 7
Complexity of EIF (Configuration)
DET RET COMPLEXITY FP
7 1 Low 5
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
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
COSMIC: Create Customer Order..
Order IdCustomer idCustomer nameQuantityPriceAction (Submit)
Configuration
2 Data Groups
Persistence Data Storage
Entry
Entry
Write
Exit
Functional Process
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.
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
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
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
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
Software Project Estimation
19/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
Software Project Estimation
19/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
Software Project Estimation
19/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
Software Project Estimation
19/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
Software Project Estimation
19/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
Software Project Estimation
19/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
Software Project Estimation
19/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
( ) ( ) ( )
( ) ( ) ( )∑∑ ∑
∑∑∑
== =
===
+++++
≤≤
+++++
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
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%
Software Project Estimation
19/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
Software Project Estimation
19/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.
Software Project Estimation
19/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
Software Project Estimation
19/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.