Software engineering — IFPUG 4.1 Unadjusted functional size measurement method — Counting practices manual

ISO/IEC 20926:2003 specifies the International Function Point Users Group (IFPUG) Release 4.1 unadjusted Functional Size Measurement Method. It provides:a clear and detailed description of function point counting; a foundation to ensure that counts are consistent; guidance to allow function point counting of Functional User Requirements from the deliverables of popular software development methodologies and techniques; a framework to enable automated support for function point counting. The provisions of ISO/IEC 20926:2003 can be applied by anyone using function point analysis for software measurement. ISO/IEC 20926:2003 was designed for use by persons new to function point counting as well as those with intermediate and advanced experience.

Ingénierie du logiciel — Méthode de mesure de la taille fonctionnelle non ajustée de IFPUG 4.1 — Manuel des pratiques de comptage

General Information

Status
Withdrawn
Publication Date
05-Oct-2003
Withdrawal Date
05-Oct-2003
Current Stage
9599 - Withdrawal of International Standard
Completion Date
24-Nov-2009
Ref Project

Relations

Buy Standard

Standard
ISO/IEC 20926:2003 - Software engineering -- IFPUG 4.1 Unadjusted functional size measurement method -- Counting practices manual
English language
342 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISO/IEC
STANDARD 20926
First edition
2003-10-01

Software engineering — IFPUG 4.1
Unadjusted functional size measurement
method — Counting practices manual
Ingénierie du logiciel — Méthode de mesure de la taille fonctionnelle
non ajustée de IFPUG 4.1 — Manuel des pratiques de comptage




Reference number
ISO/IEC 20926:2003(E)
©
ISO/IEC 2003

