The document compares functional size measurements of the same software using three ISO methods: IFPUG, MkII, and COSMIC. It finds that for SITA's real-time systems, COSMIC and MkII sizes increase nearly linearly with IFPUG sizes. However, for previously reported business applications, COSMIC and MkII sizes increase much faster non-linearly with IFPUG sizes. This suggests the effects of measurement method differences vary by software domain. Specifically, IFPUG may be less suited than COSMIC for performance measurement and estimating across domains due to its treatment of files and limited component sizes.
2. Aims of this work (in progress)
2
(Primary) To gain more insights into the
nature of Functional Size Measurement by
analysing size measurements on the same
software using three ISO standard methods
(Secondary) To improve understanding of
size convertibility issues
3. Agenda
3
Background to the measurements
COSMIC and MkII FP versus IFPUG UFP
size comparisons
Conclusions
4. Société Internationale de
Télécommunications Aéronautiques (SITA)
4
Manages a world-wide telecommunications network for
the world’s airlines (from Atlanta, USA)
Develops and supplies business and real-time
applications for managing airlines and airports world-
wide
Software supply is outsourced to development
organizations in six countries
IFPUG, MkII and COSMIC methods are used to control
price/performance and for estimating, depending on the
customer contract requirements (from London, UK).
5. SITA data used for this analysis
5
34 new ‘real-time’ system developments
MkII and COSMIC sizes (total and components)
IFPUG total sizes
175 – 4898 CFP
‘Real-time’ = business applications with
important time constraints such as airline
reservation systems, airport check-in systems,
systems that interface with ‘hard real-time’
systems, e.g. for baggage handling, etc.
6. The IFPUG method analyses functional
requirements into five types of
components
6
Application
being
measured
Application
Boundary
Inputs
Outputs,
Inquiries
Internal
Logical
Files
References
(Read/ Write)
External
Interface
Files
Other Software
References (Read only)
References
(Read/ Write)
Users
• Hardware devices,
• Other software or
• Humans
‘Unadjusted’ FPs (or ‘UFPs’) = Sum of sizes of Elementary Processes + sizes of Files
7. The MkII FP method analyses functional
requirements into ‘Logical Transactions’
7
Application
being
measured
Boundary
Users
• Humans,
• Other software
Input DETs
Output DETs
Entity
References
Entity-types
about which
data are stored
MkII FP’s = Sum of sizes of Logical Transactions
(Size of a LT = 0.58 x Input DETs + 1.66 x Entity Refs + 0.26 x Output DET’s)
8. The COSMIC Method analyses functional
requirements into ‘Functional Processes’
8
Software
being
measured
Boundary
Functional Users
• Hardware devices,
• Other software or
• Humans
Entries
Exits
Reads Writes
References
Data Groups
in Persistent
Storage
Size (CFPs) = Sum of sizes of Functional Processes
Size of a FP = Count of (Entries + Exits + Reads + Writes)
9. Agenda
9
Background to the measurements
COSMIC and MkII FP versus IFPUG UFP size
comparisons
Conclusions
10. SITA Real-time systems: COSMIC CFP sizes
increase faster than IFPUG UFP sizes
10
Interpretation:
1. As Total UFP size
increases, the share
of size due to Files
decreases
2. The size of large
Elementary
Processes is limited
by the ‘cut-off effect’
for the size of IFPUG
components
y = 0.804x + 0.00009x2
R² = 0.988
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
0 1000 2000 3000 4000 5000 6000 7000
COSMICCFP
IFPUG UFP
COSMIC CFP vs IFPUG UFP. Intercept at (0,0)
11. For comparison: COSMIC vs IFPUG sizes for
135 business applications (from multiple
sources*)
11
y = 0.741x + 11
R² = 0.757
0
100
200
300
400
500
0 100 200 300 400 500
CFP
IFPUG / Nesma FP
All Datasets (projects < 400
FP)
y = 1.502x - 277
R² = 0.791
0
500
1000
1500
2000
2500
3000
0 500 1000 1500 2000
CFP
IFPUG / Nesma FP
All Datasets (projects 400-
2000 FP)
* Data from Guideline on how to convert ‘First Generation’ function point sizes to COSMIC sizes.
N.B. All IFPUG/Nesma sizes are actually UFP sizes
12. The CFP size of previously-reported business applications
increases much faster versus UFP sizes than for SITA’s real-time
systems
12
Conclusion: The effects of the differences in how the IFPUG and
COSMIC methods measure size are much greater for the applications
reported in the Guideline than for SITA’s real-time systems
Size range
(IFPUG/Nesma UFP)
No. of Projects Fitted straight line R-
Squared
Business Applications (multiple sources*)
0 – 400 UFP 106 (79% CFP = 0.741 x UFP + 11 0.757
400 – 1600 UFP 29 (21%) CFP = 1.502 x UFP - 277 0.791
SITA Real-time systems
0 – 1700 UFP 16 CFP = 0.987 x UFP + 49 0.968
13. 0
1,000
2,000
3,000
4,000
0 500 1000 1500 2000 2500
MkIIFPSize
UFP Size
MkII vs IFPUG sizes
SITA Real-time Business Apps
Similarly, the MkII FP size of business applications increases
much faster vs. UFP sizes than for SITA’s ‘real-time’ systems
13
MkII FP = 0.9 x UFP + 0.0005 x (UFP)2
Data for 39 business apps measured in
the 1990’s*
MkII FP = 0.9 x UFP + 0.00005 x (UFP)2
Data for 34 SITA ‘real-time’ systems
* Presented at UKSMA Conference 1996
14. Conclusion: The effects of the size measurement
method vary significantly with software domain
14
The effects on IFPUG UFP sizes of:
the limited ranges for the size of
components
including the sizes of files as well as
processes
are much more important for the measurement
of previously-reported business applications
than for SITA’s ‘real-time’ systems.
15. Agenda
15
Background to the measurements
COSMIC and MkII versus IFPUG size
comparisons
Conclusions
16. Conclusions
16
The very close correlation of MkII and COSMIC sizes
supports the design assumption that it is not
necessary to count input/output DET’s for COSMIC
sizes
As COSMIC sizes have been shown to correlate very
well with effort for software from all domains, the
non-linearity of COSMIC/MkII sizes versus IFPUG sizes
suggests that the IFPUG size scale is less suited for
performance measurement and estimating
Do not mix functional sizes of software from different
domains for uses such as size conversion, or for
project performance measurement and estimating