---------------------- Page: 1 ----------------------
ISO/IEC 20926:2003(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.


©  ISO/IEC 2003
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland

ii © ISO/IEC 2003 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC 20926:2003(E)
Table of Contents

Foreword.vii
Scope .viii
IFPUG Foreword.ix
IFPUG Preface.xi
Introduction . 1-1
Chapter 1
Objectives of this International Standard . 1-2
Guidelines for ISO/IEC 20926 . 1-2
Intended Audience. 1-2
Organization of this International Standard. 1-3
Preface and Introduction . 1-3
Overview of Function Point Analysis . 1-3
Explanation of the Counting Practices . 1-4
Manual Revision Process . 1-5
Frequency of Changes . 1-5
Change Process . 1-5
Related IFPUG Documentation. 1-8
Training Requirements. 1-9
Overview of Function Point Analysis . 2-1
Chapter 2
Objectives and Benefits of Function Point Analysis . 2-2
Objectives of Function Point Analysis . 2-2
Benefits of Function Point Analysis . 2-2
Function Point Counting Procedures. 2-3
Procedure Diagram . 2-3
Procedure by Chapter . 2-3
Summary Counting Example. 2-4
Summary Diagram. 2-4
Determine the Type of Function Point Count . 2-5
Identify the Counting Scope and Application Boundary. 2-5
Determine the Unadjusted Function Point Count. 2-6
Determine the Value Adjustment Factor . 2-9
Calculate the Adjusted Function Point Count. 2-9
User View. 3-1
Chapter 3
Definition of User View. 3-2
Sizing During the Life Cycle of an Application. 3-3
Phase: Initial User Requirements. 3-4
Phase: Initial Technical Requirements. 3-5
Phase: Final Functional Requirements . 3-6
Life Cycle Phase Comparisons . 3-7
Hints to Help with Counting. 3-8
Determine Type of Count . 4-1
Chapter 4
Definitions: Types of Function Point Counts . 4-2
Development Project . 4-2
Enhancement Project . 4-2
Application . 4-2
Diagram of Types of Counts. 4-3
© ISO/IEC 2003 – All rights reserved iii

---------------------- Page: 3 ----------------------
ISO/IEC 20926:2003(E)
Estimated and Final Counts. 4-3
Identify Counting Scope and Application Boundary. 5-1
Chapter 5
Definition of Counting Scope and Application Boundary . 5-2
Definition of the Purpose of the Count. 5-2
Definition of the Counting Scope . 5-2
Definition of the Application Boundary. 5-3
Counting Scope and Application Boundary Rules and Procedures . 5-5
Boundary Rules . 5-5
Counting Scope and Application Boundary Procedures. 5-5
Hints to Help to Identify the Counting Scope and the Application Boundary. 5-6
Count Data Functions. 6-1
Chapter 6
Definitions: ILFs and EIFs. 6-3
Internal Logical Files. 6-3
External Interface Files . 6-3
Difference between ILFs and EIFs . 6-3
Definitions for Embedded Terms . 6-3
ILF/EIF Counting Rules. 6-5
Summary of Counting Procedures. 6-5
ILF Identification Rules . 6-6
EIF Identification Rules. 6-6
Complexity and Contribution Definitions and Rules . 6-7
DET Definition. 6-7
DET Rules. 6-7
RET Definition. 6-9
RET Rules. 6-9
ILF/EIF Counting Procedures. 6-10
Procedure Diagram. 6-10
Identification Procedures . 6-10
Complexity and Contribution Procedures . 6-11
Hints to Help with Counting. 6-13
ILF/EIF Counting Examples. 6-14
ILF Counting Examples. 6-18
EIF Counting Examples . 6-58
Count Transactional Functions . 7-1
Chapter 7
Definitions: EIs, EOs and EQs . 7-3
External Inputs . 7-3
External Outputs . 7-3
External Inquiry. 7-3
Summary of the Functions Performed by EIs, EOs and EQs. 7-4
Definitions for Embedded Terms . 7-5
Summary of Processing Logic Used by EIs, EOs and EQs . 7-8
EI/EO/EQ Counting Rules. 7-9
Summary of Counting Procedures. 7-9
Elementary Process Identification Rules . 7-10
Transactional Functions Counting Rules. 7-11
Primary Intent Description for EIs . 7-11
External Input Counting Rules . 7-11
Primary Intent Description for EOs and EQs . 7-12
Shared EO and EQ Counting Rules . 7-12
Additional External Output Counting Rules . 7-12
Additional External Inquiry Counting Rules . 7-13
Complexity and Contribution Definitions and Rules . 7-13
FTR Definition . 7-13
DET Definition. 7-13
EI Complexity and Contribution Rules. 7-14
FTR Rules for an EI . 7-14
iv © ISO/IEC 2003 – All rights reserved

---------------------- Page: 4 ----------------------
ISO/IEC 20926:2003(E)
DET Rules for an EI. 7-14
EO/EQ Complexity and Contribution Rules. 7-16
Shared FTR Rules for EOs and EQs . 7-16
Additional FTR Rules for an EO . 7-16
Shared DET Rules for EOs and EQs . 7-16
EI, EO and EQ Counting Procedures. 7-18
Procedure Diagram . 7-18
Identification Procedures. 7-19
Complexity and Contribution Procedures. 7-21
Hints to Help with Counting EIs, EOs and EQs . 7-24
Additional Hints to Help Counting EOs and EQs . 7-26
Elementary Process Identification Examples. 7-27
EI/EO/EQ Counting Examples . 7-45
EI Counting Examples. 7-52
EO Counting Examples . 7-89
EQ Counting Examples . 7-123
Determine Value Adjustment Factor (Optional) . 8-1
Chapter 8
Value Adjustment Factor Determination. 8-3
Procedures to Determine the VAF . 8-3
General System Characteristics . 8-4
Degrees of Influence . 8-5
Guidelines to Determine Degree of Influence. 8-6
1. Data Communications . 8-6
2. Distributed Data Processing. 8-7
3. Performance . 8-8
4. Heavily Used Configuration. 8-9
5. Transaction Rate . 8-10
6. Online Data Entry . 8-10
7. End-User Efficiency. 8-11
8. Online Update. 8-12
9. Complex Processing. 8-13
10. Reusability. 8-14
11. Installation Ease . 8-15
12. Operational Ease. 8-16
13. Multiple Sites . 8-17
14. Facilitate Change. 8-18
Calculate Adjusted Function Point Count. 9-1
Chapter 9
Review of Steps for Function Point Analysis . 9-3
Development Project Function Point Calculation . 9-4
Application Functionality. 9-4
Conversion Functionality . 9-4
Application Value Adjustment Factor . 9-4
Function Point Formula . 9-5
Example: Development Project Function Point Count . 9-6
Application Functionality. 9-6
Conversion Functionality . 9-8
Application Contribution to the Unadjusted Function Point Count . 9-9
Conversion Contribution to the Unadjusted Function Point Count. 9-10
Final Calculation . 9-10
Enhancement Project Function Point Calculation . 9-11
Application Functionality. 9-11
Conversion Functionality . 9-11
Value Adjustment Factor . 9-11
Function Point Formula . 9-12
Example: Enhancement Project Count . 9-13
Application Functionality. 9-13
© ISO/IEC 2003 – All rights reserved v

---------------------- Page: 5 ----------------------
ISO/IEC 20926:2003(E)
Application Contribution to the Unadjusted Function Point Count. 9-14
Final Calculation . 9-16
Application Function Point Calculation. 9-17
Formula to Establish the Initial Count. 9-17
Formula to Reflect Enhancement Projects . 9-18
Example: Application Count . 9-19
Initial Count . 9-19
Count After Enhancement . 9-19
Calculation Tables .A-1
Appendix A
Unadjusted Function Point Count Calculation Table.A-2
Value Adjustment Factor Calculation Table.A-3
The Change from CPM 4.0 to 4.1 . B-1
Appendix B
Introduction . B-2
Major Functional Change Areas in CPM 4.1. B-2
Version Control . B-3
Overview of Changes. B-3
Background . B-8
The Impact Study . B-8
Conversion from CPM 4.0 to 4.1. B-9
Impact on 4.0 Users Changing to 4.1 . B-10
Recommendations . B-10

Index

Glossary


vi © ISO/IEC 2003 – All rights reserved

---------------------- Page: 6 ----------------------
ISO/IEC 20926:2003(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
ISO/IEC 20926 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 7, Software and system engineering.
© ISO/IEC 2003 – All rights reserved vii

---------------------- Page: 7 ----------------------
ISO/IEC 20926:2003(E)

Scope

This International Standard specifies the International Function Point Users Group (IFPUG) Release 4.1
unadjusted Functional Size Measurement Method. It provides:
• clear and detailed description of function point counting
• A foundation to ensure that counts are consistent
• Guidance to allow function point counting of Functional User Requirements from the deliverables of
popular software development methodologies and techniques
• A framework to enable automated support for function point counting
The provisions of this International Standard can be applied by anyone using function point analysis for
software measurement. It was designed for use by persons new to function point counting as well as those
with intermediate and advanced experience.

viii © ISO/IEC 2003 – All rights reserved

---------------------- Page: 8 ----------------------
ISO/IEC 20926:2003(E)
IFPUG Foreword

Function points are the leading metric of the software world. Although function points originated as a sizing
mechanism for software projects, the power and utility of function points have expanded into new uses far
beyond that basic purpose. As the twenty-first century approaches, function points are now being applied to
all of these tasks:
• Benchmark studies
• Development cost estimating
• Litigation involving software contracts
• Litigation involving software taxation
• Maintenance cost estimating
• Outsource contracts
• Process improvement analysis
• Quality estimating
• Quality measurements
• Sizing all software deliverables (documents, source code, test materials)
• Year 2000 software cost estimating
As usage of function point metrics expands throughout the software world, more and more companies and
government agencies are starting function point programs. This implies that the need for certified function
point analysts is rising even faster than the demand for other software professionals. Certification would not
be possible without a complete and stable set of counting rules for function point analysis.
A great deal of the credit for the rapid expansion of function point metrics should go to the International
Function Point Users Group (IFPUG) and its officers, committees, and members. One of the committees that
merits commendation is the Counting Practices Committee.
Although the basic principles of function point analysis are simple and straightforward, the real-life application
of these principles across thousands of software projects is not simple at all.
If function point counts fluctuated by more than 150% when counted by different individuals (as do lines of
code counts) then function points would have no claim to be considered a useful business metric. But thanks
to the work of the Counting Practices Committee, the reliability of function point analysis is good enough to
allow function points to serve as the basis for contracts, for carrying out scholarly research, for cost
estimating, and for creating reliable benchmarks. So far as can be determined, the accuracy of function points
is equal or superior to many other business metrics such as internal rate of return, net present value, or return
on investment.
The move to version 4.0 of the IFPUG counting practices in January of 1994 was somewhat contentious and
controversial. This is because the version 4.0 rules had the affect of reducing function point totals for some
applications, by fairly significant amounts.
The move to the version 4.1 rules should be much smoother and less controversial. The reason that 4.1 was
selected rather than 5.0 as the name of this release is because the numeric results of the new version are
close enough to the version 4.0 rules that recounting will not be necessary.
The major changes in the version 4.1 rules are in the examples, the clarification of some complex counting
situations, and improvements in the overall exposition of function point counting principles. Those learning to
© ISO/IEC 2003 – All rights reserved ix

---------------------- Page: 9 ----------------------
ISO/IEC 20926:2003(E)
use function points should find the version 4.1 rules to be easier to understand and apply than the prior
versions.
As software itself expands and changes, the rules for counting function points must also be expanded. When
Allan Albrecht first introduced function points in October of 1979, many of the kinds of software projects being
created in 1999 did not exist. For example, in 1979 software such as multi-tier client-server applications, web
applets, and massive enterprise resource planning (ERP) systems were still in the future.
It is a tribute to Allan Albrecht’s vision that function point metrics are as useful today as they were in 1979.
But without the work of the IFPUG organization and the Counting Practices Committee, function point metrics
would not be expanding in utility at the beginning of the twenty-first century. In fact, function points are now
used for more business purposes than any other metric in the history of software.

T. Capers Jones
Chief Scientist
Artemis Management Systems
x © ISO/IEC 2003 – All rights reserved

---------------------- Page: 10 ----------------------
ISO/IEC 20926:2003(E)
IFPUG Preface

The use of function points, as a measure of the functional size of software, has grown in
Introduction
the past decade from a few interested organizations to an impressive list of companies
worldwide. The IFPUG method is applicable to measuring all software

In the late 1970s, Allan Albrecht of IBM defined the concepts that enabled measuring the
IBM CIS & A
output of software development projects. These definitions were extended in IBM CIS & A
Guidelines
Guideline 313, AD/M Productivity Measurement and Estimate Validation, dated November
313
1, 1984.

With the growth in the use of function points, there was wider and wider application of the
Release 2.0
measure. This broadening of the application tested the o
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.