You are on page 1of 242

Certified Function

Point Specialist
Examination Guide
Certified Function
Point Specialist
Examination Guide

David Garmus
Janet Russac
Royce Edwards
Auerbach Publications
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487-2742
© 2011 by Taylor and Francis Group, LLC
Auerbach Publications is an imprint of Taylor & Francis Group, an Informa business

No claim to original U.S. Government works

Printed in the United States of America on acid-free paper


10 9 8 7 6 5 4 3 2 1

International Standard Book Number-13: 978-1-4200-7638-7 (Ebook-PDF)

This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made to publish reliable data and
information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use. The authors and
publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission
to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any
future reprint.

Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic,
mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or
retrieval system, without written permission from the publishers.

For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://www.copyright.com/) or contact
the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organization that provides
licenses and registration for a variety of users. For organizations that have been granted a photocopy license by the CCC, a separate system of payment
has been arranged.

Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation
without intent to infringe.
Visit the Taylor & Francis Web site at
http://www.taylorandfrancis.com
and the Auerbach Web site at
http://www.auerbach-publications.com
We dedicate this work to Caren Garmus,
who passed away on December 12, 2008,
after a 2-year battle with lung cancer.
She was an inspiration to us and many of you.
Contents

Foreword.............................................................................................................................................................................xiii
Preface................................................................................................................................................................................. xv
Acknowledgments..............................................................................................................................................................xvii
Introduction........................................................................................................................................................................xix
Authors...............................................................................................................................................................................xxi

1 Function Point Analysis Overview....................................................................................................................... 1


What Are Function Points?...........................................................................................................................................1
How Function Points Are Used....................................................................................................................................2
Productivity.........................................................................................................................................................2
Quality................................................................................................................................................................2
Financial..............................................................................................................................................................2
Maintenance........................................................................................................................................................3
Supporting Activities...........................................................................................................................................3
Measuring Value Delivered...........................................................................................................................................3
Benefits and Objectives.................................................................................................................................................4
Further Reading...........................................................................................................................................................4
Exam Guidance............................................................................................................................................................4
Sample Exam Questions...............................................................................................................................................4
2 Identifying User Requirements............................................................................................................................ 7
Functional User Requirements......................................................................................................................................7
Function Point Counting Procedure.............................................................................................................................7
Gathering Documentation............................................................................................................................................8
Sizing During the Life Cycle.........................................................................................................................................8
Initial User Requirements Phase..........................................................................................................................8
Technical Requirements Phase.............................................................................................................................9
Final Functional User Requirements Phase..........................................................................................................9
User............................................................................................................................................................................10
User View...................................................................................................................................................................10
Further Reading.........................................................................................................................................................10
Exam Guidance..........................................................................................................................................................10
Sample Exam Questions.............................................................................................................................................11

vii
viii    Contents

3 The Process of Counting..................................................................................................................................... 13


Purpose of the Count..................................................................................................................................................13
Types of Counts..........................................................................................................................................................13
Determine Counting Scope........................................................................................................................................15
Determine Boundary..................................................................................................................................................15
Further Reading.........................................................................................................................................................16
Exam Guidance..........................................................................................................................................................16
Sample Exam Questions.............................................................................................................................................16

4 Data Functions................................................................................................................................................... 19
Introduction...............................................................................................................................................................19
What They Are: Internal Logical Files and External Interface Files............................................................................20
Data Functions..................................................................................................................................................20
Internal Logical File...........................................................................................................................................20
External Interface File........................................................................................................................................20
Difference Between ILFs and EIFs.....................................................................................................................20
Definitions for Embedded Terms................................................................................................................................20
Control Information..........................................................................................................................................20
User Recognizable.............................................................................................................................................20
Maintain............................................................................................................................................................20
Elementary Process............................................................................................................................................20
Rules for Counting.....................................................................................................................................................21
Data Function Identification Rules....................................................................................................................21
Data Function Classification Rules....................................................................................................................21
Complexity and Contribution Definitions and Rules........................................................................................22
DET Definition........................................................................................................................................22
DET Rules...............................................................................................................................................22
RET Definition........................................................................................................................................23
RET Rules................................................................................................................................................23
Determination of Complexity and Contribution......................................................................................23
Data Entities: Business Data, Reference Data, and Code Data...................................................................................24
Business Data....................................................................................................................................................24
Reference Data..................................................................................................................................................24
Code Data.........................................................................................................................................................25
Logical Files and Data Modeling................................................................................................................................26
Data Modeling Concepts...................................................................................................................................26
Mapping Data Concepts to Function Point Terminology..................................................................................27
Methodology for Identifying Logical Files..................................................................................................................28
Step 1. Identify Logical Files..............................................................................................................................28
Step 2. Classify Logical Files.............................................................................................................................33
Step 3. Identify Data Element Types.................................................................................................................33
Step 4. Identify Record Element Types............................................................................................................. 34
Considering Data Element Types and Record Element Types in
Conjunction with Logical Files via Entity (In)Dependence....................................................................................36
Further Reading.........................................................................................................................................................36
Exam Guidance..........................................................................................................................................................36
Sample Exam Questions.............................................................................................................................................36

5 Elementary Process............................................................................................................................................ 43
Introduction...............................................................................................................................................................43
Definition of an Elementary Process...........................................................................................................................43
Identifying Each Elementary Process..........................................................................................................................43
Determine Unique Elementary Processes................................................................................................................... 44
Contents    ix

Classify Each Elementary Process...............................................................................................................................45


Processing Logic.........................................................................................................................................................45
Summary of Processing Logic Used by EIs, EOs, and EQs........................................................................................ 46
Further Reading.........................................................................................................................................................47
Exam Guidance..........................................................................................................................................................47
Sample Exam Questions.............................................................................................................................................47
6 Transactional Functions..................................................................................................................................... 49
Introduction...............................................................................................................................................................49
What They Are: External Inputs, External Outputs, and External Inquiries...............................................................49
Definitions and Primary Intent...................................................................................................................................49
External Input...................................................................................................................................................49
External Output................................................................................................................................................49
External Inquiry................................................................................................................................................49
Summary of the Functions Performed by EIs, EOs, and EQs.....................................................................................50
Definitions for Embedded Terms................................................................................................................................50
Control Information..........................................................................................................................................50
Elementary Process............................................................................................................................................50
Maintain............................................................................................................................................................50
Meaningful........................................................................................................................................................50
User...................................................................................................................................................................50
Processing Logic................................................................................................................................................50
Summary of Processing Logic Used by EIs, EOs, and EQs.........................................................................................50
Rules for Counting Transactions................................................................................................................................50
EI Complexity and Contribution Guidelines..............................................................................................................54
EO/EQ Complexity and Contribution Guidelines.....................................................................................................55
Determination of Complexity and Contribution........................................................................................................56
Further Reading.........................................................................................................................................................58
Exam Guidance..........................................................................................................................................................58
Sample Exam Questions.............................................................................................................................................60
7 Shared Data........................................................................................................................................................ 63
Introduction...............................................................................................................................................................63
Shared Data................................................................................................................................................................63
Methods of Sharing Data............................................................................................................................................63
Common Terms..........................................................................................................................................................63
Copy..................................................................................................................................................................63
File................................................................................................................................................................... 64
Image................................................................................................................................................................ 64
Load................................................................................................................................................................. 64
Merge............................................................................................................................................................... 64
Refresh............................................................................................................................................................. 64
Scenarios.................................................................................................................................................................... 64
Scenario 1. Read.........................................................................................................................................................65
Scenario 2. Static Image Copy................................................................................................................................... 66
Scenario 3. Image Copy/Load—No Additional Processing........................................................................................67
Scenario 4. Image Copy/Load One Physical Table—No Additional Processing.........................................................68
Scenario 5. Copy and Merge.......................................................................................................................................69
Scenario 6. Screen Scraping........................................................................................................................................70
Scenario 7. Updating the Same Data Store.................................................................................................................70
Scenario 8. Standard Transaction Data.......................................................................................................................71
Further Reading.........................................................................................................................................................72
Exam Guidance..........................................................................................................................................................72
Sample Exam Questions.............................................................................................................................................72
x    Contents

8 Enhancements.................................................................................................................................................... 75
Introduction...............................................................................................................................................................75
Measuring Enhancement Projects...............................................................................................................................75
Procedure....................................................................................................................................................................75
Scope and Boundary of an Enhancement Project.......................................................................................................75
Measuring Data Functions in Enhancement Projects.................................................................................................76
Measuring Transactional Functions in Enhancement Projects....................................................................................76
Processing Logic........................................................................................................................................................ 77
Considerations and Hints...........................................................................................................................................79
Enhancement vs. Maintenance Considerations..................................................................................................79
Categories of Maintenance................................................................................................................................79
Further Reading.........................................................................................................................................................80
Exam Guidance..........................................................................................................................................................80
Sample Exam Questions.............................................................................................................................................80

9 Conversion.......................................................................................................................................................... 83
Introduction...............................................................................................................................................................83
Conversion................................................................................................................................................................. 84
What Is Not Conversion Functionality...................................................................................................................... 84
Scenario 1. Enhancement Project Data Conversion................................................................................................... 84
Scenario 2. Data Conversion with EIFs Referenced....................................................................................................85
Scenario 3. Assigning Default Values..........................................................................................................................85
Further Reading.........................................................................................................................................................85
Exam Guidance..........................................................................................................................................................85
Sample Exam Questions.............................................................................................................................................85

10 Calculating and Applying Functional Size........................................................................................................ 87


Rules for Calculating New Development....................................................................................................................87
Rules for Calculating Application Size........................................................................................................................87
Rules for Calculating Enhancement Projects..............................................................................................................88
Rules for Calculating Adjusted Functional Size..........................................................................................................88
Further Reading.........................................................................................................................................................88
Exam Guidance..........................................................................................................................................................89
Sample Exam Questions.............................................................................................................................................89

11 Value Adjustment Factors................................................................................................................................... 91


Introduction...............................................................................................................................................................91
Value Adjustment Factor Determination....................................................................................................................91
Procedures to Determine the VAF..............................................................................................................................91
General System Characteristics...................................................................................................................................91
Data Communications......................................................................................................................................92
Distributed Data Processing..............................................................................................................................93
Performance.......................................................................................................................................................94
Heavily Used Configuration..............................................................................................................................95
Transaction Rate................................................................................................................................................96
On-Line Data Entry..........................................................................................................................................97
End-User Efficiency...........................................................................................................................................97
On-Line Update................................................................................................................................................98
Complex Processing...........................................................................................................................................99
Reusability.........................................................................................................................................................99
Installation Ease..............................................................................................................................................100
Contents    xi

Operational Ease.............................................................................................................................................101
Multiple Sites...................................................................................................................................................102
Facilitate Change.............................................................................................................................................102
Calculating the Adjusted Functional Size.................................................................................................................103
Adjusted Development Project Functional Size (aDFP)............................................................................................104
Adjusted Enhancement Project Functional Size (aEFP)............................................................................................104
Adjusted Application Functional Size.......................................................................................................................105
Formula: Initial Adjusted Application Functional Size (aAFP)........................................................................105
Formula: Application Functional Size after Enhancement Projects..................................................................105
Further Reading.......................................................................................................................................................106
Exam Guidance........................................................................................................................................................106
Sample Exam Questions...........................................................................................................................................107

12 Preparing for the Certified Function Point Specialist (CFPS) Exam............................................................... 109
The Certification Process..........................................................................................................................................109
Recommendations for Exam Preparation..................................................................................................................109
Review of the IFPUG Counting Practices Manual (CPM)......................................................................................... 110
What to Know/What to Look Up During Exam...................................................................................................... 110
The Exam................................................................................................................................................................. 111
Helpful Hints for Taking the Exam.......................................................................................................................... 111
Exam Automation..................................................................................................................................................... 111
Automated Exam Format and Scoring............................................................................................................. 111
Helpful Hints for Taking the Automated Exam..............................................................................................112

Appendix 1 Formulas and Matrices.................................................................................................................... 113


Matrices....................................................................................................................................................................113
Formulas................................................................................................................................................................... 114
Functional Size Formulas................................................................................................................................ 114
Adjusted Functional Size Formulas.................................................................................................................. 115

Appendix 2 Practice Exam 1................................................................................................................................117


Part 1. Definitions and Rules.................................................................................................................................... 117
Part 2. Implementation.............................................................................................................................................121
Part 3. Case Studies..................................................................................................................................................126
Case Study 1....................................................................................................................................................126
Case Study 2....................................................................................................................................................126
Case Study 3....................................................................................................................................................127
Case Study 4....................................................................................................................................................127
Case Study 5....................................................................................................................................................127
Case Study 6....................................................................................................................................................128
Case Study 7....................................................................................................................................................129
Case Study 8....................................................................................................................................................129
Case Study 9....................................................................................................................................................130
Case Study 10..................................................................................................................................................130

Appendix 3 Practice Exam 2............................................................................................................................... 133


Part 1. Definitions and Rules....................................................................................................................................133
Part 2. Implementation.............................................................................................................................................136
Part 3. Case Studies..................................................................................................................................................141
Case Study 1....................................................................................................................................................141
Case Study 2....................................................................................................................................................141
Case Study 3....................................................................................................................................................142
Case Study 4....................................................................................................................................................143
xii    Contents

Case Study 5....................................................................................................................................................143


Case Study 6....................................................................................................................................................144
Case Study 7....................................................................................................................................................144
Case Study 8.................................................................................................................................................... 145
Case Study 9.................................................................................................................................................... 145
Case Study 10..................................................................................................................................................146
Appendix 4 Chapter 1 Sample Exam Answers.................................................................................................... 149
Appendix 5 Chapter 2 Sample Exam Answers.................................................................................................... 151
Appendix 6 Chapter 3 Sample Exam Answers.................................................................................................... 153
Appendix 7 Chapter 4 Sample Exam Answers.................................................................................................... 155
Appendix 8 Chapter 5 Sample Exam Answers.....................................................................................................161
Appendix 9 Chapter 6 Sample Exam Answers.................................................................................................... 163
Appendix 10 Chapter 7 Sample Exam Answers.................................................................................................. 167
Appendix 11 Chapter 8 Sample Exam Answers.................................................................................................. 169
Appendix 12 Chapter 9 Sample Exam Answers.................................................................................................. 171
Appendix 13 Chapter 10 Sample Exam Answers................................................................................................ 173
Appendix 14 Chapter 11 Sample Exam Answers................................................................................................ 175
Appendix 15 Practice Exam 1 Answers.............................................................................................................. 179
Part 1. Definitions and Rules....................................................................................................................................179
Part 2. Implementation.............................................................................................................................................183
Part 3. Case Studies..................................................................................................................................................189
Appendix 16 Practice Exam 2 Answers.............................................................................................................. 195
Part 1. Definitions and Rules....................................................................................................................................195
Part 2. Implementation.............................................................................................................................................199
Part 3. Case Studies................................................................................................................................................. 204
Glossary.................................................................................................................................................................... 213
Index......................................................................................................................................................................... 219
Foreword

The standard economic definition for productivity for more projects and for large-scale economic studies of industry
than 200 years has been “goods or services produced per unit segments and even national software studies. The function
of labor or expense.” For software it was long difficult to per- point metric has become the de facto standard for software
form valid economic studies because the “lines of code” met- economic analysis, for benchmarks of software productivity
ric is not a suitable economic unit for the “goods or services” and quality, for studies of software portfolios, and for all seri-
that software provides. ous measurement purposes.
As of 2010, there are more than 2500 programming In 1978, IBM put the function point metric into the pub-
languages in existence. Many of these languages have no lic domain. A nonprofit organization of function point users
standard rules for even counting lines of code. The software was quickly created to share data and maintain the rules for
literature that does attempt to count lines of code is divided counting function point metrics. This organization is the
between counts of physical lines and counts of logical state- International Function Point Users Group, commonly iden-
ments. There can be as much as a 500% difference in appar- tified as IFPUG. As of 2010, IFPUG has grown to become
ent size between physical and logical code counts for many the largest software metric association in the world, with
common programming languages. Some applications have thousands of individual members and hundreds of corpora-
as many as 15 different programming languages in use at the tions as members. As of 2010, there are IFPUG affiliates in
same time, and a majority of software applications have at about 25 countries, and the number is increasing each year.
least two programming languages in use at the same time. To ensure accuracy and consistency in counting function
There are no standard rules for counting applications using points, the IFPUG organization has created formal count-
multiple programming languages concurrently. ing rules. In addition, the IFPUG organization has created a
More than half of the total effort devoted to software certification examination that is administered several times
development is not concerned with coding itself, but rather a year. Successful completion of the IFPUG certification
with gathering requirements, with architecture, with design, examination has long been a criterion for consultants who
with creation of user documents, with testing, with manage- count function point metrics.
ment, and with scores of other noncoding activities. None of Over time, as new kinds of software emerged, it has
these can be measured using “lines of code” metrics, but all been necessary to update the function point counting rules
can be measured using function point metrics. to ensure that the rules encompass all known forms of soft-
Even worse, the “lines of code” metric tends to penalize ware. The current IFPUG counting rules as of 2010 are ver-
modern high-level programming languages such as Java, C++, sion 4.3. The function point counting rules have also grown
Ruby, and the like. This is because noncode development in size and sophistication. In 1978, the IBM counting rules
activities are a higher percentage of total effort with mod- consisted of about 15 pages of general guidance. Today, the
ern languages than they are with low-level languages such as IFPUG counting rules top 100 pages and include a number
Assembler or C. The bottom line is that “lines of code” met- of detailed counting practices that need to be understood for
rics are essentially worthless for software economic studies. accurate counts.
In fact, “lines of code” metrics are actually harmful because David Garmus, Janet Russac, and Royce Edwards have
they violate the assumptions of standard economics. long been involved with function point analysis and with
In the 1970s, A.J. Albrecht and his colleagues at IBM establishing the IFPUG counting rules. All have been mem-
developed the function point metric. This metric has since bers of IFPUG for more than 20 years and have served as
been used successfully for economic analysis of individual officers and committee members. Their new book, Certified

xiii
xiv    Foreword

Function Point Specialist Examination Guide, is intended as By contrast, results of studies involving certified function
a study guide for function point specialists who plan to take point counters using standard test cases usually come within
the IFPUG certification examination. Although a number about 5% of achieving identical counts. This precision is
of solid books on counting function points are available, about as high as any form of analysis based on learned skills.
this new book fills a gap in the function point literature by In fact, the accuracy of function point counting is higher
providing useful information on the specifics of becoming a than the accuracy levels noted for other analytical tasks such
certified function point counter. The authors are all quali- as preparing income taxes or preparing financial reports.
fied for the work at hand and indeed have contributed to the Function point metrics have become the de facto stan-
function point counting examinations. dard for software economic studies in part because function
It is interesting that after more than 60 years of usage points are valid for economic analysis and in part because
there has never been any kind of certification or examination function point metrics are based on formal counting rules
for counting lines of code. Not only does the “lines of code” and are supported by formal examinations and certification
metric have serious economic flaws, but it also remains one of procedures. This new book by David Garmus, Janet Russac,
the most ambiguous metrics ever utilized by any engineering and Royce Edwards fills an important niche in the function
field. Code counting variations can cause apparent size dif- point literature.
ferences of more than 10 to 1, which is an astonishing range Capers Jones
of uncertainty. President, Capers Jones & Associates LLC
Preface

As consultants in function point analysis, each of us has been standard for functional measurement. The rules by them-
involved with information technology (IT) for at least 25 selves in CPM 4.3 are essentially unchanged, but the ter-
years. Although our experiences have been different, we each minology has changed to comply with the ISO Functional
came to the conclusion early in our careers that measurement Size Measurement (FSM) standard. As members of the
was a key to success. You have heard many times that you IFPUG Counting Practices Committee (CPC), we have
cannot manage what you cannot measure. It is our opinion been immersed in the process of releasing this latest version
that functional sizing is the most effective measurement in of the CPM. It was our intent in writing this book to guide
software development and maintenance. We have chosen the readers in preparing for the IFPUG Certified Function Point
International Function Point Users Group (IFPUG) method Specialist (CFPS) exam, but the guidelines contained herein
as the most consistent functional size measurement method. should also serve as a useful reference book for anyone apply-
IFPUG function point analysis measures software by quan- ing the rules of function point analysis.
tifying functionality provided to users. While writing this book, we were blessed to receive com-
The rules and definitions of the IFPUG method have ments and constructive criticism from three book reviewers
continued to be enhanced since function point analysis was who are leaders in the software measurement community
introduced during the mid-1970s by Allan Albrecht of IBM and well known in IFPUG circles. We particularly wish to
as a form of sizing software development. Since its formation express our appreciation to Bonnie Brown, Vice Chair of the
in 1986, the IFPUG has maintained and updated a Function IFPUG CPC; Joe Schofield, Vice President of IFPUG; and
Point Counting Practices Manual (CPM) that provides the Mary Bradley, Past President of IFPUG and Past Chair of
rules, as well as guidance in applying the rules, for deter- the CPC. Their contribution to this effort was significant.
mining types of counts, establishing application boundar- We hope you find this book to be useful in any sizing
ies, and measuring data and transactional functions. Release effort as well as in preparation for the CFPS exam.
4.3 of the CPM conforms to the ISO/IEC 14143-1:2007

xv
Acknowledgments

It is impossible to remember all of those individuals who have 4.3 of the IFPUG Function Point Counting Practices Manual.
contributed to the content and substance of this book. Without It is reproduced in this document with the permission of
the opportunity to practice the International Function Point IFPUG. You may contact IFPUG through their website at
Users Group (IFPUG) functional sizing method and the http://www.ifpug.org, by e-mail to ifpug@ifpug.org, or by
related software metrics, we would not have even begun. We phone at 609-799-4900 and fax at 609-799-7032.
have been blessed over the years by our relationships with a Finally, we must acknowledge the love and support that
large number of great clients as well as IFPUG members and we have received from our families. They have endured the
those who have served on the IFPUG board and committees, many trials and tribulations that come with professionals
especially the Counting Practices Committee (CPC). Our who are constantly on the road and all too often experience
special thanks to each of those individuals. delays in travel and demands of clients that keep them away
Our efforts on this book have presented a wonderful from important events. Our families have given us space as
opportunity for continued learning. We had the good fortune we sat at the dining room table with papers spread about and
to receive thoughtful comments and constructive criticisms pounded away on our laptops. We say a special thanks to
from three reviewers who are industry experts and strong David’s late wife, Caren Garmus; his children, Kim Garmus
representatives of the software measurement and manage- and Danelle Hughes; and his grandson, Jeffrey Hughes. Also,
ment industry, particularly in function point analysis. We to Janet’s mom, Ann Harris; her children, Brooke Winn and
are especially appreciative of the review efforts by Bonnie Austin Towery; and her grandchildren, Ricky and Halee
Brown, Vice Chair of the IFPUG CPC; Joe Schofield, Vice Klusmeier and Haley, Megan, Kathryn, and Ryleigh Winn.
President of IFPUG; and Mary Bradley, Past President of Special thanks are also extended to Royce’s brother, Raymond
IFPUG and Past Chair of the CPC. Boehm, who introduced Royce to function point analysis.
We are very thankful for the IFPUG organization, which We continue to be amazed by how blessed we have been
is directly responsible for function point analysis. This docu- by our God. We pray that His blessings be upon each of you
ment contains material that has been extracted from Release as well.

xvii
Introduction

This book provides comprehensive guidance on the is a volunteer organization, whose mission is to be a rec-
International Function Point Users Group (IFPUG) ognized leader in promoting and encouraging the effective
Functional Size Measurement method and is intended to management of application software development and main-
prepare practitioners to take the IFPUG Certified Function tenance activities through the use of function point analysis
Point Specialist (CFPS) exam. Toward that end, we have and other software measurement techniques. IFPUG serves
included and further expanded upon the rules and guide- to facilitate the exchange of knowledge and ideas among its
lines prescribed by IFPUG with the latest release (4.3) of the members and seeks to provide a composite environment that
Function Point Counting Practices Manual (CPM). Together stimulates their personal and professional development. Its
with the counting rules and guidelines included in the IFPUG challenge is to continue to enhance the counting methodol-
Function Point CPM 4.3, we have presented detailed exam- ogy and to raise the level of awareness among organizations
ples and questions throughout the book to aid the reader in that are not function point literate.
understanding how to apply the IFPUG method. The book Committee work is the core of IFPUG. The two most
culminates with two CFPS practice exams. visible committees are the Counting Practices Committee
Although this book is intended to be used primarily as and the Certification Committee. The Counting Practices
a learning and preparation guide for the CFPS exam, just Committee is responsible for maintaining the current count-
as important is our intent to raise the level of awareness and ing guidelines, the CPM. The Certification Committee
understanding of function point analysis. The business of is responsible for establishing and enforcing the certifica-
developing software is relatively low on the industry maturity tion guidelines and administering the certification pro-
scale when compared to other professions such as account- cess, including the CFPS exam. Other committees that
ing, medicine, and manufacturing; these fields have standard generate guidelines for either counting or using function
sets of metrics that are incorporated into their business mod- points include New Environments, IT Performance, and
els. We expect that this will eventually occur in information Management Reporting.
technology (IT). Consequently, we hope that you will retain The use of functional size metrics provides the soft-
and frequently use this book as a reference manual on the ware project manager, the IT organization, and the busi-
functional sizing of user requirements. ness user with a key piece of information that can be used
The health and well-being of function points are directly to improve the effectiveness of how they design, develop,
related to the ongoing effectiveness of IFPUG. Since 1986, and deploy software. Understandably, this book is not for
IFPUG has increased in membership and its importance everyone involved in software, but it is intended for any-
to the software measurement community. Today, IFPUG one who wants to improve his or her software development
enjoys a worldwide membership of thousands of individual, environment through the effective utilization of functional
corporate, educational, and institutional members. IFPUG size metrics.

xix
Authors

David Garmus’ previous two books serves on the IFPUG Counting Practices Committee and the
were coauthored with his business part- IFPUG Communications and Marketing Committee. Ms.
ner, David Herron, on functional mea- Russac is a Certified Function Point Specialist and a Certified
surement. Mr. Garmus is an Software Measurement Specialist.
acknowledged authority in the sizing,
measurement, and estimation of soft- Royce Edwards is a senior consultant
ware application development and for Software Composition Technol-
maintenance. As a cofounder of the ogies, where he applies function point
David Consulting Group, he supports analysis and software estimation tech-
software development organizations in achieving software niques to resolve business challenges in
excellence with a metric-centered approach. Mr. Garmus is a software development organizations.
Past President of IFPUG and a member of the IFPUG He is a software management profes-
Counting Practices Committee. He has a BS from the sional with over 25 years of experience
University of California at Los Angeles and an MBA from in development, reverse engineering,
Harvard University Graduate School of Business systems administration, architecture, and software analysis.
Administration. He has spoken at numerous conferences and Mr. Edwards brings an accomplished and unique skill set to
written many articles and books on various measurement- software measurement and estimation. He has advised a
related topics. Mr. Garmus is a Certified Function Point diverse list of clients in the telecommunications, manufactur-
Specialist, having fulfilled all IFPUG requirements for this ing, scientific, government, and information technology
title under all releases of the IFPUG Counting Practices Manual, areas, and he has mastered the adaptation of solutions to meet
and is a Certified Software Measurement Specialist. the needs of varied organizational environments. Mr. Edwards
frequently teaches workshops related specifically to Web
Janet Russac has over 25 years of expe-
application measurement. He has presented research papers
rience as a programmer, analyst, and
at conferences and has written articles and white papers for
measurement specialist in software
various publications. Mr. Edwards is a Certified Function
application development and mainte-
Point Specialist and a member of the IFPUG Counting
nance. She is the founder of Software
Practices Committee.
Measurement Expertise and leads a
team of experienced consultants that
offer expertise in function point analy-
sis, software measurement, estimation,
auditing, training, and mentoring. She is a published author
who presents workshops at companies, professional organiza-
tions, and conferences and is often a featured speaker at con-
ferences. Ms. Russac served as the Chair of the IFPUG
Management Reporting Committee from 2002 to 2004 and
led the creation of an international industry certification pro-
cess for individuals in the field of software measurement as
Certified Software Measurement Specialists. She currently

xxi
Chapter 1

Function Point Analysis Overview

Frederick Brooks was among the first to draw attention to COBOL are equal to a line of C++? Many organizations
information technology (IT) productivity in his book The have tried to answer questions like these by providing con-
Mythical Man-Month (Addison-Wesley, 1975). Unfortunately, version tables, but the results have been less than optimal.
although Brooks raised awareness of serious problems, sig- Second, comparing results is difficult using lines of code; two
nificant solutions have not been achieved. developers can vary widely in how they code a specific func-
In the mid-1970s, Allan Albrecht of IBM introduced tion based on their individual style of coding. A study con-
function point analysis1 as a form of sizing software develop- ducted at Sandia National Laboratories (Albuquerque, NM)
ment. As opposed to other methods such as counting lines compared the same small program written by students in a
of source code, function point analysis measured the func- Personal Software Process (PSP) course using the same pro-
tionality requested and received by the user independent of gramming language and found a variation of not less than
the technical details involved.1 Using this method, the mea- 200% and as much as 2200%.2
surement of an application remains consistent whether that Balanced scorecards and return on investment (ROI) cal-
application is coded in assembly language or Java. culations have been used to portray IT performance. Both of
Since its formation in 1986, the International Function these methodologies offer a moderate degree of success; how-
Point Users Group (IFPUG) has continued to enhance the ever, without a size measurement, they are unable to provide
method Albrecht pioneered for functionally sizing software. the fundamental metric of cost per unit of work. Function
The IFPUG Functional Size Measurement Method is known as point analysis provides the size measurement that enables
function point analysis, and its units of functional size are called specific and accurate metrics.
function points.1 Function point analysis conforms to the ISO/ Studies have found that two certified function point ana-
IEC 14143‑1:2007 standard for functional measurement. lysts measuring the same application will achieve the same
Access to the size of the application is a starting point result within a margin of error of ±10%. This margin of error
to answering important business questions. When used in approaches zero when the application is fully documented or
conjunction with other measurements such as hours of effort, there is access to a subject matter expert (SME) who is very
cost, and delivery time, function points can provide valuable familiar with the application.
information to the key decision makers with accurate projec-
tions for resourcing, productivity and quality.1
Other techniques exist to size software. Counting lines What Are Function Points?
of source code is a popular method because the counting A function point is a unit of measure for functional size as
can be automated. Although it is easy to count lines of code, defined within the IFPUG Functional Size Measurement
the results achieved are notoriously unreliable. First, there Method.3 Imagine that you are a tourist in a new land, lost
is no clear way to compare two applications written in dif-
ferent computer languages; for example, how many lines of 2 Refer to Joe Schofield, The statistically unreliable nature of lines of
code, CrossTalk, April, pp. 29–33, 2005.
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
1 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 1, page iii. Release 4.3, Part 1, page 6; Part 5, page G-4.

1
2    Certified Function Point Specialist Examination Guide

and hoping to find directions. You pull up to the curb and management to plan time to market for a new proj-
ask for assistance. Would you rather hear, “You travel down ect or to analyze the time-to-market result once an
the road a piece, make a left at Joe Franklin’s store, drive existing project has been delivered.
until you see the big oak tree that fell during the storm of
1972 and make a sharp right” or “You drive 1.2 miles, make
a left, drive 4.3 miles, and make a sharp right turn—your
Quality
destination will be 400 feet on your right”? 1. Functional requirement size measures the total num-
Function points are a precise measurement of software ber of functions requested by the end user or cus-
size designed to remove the ambiguity from consideration of tomer expressed in terms of function points. This
the software being examined. Instead of the abstract notion measure allows the developer to develop a high-level
of “This will be a big project unless Joe can work on it,” we plan to deliver the requested project.
have a solid estimate of a project’s size. Statements become: 2. Completeness is a metric of the delivered function-
“This enhancement is estimated at 1200 function points,” ality vs. the originally requested functionality.
with a follow-up that possibly includes: “Most of our devel- Obviously, if changes to the specifications have not
opers produce 30 function points per month, but Joe has occurred during development, the functionality
produced 45 function points per month on a consistent basis. delivered should be exactly equal to the functional-
He would be a real asset to the team if we need this done as ity requested.
quickly as possible.” 3. Rate of change (volatility) is a metric that takes into
How can function point analysis deliver these results? account “scope creep” that occurred during the
The function point method is designed around the concept of time between the original design and when the
measuring a unit of work. Functional size enables the estimate completed application was delivered. As the scope
of cost and resources required for software development and of the project increases, the project manager can use
maintenance regardless of any nonfunctional constraints. this information to justify increases in budget and
extensions to the delivery date.
4. Defect density is calculated by dividing the number
of defects by the total number of function points.
How Function Points Are Used This metric can be calculated by project phase to
Function point analysis permits us to estimate the size of determine whether defects are removed before the
a planned application and measure the size of an existing rollout of an application or after application delivery
application. It can also be used to measure the size of changes to compare against other developments, either in-
to an existing application, whether those changes are in house or industrywide.
the detailed design phase or have already been completed.
Knowing the functional size allows many other useful met-
rics to be determined.
Financial
1. Cost per function point can be calculated by divid-
ing the total cost by the total number of function
Productivity points. This metric not only can clarify the cost of
1. Hours per function point is calculated by dividing the development but is also useful for deciding the ben-
total number of project hours by the total number efits of developing an application in-house vs. pur-
of function points delivered. This industry-accepted chasing a commercial off-the-shelf solution.
metric of productivity allows an organization to 2. Repair cost ratio is used to calculate the costs of
compare their productivity against other organiza- repairing a newly deployed application for a fixed
tional projects or industry standards within their period of time, such as the first 6 months. This
own industry. metric is calculated by multiplying the total hours
2. Overall productivity is calculated by dividing the required to repair the application by the cost per
total number of function points by the total work hour for these repairs and dividing the total by the
effort. The overall productivity metric is useful for released number of function points.
administrating outsourcing contracts because it can 3. Portfolio asset value is an important metric to set a
be used effectively by senior management to monitor value for an organization’s entire portfolio of soft-
overall productivity. ware. It is calculated by multiplying the total cost
3. Rate of delivery is calculated by dividing the num- per function point by the total number of function
ber of function points by the elapsed calendar time, points. This metric provides the basis for informed
usually expressed in months. This metric can enable decisions regarding the replacement cost of legacy
Function Point Analysis Overview    3

systems. When combined with maintenance met- or as a measurement of currently existing test cases.
rics and measures of commercial off-the-shelf appli- The calculation is the number of test cases divided
cations it can also highlight in-house applications by the total number of function points.
that can be replaced with commercial applications
that will be less expensive to maintain over their Functional size enables normalizing metrics such as those
useful life. above. Without an accurate sizing measure, there can be no
practical point of comparison. An organization should pick
and choose those metrics that are most important to deter-
Maintenance mine how well it is achieving business objectives.
1. Maintainability is a metric of the effort, expressed in
cost, required to maintain an application. This met-
ric is used to monitor both core business applica-
tions and applications that historically have a high Measuring Value Delivered
cost of maintenance. It is calculated by dividing
the maintenance cost by the application’s function Whether the task at hand is new development or a change
point size. to an existing application, businesses have a variety of ques-
2. Reliability is a metric of the number of failures of tions. Some of the common ones are:
an application relative to its functional size. Often
this is thought of as mean time to failure (MTTF). 1. How much will the project cost?
Reliability is calculated by dividing the number of 2. How long will it take to complete the project?
failures by the total functional size. 3. If a different development team is used, will it either
3. Assignment scope is a metric of the number of cut cost or shorten delivery time?
resources required to support the maintenance
of an application. It is calculated by dividing the The basis for making an informed decision on any of
number of function points by the number of full- these questions is knowing the size of the task at hand. By
time equivalent resources required to support the combining the measurement delivered using function point
application. analysis with other cost and effort drivers, an accurate answer
4. Rate of growth determines the growth of an applica- can be delivered for all of these business questions. Let’s look
tion over a specified period of time and is calculated at an example:
by dividing the current size by the original size in Company Drain-X has developed a revolutionary foam-
function points. ing pipe cleaner. In addition to enzyme cleaning the entire
5. Stability ratio is used to monitor the degree to pipe in the record time of 10 minutes, this product coats the
which an application or enhancement has satisfied pipe with a nonstick coating that prevents future buildup.
the needs of the user. This metric is based on the The marketing director for Drain-X has stated that two of
number of changes required during a fixed period the organization’s competitors are on the verge of releasing
of time, usually 60 to 90 days. It is calculated by equivalent products and that the first organization to get its
dividing the number of changes by the number of product to market will likely have market share for the life
function points. of the product. In order to release the product, an applica-
tion must be developed to track sales and profit. This applica-
tion has been sized by a Certified Function Point Specialist
Supporting Activities (CFPS) at 1000 function points.
1. Volume of documentation can be used to calculate or Table 1.1 illustrates the fact that Development Team 4
estimate the amount of documentation of all types would complete the project in the shortest time (4 weeks) but
required to support an application. It is calculated would also have the greatest cost ($160,000). Development
by dividing the number of pages of documentation Team 3 would take an additional week but would cost
by the total number of function points. This num- $60,000 less.
ber can be broken down to specify select classes of As another example, let’s say that time to market is still
documentation such as detailed design, user manu- important, but this time the marketing director has stated
als, etc. that the product development will not be completed for 3
2. Test case coverage calculates the number of test cases months. Development Team 2 can easily complete the task
that are required to adequately support testing. Like in the time frame required and at the least cost.
volume of documentation, this can be used either Ultimately, the key decision makers will need to decide
as an estimate of the required number of test cases the correct balance between development time and cost.
4    Certified Function Point Specialist Examination Guide

Table 1.1  Development Rates and Costs The process of function point analysis is:5
Development Cost NN Simple enough to minimize the overhead of the mea-
Rate per per Weeks to Cost to surement process
Team Week (FP) Week Complete Complete
NN A consistent measure among various projects and
1 100 $10K 10 $100K organizations
2 100   $8K 10 $80K

3 200 $25K  5 $125K Further Reading


4 250 $40K  4 $160K The information included in this chapter has been extracted
from Part 1 of the IFPUG Function Point Counting Practices
Manual, Release 4.3. A review of this chapter is recom-
Additional criteria are often worth considering. If data about mended before taking the CFPS exam.
the defect rates for each delivery team is available, it would
be important to consider quality together with delivery time
and cost.
The simple fact is that everything starts with an accu-
Exam Guidance
rate measurement of the functional size of the software to be NN Read and study this chapter.
delivered. Without an accurate measurement of the size of an NN Memorize the various definitions:
application, the additional measurements of delivery time, −− Function point
cost, quality, etc. are incomplete. −− Function point analysis
NN Make sure you know the objectives of function point
analysis and the process of function point analysis.
NN Complete the practice questions in this chapter, and
Benefits and Objectives go back to determine why you answered any question
Technology is useful when it provides information. The ulti- incorrectly.
mate decision must be made not by machine but by the key
stakeholders after developing an appropriate business case.
Still, without reliable information, developing a business case Sample Exam Questions
that meets the business’ needs can be nearly impossible. It
is possible that assumptions will be based on vague infor- 1. Organizations can apply the international standard
mation, or, worse yet, information believed to be complete of the IFPUG Functional Size Measurement Method
contains serious flaws. known as function point analysis to measure the size
Having an accurate measurement at the beginning of of a software product to:
the analysis overcomes the ambiguity of statements such A. Support quality and productivity analysis
as, “This is a big application.” Having a specific and repro- B. Provide a normalization factor for software
ducible measurement based on a consistent set of rules also comparison
assures the customer (and management) that every reason- C. Estimate cost and resources required for
able precaution has been taken to eliminate any flaws from software development, enhancement, and
the equation. maintenance
Function point analysis measures software by quantify- D. All of the above
ing the tasks and services (i.e., functionality) that the soft- 2. The objectives of function point analysis are to
ware provides to the user based primarily on logical design. measure:
The objectives of function point analysis are to measure:4 A. Functionality implemented in software that
the user requests and receives
NN Functionality implemented in software that the user B. Nonfunctional, technical requirements
requests and receives C. Functionality impacted by software develop-
NN Functionality impacted by software development, ment, enhancement, and maintenance indepen-
enhancement, and maintenance independently of dently of technology used for implementation
technology used for implementation D. A and C

4 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 1, page iii. Release 4.3, Part 1, page iii.
Function Point Analysis Overview    5

3. The process of function point analysis is: 5. Which of the following is true of the IFPUG
A. Assisting users in determining the benefit of Functional Size Measurement Method?
an application package to their organization A. It is known as function point analysis
by functionally sizing functions that specifi- B. Its units of functional size are called function
cally match their requirements points
B. A consistent measure among various projects C. It cannot provide a normalization factor for
and organizations software comparison
C. Simple enough to minimize the overhead of D. A and B
the measurement process
D. B and C
4. A function point is:
A. The smallest unit of activity that is meaningful
to the user
B. A unit of measure for functional size as defined
within the international standard of the IFPUG
Functional Size Measurement Method known
as function point analysis
C. A unique, user-recognizable, nonrepeated
attribute
D. None of the above
Chapter 2

Identifying User Requirements

In this chapter, we will discuss: NN Data storage—for example, storing the new order,
saving location information
NN Functional User Requirements NN Data retrieval—for example, search and display order
NN Function point counting procedures information, search and display location information
NN Gathering documentation
NN Sizing during the life cycle Functional size can be measured using the IFPUG
NN User Functional Size Measurement (FSM) Method discussed
NN User view in this book based on the Functional User Requirements.
The IFPUG IT Performance Committee has established a
subgroup, Software Non-Functional Assessment Process
(SNAP), which is leading an effort to determine other sizing
Functional User Requirements measures that can be used to size nonfunctional require-
The International Function Point Users Group (IFPUG) ments. User requirements that are considered to be nonfunc-
method for function point analysis is an ISO standard and tional include but are not limited to technical and quality
conforms to ISO/IEC 14143-1:2007. The IFPUG methodol- aspects and constraints.
ogy discussed in this book measures functional size only.
Functional size is a size of the software derived by quan-
tifying the Functional User Requirements.1 Functional User
Requirements (FURs) are a subset of the user requirements
Function Point Counting Procedure2
specifying what the software should do in terms of tasks and The following are the steps in the function point counting
services. procedure (see Figure 2.1):
Functional User Requirements include but are not lim-
ited to: NN Gather the available documentation.
NN Determine counting scope and boundary, and identify
NN Data transfer—for example, adding a new order, send- Functional User Requirements.
ing an invoice, forwarding location coordinates NN Measure data functions.
NN Data transformation—for example, calculating the NN Measure transactional functions.
cost of that order to send an invoice, determining the NN Calculate the functional size.
location coordinates NN Document and report.

1 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 2 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, pages 1–3. Release 4.3, Part 2, page 2-2.

7
8    Certified Function Point Specialist Examination Guide

Measure
data
functions
Determine counting
Gather the available scope and boundary, Calculate the Document
documentation and identify Functional functional size and report
User Requirements
Measure
transactional
functions

Figure 2.1  Procedure diagram.

Gathering Documentation3 NN Test cases (features)


NN User manuals and technical documentation
To commence the function point counting procedure, docu- NN Training materials
mentation that describes the functionality delivered by the NN System help
software or the functionality that is impacted by the software NN Other software development artifacts
project being measured must be gathered. To properly deter-
mine all of the Functional User Requirements, sufficient
documentation must be obtained as well as access to subject
matter experts who are able to provide additional informa-
Sizing During the Life Cycle
tion to address any gaps in the documentation. The timing of Functional Size Measurement varies depend-
The following list of documentation is not exhaustive but is ing on the particular status of an application in its life cycle.
useful when conducting any Functional Size Measurement:4 Significantly more information is available as an application
moves through its life cycle. Early in the life cycle, the only
NN Project proposals information available might be verbal.
NN Requirement documents
NN Procedural descriptions
NN High-level system diagrams (showing relationships to
Initial User Requirements Phase5
other interacting applications) NN The Initial User Requirements phase represents user
NN Logical data models requirements prior to the sessions between the users
NN Data flow diagrams and the software developers.
NN Entity relationship diagrams NN This phase may have one or more of the following
NN Data/object models characteristics:
NN Database layouts −− It may be incomplete; for example, Initial User
NN Class diagrams Requirements may lack specifications necessary for
NN Process models referential integrity.
NN Prototypes −− It may lack “utility” functionality; for example,
NN Functional specifications essential validation reports or inquiries may be
NN Use/feature cases missing.
NN System specifications −− It may be impossible to implement or very difficult
NN Detailed design specifications to use; for example, a user may ask for an on-line
NN Physical design models inquiry that requires an hour of CPU processing.
NN Operational models −− It may be too general; for example, requirements
NN Program and module specifications may not include the specific list of user-recogniz-
NN File layouts able fields.
NN Screens and screen prints −− It does not address the needs of all users of the
NN Copies of reports or report layouts application; for example, the requirements of a spe-
cific project may vary from one user to another if
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM), they do not have the same functional needs.
Release 4.3, Part 2, page 2-4.
4 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 3-9. Release 4.3, Part 2, page 3-4.
Identifying User Requirements    9

−− Requirements are stated without regard for −− Terminology unfamiliar to the users may be used;
application boundaries; for example, current or for example, software developers may refer to phys-
future application boundaries may not have been ical files rather than to logical groups of data.
considered. −− Functionality may be determined by placing too
−− Requirements may be expressed in a differ- much emphasis on technical constraints; for exam-
ent context or a terminology incompatible with ple, some developers tend to limit the scope of the
function point analysis; for example, Initial User requirements by focusing on the computing capac-
Requirements may refer to the physical or manual ity currently available in the organization.
aspects of the system. −− Boundaries may be determined according to the
technical architecture rather than by business pro-
cesses; for example, there may be separate techni-
Example cal requirements for the client and server, but they
In the purchasing department of an organization, a user would be contained in the same application bound-
states his requirements as: ary when measuring the functional size.

When I am processing purchase orders in the Example


purchase order application, I would like to be
able to view a purchase order using the purchase Developer: “I understand the need for a purchase order
order number and the vendor identification num- inquiry using the vendor application data. To make the
ber from the vendor application. retrieval more efficient, we need to build a join table of pur-
chase order numbers and vendor key data to get the vendor
This requirement implies the development of an inquiry identification numbers.”
and the purchase order data group and the ability to use
the vendor data group from the vendor application in this Functions
transaction.
The functions identified from the Technical Requirements
phase might be identified as:
Functions
The functions identified from the Initial User Requirements NN EQ—inquiry on a specific purchase order
phase might be identified as: NN ILF—purchase order data group
NN EIF—vendor data group
NN EQ (external inquiry)—inquiry on a specific purchase NN ILF join table of purchase order and vendor key data7
order
NN ILF (Internal Logical File)—purchase order data group Final Functional User Requirements Phase8
NN EIF (External Interface File)—vendor data group
NN The Final Functional User Requirements phase results
from the joint sessions between users and software
Technical Requirements Phase6 developers that are necessary to achieve consistent
and complete Functional User Requirements for the
NN The Technical Requirements phase represents the soft- application.
ware developers’ view of requirements created from the NN This phase provides the final version of the Functional
feasibility study. User Requirements before the development phase
NN These requirements may include elements necessary begins.
for the implementation but which are not considered NN The Final Functional User Requirements phase has the
in Functional Size Measurement (e.g., temporary files, following characteristics:
index). −− Terminology can be understood by both users and
NN This phase may have one or more of the following software developers.
characteristics:
−− It is dependent on technology; for example, physi- 7 Join tables are not counted as part of Functional Size Measurement.
cal files vary based on the database environment. In this example, the join table was incorrectly identified as an ILF to
illustrate a potential counting error by software developers.
6 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 8 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 3-5. Release 4.3, Part 2, page 3-6.
10    Certified Function Point Specialist Examination Guide

−− Integrated descriptions of all user requirements are the documented requirements are complete, formal, and
provided, including requirements from all groups approved. The Functional Size Measurement, assuming no
of users. additional changes of scope, should be consistent with the
−− All business processes are fully defined, includ- measurement at the completion of development.9
ing all user actions, fields coming into and leaving
the application boundary, sources of data for each
business process, and validations that occur as part User10
of each business process.
−− Each process and group of data is agreed upon by The following definition of a user is critical to the under-
the user and developer. standing of Functional User Requirements:
−− The feasibility and usability are approved by the A user is any person or thing that communicates
software developers. or interacts with the software at any time.

Example
User: “When I am processing purchase orders in the pur- User View10
chase order application, I would like to be able to view a A user view is the Functional User Requirements as perceived
purchase order using purchase order number and the vendor by the user. It represents a formal description of the user’s
identification number from the vendor application.” business needs in the user’s language. Developers translate
Developer: “I recognize the need for a purchase order inquiry the user information into information technology language
using the vendor application data. In order to speed up the to provide a solution. A user view:
retrieval process, may I suggest a list of purchase orders
(containing purchase order and vendor identification num- NN Is a description of the business functions
ber) from which to make a selection? We will have to join NN Can be verbal statements made by the user as to what
purchase order numbers with the appropriate vendor keys in their view is
order to get the vendor identification numbers.” NN Is approved by the user
NN Can be used to measure the functional size
User: “I agree that the list is an excellent way to implement NN Can vary in physical form (e.g., project proposals,
this retrieval. We will also find this useful in other parts of requirements document, logical data model, functional
the application.” specifications, detailed specifications, user handbook)

Results of the Discussion


Between User and Developer Further Reading
NN Add the selection list containing the purchase order The rules included in this chapter have been extracted from
and vendor identification numbers. Part 2, Chapters 1 through 3, of the IFPUG Function Point
NN Exclude the join table from the functional size, as it is Counting Practices Manual (CPM), Release 4.3. A review
a technical solution. of these chapters is recommended before taking the CFPS
exam.

Functions
Exam Guidance
The functions identified from the Final Functional User
Requirements phase might be identified as: NN Read and study this chapter, including all related
examples.
NN EQ —inquiry on a specific purchase order NN Memorize the various definitions:
NN EQ—selection list of purchase orders with vendor −− User
identification numbers −− User view
NN ILF—purchase order data group −− Functional User Requirements
NN EIF—vendor data group
9 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
The Final Functional Requirements document is the Release 4.3, Part 2, page 3-7.
final version of the requirements before beginning the devel- 10 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

opment phase. At this time, there should be agreement that Release 4.3, Part 2, page 3-2.
Identifying User Requirements    11

NN Memorize the steps in the function point counting proce- 5. Functional User Requirements may include:
dure and where they belong on the procedure diagram. A. Data storage
NN Become familiar with the terminology changes between B. Data transformation
CPM 4.2.1 and CPM 4.3 regarding Functional User C. Data retrieval
Requirements (FURs). D. All of the above
NN Know the phases of sizing during the life cycle as well
6. A user is:
as what each phase represents and its characteristics.
A. Any person who communicates or interacts
NN Familiarize yourself with the related examples in
with the software at any time
this chapter as well as CPM 4.3, Part 2, Chapter 1
B. Any thing that communicates or interacts with
(Relationship between IFPUG and ISO); CPM 4.3,
the software at any time
Part 2, Chapter 2 (IFPUG FSM Method Overview);
C. A and B
and CPM 4.3, Part 2, Chapter 3 (Gather Available
D. None of the above
Documentation), because it is unlikely that you will
have time to look up everything during the exam. 7. Technical Requirements may have one or more of
NN Complete the practice questions in this chapter, and the following characteristics:
go back to determine why you answered any question A. Lack of “utility” functionality
incorrectly. B. Terminology that can be understood by both
users and software developers
C. Technology dependence
D. All of the above
Sample Exam Questions
8. Initial User Requirements
1. A user view:
A. Represent user requirements prior to the ses-
A. Can be used to measure the functional size
sions between the users and the software
B. Can be used to measure the technical size
developers
C. Can be verbal statements made by the user as
B. Do not address the needs of all users of the
to what his or her view is
application
D. A and C
C. Lack “utility” functionality
2. Steps in the function point counting procedure D. All of the above
include:
9. A user view:
A. Measure the data functions
A. Can vary in physical form
B. Measure the transactional functions
B. Is approved by the user
C. A and B
C. Is the Functional User Requirements as per-
D. None of the above
ceived by the user
3. The size of the software derived by quantifying the D. All of the above
Functional User Requirements is the:
10. Which of the following documentation is useful when
A. Technical size
conducting any Functional Size Measurement?
B. Functional size
A. Class diagrams
C. A and B
B. Data/object models
D. None of the above
C. Requirements
4. Functional User Requirements are: D. All of the above
A. A subset of the user requirements
B. Requirements that describe what the software
should do, in terms of tasks and services
C. A and B
D. None of the above
Chapter 3

The Process of Counting

As presented in Chapter 2, the following are steps in the NN Identifying those functions that will be satisfied by one
function point counting procedure: or more packages
NN Identifying applications that will be outsourced
NN Gather the available documentation. NN Identifying those functions within an application that
NN Determine counting scope and boundary, and identify perform a specific purpose
Functional User Requirements. NN Identifying the functions to be included in a develop-
NN Measure data functions. ment project
NN Measure transactional functions. NN Identifying changes (enhancements) necessary for an
NN Calculate the functional size. existing application
NN Document and report.

In this chapter, we will discuss determination of the count-


ing scope and boundary. The counting scope is determined
Types of Counts2
by the purpose of the count. Function point counts can be determined, based on the
purpose, for either projects or applications, as one of the
following:
Purpose of the Count1 NN Development project function point count
Functional Size Measurement is conducted to provide an NN Enhancement project function point count
answer to a business question, and it is the business question NN Application function point count
that determines the purpose. The purpose is to:
The functional size can be measured for either projects or
NN Determine the type of function point count and the applications. A brief description of each of the three types of
scope of the required count to obtain the answer to the counts follows.
business problem under investigation. A development project function point count is the activity
NN Influence the positioning of the boundary between the of applying the International Function Point Users Group
software under review and the surrounding software. (IFPUG) Functional Size Measurement (FSM) Method to mea-
sure the functional size of a development project. It includes all
The purpose identifies what will be sized, such as the sys- functions impacted (built or customized) by the project activities.
tems, applications, or subsets of an application. Examples of It also includes functions developed as part of the development
a purpose include: project. A development project function point count must often

1 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 2 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 5-2. Release 4.3, Part 2, page 4-2.

13
14    Certified Function Point Specialist Examination Guide

Estimated Count Completed Final Count


Project Initializes
Project A Project A
Development Development
Project Project

Application Count

Estimated Count Final Count


Project B Project B
Enhancement Enhancement
Project Completed Project Updates
Project

Figure 3.1  Relationships between types of counts.

be updated as development proceeds. These subsequent counts An application function point count is the activity of
would not start from scratch, but they would validate previously applying the IFPUG Functional Size Measurement (FSM)
identified functionality and attempt to capture added functional- Method to measure an application’s functional size.6
ity, commonly called “scope creep.” Counts often occur through-
out the development process.3 NN An application is a cohesive collection of automated
procedures and data supporting a business objective;
NN A development project is a project to develop and it consists of one or more components, modules, or
deliver the first release of a software application. subsystems.
NN The development project functional size is a measure NN An application’s functional size is a measure of the
of the functionality provided to the users with the first functionality that an application provides to the user,
release of the software, as measured by the develop- determined by the application function point count by
ment project function point count by the activity of the activity of applying the IFPUG FSM Method.
applying the IFPUG FSM Method. NN It is also referred to as the baseline or installed func-
tional size.
An enhancement project function point count is the activity NN This size provides a measure of the current functions
of applying the IFPUG Functional Size Measurement (FSM) the application provides the user.
Method to measure the functional size of an enhancement NN This number is initialized when the development proj-
project. It includes all the functions being added, changed, ect function point count is completed.
and deleted. It also includes conversion functions developed NN It is updated every time a completed enhancement
as part of the enhancement project.4 project alters the functions of the application.

NN An enhancement project is a project to develop and


deliver adaptive maintenance.5 Example
NN The enhancement project functional size is a measure A development project is often estimated a number of times
of the functionality added, changed, or deleted at the before its completion (see Figure 3.1). At the time of comple-
completion of an enhancement project, as measured by tion, a final development project count is measured, and an
the enhancement project function point count by the application count is determined. Later, enhancements to that
activity of applying the IFPUG FSM Method. application can be estimated until their completion. Upon
completion of each enhancement project, a final enhance-
ment project count is measured, and the application count is
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM), modified to reflect the changes.
Release 4.3, Part 1, page 4; Part 2, page 4-2; part 5, page G-3.
4 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 1, page 4, definition 3.24; Part 2, page 4-2; Part 5,
page G-3. 6 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
5 Refer to IFPUG, Function Point Counting Practices Manual (CPM), Release 4.3, Part 1, page 4, definition 3.4; Part 2, page 4-3; Part 5,
Release 4.3, Part 2, page 4-20. page G-1.
The Process of Counting    15

Determine Counting Scope7 User 1


The counting scope defines the set of Functional User
Requirements to be included in the function point count.
As stated earlier in this chapter, the counting scope is deter- Add a Purchase Order

mined by the purpose of the count. The scope:

NN Defines a (sub)set of the software being sized


NN Is determined by the purpose for performing the func- Purchase Vendor
tion point count Order Data
Data
NN Identifies which functions will be included in the
Functional Size Measurement so as to provide answers Purchase Order Application Vendor Application
relevant to the purpose for counting
NN Could include more than one application
Figure 3.2  Application boundary diagram.
The scope of:
NN Acts as a membrane through which data processed by
NN A development project function point count includes transactions (external inputs [EIs], external outputs
all functions impacted (built or customized) by the [EOs], and external inquiries [EQs]) passes into and
project activities. It also includes conversion functions out from the application
developed as part of the development project. NN Encloses the logical data maintained by the application
NN An enhancement project function point count includes (Internal Logical Files, or ILFs)
all of the functions being added, changed, and deleted. NN Assists in identifying the logical data referenced by
It also includes conversion functions developed as part but not maintained within this application (External
of the enhancement project. The boundary of the appli- Interface Files, or EIFs)
cation impacted remains the same. The functionality NN Is dependent on the user’s external business view of
of the application reflects the impact of the functions the application; it is independent of technical and/or
being added, changed, or deleted. implementation considerations
NN An application function point count may include,
depending on the purpose (e.g., provide a package as Example
the software solution), either of the following:
−− Only the functions being used by the user (See Figure 3.2.) Vendor data is used by the Purchase Order
−− All of the functions delivered Application to complete its transactions (e.g., add a new pur-
chase order). Both applications are considered to be inde-
pendent with their own boundaries. Purchase order data is
Determine Boundary8 maintained by the Purchase Order Application; vendor data
is maintained by the Vendor Application and referenced by
The application boundary is the border between the applica- the Purchase Order Application.
tion being measured and either external applications or the The following rules apply for boundaries:9
user domain. IFPUG has defined specific rules for identifying
boundaries: The boundary is a conceptual interface between NN The boundary is determined based on the user’s view.
the software under study and its users, and the boundary The focus is on what the user can understand and
(also referred to as application boundary): describe.
NN The boundary between related applications is based on
NN Defines what is external to the application separate functional areas as seen by the user, not on
NN Indicates the border between the software being mea- technical considerations.
sured and the user NN The initial boundary already established for the appli-
cation or applications being modified is not influenced
7 Refer to IFPUG, Function Point Counting Practices Manual (CPM), by the counting scope.
Release 4.3, Part 2, page 5-3.
8 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 9 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 5-4. Release 4.3, Part 2, page 5-5.
16    Certified Function Point Specialist Examination Guide

The Microsoft® Office® Standard Suite currently consists 2. The scope of an enhancement project function point
of Word®, Excel®, PowerPoint®, and Access®; to the user, each count includes:
is a separate application within the Microsoft Office Standard A. All the functions being added, changed, and
Suite. Our Purchase Order Application might consist of an deleted, as well as conversion functions devel-
on-line data entry process that is followed by a nightly batch oped as part of the enhancement project
file update process; the Purchase Order Application is a single B. Only the functions being added
application that includes both on-line and the batch processes. C. Only the functions being added and deleted
D. Only the functions being changed
3. Which of the following is not true of counting scope:
Further Reading A. It is determined by the purpose for performing
the function point count
The rules included in this chapter have been extracted from Part
B. It defines the functionality that will be included
2, Chapters 4 and 5, of the IFPUG Function Point Counting
in a particular function point count
Practices Manual (CPM), Release 4.3. A review of these chap-
C. It defines a (sub)set of the software being sized
ters is recommended before taking the CFPS exam.
D. It can include only one application
4. The boundary:
Exam Guidance A. Defines what is external to the application
B. Encloses the logical data maintained by the
NN Read and study this chapter, including all related application (ILFs)
examples. C. Is dependent on the user’s external business
NN Memorize the various definitions: view of the application
−− Purpose of the count D. All of the above
−− Types of counts: development project function
point count, enhancement project function point 5. The boundary:
count, application function point count A. Indicates the border between the software
NN Know the definition of counting scope and how it being measured and the user
relates to the types of counts. B. Defines what is external to the application
NN Understand (application) boundary and applicable C. Acts as a membrane through which data pro-
rules. cessed by transactions (EIs, EOs, and EQs)
NN Familiarize yourself with the related examples in this passes into and out from the application
chapter as well as CPM 4.3, Part 2, Chapter 4 (Determine D. All of the above
Type of Count), and Chapter 5 (Determine the 6. The purpose of a function point count is to:
Counting Scope and Boundary and Identify Functional A. Determine the type of function point count
User Requirements), because it is unlikely that you will and the scope of the required count to obtain
have time to look up everything during the exam. the answer to the business problem under
NN Complete the practice questions in this chapter, and investigation
go back to determine why you answered any question B. Influence the positioning of the boundary
incorrectly. between the software under review and the
surrounding software
C. None of the above
Sample Exam Questions D. A and B

1. Which of the following is not true of a boundary: 7. What are the types of function point counts?
A. Is dependent on technical and/or implementa- A. Development project function point count and
tion considerations enhancement project function point count
B. Is dependent on the user’s external business B. Enhancement project function point count
view of the application and application function point count
C. Encloses the logical data maintained by the C. Application function point count, development
application (ILFs) project function point count, and enhance-
D. Assists in identifying the logical data refer- ment project function point count
enced by but not maintained within this appli- D. Application function point count and develop-
cation (EIFs) ment project function point count
The Process of Counting    17

8. A development project’s functional size: 10. An application’s functional size:


A. Is a measure of the functionality added, A. Is a measure of the functionality added,
changed, or deleted at the completion of an changed, or deleted at the completion of an
enhancement project, as measured by the enhancement project, as measured by the
enhancement project function point count by enhancement project function point count by
the activity of applying the IFPUG Functional the activity of applying the IFPUG Functional
Size Measurement (FSM) Method Size Measurement (FSM) Method
B. Is a measure of the functionality provided to B. Is a measure of the functionality provided to
the users with the first release of the software, the users with the first release of the software,
as measured by the development project func- as measured by the development project func-
tion point count by the activity of applying the tion point count by the activity of applying the
IFPUG Functional Size Measurement (FSM) IFPUG Functional Size Measurement (FSM)
Method Method
C. Is a measure of the functionality that an appli- C. Is a measure of the functionality that an appli-
cation provides to the user, as measured by the cation provides to the user, as measured by the
application project function point count by application project function point count by
the activity of applying the IFPUG Functional the activity of applying the IFPUG Functional
Size Measurement (FSM) Method Size Measurement (FSM) Method
D. Is associated with an installed application D. Includes conversion functionality
9. An enhancement project’s functional size: 11. A baseline or installed functional size is synony-
A. Is a measure of the functionality added, changed, mous with:
or deleted at the completion of an enhancement A. An application functional size
project, as measured by the enhancement proj- B. A development project function point count
ect function point count by the activity of apply- C. An enhancement project function point count
ing the IFPUG Functional Size Measurement D. A and B
(FSM) Method 12. Which is not true of an application’s functional
B. Is a measure of the functionality provided to size:
the users with the first release of the software, A. This size provides a measure of the current
as measured by the development project func- functions the application provides the user
tion point count by the activity of applying the B. It includes conversion functionality
IFPUG Functional Size Measurement (FSM) C. This number is initialized when the devel-
Method opment project function point count is
C. Is a measure of the functionality that an appli- completed
cation provides to the user, as measured by the D. It is updated every time completion of an
application project function point count by enhancement project alters the application’s
the activity of applying the IFPUG Functional functions
Size Measurement (FSM) Method
D. Is associated with an installed application
Chapter 4

Data Functions

Introduction NN Gather the available documentation.


NN Determine counting scope and boundary and identify
Data functions relate to logical data that is stored and made
Functional User Requirements.
available for update and retrieval. Data functions may be
NN Measure data functions.
identified as Internal Logical Files (ILFs) or External Interface
NN Measure transactional functions.
Files (EIFs). ILFs and EIFs are user-identifiable groups of
NN Calculate the functional size.
logically related data or control information. As such, they
NN Document and report.
are logical groupings and not physical representations of
those groupings of data. It is possible, but very unlikely, that
the logical will match the physical. Consequently, ILFs and Remember that the application boundary separates the
EIFs should be counted in an identical manner regardless of application being measured from the user domain and/or
the physical database structure in an application, even if the other independent applications. The data functions relate to
delivery and maintenance requirements and the productivity the logical data that is stored and is available for update and
rates are different because of the nonfunctional characteris- retrieval. The transactional functions—external inputs (EIs),
tics outside of function points. ILFs are maintained within external outputs (EOs), and external inquiries (EQs)—
the boundary of the application being measured, and EIFs perform the processes of updates, retrieval, outputs, etc.
are read or referenced only within the boundary of the appli- (transactions you would expect to see in a process model).
cation being measured but are maintained within a different Experienced function point practitioners typically attempt
application boundary. When function point counters size an to count data functions first for two reasons.
application in function points, they typically experience the First, we must know which ILFs and EIFs are main-
greatest degree of counting difficulty in identifying the data tained and/or referenced by each transactional function in
functions. order to assign each its own complexity rating. Complexity
This chapter describes the International Function Point ratings will be discussed later for all functions, but each data
Users Group (IFPUG) definitions, rules, and guidelines for and transactional function is assigned a weight of low, aver-
identifying both ILFs and EIFs. More detailed guidance and age, or high based on standard matrices. Second, by iden-
examples are contained within the IFPUG Function Point tifying the files first, their designations as ILFs or EIFs can
Counting Practices Manual. The previous chapter discussed be validated when the transactional functions are identi-
determination of the counting scope and boundary. Chapter fied. Remember from the previous chapter (Figure 3.2) that
6 will describe transactional functions. vendor data was used by the Purchase Order Application to
The total process used to size function points was pre- complete its transactions (e.g., add a new purchase order).
sented previously, but it is repeated here. As presented in Both applications were considered to be independent with
Chapter 2, the following are steps in the function point their own boundaries. The purchase order data was main-
counting procedure: tained by the Purchase Order Application, and the vendor

19
20    Certified Function Point Specialist Examination Guide

data was maintained by the Vendor Application and only Definitions for Embedded Terms3
referenced by the Purchase Order Application. The purchase
order data (an ILF) was maintained within the boundary Control Information
of the Purchase Order Application. The vendor data was Control information is data that influences an elementary
considered to be an EIF to the Purchase Order Application process by specifying what, when, or how data is to be pro-
because the data was used by the Purchase Order Application cessed; for example, control information could include rules
solely for reference. or parameters that are stored and maintained within the
application. Control data is maintained in the print man-
ager, and edit data is maintained to reject improper or inap-
propriate input data. Dates and times are maintained by the
What They Are: Internal Logical users to establish the sequence or timing of events, or certain
Files and External Interface Files thresholds are established to control an event such as set-
ting the temperature on a thermostat to control the timing
Data Functions1 of heating or air conditioning.
NN A data function represents functionality provided to
the user to meet internal and external data storage
User-Recognizable
requirements.
NN A data function is either an Internal Logical File or an The term user-recognizable refers to requirements for pro-
External Interface File. cesses and/or data that are agreed upon, and understood by,
both the users and software developers; for example, a record
of accounts receivable and/or accounts payable might be
Internal Logical File2 required in a financial application.
NN An ILF is a user-recognizable group of logically related
data or control information maintained within the Maintain
boundary of the application being measured.
NN The primary intent of an ILF is to hold data main- The term maintain refers to the ability to add, change, or
tained through one or more elementary processes of delete data through an elementary process; for example,
the application being measured. the data or control data could be maintained through such
transactions as add, bill, change, delete, delegate, evaluate,
fail, grant, hold, populate, revise, or update.
External Interface File2
NN An EIF is a user-recognizable group of logically related Elementary Process
data or control information that is referenced by the
application being measured but which is maintained An elementary process is the smallest unit of activity that is
within the boundary of another application. meaningful to the user. An elementary process is identi-
NN The primary intent of an EIF is to hold data referenced fied by composing or decomposing the Functional User
through one or more elementary processes within the Requirements into the smallest unit of activity that satisfies
boundary of the application measured. This means an all of the following:
EIF counted for an application must be in an ILF in
another application. NN Is meaningful to the user
NN Constitutes a complete transaction
NN Is self-contained
Difference Between ILFs and EIFs NN Leaves the business of the application being counted in
a consistent state
The primary difference between an Internal Logical File and
an External Interface File is that an EIF is not maintained by
For example, the sale of an item in a store might be decom-
the application being measured, while an ILF is.
posed into various subprocesses such as Create, Read,
Update, and Delete (CRUD) so the sale creates an amount
1 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 6-1.
2 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 3 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 6-2. Release 4.3, Part 2, page 6-2.
Data Functions    21

due, reads a file to validate whether the individual has credit, even if used for reference by other transactions, nor can it be
and updates the quantity of stock on hand. The sale is the counted as an EIF during an enhancement project for that
elementary process, and it may update more than one ILF application. Some additional examples of ILFs follow. These
through the same transaction. Much more information will are examples only; any group of data or control information
be provided in the next chapter. must conform to the above definition and rules in order to
be counted as ILFs:

NN Application transaction data such as inventory issue


Rules for Counting4 records, employee training records, payroll records,
Data Function Identification Rules credit card transactions, product sales, customer calls,
or accounts payable
To identify data functions: NN Application security or password data maintained
within the application
NN Identify all logically related and user-recognizable data NN Help data maintained within the application
or control information within the counting scope. NN Edit rules maintained within the application
NN Exclude entities that are not maintained by any NN Parameter data maintained within the application
application. NN Error files and their descriptions maintained within
NN Group related entities that are entity dependent; enti- the application
ties that are entity independent are separate logical
groups of data. Following are examples of files that have frequently been
NN Exclude those entities referred to as Code Data: erroneously identified as ILFs; be sure that they are not
−− Substitution Data entity that contains a code and counted as ILFs:
an explanatory name or description
−− Single occurrence entity that contains one or more
NN Temporary files or various iterations of the same file
attributes that rarely change, if at all
(these are not counted within function point analysis)
−− Entity that contains data that is basically static or
NN Work files (these are not counted within function point
may change very rarely
analysis)
−− Default values entity that contains values for popu-
NN Sort files (these are not counted within function point
lating attributes
analysis)
−− Valid values entity that contains available values
NN Extract files, or view files, that contain data extracted
for selection or validation
from other ILFs or EIFs prior to display or print (these
−− Entity that contains a range of values for
are not counted within function point analysis but are
validation
recognized as part of the processing necessary to pro-
NN Exclude entities that do not contain attributes required
duce the external output or external inquiry)
by the user.
NN Files introduced because of technology (these are not
NN Remove associative entities that contain additional
counted within function point analysis)
attributes not required by the user and associative enti-
NN Copies of the same file (a file arranged or sorted dif-
ties that contain only foreign keys; group foreign key
ferently or maintained in additional locations is not
attributes with the primary entities. Foreign key attri-
counted separately)
butes are data required by the user to establish a rela-
NN Alternative indices, joins, relationships, or connec-
tionship with another data function.
tions, unless they contain separately maintained non-
key attributes
Data Function Classification Rules NN Audit or historical data (these should be counted
together with the application transaction data)
Classify data as an ILF if the data is maintained by the appli-
NN Files maintained by other applications and read or
cation being measured. For example, when a group of data
referenced only (these should be counted as External
has been identified as an ILF within an application, it can-
Interface Files)
not also be counted as an EIF within the same application
NN Back-up data such as that used for corporate back-up
and recovery
4 Refer to IFPUG, Function Point Counting Practices Manual (CPM), NN Suspense files containing incomplete transactions,
Release 4.3, Part 2, page 6-4. unless they are separately maintained
22    Certified Function Point Specialist Examination Guide

Classify data as an EIF if the data is: NN Extract files, or view files, that contain data extracted
from previously counted EIFs prior to display or print
NN Referenced but not maintained by the application (these are not counted within function point analysis
being measured but are recognized as part of the processing necessary
NN Identified in an ILF in one or more other applications to produce the external output or external inquiry)
NN Files introduced because of technology (these are not
Once a group of data has been identified as an EIF within counted within function point analysis)
an application, the EIF cannot be counted twice within the NN Alternative indices, joins, relationships, or connec-
same application even if it is used for reference by other trans- tions, unless they contain separately maintained non-
actions or contains different data from the same logical file. key attributes
In our earlier example of the sale of an item in a store NN Audit or historical data, which should be counted
where the sale reads a file to validate whether the individual together with the application transaction data
has credit, that credit information is identified as an EIF if it
is maintained in a different application than what might be
called the sales application. If three additional transactions Complexity and Contribution
in the sales application read credit information from that Definitions and Rules5
same EIF and each of the four transactions read (or refer- The number of ILFs, EIFs, and their relative functional com-
ence) some common data and possibly some additional data plexity determine the contribution of the data functions to
from that same EIF, then that EIF would still be counted as the functional size. Assign each identified ILF and EIF a
only one EIF within the sales application. functional complexity based on the number of Data Element
Some common examples of EIFs follow. These are exam- Types (DETs) and Record Element Types (RETs) associated
ples only; any group of data or control information must meet with the ILF or EIF.
the above definition and rules in order to be counted as EIFs:

NN Application data extracted and read from other DET Definition5


applications A Data Element Type is a unique, user-recognizable, nonre-
NN Application security or password data maintained out- peated attribute.
side of the application
NN Help data maintained outside of the application
NN Edit rules maintained outside of the application DET Rules5
NN Parameter data maintained outside of the application To count Data Element Types for a data function, the fol-
NN Error files and their descriptions maintained outside of lowing rules shall be performed:
the application
NN Count one DET for each unique user-recognizable,
Following are examples of files that have frequently been nonrepeated attribute maintained in or retrieved from
erroneously identified as EIFs; be sure that they are not the data function through the execution of an elemen-
counted as EIFs: tary process within the counting scope. For exam-
ple, the check number, amount, date, payee, memo
NN Data received from another application that maintains entry, and account number, which are maintained in
one or more ILFs within the application being mea- a checking account record, would each count as one
sured (this is considered transactional data and should DET regardless of the number of checks written with
be counted as one or more external inputs) unique data for each and regardless of how the data is
NN Data maintained by the application being measured physically stored. Consequently, in this case, we would
NN Data formatted and sent by the application being mea- count six DETs.
sured to other applications (should be counted as exter- NN Count only those DETs being used by the application
nal outputs or external inquiries) being measured when two or more applications maintain
NN Temporary files or various iterations of the same file and/or reference the same data function. Attributes that
(these are not counted within function point analysis) are not referenced by the application being measured
NN Work files (these are not counted within function point are not counted. For example, an ILF that is updated
analysis)
NN Sort files (these are not counted within function point 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
analysis) Release 4.3, Part 2, page 6-5.
Data Functions    23

by two applications (A and B) and referenced by a third −− Associative entity with non-key attributes
(C) would count the DETs uniquely as follows: −− Subtype (other than the first subtype)
−− Attributive entity, in a relationship other than
Part number Primary key to A, B, C DET to A, B, C mandatory 1-1
Part name Maintained by A DET to A
Referenced by B and C DET to B and C There are two types of subgroups:
Weekly usage Maintained by B DET to B
Department using Maintained by B DET to B
NN Optional subgroups—Subgroups for which the user has
Purchase price Maintained by A DET to A
Referenced by B DET to B
the option of using one or none of during an elementary
Supplier name Maintained by A DET to A process that adds or creates an instance of the data
Referenced by B DET to B NN Mandatory subgroups—Subgroups where the user must
Supplier street address Maintained by A DET to A use at least one during an elementary process that
Supplier city Maintained by A DET to A adds or creates an instance of the data (e.g., salaried or
Supplier state Maintained by A DET to A hourly employees as used in the CPM)
Supplier postal code Maintained by A DET to A
Supplier total address Referenced by B One DET to B Do not count RETs for any data that exists because of
(read as one block of data) technology or methodology (e.g., headers, trailers, separate
Consequently, A would be counted with eight DETs, text files). RETs can also be identified by the existence of
B would be counted with seven DETs, and C would be secondary keys used for data storage and to create relation-
counted with two DETs. ships between the data. When counting the DETs above for
NN Count one DET for each attribute required by the user the check number, amount, date, payee, memo entry, and
to establish a relationship with another data function. account number, which are maintained in a checking account
For example, a relationship exists to another ILF/EIF record, this checking account record would be considered as
that requires a key with the part number and manufac- one RET, with all DETs being maintained under the pri-
turer code; these would be counted as two DETs unless, mary key of check number. For the ILF that was updated
of course, either or both had previously been counted. by two applications (A and B) and referenced by a third (C),
NN Review related attributes to determine if they are each would count one RET with a primary key of part num-
grouped and counted as a single DET or whether they ber. Note that the same field may serve as the primary key in
are counted as multiple DETs; grouping will depend on different applications.
how the elementary processes use the attributes within
the application. For example, the supplier total address Determination of Complexity
referenced in the example above is counted as one DET and Contribution7
to B because it is read as one block of data.
The functional complexity of each data function is deter-
mined using the steps below:
RET Definition6
A Record Element Type (RET) is a user-recognizable sub- 1. Use the complexity and contribution counting rules
group of Data Element Types within a data function. to identify and count the number of RETs and
DETs.
2. Rate the functional complexity using the complex-
RET Rules6 ity matrix provided in Table 4.1. For example, our
To count the Record Element Types for a data function, the checking account file has six DETs and one RET, so
following activities shall be performed: it would be assigned a functional complexity of low.
The part number file updated by application A has
NN Count one RET for each data function (by default, eight DETs and one RET and would be assigned a
each data function has one subgroup of DETs to be functional complexity of low. Within both applica-
counted as one RET). tions A and B, the EIF referenced from application
NN Count one additional RET for each of the following C would be counted as having two DETs and one
additional logical subgroups of DETs (within the data RET and would be assigned a functional complex-
function) that contains more than one DET: ity of low.

6 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 7 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 6-7. Release 4.3, Part 2, page 6-8.
24    Certified Function Point Specialist Examination Guide

Table 4.1  ILF and EIF Complexity Matrix Table 4.4  ILF and EIF Functional Complexity Matrix
1 to 19 20 to 50 51 or more Com- Function
DETs DETs DETS Function Functional plexity Type
Type Complexity Totals Totals
1 RET Low Low Average
ILF 1 Low  ×7= 1 7
2 to 5 RETS Low Average High
0 Average × 10 = 0 —
6 or more RETs Average High High
0 High × 15 = 0 —
Table 4.2  ILF Translation Table EIF 1 Low  ×5= 1 5
Functional Complexity Rating Function Points 0 Average  ×7= 0 —
Low  7 0 High × 10 = 0 —
Average 10

High 15 addressed by the application. Such data usually represents a


significant percentage of the entities identified and has most
of the following logical and physical characteristics.
Table 4.3  EIF Translation Table
Functional Complexity Rating Function Points
Logical Characteristics
Low  5
NN The data is mandatory for operation of the users’ func-
Average  7 tional area.
NN The data is user identifiable (usually by a business
High 10
user).
NN The data is user maintainable (usually by a business
3. Translate the ILFs and EIFs to function points using user).
the appropriate translation table for either ILFs or NN The data stores the users’ Core User Data to support
EIFs: business transactions.
A. ILF translation table—Use Table 4.2 to trans- NN The data is very dynamic in that normal business oper-
late the ILFs to function points. ations cause it to be regularly referenced and routinely
B. EIF translation table—Use Table 4.3 to trans- added to, changed, or deleted.
late the EIFs to function points. NN The data is reported on.
For example, application A, above, has an ILF with
a functional complexity of low which would be val- Physical Characteristics
ued at seven function points. Application A also
has an EIF with a functional complexity of low NN The data has key fields and usually many attributes.
which would be valued at five function points. NN The data may have zero to infinity records.
4. Calculate each ILF and EIF contribution to the
functional size (Table 4.4). Examples
Examples of Business Data include the customer file, invoice
file, employee file, and job file. The job file, within the Job
Data Entities: Business Data, Management System, would include such items as job num-
Reference Data, and Code Data ber, job name, division name, job initiation date, etc.
Business Data8
Business Data may also be referred to as Core User Data or Reference Data9
Business Objects. This type of data reflects the information This type of data is stored to support the business rules for
needed to be stored and retrieved by the functional area the maintenance of the Business Data and usually represents

8 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 9 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 1-4. Release 4.3, Part 3, page 1-5.
Data Functions    25

a small percentage of entities identified. Reference Data has Logical Characteristics


most of the following logical and physical characteristics.
NN The data is mandatory to the functional area but
optionally stored as a data file.
Logical Characteristics NN The data is not usually identified as part of the func-
tional requirements but are usually identified as part of
NN The data is mandatory for operation of the users’ func-
the design to meet nonfunctional requirements.
tional area.
NN The data is sometimes user maintainable (usually by a
NN The data is user identifiable (usually by a business
user support person).
user).
NN The data is used to standardize and facilitate business
NN The data is usually user maintainable (usually by an
activities and business transactions.
administrative user).
NN The data is essentially static and only changes in response
NN The data is usually established when the application is
to changes in the way that the business operates.
first installed and maintained intermittently.
NN Business transactions access Code Data to improve
NN The data supports core user activities.
ease of data entry, improve data consistency, ensure
NN The data is less dynamic (occasionally changes in
data integrity, etc.
response to changes in the environment, external func-
NN If recognized by the user, the data is sometimes consid-
tional processes, and/or business rules of the functional
ered as a group of the same type of data and could be
area).
maintained using the same processing logic.
NN Transactions processing Business Data often need to
access Reference Data.

Physical Characteristics
Physical Characteristics
NN The data has key fields and few attributes. NN The data consists of key fields and usually one or two
NN The data contains usually at least one record or a lim- attributes only.
ited number of records. NN The data typically has a stable number of records.
NN The data can represent 50% of all entities in the third
normal form.
Examples NN The data is sometimes denormalized and placed in one
Examples of Reference Data include Jobs Rates, Discount physical table with other Code Data.
Rates, Tax Rates, and Threshold Settings. Another example NN The data may be implemented in different ways (e.g.,
is the job rates file, which stores information about the rates via separate application, data dictionary, hard-coded
paid for each type of job and the skill required to do that type within the software).
of job. Such information would include job type, state, charge
rate, effective date (1:n), and job skill description (1:n).
Key Differences Between Code
Data and Reference Data
Code Data10
NN With Code Data, you can substitute one for the other
Code Data, sometimes referred to as List Data or Translation
without changing the meaning of the Business Data
Data, provides a list of valid values that a descriptive attri-
(e.g., Airport-Code vs. Airport-Name, Color-Id vs.
bute may have. In order to satisfy nonfunctional require-
Color-Description)
ments, developers often create one or more tables containing
NN With Reference Data, you cannot substitute (e.g., Tax-
the Code Data to have a means of translating the code into
Code with Tax-Rate)
something more recognizable to the user. Logically, the code
and its related description have the same meaning. Typically,
the attributes of the Code Data are code, description, or other
standard attributes describing the code (e.g., standard abbre- Examples of Code Data
viation, effective date, termination date, audit trail data). NN State
Code Data has most of the following logical and physical −− State Code
characteristics. −− State Name
NN Payment Type
Refer to IFPUG, Function Point Counting Practices Manual (CPM),
10 −− Payment Type Code
Release 4.3, Part 3, page 1-6. −− Description of Payment Type
26    Certified Function Point Specialist Examination Guide

Counting Code Data errors and increasing user friendliness; it is typically used to
list available values for user selection or validation of input
Code Data is not considered part of the functional size, so:
provided by the user. Valid Values Data is basically static; if
NN Do not count Code Data as a logical file. not, it may be Reference Data or Business Data. Examples
NN Do not count Code Data as RETs or DETs. include State Name (contains all valid values for the attri-
NN Do not count Code Data as a File Type Referenced bute state name), State Code (contains all valid values for the
(FTR). attribute state code), and Color (contains all valid values for
NN Do not count functions to maintain or view Code Data. the attribute color for a business object).

Types of Code Data Range of Valid Values


The three general areas of Code Data are Substitution Data, The range of Valid Values Data contains data that is basi-
Static or Constant Data, and Valid Values.11 cally static; if the data is not static, it may be Reference Data.
Examples include a range of allowable telephone number
Substitution Data (e.g., lowest telephone number, highest telephone number)
and a heating temperature range.
NN Substitution Data provides a code and an explanatory
name or description for an attribute of a business object.
NN Substitution Data may serve as a quick means of data Logical Files and Data Modeling
entry for experienced users; the explanatory name/ Data Modeling Concepts
description are useful for less experienced users or for
listings in reports. Definitions
NN Substitution Data may also be implemented to save Entity (Type)12
storage space or may be a result of normalization.
An entity is:
Examples include states (e.g., State Code, State Name) and
NN Any distinguishable person, place, thing, event, or
colors (e.g., Color Code, Color Description).
concept about which information is kept13
NN A thing that can be distinctly identified14
Static or Constant Data
NN Any distinguishable object that is to be represented in
Static or Constant Data rarely changes. The three types of the database15
Static or Constant Data are One Occurrence, Static Data, and NN A data entity that represents some “thing” that is to be
Default Values (template). The One Occurrence type of data stored for later reference (the term entity refers to the
contains one and only one occurrence, regardless of the num- logical representation of the data)16
ber of attributes, and has only one row of data. The attributes NN Anything about which we store information (e.g., a cus-
are relatively constant; the data may change, but very rarely. tomer, supplier, machine tool, employee, utility pole, air-
Examples include an entity with data about a particular orga- line seat); for each entity, certain attributes are stored17
nization (e.g., name and address) and commercial, off-the shelf
software (COTS) with airline name customized by user orga- An entity may also:
nizations. The static type of data, as the name implies, con- NN Represent the relationship between two or more enti-
tains data that is essentially static. The number of instances of ties, called associative entities18
Static Data may change, but very rarely, and the contents of an
instance rarely change. Examples include an entity of chemical 12 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
elements (e.g., mnemonic, atomic number, description) and Release 4.3, Part 3, page 2-3.
13 Thomas Bruce, Designing Quality Databases with IDEF1X Informa-
function point tables for valuing function types and complex-
ity levels. Default Values (template) contain the default values tion Models, Dorset House, New York, 1992.
14 Peter Chen, The Entity-Relationship Approach to Logical Database
for some attributes in new instances of a business object. Design, John Wiley & Sons, New York, 1977.
15 C. J. Date, Relational Database: Selected Writings, Addison-Wesley,

Valid Values Data Boston, 1986.


16 Clive Finkelstein, An Introduction to Information Engineering,
Valid Values Data provides a list of available values for an Addison-Wesley, Sydney, Australia, 1989.
attribute of one or more business object types. This type of 17 James Martin, Information Engineering, Prentice-Hall, Upper Saddle

data is implemented to satisfy requirements such as reducing River, NJ, 1989.


18 Michael C. Reingruber and William W. Gregory, The Data Modeling

Refer to IFPUG, Function Point Counting Practices Manual (CPM),


11 Handbook: A Best-Practice Approach to Building Quality Data Models,
Release 4.3, Part 3, page 1-10. Wiley, New York, 1994.
Data Functions    27

Table 4.5  Mapping Data Concepts to Function Point Terminology


Data Relational
Modeling Database Function Point Function Point
Data Modeling Concept Term Term Analysis Term Analysis Concept

Smallest named unit of Data item Attribute or Data Element Type (DET) A Data Element Type (DET) is a
data that has meaning to column unique, user-recognizable
the real world nonrepeated field

Groups of related items Record Row or tuple Record Element Type (RET) A Record Element Type (RET) is
that are treated as a unit a user-recognizable subgroup
of data elements within an ILF
or EIF

Collection of records of a File Table Logical file—Internal File refers to a logically related
single type Logical File (ILF) or group of data and not the
External Interface File (EIF) physical implementation of
those groups of data

NN Represent a subset of information relevant to an NN The smallest named unit of data that has meaning in
instance of an entity, called subtype entity (also known the real/user world 22
as a secondary or category entity)19

To summarize, an entity: Data Modeling Activities23


NN Is a principal data object about which information is Data modeling addresses data items, logical records, and
collected files. A file system is composed of records and data items:
NN Is a person, place, thing, or event of information
NN Can have an instance (an occurrence) NN Data items are defined as the smallest named unit of
NN Is a fundamental thing of relevance to the user, about data that has meaning to the real world; a data item
which a collection of facts is kept (an association is also referred to as an “attribute” or “column” in the
between entities that contains attributes is itself an physical implementation of data through relational
entity) databases.
NN Involves information that is representative of similar NN A group of related items that is treated as a unit is
things that share characteristics or properties known as a record; a record is also called a “row” or
NN Is often depicted in a data model by a rectangle with “tuple” in the physical implementation of data through
the entity name written inside the rectangle relational databases.
NN A file is a collection of records of a single type; a file is
also called a “table” in the physical implementation of
Data Element 20 data through relational databases.
In the world of data modeling, the base element is called the
data element or data item. It is:
Mapping Data Concepts to
NN The fundamental component Function Point Terminology24
NN The fundamental atomic particle in the information
We can map these terms to function point analysis as shown
system universe21
in Table 4.5.

19 Michael C. Reingruber and William W. Gregory, The Data Modeling


Handbook: A Best-Practice Approach to Building Quality Data Models, 22 Graeme C. Simsion and Graham C. Witt, Data Modeling Essentials:
Wiley, New York, 1994. Analysis, Design, and Innovation, 2nd ed., Coriolis, Scottsdale, AZ,
20 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 2001.
Release 4.3, Part 3, page 2-4. 23 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
21 Gary Schuldt, Information Modeling for Information Systems Analysts, Release 4.3, Part 3, page 2-4.
paper presented at an AT&T Bell Laboratories workshop, Holmdel, 24 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

NJ, May 1992. Release 4.3, Part 3, page 2-5.


28    Certified Function Point Specialist Examination Guide

Data Modeling Terms25 Normalization


Entity (or Entity Type) Data is normalized by applying the following five rules:
NN Principal data objects about which information is 1. Eliminate repeating groups (first normal form).
collected 2. Eliminate redundant data (second normal form).
NN Person, place, thing, or event of information 3. Eliminate columns not dependent on the key (third
NN Entity instance (an occurrence) normal form).
NN Depicted through a rectangle with the entity name 4. Isolate independent multiple relationships; no table
written inside the rectangle may contain two or more 1:N or N:M relationships
NN A fundamental thing of relevance to the user, about (fourth normal form).
which a collection of facts is kept (an association between 5. Isolate semantically related multiple relationships;
entities that contains attributes is itself an entity) practical constraints may justify separating logically
related many-to-many relationships (fifth normal
Associative Entity Type form).

An associative entity type contains attributes that further When performing function point analysis, it is preferable
describe a many-to-many relationship between two other to analyze the logical data model in the third normal form.
entity types. Ignore multiple entities placed for technology (often fifth
normal form).
Attributive Entity Type
An attributive entity type further describes one or more char- Entity Relationship Concepts26
acteristics of another entity type. Table 4.6 can be applied to further understand the concept
of Record Element Types.
Entity Subtype
A subdivision of entity type, an entity subtype inherits all of
the attributes and relationships of its parent entity type and Methodology for
may have additional, unique attributes and relationships. Identifying Logical Files27
A stepwise process for establishing the set of logical files
Relationships (Internal Logical Files and External Interface Files) is used
Relationships represent real-world associations among one or where each step looks at the data at a finer level of detail. An
more entities: overview of these steps is shown in Table 4.7, and details of
each step are explained in the subsequent sections. Use the
NN One-to-one stepwise process to establish the set of logical files. The first
NN One-to-many step, identify logical files, is the most significant step in deter-
NN Many-to-many mining functional size because identification of the correct
number of logical files is crucial in achieving intercounter con-
They are represented by a line that connects the entities. The
sistency. The remaining steps influence the functional size to a
relationship name is written beside the line. Relationships
considerably lesser degree because they do not affect the num-
are defined by the way the entities are connected:
ber of logical files, only their type and complexity rating.
NN Optional, shown in text with parentheses—1:(N),
(1):(N) Step 1. Identify Logical Files27
NN Mandatory, shown in text without parentheses—1:1,
1:N The process to group the candidate data entities identified
into one or many logical files consists of the following sub-
steps that are explained in detail in the following paragraphs
Attributes of this section:
Attributes are the characteristics of an entity. Attributes are
generally analogous to Data Element Types (DETs). 26 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 2-7.
Refer to IFPUG, Function Point Counting Practices Manual (CPM),
25 27 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 2-5. Release 4.3, Part 3, page 2-8.
Data Functions    29

Table 4.6  Entity Relationships and Record Element Types


Entity
Relationship Function Point
Entity Relationship Concept Term Analysis Term IFPUG Definition

Principal data objects about which Entity or Internal Logical File (ILF) or File refers to a logically related
information is collected (person, place, Entity Type External Interface File (EIF) group of data and not the
thing, or event); a fundamental item of physical implementation of
relevance to the user about which a those groups of data
collection of facts is kept

An entity type that contains attributes Associative Record Element Type User-recognizable (optional or
that further describe relationships Entity Type (RET) mandatory) subgroup of data
between other entities elements within an ILF or EIF

An entity type that further describes Attributive Record Element Type User-recognizable (optional or
one or more characteristics of another Entity Type (RET) mandatory) subgroup of data
entity type elements within an ILF or EIF

A division of an entity type that inherits Entity Record Element Type User-recognizable (optional or
all of the attributes and relationships of Subtype (RET) mandatory) subgroup of data
its parent entity type; may have elements within an ILF or EIF
additional, unique attributes and
relationships

1. Identify all logically related and user-recognizable data Substep 1.1. Identify All Logically Related
or control information within the counting scope. and User-Recognizable Data or Control
2. Exclude entities that are not maintained by any Information within the Counting Scope
application.
3. Group related entities that are entity dependent into Before deciding which entities should be grouped together
logical files. into logical files, determine which candidate entities should be
4. Exclude those entities referred to as Code Data. taken into consideration for the logical grouping of the entities
5. Exclude entities that do not contain attributes (see Substep 1.3) and which should be excluded. Consider only
required by the user. entities that are significant to and required by the user. When
6. Remove associative entities that contain additional identifying logical files from a (normalized) data model:
attributes not required by the user and associative
entities that contain only foreign keys; group for- NN Do not assume that all entities are logical files (e.g.,
eign key attributes with the primary entities. index files, entities on a physical data model).

Table 4.7  Stepwise Process for Establishing the Set of Logical Files
Step Action

1 Identify logical files. For each logical data entity, identify how related
entities are to be grouped into logical files that reflect the user view;
for example, determine whether data entities are themselves an
independent logical file or whether related entities should be grouped
into a single logical file.

2 Classify logical files. Each identified logical file is classified as ILF or EIF.

3 Identify Data Element Types. For each logical file, identify the data
elements used by the application being measured.

4 Identify Record Element Types. For each logical file, identify how
related data are to be grouped into Record Element Types that reflect
the user view.
30    Certified Function Point Specialist Examination Guide

NN Logical files may exist from a user perspective but may NN An occurrence of entity X must be linked to an occur-
not be identified in the (normalized) data model in rence of entity Y.
some cases (e.g., historical files containing aggregated NN The deletion of an occurrence of entity Y results in the
data); remember to include these logical files in the rest deletion of all related occurrences of entity X.
of the process.
To determine whether entity B is dependent on or inde-
Substep 1.2. Exclude Entities That Are pendent of A, one needs to answer the question: “Is B signifi-
cant to the business apart from the occurrence of A linked
Not Maintained by Any Application
to it?” An easy test to determine the entity dependence or
Determine which entities are not maintained by an elemen- independence situation follows.
tary process in this or another application. Exclude these Even if there is no user requirement for deletion, still
entities from further consideration because they are not ask yourself the question: “Suppose we would want to delete
counted. an occurrence “a” of entity A, what would happen to an
occurrence “b” of entity B linked to “a”?” Depending on
the business rules, two essentially different situations can be
Substep 1.3. Group Related Entities That
identified:
Are Entity Dependent into Logical Files
Substep 1.3a. Identify Logical Files 1. If an occurrence of B according to the business rules
Using Elementary Process Method does not have independent meaning or significance
Review how the elementary processes within the boundary to the user and might be deleted as well, then appar-
maintain the entities. If several entities are always created ently the occurrence of B does not have meaning
together and deleted together, then this is a strong indication to the user apart from the linked occurrence of A.
that they should be grouped into a single logical file. Also Entity B is considered to be an entity dependent on
review the elementary processes used to extract the data to A. The entities A and B should be grouped together
determine if the extraction processes access the same group into one logical file.
of entities. Note: Transactions that modify data will often 2. If the occurrence of B does have meaning to the
just target one entity in the group, so the modify transac- business, even apart from the linked occurrence
tions are not as effective for grouping data as the create and of A, the business rules will not allow deleting the
delete transactions. For example, a purchase order file prob- occurrence of B. The entities A and B are considered
ably would have entities for items being ordered on that pur- to be separate logical files.
chase order, shipping information for that purchase order,
payment information for that purchase order, and possibly Assessing the data model of an information system by
header information for that purchase order, but all of those assessing all pairs of linked entities results in the identifica-
entities would typically be part of the same purchase order tion of the logical files.
and would not be meaningful on their own.
Types of Relationships28
Substep 1.3b. Identify Logical Files Before making the Entity (In)Dependence principle conclu-
Using Entity (In)Dependency Method sive for all types of relationships, one should clearly under-
The Entity (In)Dependency method groups entities by assess- stand the different types/natures of relationships. This section
ing the relationships and interdependencies of the entities explains the types of relationships as well as the concepts of
against the business rules. The guiding principles are entity optional and mandatory.
independence and entity dependence. Note that the term Consider two entities, Job and Employee, that can be
“entity” in this section refers to an entity in a data model in a connected to each other via a relationship. The nature of the
normalized form (usually third normal form). relationship determines how many employees can work on
Entity independence means that an entity is meaningful a job according to the data model (zero, one, or more) and
or significant to the business, in and of itself without the how many jobs a single employee can work on (zero, one, or
presence of other entities. Entity dependence means that an more):
entity is not meaningful or is not significant to the business,
in and of itself without the presence of other entities such 28 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
that: Release 4.3, Part 3, page 2-14.
Data Functions    31

1:N Relationship (1):N Relationship

Job Job

employs employs

Employee Employee

Figure 4.1  1:N relationship. Figure 4.3  (1):N relationship.

1:(N) Relationship (1):(N) Relationship

Job Job

employs employs

Employee Employee

Figure 4.2  1:(N) relationship. Figure 4.4  (1):(N) relationship.

NN 1:N—Several employees are assigned to a job (but at apart from the linked occurrence(s) of the other entity.
least one), and each employee must be assigned to one Therefore, A and B are considered to be entity indepen-
(and only one) job. The relationship between Job and dent of each other. Function point analysis counts the
Employee is mandatory and is described as 1:N. (See entities A and B as two separate logical files, as indi-
Figure 4.1.) cated in Table 4.8.
NN 1:(N)—A job can have a vacancy with no employ- NN Entity (in)dependence in a 1:(N) relationship —In this
ees assigned to that job. In this case, the relationship relationship between two entities, A and B, an occur-
between Job and Employee is described as 1:(N). (See rence of entity A may exist to which none, one, or many
Figure 4.2.) occurrences of entity B are linked. On the other hand,
NN (1):N—An employee need not be assigned to any job, each occurrence of B must be assigned to an occur-
but each job must have at least one employee assigned rence of A. Even if there is no user requirement for
to it. The relationship between Job and Employee in deletion, ask yourself the question: “When you delete
this case is described as (1):N. (See Figure 4.3.) an occurrence of entity A, what happens to the linked
NN (1):(N)—A job can have a vacancy with no employ- occurrences of entity B, which has a mandatory link
ees assigned to that job, and an employee need not to an occurrence of A?” If the deletion of A is allowed,
be assigned to any job. In this case, the relationship then all Bs linked to it must be deleted as well, because
between Job and Employee is optional and is described the business is no longer interested in the occurrences
as (1):(N). (See Figure 4.4.) of B. Consequently, B is entity dependent on A, and A
and B together are identified as one logical file. If the
The following list summarizes entity (in)dependence for deletion of A is not allowed as long as Bs are still linked
all types of relationships:29 to it because the business is still interested in the Bs,
then B is entity independent of A, and both A and B
NN Entity (in)dependence in a (1):(N) relationship —If a rela- are identified as separate logical files.
tionship between two entities, A and B, is bilaterally NN Entity (in)dependence in a (1):N relationship —This
optional, the entities can exist independently, and all relationship between two entities, A and B, can be
occurrences of A and B are significant to the business treated in a similar way. Each A must be assigned one
or many Bs, but a B may (but need not) be assigned to
Refer to IFPUG, Function Point Counting Practices Manual (CPM),
29 one occurrence of A. You must ask the reverse of the
Release 4.3, Part 3, page 2-15. question above. If the deletion of B is allowed, then
32    Certified Function Point Specialist Examination Guide

all As linked to it must be deleted as well, because the Table 4.8  Summary: from Entities to Logical Files via
business is no longer interested in the occurrences of Entity (In)Dependence
A. Consequently, A is entity dependent on B, and A
Type of
and B together are identified as one logical file. If the Relationship
deletion of B is not allowed as long as As are still linked Between Two Then
to it, because the business is still interested in the As, Entities, A and B When This Condition Exists Count
then A is entity independent of B, and both A and B
(1):(N) (A and B are independent) 2 LFs
are identified as separate logical files.
NN Entity (in)dependence in a 1:N relationship—In this rela- 1:N If B is entity dependent on A 1 LF
tionship between two entities, A and B, each B must
If B is entity independent of A 2 LFs
be assigned to one and only one A, and each A must be
assigned to at least one B. The same guidelines regarding 1:(N) If B is entity dependent on A 1 LF
entity dependence and independence apply. If B is not If B is entity independent of A 2 LFs
significant to the business apart from the A linked to it,
then B is considered to be entity dependent on A, and (1):N If A is entity dependent on B 1 LF
A and B together are identified as one logical file. If B is If A is entity independent of B 2 LFs
significant to the business apart from the A linked to it,
then it is considered to be entity independent of A, and (1):(1) (A and B are independent) 2 LFs
both A and B are identified as separate logical files.
1:1 (A and B are dependent) 1 LF

Summary: From Entities to Logical 1:(1) If B is entity dependent on A 1 LF


Files via Entity (In)Dependence If B is entity independent of A 2 LFs

As shown in Table 4.8, A and B are two entities from a nor- (N):(M) (A and B are independent) 2 LFs
malized data model that should be counted according to this
section and that are interconnected via a relationship. The N:M If B is entity dependent on A 1 LF
table summarizes how occurring situations are counted. If B is entity independent of A 2 LFs

N:(M) If B is entity dependent on A 1 LF


Substep 1.4. Exclude Those Entities If B is entity independent of A 2 LFs
Referred to as Code Data
Note: (1) When in doubt, choose entity independent; (2) In
Filter out Code Data. Code Data is included as a response to some situations, more than two entities can also form a
nonfunctional user requirements from the user (quality require- logical file.
ments, physical implementation, and/or technical reasons). Legend: LF, logical file (ILF or EIF); (..), optional side of
relationship.

Substep 1.5. Exclude Entities That Do Not


Contain Attributes Required by the User 1. The additional non-key attributes are the result of
a design or implementation consideration or satisfy
Determine which entities do not contain user-recognizable
a nonfunctional user requirement. These nonfunc-
attributes required by the user but contain nonfunctional
tional attributes are not counted as data elements.
attributes only.
Treat these entities as key-to-key entities.
2. The additional non-key attributes are necessary to sat-
Substep 1.6. Remove Associative Entities That isfy the Functional User Requirements and are required
Contain Additional Attributes Not Required by the user. (See Substeps 1.3a and 1.3b, above.)
by the User and Associative Entities That
Determine which entities are key-to-key (intersection)
Contain Only Foreign Keys; Group Foreign
entities; that is, they only have keys as their data elements
Key Attributes with the Primary Entities
and do not have any other non-key attributes. These entities
Determine which entities are associative entities. An associa- typically represent the implementation of a many-to-many
tive entity contains the foreign keys of the connected entities (N:M) relationship in a normalized data model. They exist
in addition to other attributes. Note that two situations can for data modeling and database design purposes only and not
arise as a result: as the result of a user requirement.
Data Functions    33

Step 2. Classify Logical Files30 Table 4.9  Data Entities and Attributes

Check the identified logical files against the ILF and EIF Representation Example
rules: ENTITY_attribute COURSE_fee

NN Classify a logical file as an ILF if elementary processes ENTITY.attribute CLIENTCOMPANY.name


within the boundary of the application being mea-
sured maintain (create, update, or delete) data elements
within the file. NN Value (structure)
NN Classify a logical file as an EIF if elementary processes NN Unit of expression
within the boundary of the application being measured NN Dependencies
maintain only Reference Data elements within the file,
and the logical file is maintained by an elementary pro- Refer to the IFPUG Function Point CPM, Release 4.3, Part
cess of another application. 3, pages 2-22 through 2-23, for definitions and examples of
NN If an identified logical file is not maintained by an these attributes.
elementary process (either within the application or in
another), then the logical file is not counted at all.
Mapping Data Elements to
Function Point Analysis DETs
Step 3. Identify Data Element Types31 The basic concepts of data elements and attributes from a
The data element is the smallest unit that has meaning to the data modeling perspective can be related to the IFPUG func-
user and represents a specific fact about a business. Refer to tion point definitions and rules (Table 4.10). Following are
the definitions and rules for DETs earlier in this chapter. some examples of counting DETs in special situations.

Attributes32
Data Element Terms and Definitions
Attributes that are composed of several related data elements
An attribute represents a specific fact about an entity or a rela-
are stored separately. Review the transactions within the
tionship. In Table 4.9 the entities are shown in UPPERCASE
application to determine whether the attribute is treated as
and the attributes in lowercase. Data elements/attributes can
one item or more than one. Consider the following items
be found in:
when making a decision:
NN User views (reports, screens)
NN Data dictionaries (business models, data models) NN If the attribute is always used in its entirety, then it is
NN Current files (record structures in programs, file counted as a single DET. There should be no situations
layouts) when an individual component of the attribute is used
without the others. Based on that usage, the attribute
is counted as a single data element.
When reviewing the data, the data analyst follows this
NN If in some situations, only one part of the attribute
basic premise: Every data element known to the user must
(e.g., last name) is used, then more than one data ele-
be treated as an attribute and thus must be shown in rela-
ment would be counted. Look at the usage of the com-
tion to a specific entity. The attribute may have the following
ponents within the application to determine how many
properties:
recognizable pieces exist. It need not be a one-or-all
option. Based on the usage, it might be appropriate to
NN Attribute name (alias) count just two DETs, even though there are actually
NN Characteristic five physical pieces.
NN Purpose (usage) NN Look for the existence of sort or edit requirements and
NN Value source selection criteria. If lists or reports are sorted or filtered
NN Value range by a single component of the attribute, this suggests
independence of the components in the user view.
30 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 2-21.
31 Refer to IFPUG, Function Point Counting Practices Manual (CPM), Refer to IFPUG, Function Point Counting Practices Manual (CPM),
32

Release 4.3, Part 2, page 6-5; Part 3, page 2-21. Release 4.3, Part 3, page 2-25.
34    Certified Function Point Specialist Examination Guide

Table 4.10  Mapping Data Elements to FPA Data Element Types


Data Modeling Data Modeling Relational Function Point
Concept Term Database Term FPA Term Analysis Concept

Smallest named Data item Attribute or Data Element Type A Data Element Type (DET) is
unit of data that Column (DET) a unique, user-recognizable,
has meaning to nonrepeated field.
the real world

Groups of related Record Row or Tuple Record Element Type A Record Element Type (RET)
items that are (RET) is a user-recognizable
treated as a unit subgroup of data elements
within an ILF or EIF.

Collection of File Table Logical file—Internal File refers to a logically


records of a Logical File (ILF) related group of data and not
single type or External the physical implementation
Interface File (EIF) of those groups of data.

Counting Names (First Name, NN These status fields may or may not actually be physi-
Middle Initial, and Last Name) cally visible to the user through the application’s
transactions.
NN Many applications are required to keep track of peo-
ple’s names.
Counting System Dates
NN Should the name be counted as multiple data elements
or a single data element? NN Applications frequently retain system dates associated
NN Review the transactions within the application to with their data to reflect the currency of the data.
determine whether the name is treated as one item or NN System dates may have many different names (e.g., last
more than one. Does it always use the entire name, or updated, last approved) and are often accompanied by
does it sometimes just use one piece? a user ID (last updated by, last approved by).
NN System dates are typically updated through various
Counting Addresses (Street Address, transactions within the application.
City, State, and Zip Code) NN In many cases, the system date is being kept for busi-
ness purposes. The user needs to know when the data
NN Many applications are required to keep track of was changed or approved.
addresses. NN There are also cases where the system date is being kept
NN Should the address be counted as multiple data ele- for technical reasons only.
ments or a single data element?
NN Review the transactions within the application to Counting Foreign Keys
determine whether the address is treated as one item
or more than one. NN Applications frequently maintain relationships from
one entity to another.
NN In some cases, they exist to satisfy data validation
Counting Repeating Fields
requirements, but in other cases they indicate some
NN Often, applications maintain multiple occurrences of business interaction between the two entities.
a data element. According to the DET rules, count a NN The data modeling concept of Attribution is best illus-
repeating field only once. trated by the assignment of foreign keys.
NN After the repeating fields are reduced to a single DET,
verify that the business requirements are still being met.
Step 4. Identify Record Element Types33
Counting Status Fields The Record Element Type (RET) represents the user’s view
of coherent subgroups of data within an identified logi-
NN Applications frequently keep track of the current status cal file. RETs typically correspond to the entities that were
of data (e.g., active, inactive, pending, approved).
NN This status is typically updated through various trans- Refer to IFPUG, Function Point Counting Practices Manual (CPM),
33

actions within the application. Release 4.3, Part 3, page 2-31.


Data Functions    35

Table 4.11  Understanding the Concept of Record Element Types


Entity
Relationship Function Point Function Point
Entity Relationship Concept Term Analysis Term Analysis Concept

Principal data objects about which Entity or Logical file File refers to a logically related
information is collected (person, Entity Type group of data, not the physical
place, thing, or event); a implementation of those
fundamental item of relevance to groups of data; if there are no
the user about which a collection of other subgroups, the logical file
facts is kept is counted with a single Record
Element Type (RET)

An entity type that contains Associative Could be a logical file or a User-recognizable subgroup of
attributes that further describe Entity Type possible Record Element Type data elements within an ILF or
relationships between other entities (RET); see the “Analyzing EIF; can be optional or
Associative Entities to mandatory
Determine RETs” section for
further consideration

An entity type that further describes Attributive Possible Record Element Type User-recognizable subgroup of
one or more characteristics of Entity Type (RET); see the “Analyzing data elements within an ILF or
another entity type Attributive Entities to EIF; can be optional or
Determine RETs” section for mandatory
further consideration

A division of entity type that inherits Entity Possible Record Element Type User-recognizable subgroup of
all the attributes and relationships Subtype (RET); see the “Analyzing data elements within an ILF or
of its parent entity type and may Attributive Entities to EIF; can be optional or
have additional, unique attributes Determine RETs” section for mandatory
and relationships further consideration

grouped into the logical files as discussed earlier under “Step entities. There are three possibilities to consider when look-
1. Identify Logical Files.” They need to be reviewed closely ing at associative entities:
to ensure that the user would identify them as a logical sub-
group and thus would count as a RET. Refer to the defini- 1. An associative entity is not counted as a RET when
tions and rules for RETs earlier in this chapter and to the the associative entity contains only the keys of each
IFPUG Function Point CPM, Release 4.3, Part 2, page 6-9. entity.
Refer back to Table 4.5 for a review of data modeling terms 2. An associative entity is counted as a RET when the
that can be mapped to function point analysis. Table 4.11 can associative entity contains the keys of each entity as
be applied to further understand the concept of RETs. well as other user-required noncommon attributes.
Function point analysis looks at associative and attribu- 3. An associative entity is counted as a logical file with a
tive entity types and subtypes as subgroups of data. The fol- single RET when the associative entity is more than
lowing discusses these in relation to counting RETs. a key-to-key mapping between two entities, and it is
more than a RET associated with either logical file
that the user requires be retained independently.
Analyzing Associative Entities
to Determine RETs34 Analyzing Attributive Entities
An associative entity is used to associate two or more enti- to Determine RETs35
ties as a way of defining the many-to-many relationship. This An attributive entity is an entity type that further describes
type of entity is often created by the data modeler to resolve one or more characteristics of another entity type. By defini-
some of the business rules required to relate two separate tion, it is a logical extension of another entity. In function

Refer to IFPUG, Function Point Counting Practices Manual (CPM),


34 35 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 2-34. Release 4.3, Part 3, page 2-37.
36    Certified Function Point Specialist Examination Guide

point analysis, an attributive entity represents a RET of that Further Reading


entity. An attributive entity is counted as either a RET of the
logical file it is further defining (situation 1) or as an exten- The rules included in this chapter have been extracted from
sion of the logical file (situation 2). Part 2, Chapter 6, and Part 3, Chapters 1 and 2, of the
Function Point Counting Practices Manual (CPM), Release
4.3. A review of these chapters is recommended before tak-
Analyzing Subtypes to Determine RETs36 ing the CFPS exam.
An entity subtype is a subdivision of entity type. A subtype
inherits all of the attributes and relationships of its parent
entity type and may have additional, unique attributes and
relationships. Data modeling rules state that an entity may Exam Guidance
have any number of sets of independent subtypes associated
with it which can be optional or mandatory. Each subtype NN Read and study this chapter, including all related
can have only one generic parent. In data modeling, although examples.
the parent and subtype are represented as different entities, NN Memorize the various definitions (e.g., ILF, EIF, DET,
they are logically part of the same entity. When analyzing RET).
subtypes in a data model, look at the required relationship to NN Memorize the various embedded terms.
the parent entity to determine whether it is a subgroup and NN Be able to differentiate among the types of data enti-
should be counted as a RET. ties: Business Data, Reference Data, and Code Data.
If the subtype is not a subgroup, it should not be counted NN Fully understand the concept of data entities, sub-
as a RET. If there are unique attributes among entity sub- groups, and relationships
types, evaluate whether a separate subgroup really exists that NN Memorize the data modeling terms.
would constitute a RET. A single optional, unique attribute NN Memorize the data function rules (e.g., ILF, EIF, DET,
would not result in a different RET from a user perspec- RET), including the additional detail found in the
tive, even if depicted as an entity subtype in a logical data Function Point CPM, Release 4.3, Part 2, Chapter 6.
model. NN Memorize or at least be extremely familiar with the
It depends on the user view and business rules as to complexity and contribution matrices.
whether these entity subtypes are relevant to the user and NN Familiarize yourself with the related examples in
should be considered as RETs. If there are separate add/ this chapter as well as CPM 4.3, Part 2, Chapter 6
update transactions with unique attributes for these entity (Measure Data Function), and Part 4, Chapter 1 (Data
subtypes, this would be an indication that we may have sepa- Function Counting Examples), because it is unlikely
rate RETs for these entity subtypes. that you will have time to look up everything during
If in doubt, do not count a subgroup of information as the exam.
a RET. Identifying the correct number of RETs does not NN Complete the practice questions in this chapter, and
influence the number of logical files identified; rather, it go back to determine why you answered any question
influences only the complexity of the logical file. Although incorrectly.
this step does influence the functional size, it does so to a
lesser degree than identifying logical files in Step 1 (Identify
Logical Files).
Sample Exam Questions
1. An Internal Logical File (ILF) is a:
A. User-recognizable group of logically related
Considering Data Element Types
data or control information that is referenced
and Record Element Types in by the application being measured but which
Conjunction with Logical Files is maintained within the boundary of another
via Entity (In)Dependence application
B. Unique user-recognizable, nonrepeated attribute
Table 4.8 is expanded in Table 4.12 to include DETs and C. User-recognizable group of logically related
RETs. data or control information maintained
within the boundary of the application being
Refer to IFPUG, Function Point Counting Practices Manual (CPM),
36 measured
Release 4.3, Part 3, page 2-38. D. User-recognizable subgroup of data elements
Data Functions    37

Table 4.12  Considering Data Element Types and Record Element Types in
Conjunction with Logical Files via Entity (In)Dependence
Relationship between Then Count as LFs with RETs
Two Entities A and B When this Condition Exists and DETs as Follows

(1):(N) (A and B are independent) 2 LFs, 1 RET and DET to each


1:N If B is entity dependent on A 1 LF, 2 RETs, sum DETs
If B is entity independent of A 2 LFs, 1 RET and DETs to each
1:(N) If B is entity dependent on A 1 LF, 2 RETs, sum DETs
If B is entity independent of A 2 LFs, 1 RET and DETs to each
(1):N If A is entity dependent on B 1 LF, 2 RETs, sum DETs
If A is entity independent of B 2 LFs, 1 RET and DETs to each
(1):(1) (A and B are independent) 2 LFs, 1 RET and DETs to each
1:1 (A and B are dependent) 1 LF, 1 RET, sum DETs
1:(1) If B entity dependent on A 1 LF, 1 or 2 RETs, sum DETs
If B entity independent of A 2 LFs, 1 RET and DETs to each
(N):(M) (A and B are independent) 2 LFs, 1 RET and DETs to each
N:M If B is entity dependent on A 1 LF, 2 RETs, sum DETs
IF B is entity independent of A 2 LFs, 1 RETs, sum DETs
N:(M) If B is entity dependent on A 1 LF, 2 RETs, sum DETs
If B is entity independent of A 2 LFs, 1 RET and DETs to each

Note: (1) 1 RET and DETs to each means that it is necessary to assess both entities on their
own. (2) Sum DETs means that it is necessary to count all unique, nonrepeated attri-
butes of the linked entities together. (3) Count the foreign key on the many side of the
relationships. (4) In some situations, more than two entities can also form a logical
file; in such cases, more than two RETs should be counted.
Legend: L, logical file (ILF or EIF); (..), optional side of relationship; RET, Record Element
Type; DET, Data Element Type.

2. An External Interface File (EIF) is a: B. Unique user-recognizable, nonrepeated attribute


A. User-recognizable group of logically related C. User-recognizable group of logically related data
data or control information that is referenced or control information maintained within the
by the application being measured but which boundary of the application being measured
is maintained within the boundary of another D. User-recognizable subgroup of data elements
application
4. A Record Element Type (RET) is a:
B. Unique user-recognizable, nonrepeated attribute A. User-recognizable group of logically related
C. User-recognizable group of logically related data data or control information that is referenced
or control information maintained within the by the application being measured but which
boundary of the application being measured is maintained within the boundary of another
D. User-recognizable subgroup of data elements application
B. Unique user-recognizable, nonrepeated attribute
3. A Data Element Type (DET) is a: C. User-recognizable group of logically related
A. User-recognizable group of logically related data or control information that is maintained
data or control information that is referenced within the boundary of the application being
by the application being measured but which measured
is maintained within the boundary of another D. User-recognizable subgroup of Data Element
application Types within a data function
38    Certified Function Point Specialist Examination Guide

5. Mandatory subgroups are: 11. Which of the following rule(s) apply when counting
A. Those that the user has the option of using one RETs:
or none of during an elementary process that A. Count one RET for each data function
adds or creates an instance of the data B. Count one additional RET for each additional
B. Subgroups where the user must use at least one logical subgroup of DETs (within the data
during an elementary process that adds or cre- function) that contains more than one DET
ates an instance of the data C. A and B
C. Represent the functionality provided to D. None of the above
the user to meet internal and external data
12. How many function points is a low complexity
requirements
ILF?
D. Unique user-recognizable, nonrepeated
A. 5
attributes
B. 7
6. Data function types include: C. 10
A. Internal Logical Files (ILFs) D. 15
B. External Inputs (EIs) 13. How many function points is a low complexity
C. External Interface Files (EIFs) EIF?
D. A and C A. 5
7. The primary intent of an ILF is: B. 7
A. To hold data maintained through one or more C. 10
elementary processes of the application being D. 15
measured 14. How many function points is a high complexity
B. To hold data referenced through one or more EIF?
elementary processes within the boundary of A. 5
the application being measured B. 7
C. A and B C. 10
D. None of the above D. 15
8. The primary intent of an EIF is: 15. Which of the following combinations would result
A. To hold data maintained through one or more in an average ILF?
elementary processes of the application being A. 1 RET and 5 DETs
measured B. 2 RETs and 19 DETs
B. To hold data referenced through one or more C. 6 RETs and 20 DETs
elementary processes within the boundary of D. 5 RETs and 50 DETs
the application measured
16. Which of the following combinations would result
C. A and B
in an average EIF?
D. None of the above
A. 1 RET and 5 DETs
9. Which of the following counting rules must not B. 2 RETs and 19 DETs
apply for the information to be counted as an EIF? C. 6 RETs and 20 DETs
A. The group of data or control information is D. 5 RETs and 50 DETs
logical and user recognizable 17. What are the total function points for 2 low ILFs, 3
B. The group of data is referenced by, but not main- high ILFs, and 1 low EIF?
tained by, the application being measured A. 46
C. The group of data is identified by the applica- B. 64
tion being measured C. 60
D. The group of data is maintained in an ILF of D. 49
one or more other applications
18. Data functions:
10. The functional complexity of an ILF is based on: A. Represent the functionality provided to the
A. The number of DETs and FTRs user to meet internal and external data storage
B. The number of DETs and RETs requirements
C. The number of FTRs and RETs B. Consist of one or more components, modules,
D. The number of DETs, RETs, and FTRs or subsystems
Data Functions    39

C. Are the functionality provided to the user to 25. Providing a code and an explanatory name or
process data by an application description for an attribute of a business object is an
D. Are unique user-recognizable, nonrepeated example of:
attributes A. Valid Values Data
B. Substitution Data
19. The primary difference between an Internal Logical C. Static Data
File and an External Interface File is that: D. Constant Data
A. An EIF is maintained by the application being
measured, but an ILF is not 26. Which of the following may also be referred to as
B. An EIF is not maintained by the application Core User Data or Business Objects?
being measured, but an ILF is A. Code Data
C. An ILF can contain control information but B. Business Data
an EIF cannot C. Reference Data
D. An EIF can contain control information but D. B and C
an ILF cannot 27. Data that rarely changes is an example of:
A. Valid Values Data
20. What is the total function points value for 2 average B. Substitution Data
ILFs, 3 low EIFs, and 4 low ILFs? C. Static or Constant Data
A. 55 D. None of the above
B. 69
C. 63 28. Providing a list of available values for an attribute
D. 73 of one or more business object types is an example
of:
21. Control information: A. Valid Values Data
A. Is the ability to modify data through an ele- B. Substitution Data
mentary process C. Static Data
B. Is data that influences an elementary process D. Constant Data
C. Specifies what, when, or how data are to be
29. Data stored to support the business rules for the
processed
maintenance of the Business Data is an example of:
D. B and C
A. Code Data
22. An elementary process: B. Business Data
A. Is the smallest unit of activity that is meaning- C. Reference Data
ful to the user D. None of the above
B. Is a cohesive collection of automated proce- 30. Data that reflects the information that must be
dures and data supporting a business objective stored and retrieved by the functional area addressed
C. Must be self-contained and leave the business by the application is an example of:
of the application being counted in a consis- A. Code Data
tent state B. Business Data
D. A and C C. Reference Data
D. All of the above
23. Which categories of data entities are usually identi-
fied to satisfy the Functional User Requirements? 31. Business Data characteristics include which of the
A. Code Data following logical characteristics?
B. Business Data A. Very dynamic—normal business operations
C. Reference Data cause it to be regularly referenced and rou-
D. B and C tinely added to, changed, or deleted
B. Essentially static—only changes in response to
24. Which categories of data entities are usually identi- changes in the way that the business operates
fied to satisfy the nonfunctional user requirements? C. Less dynamic—occasionally changes in
A. Code Data response to changes in the functional area’s
B. Business Data environment, external functional processes, or
C. Reference Data business rules
D. B and C D. None of the above
40    Certified Function Point Specialist Examination Guide

32. Reference Data characteristics include which of the 38. “User-recognizable” refers to:
following logical characteristics? A. A logical group of permanent data seen from
A. Mandatory for the operation of the users’ func- the perspective of the user
tional area B. The border between the software being mea-
B. User identifiable (usually by a business user) sured and the user
C. Usually user maintainable (usually by an C. The functionality that will be included in a
administrative user) particular function point count
D. All of the above D. Requirements for processes and/or data that
are agreed upon, and understood by, both the
33. Code Data characteristics include which of the fol-
users and software developers
lowing logical characteristics?
A. Provide business transactions access to improve 39. Reference Data:
ease of data entry, improve data consistency, A. Reflects the information that must be stored
ensure data integrity, etc. and retrieved by the functional area addressed
B. Store the data to support core user activities by the application
C. Store data to standardize and facilitate busi- B. Is stored to support the business rules for the
ness activities and business transactions maintenance of the Business Data
D. A and C C. May also be referred to as Core User Data or
34. Valid Values Data: Business Objects
A. Provides a code and an explanatory name D. Is sometimes referred to as List Data or
or description for an attribute of a business Translation Data
object 40. Code Data:
B. Contains data that is basically static A. Reflects the information that must be stored
C. Is implemented to satisfy requirements and retrieved by the functional area addressed
such as reducing errors and increasing user by the application
friendliness B. Is stored to support the business rules for the
D. Contains one and only one occurrence regard- maintenance of the Business Data
less of the number of attributes C. May also be referred to as Core User Data or
35. States (e.g., State Code, State Name) are an example Business Objects
of: D. Is sometimes referred to as List Data or
A. Static or Constant Data Translation Data
B. Substitution Data 41. Business Data:
C. Valid Values Data A. Reflects the information that must be stored
D. None of the above and retrieved by the functional area addressed
36. Color (e.g., all valid values for the attribute color of by the application
a business object) is an example of: B. Is stored to support the business rules for the
A. Static or Constant Data maintenance of the Business Data
B. Substitution Data C. May also be referred to as Core User Data or
C. Valid Values Data Business Objects
D. All of the above D. Is sometimes referred to as List Data or
Translation Data
37. Examples of Business or Reference Data that should
not be considered Code Data include: 42. The definition of entity independence is:
A. Tax Rate Ranges for a Progressive Tax System A. An association between entities that contains
B. Currency Exchange Rate Table attributes
C. Entity Types with Financial Amounts, Exchange B. An entity that is meaningful or significant to
Rates, and Tax Rates, if they are not constants the business, in and of itself without the pres-
D. All of the above ence of other entities
Data Functions    41

C. An entity that is not meaningful or is not sig- 45. Entity dependence is:
nificant to the business, in and of itself without A. A logically related group of data
the presence of other entities B. An entity that is meaningful or is significant to
D. An entity containing attributes that further the business, in and of itself without the pres-
describe a many-to-many relationship between ence of other entities
two other entity types C. An entity that is not meaningful or is not sig-
nificant to the business, in and of itself without
43. An attribute is:
the presence of other entities
A. A fundamental thing of relevance to the user
D. An entity that is not meaningful or significant
about which a collection of facts is kept
in and of itself without the presence of another
B. Included in the count as a RET
entity linked to it via a relationship
C. Generally analogous to a Data Element Type
D. A and C 46. A file system is composed of:
A. Technical attributes
44. An entity is:
B. A cohesive collection of automated procedures
A. A fundamental thing of relevance to the user
and data supporting a business objective
about which a collection of facts is kept
C. Records and data items
B. The smallest unit of activity that is meaningful
D. None of the above
to the user
C. Data that influence an elementary process of
the application being measured
D. Is composed of records and data items
Chapter 5

Elementary Process

Introduction Definition of an Elementary Process1


An elementary process is the smallest unit of activity that is An elementary process (EP) is the smallest unit of activity that
meaningful to the user, constitutes a complete transaction, is meaningful to the user. For example, an input form for a
is self-contained, and leaves the business of the application purchase order could consist of three screens; however, if the
being counted in a consistent state. Elementary processes form is incomplete until all three screens are completed, then
relate to transactions (i.e., external inputs, external outputs, the elementary process would require the completion of all
and external inquiries). The total process used to measure three screens. One screen might identify the items ordered,
function points was presented previously, but it is repeated the second screen might identify the payment information,
here. and the third screen might identify the shipping informa-
As presented in Chapter 2, the following are steps in the tion. All screens would have to be completed prior to send-
function point counting procedure: ing the purchase order to a vendor. We would not question
this decision if the form is to be completed manually; we
NN Gather the available documentation. would just complete the entire purchase order. In this exam-
NN Determine counting scope and boundary and identify ple, completing some of the fields, even those on one screen,
Functional User Requirements. would neither be self-contained nor leave the business in a
NN Measure data functions. consistent state. If all information, recognizing that some of
NN Measure transactional functions. the fields may not be mandatory and could be left blank, is
NN Calculate the functional size. completed, then this transaction would be complete. Error
NN Document and report. and/or confirmation messages might also be returned; these
messages are also part of the elementary process.
Remember that the application boundary separates the
application being measured from the user domain and/or
other independent applications. The data functions relate to Identifying Each Elementary Process2
the logical data stored and available for update and retrieval.
Identify an elementary process by composing and/or decom-
The transactional functions—external inputs (EIs), external
posing the functional requirements into the smallest unit of
outputs (EOs), and external inquiries (EQs)—perform the
activity that satisfies all of the following:
processes of updates, retrieval, outputs, etc. (transactions
you would expect to see in a process model). The specific
rules and guidelines for EIs, EOs, and EQs are included in 1 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
the following chapter, but first, in this chapter, we will dis- Release 4.3, Part 2, page 7-5.
cuss the concept of an elementary process as it applies to 2 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

transactions. Release 4.3, Part 2, page 7-10.

43
44    Certified Function Point Specialist Examination Guide

NN Is meaningful to the user (i.e., is user recognizable and User Requirements). The process is not self-contained
satisfies a Functional User Requirement [FUR]) unless all mandatory information for the separate
NN Constitutes a complete transaction identification of the items, the payment information,
NN Is self-contained (i.e., no prior or subsequent processing and the shipping information is entered and all of the
steps are needed to initiate or complete the Functional processing steps for each are included (e.g., validations,
User Requirements) calculations, referencing EIFs, updating ILFs).
NN Leaves the business of the application being counted in a NN Leaves the business of the application being counted in a
consistent state (i.e., the point at which processing has consistent state (i.e., at the point where processing has
been fully executed; the Functional User Requirement been fully executed; the Functional User Requirement
has been satisfied and there is nothing more to be done) has been satisfied and there is nothing more to be done).
If all of the purchase order information is not added,
Example 1 the purchase order has not yet been created. Adding
some of the information alone leaves the business of
NN Is meaningful to the user (i.e., is user recognizable and
entering a purchase order in an inconsistent state. Error
satisfies a Functional User Requirement [FUR]). The
and/or confirmation messages might also be returned;
FUR requires the ability to enter a purchase order.
these messages are also part of the elementary process.
NN Constitutes a complete transaction. The purchase order
discussed above required three screens to identify the
items, the payment information, and the shipping
information.
NN Is self-contained (i.e., no prior or subsequent processing Determine Unique
steps are needed to initiate or complete the Functional Elementary Processes3
User Requirements). The process is not self-contained
unless all mandatory information for the purchase When compared to an elementary process (EP) already iden-
order is entered and all of the processing steps are tified, count two similar EPs as the same elementary process
included (e.g., validations, calculations, referencing if they satisfy all of the following:
EIFs, updating ILFs).
NN They require the same set of Data Element Types
NN Leaves the business of the application being counted in a
(DETs).
consistent state (i.e., at the point where processing has
NN They require the same set of File Types Referenced
been fully executed; the Functional User Requirement
(FTRs).
has been satisfied and there is nothing more to be done).
NN They require the same set of processing logic to com-
If all of the purchase order information is not added,
plete the elementary process.
the purchase order has not yet been created. Adding
some of the information alone leaves the business of Note: One elementary process may include minor variations
entering a purchase order in an inconsistent state. Error in DETs or FTRs, as well as multiple alternatives, varia-
and/or confirmation messages might also be returned; tions, or occurrences of processing logic. For example, when
these messages are also part of the elementary process. an EP to enter a purchase order requires additional DETs
to account for Canadian as well as U.S. shipping addresses
(postal code/Zip Code and providence/state), the EP is not
Example 2 divided into two EPs to account for the minor differences in
shipping addresses. The EP is still to enter a purchase order,
NN Is meaningful to the user (i.e., is user recognizable and
and variations in the processing logic and DETs are used to
satisfies a Functional User Requirement [FUR]). The
account for address differences.
FUR may also require the ability to separately update
When compared to an elementary process already identi-
the items to be ordered, the payment information, and
fied, count two similar EPs as different elementary processes
the shipping information for a purchase order.
if they satisfy any of the following:
NN Constitutes a complete transaction. The three screens to
identify the items, the payment information, and the NN They require different and unique DETs.
shipping information in this case would each consti- NN They require different FTRs.
tute a separate transaction. Consequently, although NN They require different and unique processing logic to
there is only one transaction for the create transaction, complete the elementary process.
there would be three transactions for the update.
NN Is self-contained (i.e., no prior or subsequent processing 3 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
steps are needed to initiate or complete the Functional Release 4.3, Part 2, page 7-11.
Elementary Process    45

For example, if an elementary process to hire a contractor or maintaining a data function. Those requirements may
requires additional and unique DETs and FTRs to account include the following actions:
for the separate personal information and distinct tax status
of a contractor in comparison to an employee, separate EPs 1. Validations are performed. For example, when
would be assigned to hire a contractor and to hire an employee, adding a new employee to an organization, the
regardless of some similarity between the processes. employee process validates the employee type
DET.
2. Mathematical formulas and calculations are per-
Classify Each Elementary Process 4 formed. For example, when reporting on all employ-
ees within an organization, the process includes
Classify each elementary process as an external input (EI), calculating the total number of salaried employees,
external output (EO), or an external inquiry (EQ) based on hourly employees, and all employees.
its primary intent. The primary intent of the elementary pro- 3. Equivalent values are converted. For example,
cess shall be identified as one of the following: employee age is converted to an age range group
using a table.
NN Altering the behavior of the application
4. Data is filtered and selected by using specified crite-
NN Maintaining one or more Internal Logical Files (ILFs)
ria to compare multiple sets of data. For example, to
NN Presenting information to the user
generate a list of employees by their assignment, an
Classify the process as an EI if it has a primary intent of elementary process compares the job number of
either of the following: a job assignment to select and list the appropriate
employees with that assignment.
NN It maintains one or more ILFs. 5. Conditions are analyzed to determine which are appli-
NN It alters the behavior of the application. cable. For example, processing logic exercised by the
and elementary process when an employee is added will
NN It includes processing logic to accept data or control depend on whether an employee is paid based on
information that enters the application boundary. salary or hours worked. The entry of DETs (and the
resulting processing logic) based upon a different
Classify the process as an EO if it has a primary intent of choice (salary or hourly) in this example is part of
presenting information to the user, and it includes at least one elementary process.
one of the following forms of processing logic: 6. One or more ILFs are updated. For example, when
adding an employee, the elementary process updates
NN Mathematical calculations are performed. the employee ILF to maintain the employee data.
NN One or more ILFs are updated. 7. One or more ILFs or External Interface Files (EIFs) are
NN Derived data is created.5 referenced. For example, when adding an employee,
NN The behavior of the application is altered. the currency EIF is referenced for the correct U.S.
Classify the process as an EQ if it has a primary intent of dollar conversion rate to determine an employee’s
presenting information to the user, and hourly rate.
8. Data or control information is retrieved. For example,
NN It references a data function. to view a list of employees, employee information is
NN It does not satisfy the criteria to be classified as an EO. retrieved from a data function.
9. Derived data is created by transforming existing data
to create additional data. For example, to deter-
Processing Logic6 mine (derive) a patient’s registration number (e.g.,
SMIJO01), the following data is concatenated:
Processing logic is defined as any of the requirements specifi- NN The first three letters of the patient’s last name
cally requested by the user to complete an elementary process (e.g., SMI for Smith)
such as validations, algorithms, or calculations and reading NN The first two letters of the patient’s first name
(e.g., JO for John)
4 Refer to IFPUG, Function Point Counting Practices Manual (CPM), NN A unique two-digit sequence number (starting
Release 4.3, Part 2, page 7-13.
5 Note: Calculated fields are a form of derived data, although derived
with 01)
data can also be created without performing a calculation. 10. Behavior of the application is altered. For example,
6 Refer to IFPUG, Function Point Counting Practices Manual (CPM), the behavior of the elementary process of paying
Release 4.3, Part 2, page 7-5. employees is altered when a change is made to pay
46    Certified Function Point Specialist Examination Guide

Table 5.1
Summary of Processing Logic Used by EIs, EOs, and EQs
Transactional Functional Type

Form of Processing Logic EI EO EQ

Validations are performed. c c c

Mathematical calculations are performed. c m* n

Equivalent values are converted. c c c

Data is filtered and selected by using specified criteria to compare c c c


multiple sets of data.

Conditions are analyzed to determine which are applicable. c c c

At least one ILF is updated. m* m* n

At least one ILF or EIF is referenced. c c m

Data or control information is retrieved. c c m

Derived data is created. c m* n

Behavior of the application is altered. m* m* n

Information is prepared and then presented outside the boundary. c m m

Data or control information entering the boundary of the m c c


application is accepted.

A set of data is sorted or arranged. c c c

Note: c, the function type can perform the form of processing logic, but it is not mandatory; m, it is mandatory
that the function type perform the form of processing logic; m*, it is mandatory that the function type
perform at least one of these (m*) forms of processing logic; n, the function type cannot perform the
form of processing logic.

them every other Friday vs. on the 15th and the last One elementary process may include multiple alternatives
day of the month, resulting in 26 pay periods per or occurrences of the above actions (e.g., validations, filters,
year vs. 24. resorts).
11. Prepare and present information outside the bound-
ary. For example, a list of employees is formatted
and displayed for the user.
12. Capability exists to accept data or control information
Summary of Processing Logic
that enters the boundary of the application. For exam- Used by EIs, EOs, and EQs7
ple, a user enters information to add a customer Table 5.1 summarizes which forms of processing logic may
order to the application. be performed by EIs, EOs, and EQs. For each transactional
13. Sorting or arranging a set of data. This form of pro- function type, certain types of processing logic must be per-
cessing logic does not impact the identification formed to accomplish the primary intent of that type. The
of the type or contribute to the uniqueness of an 13 actions do not by themselves identify unique elementary
elementary process; that is, the orientation of the processes.
data does not constitute uniqueness. For example, a
list of employees can be sorted in either alphabetical
or location order, or, on an order entry screen, the
order header information is arranged at the top of 7 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
the screen and the order details are placed below. Release 4.3, Part 2, page 7-8.
Elementary Process    47

Further Reading 3. Classify each elementary process as an external


input (EI), external output (EO), or an external
The rules included in this chapter have been extracted from inquiry (EQ) based on:
Part 2, Chapter 7, of the IFPUG Function Point Counting A. The smallest unit of activity that is meaningful
Practices Manual (CPM), Release 4.3. A review of these chap- to the user
ters is recommended before taking the CFPS exam. B. Its primary intent
C. Its processing logic
D. None of the above
Exam Guidance
4. Which of the following can be a primary intent of a
NN Read and study this chapter, including all related transactional function?
examples. A. Altering the behavior of the application
NN Know the definition of elementary process, how to B. Maintaining one or more ILFs
identifying each elementary process, how to determine C. Presenting information to the user
unique elementary processes, and how to classify each D. All of the above
elementary process.
NN Know the definition of processing logic and the require- 5. The smallest unit of activity that is meaningful to
ments they may include, and be familiar with Table 5.1. the user is the definition of:
NN Familiarize yourself with the related examples in this A. Elementary process
chapter as well as CPM 4.3, Part 2, Chapter 7 (Measure B. Primary intent
Transactional Functions), because it is unlikely that you C. Processing logic
will have time to look up everything during the exam. D. Derived data
NN Complete the practice questions in this chapter, and
6. Which of the following can have a primary intent of
go back to determine why you answered any question
maintaining one or more ILFs?
incorrectly.
A. External input
B. External output
C. External inquiry
Sample Exam Questions D. A and B
1. When compared to an elementary process (EP) 7. Classify an elementary process as an EQ if it:
already identified, count two similar EPs as the A. Has a primary intent of presenting informa-
same elementary process if they: tion to the user
A. Require the same set of DETs and require the B. References a data function to retrieve data or
same set of FTRs control information
B. Require the same set of FTRs and require the C. Does not satisfy the criteria to be classified as
same set of processing logic to complete the an EO
elementary process D. All of the above
C. Require the same set of DETs, require the
same set of FTRs, and require the same set of 8. Processing logic is defined as:
processing logic to complete the elementary A. The smallest unit of activity that is meaningful
process to the user
D. Require the same set of processing logic to B. The functionality that will be included in a
complete the elementary process particular function point count
C. Requirements specifically requested by the
2. Identify an elementary process by composing or user to complete an elementary process
decomposing the Functional User Requirements D. The ability to modify data through an elemen-
into the smallest unit of activity that satisfies which tary process
of the following?
A. Constitutes a complete transaction 9. Converting equivalent values is a form of processing
B. Is meaningful to the user logic that can be done by which of the following
C. Is self-contained and leaves the business of the transactions?
application being counted in a consistent state A. External input
D. All of the above B. External output
48    Certified Function Point Specialist Examination Guide

C. External inquiry 12. Data created by transforming existing data to create


D. All of the above additional data is considered to be:
A. Processing logic
10. Which of the following forms of processing logic
B. Control information
cannot be performed by an external inquiry?
C. External input
A. Update an ILF
D. Derived data
B. Sort or arrange a set of data
C. Analyze conditions to determine which are 13. Presenting information to a user can be done by
applicable which of the following transaction types:
D. Validations A. External input
B. External output
11 Processing logic:
C. External inquiry
A. Is any of the requirements specifically requested
D. All of the above
by the user to complete an elementary process
B. Can include validations, algorithms, or
calculations
C. Can include reading or maintaining a file
D. All of the above
Chapter 6

Transactional Functions

Introduction Definitions and Primary Intent1


As presented in Chapter 2, the following are steps in the External Input
function point counting procedure:
An external input (EI) is an elementary process that processes
data or control information sent from outside the boundary.
NN Gather the available documentation.
The primary intent of an EI is to maintain one or more Internal
NN Determine counting scope and boundary and identify
Logical Files (ILFs) and/or alter the behavior of the system.
Functional User Requirements.
NN Measure data functions.
NN Measure transactional functions. External Output
NN Calculate the functional size. An external output (EO) is an elementary process that sends
NN Document and report. data or control information outside the application’s boundary
and includes additional processing beyond that of an external
The data functions relate to the logical data stored and inquiry. The primary intent of an external output is to pres-
available for update and retrieval. The transactional func- ent information to a user through processing logic other than
tions—external inputs (EIs), external outputs (EOs), and or in addition to the retrieval of data or control information.
external inquiries (EQs)—perform the processes of storing, The processing logic must contain at least one mathematical
updating, retrieving, and displaying the logical data. The spe- formula or calculation, create derived data, maintain one or
cific rules and guidelines for EIs, EOs, and EQs are discussed more ILFs, and/or alter the behavior of the system.
in this chapter, but remember the concept of an elementary
process (EP) as presented in Chapter 5, because a transaction
must be confirmed to be an EP before it can be classified as External Inquiry
an EI, EO, or EQ. An external inquiry (EQ) is an elementary process that sends
data or control information outside the boundary. The pri-
mary intent of an external inquiry is to present information to
What They Are: External Inputs, a user through the retrieval of data or control information. The
processing logic contains no mathematical formula or calcula-
External Outputs, and External Inquiries tion and creates no derived data. No ILF is maintained during
A transactional function is an elementary process that pro- the processing, nor is the behavior of the system altered.
vides functionality to the user to process data. A transac-
tional function is an external input, external output, or 1 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
external inquiry. Release 4.3, Part 2, page 7-3.

49
50    Certified Function Point Specialist Examination Guide

Summary of the Functions Table 6.1  Summary of the Functions Performed by EIs,
EOs, and EQs
Performed by EIs, EOs, and EQs2
Transactional
The main difference between the transactional function Function Type
types is their primary intent. Table 6.1 summarizes functions
that may be performed by each transactional function type Function EI EO EQ
and specifies the primary intent of each. Alter the behavior of the system PI F N/A

Maintain one or more ILFs PI F N/A

Definitions for Embedded Terms3 Present information to a user F PI PI

The following includes definitions necessary to determine Note: F, a function of the transactional function type but is
EIs, EOs, and EQs. Some definitions have been provided in not the primary intent and is sometimes present;
N/A, the function is not allowed by the transactional
earlier chapters but are repeated here for your reference. function type; PI, the primary intent of the transac-
tional function type. Only an EO, and not an EQ, may
Control Information perform the functions of altering the behavior of the
system or maintaining one or more ILFs when per-
Control information influences an elementary process by forming the primary intent of presenting information
specifying what, when, or how data is to be processed. to the user.

Elementary Process
Summary of Processing Logic
An elementary process is the smallest unit of activity that is
meaningful to the user. Used by EIs, EOs, and EQs
Table 6.2 summarizes which forms of processing logic may
Maintain be performed by EIs, EOs, and EQs. For each transactional
function type, certain types of processing logic must be per-
The term maintain refers to the ability to add, change, or formed to accomplish the primary intent of that type, and
delete data through an elementary process. Examples include, certain types of processing can or cannot be performed. The
but are not limited to, add, change, delete, populate, revise, 13 actions do not by themselves identify unique elementary
update, assign, and create. processes; each of the 13 actions was described in depth and
with examples in Chapter 5.
Meaningful
The activity is user recognizable and satisfies a Functional
User Requirement. Rules for Counting Transactions
Transactional Function Counting Procedures
User
The transactional function counting procedures include the
A user is any person or thing that communicates or interacts following steps (see Table 6.3):
with the software at any time.
1. Identify each elementary process.
Processing Logic 3 2. Determine unique elementary processes.
3. Classify each elementary process.
Processing logic is defined as any of the requirements specifi-
cally requested by the user to complete an elementary pro- These steps were described in detail in Chapter 5. Refer to
cess such as validations, algorithms, or calculations, as well Chapter 5 and the Function Point CPM 4 for the rules and
as reading or maintaining a data function. definitions of elementary process. Step 3 is repeated here in
this chapter for clarity purposes.
2 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 7-4.
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 4 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 7-5. Release 4.3, Part 2, page 7-10.
Transactional Functions    51

Table 6.2  Summary of Processing Logic Used by EIs, EOs, and EQs
Transactional
Functional Type

Form of Processing Logic EI EO EQ

1. Validations are performed. c c c

2. Mathematical calculations are performed. c m* n

3. Equivalent values are converted. c c c

4. Data is filtered and selected by using specified criteria to compare multiple sets c c c
of data.

5. Conditions are analyzed to determine which are applicable. c c c

6. At least one ILF is updated. m* m* n

7. At least one ILF or EIF is referenced. c c m

8. Data or control information is retrieved. c c m

9. Derived data is created. c m* n

10. Behavior of the application is altered. m* m* n

11. Information is prepared and then presented outside the boundary. c m m

12. Data or control information entering the boundary of the application is accepted. m c c

13. A set of data is sorted or arranged. c c c

Note: c, the function type can perform the form of processing logic, but it is not mandatory; m, it is mandatory that the func-
tion type perform the form of processing logic; m*, it is mandatory that the function type perform at least one of
these (m*) forms of processing logic; n, the function type cannot perform the form of processing logic.

Table 6.3  Transactional Function Counting Steps NN Altering the behavior of the application
NN Maintaining one or more Internal Logical Files (ILFs)
Step Action
NN Presenting information to the user
1. Identify each elementary process.
Classify the process as an EI if it has a primary intent of
2. Determine unique elementary processes. either of the following:
3. Classify each transactional function as an
external input (EI), external output (EO), or an
NN Maintaining one or more ILFs.
external inquiry (EQ). NN Altering the behavior of the application.

4. Determine the functional complexity for each and


transactional function and its contribution to NN It includes processing logic to accept data or control infor-
functional size. mation that enters the boundary of the application.

The following transactions could be counted as EIs:


Step 3. Classify Each Elementary Process5
Classify each elementary process as an external input (EI), NN Transactional data that is used to maintain an ILF, such
external output (EO), or an external inquiry (EQ) based on as reporting a sale, entering a lost item, establishing a
its primary intent. The primary intent of the elementary pro- scheduled appointment, transferring an employee, or
cess shall be identified as one of the following: entering an insurance form
NN Input that provides control information, such as seis-
mological sensors reporting earth movement
5 Refer to IFPUG, Function Point Counting Practices Manual (CPM), NN Messages from other applications that require
Release 4.3, Part 2, page 7-13. processing
52    Certified Function Point Specialist Examination Guide

1.0 NN Mathematical calculations are performed.


ON-LINE
DATA NN One or more ILFs are updated.
Transaction ADD
ENTRY EMPLOYEE NN Derived data is created.6
INFORMATION NN The behavior of the application is altered.
Multi-Screen
“Add Employee” The following transactions could be counted as EOs:
EMPLOYEE INFO FILE
NN Reports that require the use of algorithms or calcu-
lations (e.g., monthly checking account statements or
Figure 6.1  EI add employee. weekly sales reports)
NN Data transfers, files, and/or messages sent to other
applications when data is calculated or derived or an
NN Transaction files from other applications which may
update occurs as a part of the elementary process (e.g.,
include multiple transactions of a different type that
a file of transactions sent from the accounts receivable
require separate and unique processing (e.g., cash sales
application to the separately maintained general ledger
and credit card transactions, in which case there would
application, when some totals are calculated or a data-
be multiple EIs)
base entry occurs within accounts receivable to indi-
NN Physical data that initiates processing, such as the
cate which transactions were sent—an EO to accounts
temperature
receivable and one or more EIs to general ledger)
NN Maintenance of any ILF, including user-maintained
NN A check created that simultaneously updates the check
help, any message file, parameters, etc.
record with the check number (this is one elementary
Be careful not to count the following as EIs: process)
NN Derived or calculated information displayed on a screen
NN Reference Data read by the application from data or passed in a file to another application
stored in another application but not used to maintain NN Graphical displays, such as bar charts and pie charts,
an ILF in the measured application (this is typically when they require calculations
recognized as an EIF) NN A triangulated target location, returned to the user or
NN The input parameters of either an inquiry or an output sent to another application within the weapon system,
NN Menu screens used for navigation or selection and for a weapon
which do not maintain an ILF NN Notification to a business manager that a credit card
NN Logon screens that facilitate user entry into an has been reported missing with the calculated totals of
application current charges
NN Multiple methods of invoking the same logic (e.g., two
action keys that perform the same function or the same Be careful not to count the following as EOs:
transaction on multiple screens should be counted only
once) NN Identical reports with different data values, such as a
NN Point and click of data on a screen in order to fill fields department report
on the screen or to move data NN Reports without formulas, calculations, or derived data
NN Refresh or cancel screen data and which do not maintain an ILF within the applica-
NN Responses to messages that request a user to confirm a tion sending the data (most likely counted as EQs)
delete or any other transaction NN Summary fields contained on a detail report (detail
NN Data passed between on-line and batch within the report is the EO)
same application; it does not cross the application NN Files sent to other applications that have no formu-
boundary las, calculations, or derived data and do not maintain
NN Data passed between the client and server within the an ILF within the application sending the data (most
same application; it does not cross the application likely counted as EQs)
boundary NN Refresh or cancel screen data (not counted)
NN Reference Data read by another application from data
Figure 6.1 provides an example of adding an employee, a stored in the application being measured (the data is
process that would be recognized as an EI. not processed as an EO by the measured application)
Classify the process as an EO if it has a primary intent
of presenting information to the user, and it includes at least 6 Note: Calculated fields are a form of derived data, although derived
one of the following forms of processing logic: data can also be created without performing a calculation.
Transactional Functions    53

EMPLOYEE INFO FILE


NN Reports generated on a periodic basis that do not con-
tain formulas, calculations, or derived data and do not
maintain an ILF
External Output NN Return of maintained system data, parameters, and
1.0
Summary LIST setup unless computed
END USER EMPLOYEES NN Logon screens that provide application-specific secu-
WITH
TOTALS rity, unless the application requires a tracking of who
used the system and for how long, in which case it
would be an EO
Figure 6.2  EO list employees with totals. NN Each level of help (e.g., system, field, or screen when
retrieved from an ILF/EIF)
NN Retrievals of maintained data via electronic data inter-
NN Help (most likely counted as low EQs)
face or phone (using tones)
NN Logoff
NN Files sent to other applications that do not have formu-
NN Multiple methods of invoking the same output process
las, calculations, or derived data and do not maintain
NN Error messages that result from an edit or validation of
an ILF within the application sending the data (it may
an EI or the request side of an EO or EQ
be an EI to the receiving application)
NN Confirmation messages that acknowledge that the data
NN Retrieval of mail from mailbox
has been processed
NN List boxes or point and click on a screen in order to
NN Messages that request a user to confirm a delete or any
return maintained data from an ILF/EIF
other transaction
NN Identical data sent to more than one application
NN Ad hoc reports that the user directs and controls through Be careful not to count the following as EQs:
the use of a language such as SQL or FOCUS and con-
sequently are nonfunctional or technical solutions NN Multiple methods of invoking the same logic (e.g., two
NN Data passed between on-line and batch within the action keys that perform the same function or the same
same application; it does not cross the application transaction on multiple screens—counted only once)
boundary NN Inquiries that can be accessed from multiple areas/
NN Data passed between client and server within the screens of an application (counted only once)
same application; it does not cross the application NN Menu screens used for navigation or selection and
boundary which do not retrieve maintained data (not counted)
NN Logon screens that facilitate user entry into an applica-
Figure 6.2 provides the example of a list of employees tion but do not invoke security (not counted)
with totals that would be recognized as an EO. NN Derived or calculated data vs. retrieval of data (counted
Classify the process as an EQ if it has a primary intent of as an EO)
presenting information to the user, and NN Resorting or rearrangement of a set of data without
other processing logic
NN Responses to messages that request a user to confirm
NN It references a data function. data
NN It does not satisfy the criteria to be classified as an NN Error and/or confirmation messages (counted as part of
EO. the transaction that generates the message)
NN Data passed between on-line and batch processes
The following transactions could be counted as EQs: within the same application; it does not cross the appli-
cation boundary
NN Transactional data retrieved from one or more ILFs NN Data passed between the client and server within the
or EIFs and displayed (e.g., an appointment, an item same application; it does not cross the application
description, employee data, payment data) boundary
NN User functions such as view, lookup, display, browse, NN Data not retrieved from maintained data (e.g., hard-
print coded data, which is not counted)
NN Implied inquiries (retrievals of data prior to a change or
delete function), provided that the inquiry can be used Figure 6.3 provides an example of the display of employee
as a stand-alone process and that it is not a duplication information without calculations that would be recognized
of another previously counted EQ as an EQ.
54    Certified Function Point Specialist Examination Guide

EMPLOYEE INFO FILE


NN Count only one DET per transactional function for
the ability to send an application response message
even if there are multiple messages.
External Inquiry Selected
Employee 1.0 NN Count only one DET per transactional function for
Info DISPLAY
the ability to initiate actions even if there are multiple
END USER means to do so.
EMPLOYEE
INFO
Do not count the following items as DETs:

Figure 6.3  Display employee information without NN Literals, such as report titles, screen or panel identifiers,
calculations. column headings, and attribute titles
NN Application-generated stamps such as date and time
attributes
Step 4. Determine the Functional Complexity NN Paging variables, page numbers, and positioning infor-
for Each Transactional Function and mation (e.g., Rows 37 to 54 of 211)
Its Contribution to Functional Size7 NN Navigation aids, such as the ability to navigate within
a list using “previous,” “next,” “first,” “last,” and their
The number of EIs, EOs, and EQs and their relative functional
graphical equivalents
complexities determine the contribution of the transactional
NN Attributes generated within the boundary by a trans-
functions to the functional size. Assign each identified EI, EO,
actional function and saved to an ILF without exiting
and EQ a functional complexity based on the number of File
the boundary
Types Referenced (FTRs) and Data Element Types (DETs).
NN Attributes retrieved or referenced from an ILF or EIF
for participation in the processing without exiting the
FTR Definition boundary
A File Type Referenced (FTR) is a data function read and/or
maintained by a transactional function. A FTP includes:
NN An Internal Logical File (ILF) read or maintained by a EI Complexity and
transactional function Contribution Guidelines8
NN An External Interface File (EIF) read by a transactional To determine the complexity and contribution of external
function inputs, use the following guidelines.

FTR Rule
FTR Guidance for an EI
One FTR shall be counted for each unique data function
that is accessed (read from and/or written to) by the transac- Recognizing that an EI must either update an ILF or con-
tional function. trol the behavior of the application, the following guidance
applies when counting FTRs:
DET Definition
NN Count an FTR for each ILF maintained.
A Data Element Type (DET) is a unique, user-recognizable, NN Count an FTR for each ILF or EIF read.
nonrepeated attribute. NN Count only one FTR for each ILF that is both main-
tained and read.
DET Rules
Review everything that crosses (enters and/or exits) the DET Guidance for an EI
boundary:
Recognizing that an EI must either update an ILF or con-
NN Count one DET for each unique user-recognizable, trol the behavior of the application, the following guidance
nonrepeated attribute that crosses (enters or exits) the applies when counting DETs.
boundary during the processing of the transactional Review everything that crosses (enters and/or exits) the
function. boundary:
7 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 8 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 7-14. Release 4.3, Part 2, page 7-15.
Transactional Functions    55

NN Count one DET for each unique user-recognizable, EO/EQ Complexity and
nonrepeated attribute that crosses (enters and/or exits)
the boundary during the processing of the transac-
Contribution Guidelines9
tional function. To determine the complexity and contribution of external
NN Count only one DET per transactional function for outputs and external inquiries, use the following guidelines.
the ability to send an application response message
even if there are multiple messages. FTR Guidance for an EQ
NN Count only one DET per transactional function for
the ability to initiate actions even if there are multiple Recognizing that an EQ cannot update an ILF, when count-
means to do so. ing FTRs for EQs:

NN Count an FTR for each ILF or EIF read.


Do not count the following items as DETs:

NN Literals, such as report titles, screen or panel identifiers,


FTR Guidance for an EO
column headings, and attribute titles Recognizing that an EO can update an ILF, the following
NN Application-generated stamps such as date and time additional guidance applies when counting FTRs for EOs:
attributes
NN Paging variables, page numbers, and positioning infor- NN Count an FTR for each ILF or EIF read.
mation (e.g., Rows 37 to 54 of 211) NN Count one FTR for each ILF maintained.
NN Navigation aids, such as the ability to navigate within NN Count only one FTR for each ILF that is both main-
a list using “previous,” “next,” “first,” “last,” and their tained and read.
graphical equivalents
NN Attributes generated within the boundary by a trans- Shared DET Guidance for EOs and EQs
actional function and saved to an ILF without exiting
the boundary The following guidance applies when counting DETs for
NN Attributes retrieved or referenced from an ILF or EIF both EOs and EQs.
for participation in the processing without exiting the Review everything that crosses (enters and/or exits) the
boundary boundary:

NN Count one DET for each unique user-recognizable,


Figure 6.4 provides an example of determining the complex- nonrepeated attribute that crosses (enters and/or exits)
ity and contribution of the EI to add an employee previously the boundary during the processing of the transac-
recognized in Figure 6.1. tional function.
The add employee process requires completion of all three NN Count only one DET per transactional function for
tabs. Once the third tab is completed, the SAVE button is the ability to send an application response message
enabled. Validity checks are done upon saving: even if there are multiple messages.
NN Count only one DET per transactional function for
NN If there are no errors, Employee ID is generated, the the ability to initiate actions even if there are multiple
data is saved on the Employee ILF, and a success mes- means to do so.
sage is returned.
NN If there are errors, no data is saved and error messages Do not count the following items as DETs:
are returned.
NN Literals, such as report titles, screen or panel identifiers,
column headings, and attribute titles
The EI has an input side with a potential 23 DETs and NN Application-generated stamps such as date and time
an output side with a potential of two additional DETs attributes
(Employee ID is generated if add is successful plus a success NN Paging variables, page numbers, and positioning infor-
or error message). One FTR is referenced. mation (e.g., Rows 37 to 54 of 211)
Five drop-down boxes are present on the three screens. NN Navigation aids, such as the ability to navigate within
The dependent relationship drop-down box contains Static a list using “previous,” “next,” “first,” “last,” and their
Data, thus it is not counted as an EQ. The other four boxes graphical equivalents
retrieve data from an ILF or EIF and thus are counted once
per application as EQs. The fields themselves are DETs for 9 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
the EI. Release 4.3, Part 2, page 7-17.
56    Certified Function Point Specialist Examination Guide

Screen 1 of 4

Screen 2 of 4

Figure 6.4  Determining complexity and contribution of EI.

NN Attributes generated within the boundary by a transac- Key “ID” on the output side becomes a DET on the input side
tional function and saved to an ILF without exiting the of View Employee Details; consequently, there are two DETs
boundary. Note: An EQ by rule cannot update an ILF, on the input side of the EQ (Employee and Enter). The output
so this rule would not apply. side of View Employee Details is made up of three tabs and 21
NN Attributes retrieved or referenced from an ILF or EIF additional DETs. The transaction references three FTRs.
for participation in the processing without exiting the
boundary.

Figure 6.5 provides an example of determining the com-


Determination of Complexity
plexity and contribution of the EO that provides a list of and Contribution10
employees with totals, as previously recognized in Figure 6.2. The functional complexity of each transactional function shall
Find Employee returns a list with a total. The input side has be determined using the steps shown in Table 6.4. In our three
two DETs (Employee Last Name, Find), and the output side examples, we had one EI of average complexity and a contri-
has an additional four DETs. The Primary Key (PK) is ID. bution of four function points, one EO of average complexity
The transaction references two FTRs. Figure 6.6 provides an and a contribution of five function points, and one EQ of
example of determining the complexity and contribution of high complexity and a contribution of six function points.
the EQ to display employee information without totals, as pre-
viously recognized in Figure 6.3. To look at the details for an
employee, select the correct name on the output side of the Refer to IFPUG, Function Point Counting Practices Manual (CPM),
10

EO demonstrated in Figure 6.3 and hit enter. The Primary Release 4.3, Part 2, pages 7-19 and 7-20.
Transactional Functions    57

Screen 3 of 4

Screen 4 of 4

Figure 6.4 (cont.)  Determining complexity and contribution of EI.

Figure 6.5  Determining complexity and contribution of EO.


58    Certified Function Point Specialist Examination Guide

Screen 1 of 3

Screen 2 of 3

Screen 3 of 3

Figure 6.6  Determining complexity and contribution of EQ Display Employee Information without Calculations.

Further Reading Exam Guidance


The rules included in this chapter have been extracted from NN Read and study this chapter, including all related
Part 2, Chapter 7, and Part 4, Chapter 2, of the IFPUG examples.
Function Point Counting Practices Manual (CPM), Release NN Memorize the various definitions (e.g., EI, EO, EQ,
4.3. A review of these chapters is recommended before tak- DET, FTR).
ing the CFPS exam. NN Memorize the primary intent for EI, EO, and EQ.
Transactional Functions    59

Table 6.4  Determination of Complexity and Contribution for EIs, EOs, and EQs
Step Action

1. To identify and count the FTRs and DETs, the complexity and contribution
counting rules that begin on page 7-14 in Part 2 of the IFPUG Function
Point CPM, Release 4.3, should be used.

2. The functional complexity of each transactional function is determined


using the number of FTRs and DETs in accordance with the following
matrices:

External Inputs

1 to 4 DETs 5 to 15 DETs 16 or more DETs

0 to 1 FTRs Low Low Average

2 FTRs Low Average High

3 or more FTRs Average High High

External Outputs and External Inquiries

1 to 5 DETs 6 to 19 DETs 20 or more DETs

0 to 1 FTRs Low Low Average

2 to 3 FTRs Low Average High

4 or more FTRs Average High High

3. The functional size of each transactional function is determined using the


type and functional complexity in accordance with the tables below.

External Inputs and External Inquiries

Functional Complexity Rating Function Points

Low 3

Average 4

High 6

External Outputs

Functional Complexity Rating Function Points

Low 4

Average 5

High 7

NN Memorize the DET and FTR guidance for EI, EO, Transactional Functions), and Part 4, Chapter 2
and EQ. (Transactional Function Counting Examples), because
NN Memorize the various embedded terms. it is unlikely that you will have time to look up every-
NN Memorize the transactional function counting proce- thing during the exam.
dures steps. NN Complete the practice questions in this chapter, and
NN Memorize or at least be extremely familiar with the go back to determine why you answered any question
complexity and contribution matrices. incorrectly.
NN Familiarize yourself with the related examples in this
chapter as well as CPM 4.3, Part 2, Chapter 7 (Measure
60    Certified Function Point Specialist Examination Guide

Sample Exam Questions D. To hold data maintained through one or more


elementary processes of the application being
1. To maintain one or more ILFs and/or alter the measured
behavior of the system is the primary intent of an:
7. DET guidance for an external input includes which
A. External input
of the following:
B. External output
A. Count one DET for each unique user-recog-
C. External inquiry
nizable, nonrepeated attribute that crosses
D. B and C
(enters and/or exits) the boundary during the
2. A File Type Referenced (FTR) can be: processing of the transactional function
A. An Internal Logical File read by a transactional B. Count only one DET per transactional func-
function tion for the ability to send an application
B. An Internal Logical File maintained by a trans- response message even if there are multiple
actional function messages
C. An External Interface File read by a transac- C. Count only one DET per transactional func-
tional function tion for the ability to initiate actions even if
D. All of the above there are multiple means to do so
D. All of the above
3. FTR guidance for an external input includes which
8. DET guidance for an external output includes
of the following:
which of the following:
A. Count an FTR for each ILF maintained
A. If a DET both enters and exits the boundary,
B. Count an FTR for each ILF or EIF read dur-
count it twice for the elementary process
ing the processing of the external input
B. Do not count literals such as report titles,
C. Count only one FTR for each ILF that is both
screen or panel identifiers, column headings,
maintained and read
and attribute titles as DETs
D. All of the above
C. Count paging variables or system-generated
4. The primary intent of an external inquiry is: stamps as one DET
A. To maintain an ILF or alter the behavior of the D. All of the above
system 9. Count only one DET per transactional function for
B. To present information to a user through the the ability to send an application response message
retrieval of data or control information even if there are multiple messages is a DET guid-
C. To hold data referenced through one or more ance for which type(s) of transaction(s):
elementary processes within the boundary A. External output
D. To hold data maintained through one or more B. External input
elementary processes of the application being C. External inquiry
measured D. All of the above
5. Transactional functions include which of the 10. Count only one DET per transactional function for
following: the ability to initiate actions even if there are mul-
A. Internal Logical Files tiple means to do so is a DET guidance for which
B. External Interface Files type(s) of transaction(s):
C. External inquiries A. External output
D. B and C B. External input
C. External inquiry
6. The primary intent of an external output is:
D. All of the above
A. To maintain an ILF or alter the behavior of the
system 11. Which of the following is used to determine the
B. To present information to a user through pro- complexity of a transaction:
cessing logic other than, or in addition to, the A. FTRs and RETs
retrieval of data or control information B. DETs and RETs
C. To hold data referenced through one or more C. FTRs and DETs
elementary processes within the boundary D. FTRs, DETs, and RETs
Transactional Functions    61

12. Do not count attributes generated within the bound- 19. The main difference between the transactional
ary by a transactional function and saved to an ILF function types is:
without exiting the boundary is a DET guidance of A. Their elementary process
which type(s) of transaction(s): B. Their primary intent
A. External input C. Their processing logic
B. External output D. None of the above
C. External inquiry
D. All of the above 20. An elementary process that sends data or control
information outside the application’s boundary
13. Which of the following is true for an external and includes additional processing beyond that of
inquiry: an external inquiry is what type(s) of transactional
A. Count one DET for each unique user-recogniz- function(s):
able, nonrepeated attribute that crosses (enters A. External output
and/or exits) the boundary during the process- B. External input
ing of the transactional function C. External inquiry
B. Count literals as DETs D. A and C
C. Count paging variables or system-generated
stamps as DETs 21. An elementary process that processes data or con-
D. B and C trol information sent from outside the boundary is
what type(s) of transactional function(s):
14. What is the total number of function points for 5 A. External output
high EIs, 2 low EOs, 3 average EIs, and 2 average B. External input
EQs: C. External inquiry
A. 48 D. A and C
B. 63
C. 61 22. Which is true of transactional functions:
D. 58 A. They are defined as external inputs, external
outputs, and external inquiries
15. A low EO is worth how many function points:
B. They are defined as Internal Logical Files and
A. 3
External Interface Files
B. 4
C. They are elementary processes that provide
C. 5
functionality to the user to process data
D. 6
D. A and C
16. A low EQ is worth how many function points:
A. 3 23. Processing logic is defined as:
B. 4 A. The smallest unit of activity that is meaningful
C. 5 to the user
D. 6 B. The functionality that will be included in a
particular function point count
17. An average EI is worth how many function points: C. Requirements specifically requested by the
A. 3 user to complete an elementary process
B. 4 D. The ability to modify data through an elemen-
C. 5 tary process
D. 6
24. Preparing and presenting information outside of the
18. What is the total number of function points for 2 boundary can be done by which of the following
average EIs, 1 low EIF, and 2 high ILFs: transactions:
A. 44 A. External input
B. 43 B. External output
C. 23 C. External inquiry
D. 41 D. All of the above
62    Certified Function Point Specialist Examination Guide

25. Converting equivalent values is a form of processing 28. Which of the following is true about the function
logic that can be done by which of the following “altering the behavior of the system”:
transactions: A. It is the primary intent of an EI
A. External input B. It is the primary intent of an EQ
B. External output C. It is not allowed by an EO
C. External inquiry D. A and C
D. All of the above
29. Processing logic:
26. Which of the following forms of processing logic A. Includes any of the requirements specifically
cannot be performed by an external inquiry: requested by the user to complete an elemen-
A. Update an ILF tary process
B. Resort or rearrange a set of data B. Can include validations, algorithms, or
C. Analyze conditions to determine which are calculations
applicable C. Can include reading or maintaining a data
D. Validations function
D. All of the above
27. Which of the following is FTR guidance for both
external outputs and external inquiries: 30. Data created by transforming existing data to create
A. Count one FTR for each ILF maintained additional data is considered to be:
B. Count an FTR for each ILF or EIF read A. Processing logic
C. Count only one FTR for each ILF that is both B. Control information
maintained and read C. External input
D. None of the above D. Derived data
Chapter 7

Shared Data

Introduction NN Reference or utilize the data to complete a transaction


being processed within the application receiving or
Internal Logical Files (ILFs) and External Interface Files (EIFs) accessing the data.
are user-identifiable groups of logically related data or control NN Maintain the Internal Logical Files within the applica-
information. ILFs are maintained within the boundary of the tion receiving or accessing the data.
application being measured. EIFs are read and/or referenced
only within the boundary of the application being measured, but
they are maintained within a different application boundary.
An external input (EI) is an elementary process that Methods of Sharing Data
processes data or control information sent from outside the
boundary to maintain one or more ILFs and/or to alter the Shared data, used by elementary processes within an applica-
behavior of the system. An external output (EO) is an ele- tion to maintain data on an Internal Logical File or to pres-
mentary process that sends data or control information out- ent data to the user, may be transferred via:
side the application’s boundary to present information to a
user through processing logic other than or in addition to the NN On-line screens (e.g., screen scraping)
retrieval of data or control information. An external inquiry NN Direct access of data files from other applications
(EQ) is an elementary process that sends data or control NN Transferred files
information outside the boundary to present information to NN On-line real-time information requests
a user through the retrieval of data or control information. NN Web applications
This chapter provides guidelines and examples of shared
data regarding what should be measured when we reference
or utilize data from a logical file to complete a transaction
being processed within the application receiving or access- Common Terms2
ing the data or when we maintain the Internal Logical Files The following common terms are utilized in this chapter to
within the application receiving or accessing the data. describe physical implementation techniques:

Copy
Shared Data The Institute of Electrical and Electronic Engineers (IEEE)
Applications that share data with other applications:1 definition:

1 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 2 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 3-2. Release 4.3, Part 3, page 3-3.

63
64    Certified Function Point Specialist Examination Guide

1. To read data from a source, leaving the source data Functional


unchanged, and to write the same data elsewhere
For functional reasons (business requirements), applications
in a physical form that may differ from that of the
share data in the following two scenarios:
source—for example, copying data from a magnetic
disk onto a magnetic tape.
1. Read—Application B physically accesses the data of
2. The result of a copy process as in above—for exam-
Application A.
ple, a copy of a data file.
2. Static image copy—Application A generates an image
copy of a data store that reflects the current state of
File the data at a certain time and remains within its
The IEEE definition: “… a set of related records treated as a boundary.
unit; for example, in stock control, a file could consist of a set
of invoice records.” Nonfunctional

Image For nonfunctional reasons (e.g., performance, security),


Application B must use Application A’s data as shown in the
An exact replication of another object, file, or table that is following four scenarios:
usually created through a utility.
3. Image copy/load, no additional processing logic—
Load Application A generates an image copy with no addi-
The IEEE definition: “… to copy computer instructions or tional processing logic and sends it to Application
data from external storage to internal storage.” B; Application B loads the copy with no additional
processing logic.
Merge 4. Image copy/load one physical table, no additional
processing logic—Application A generates an image
Multiple files with the same data elements consolidated into copy of a subset (e.g., Record Element Type, or
a single file. RET) with no additional processing logic and sends
it to Application B. Application B loads the RET
Refresh with no additional processing logic.
The process of recreating a set of data to make it current with 5. Copy/merge “refresh”—Data stored in two applica-
its source. tions is image copied and merged to form one file
that is loaded into a third application.
6. Screen scraping—Application B accesses Application
Scenarios A’s screen transactions to reference/obtain data to
assist in processing a transaction.
In each of the scenarios presented here, the application
boundary separates the application being measured from
the user domain and/or other independent applications. The Group 24
data functions relate to the logical data stored and available The primary intent is for Application B to maintain its own
for update and retrieval in an application. The transactional data from data maintained by Application A.
functions—EIs, EOs, and EQs—perform the processes of
updates, retrieval, outputs, etc. With shared data, we might 7. Maintain common data store—The same data store is
reference or utilize data to complete a transaction being pro- maintained by two different applications.
cessed within the application receiving or accessing the data, 8. Standard transaction data—The transaction data is
or we might maintain the Internal Logical Files within the provided by the source application.
application receiving or accessing the data.

Group 13 Analysis
The primary intent is for Application B to reference data These scenarios are provided to illustrate different occur-
maintained by Application A. Two areas are addressed: func- rences of shared data along with guidelines on what should
tional and nonfunctional. be measured. Each of the following sections provides a

3 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 4 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 3-5. Release 4.3, Part 3, page 3-6.
Shared Data    65

description of the scenario, a diagram to aid in understand- Table 7.1  Scenario Naming Conventions
ing it, a counting interpretation, a solution, and a counting
Term Description
summary:
Application A Application A is the source application
NN Description —A high-level statement of the example for the reference/transaction data.
being discussed Application B Application A is the receiving
NN Scenario—An example presented that often describes applications for the reference/
a physical activity or transaction regarding files being transaction data.
transferred between two applications (e.g., sharing data)
NN Scenario diagram —Graphic depiction of the sce- File X File X is an ILF counted in Application A.
nario that serves as an aid to map a similar situation File X′ File X′ is an EIF counted in Application B
or scenario (arrows in the diagrams reflect the direc- (X Prime) which is a subset of the File X data.
tion of flow of data, not the application initiating the
interface) File Y File Y is an ILF counted in Application B.
NN Counting interpretation —A counting interpretation for File Z File Z is a data transfer file generated by
the scenario, which includes a discussion of the exam- Application A and read (processed) by
ple and how the example should be counted, as well as Application B.
any assumptions regarding primary intent
Boundaries Application A and Application B
NN Solution diagram—The solution is depicted graphically represent two separate applications and
NN Counting summary —The data and transactional func- thus represent two separate boundaries
tions applicable to each application are summarized in
a table
Diagram
Symbols Used in Diagram Solution See Figure 7.1.
NN above a component type indicates that the compo-
nent is counted for application. Counting Interpretation
NN above a component type indicates that the compo-
nent would not be counted for the scenario. Application A
NN ⇐ in the diagram depicts the direction of flow of data, From Application A’s perspective, there is no requirement
not the application initiating the interface. to send data. The data is available in Application A. No
credit is given to Application A for the transaction per-
Scenario Naming Conventions formed by Application B, although the data file is an ILF
for Application A.
See Table 7.1.
Application B
Scenario 1. Read5 From Application B’s perspective, both logically and physi-
cally, there is only one data store involved. Application B
Description counts the data store that resides in Application A as an
Application B physically accesses Application A’s data to EIF. Application B also counts that data file as a File Type
execute a query. Referenced (FTR) in the transactional function (EI, EO, or
EQ) that uses that data. It is important to note that this

Scenario
Application A Application B
A transaction processed by Application B requires infor-
mation from a data store maintained within Application Transactional
Customer Retrieves Data function that
A. Application B is responsible for accessing the data in Data validates
Application A, and Application B maintains the software for Logical File Customer
that access.
5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 3-7. Figure 7.1  Scenario 1: Read diagram.
66    Certified Function Point Specialist Examination Guide

Table 7.2  Scenario 1: Read Summary


Application A Application B
ILF EIF EI EO/EQ
Transactional
Customer Retrieves Data function that Application A  — — —
Data validates
Logical File EI EO/EQ Customer Application Ba —  — —
EIF
ILF
a Customer is also counted as FTR in transactional function.
Application A’s
Customer File
Counting Interpretation
Application A
Figure 7.2  Scenario 1: Read solution diagram.
From Application A’s perspective, Customer is an Internal
Logical File for Application A. Customer′ is not counted
retrieval is not considered a separate transaction, nor are the
as a separate ILF, nor is it counted as a RET of Customer.
fields retrieved counted as DETs because they are not consid-
Customer′ is just a snapshot of Customer at a particular time.
ered to be crossing the boundary.
Application B
Solution Diagram From Application B’s perspective, Customer is an External
See Figure 7.2. Interface File (EIF) for Application B and is also counted as
an FTR for the transactional function (EI, EO, or EQ) in
Application B. This retrieval is not considered a separate trans-
Counting Summary action, nor are the fields retrieved counted as DETs because
See Table 7.2. they are not considered to be crossing the boundary.

Solution Diagram
Scenario 2. Static Image Copy6 See Figure 7.4.
Description
Counting Summary
Application A generates an image copy of an ILF, which
reflects the current state of the data at a certain time and See Table 7.3.
remains within its boundary.
Application A Application B
Retrieves Data
Scenario Transactional
function that
Customer
In the banking industry, financial transactions are settled Data must
Logical File validate
daily between all financial institutions. Subsequent customer
financial transactions are validated against the customer finan-
cial balance as of that settlement. To support that business
requirement, Application A periodically makes an image copy Figure 7.3  Scenario 2: Static image copy diagram.
of the data from the logical file Customer to Customer Prime
(Customer′) so other applications can reference it. Customer′ Application A Application B
remains within the boundary of Application A. Differences
Transactional
can occur between the current data in Customer and the data function that
Customer Retrieves Data
in Customer′. Application B makes use of Customer′. Data Logical
must validate
Customer against
File EI EO/EQ Customer’ (prime)

Diagram EIF
ILF
See Figure 7.3. Application A’s
Customer File

6 Refer to IFPUG, Function Point Counting Practices Manual (CPM),


Release 4.3, Part 3, page 3-9. Figure 7.4  Scenario 2: Static image copy solution diagram.
Shared Data    67

Table 7.3  Scenario 2: Static Image Copy Application A Application B


Counting Summary
Z
ILF EIF EI EO/EQ
File X Copy of
Application A  — — — Copy/Load File X

Application B a —  — —
a Customer is also counted as FTR in transactional function.
Figure 7.5  Scenario 3: Image copy/load, no additional pro-
cessing logic diagram.
Scenario 3. Image Copy/Load,
No Additional Processing Logic7 Application A EIF/ILF Application B

Description Z
File X Copy of
Application A generates an image copy with no additional Copy/Load File X
processing logic and sends it to Application B; Application B EO EI
loads a copy with no additional processing logic. ILF EIF

Application A’s
File X
Scenario
Application B requires the ability to access file X in
Figure 7.6  Scenario 3: Image copy/load, no additional pro-
Application A for validation and reference only. Application
cessing logic solution diagram.
B requires (e.g., for performance) that Application A send
a complete file to Application B. The existing data store in
Application B is “refreshed” each time with the copy.
time with the copy. Also, no processing logic is performed in
either Application A or Application B.
Diagram
See Figure 7.5. Data Transfer Transactions
Application A Download and Application B Load are part of
Counting Interpretation the technical solution and are not counted in either applica-
tion. In practice, when counting Application A in isolation,
Application A it may not be apparent to the function point analyst that this
From Application A’s perspective, this data transfer is a exists to satisfy a nonfunctional user requirement, and it may
technical solution devised to satisfy the business require- be incorrectly counted as an EO or EQ. Neither application
ment that Application B should have access, for data counts File Z as a transactional function.
retrieval purposes, to the Application A File X. Logically,
the data store remains in Application A. In this case, copy- Files
ing the data store from one application to another is the
solution of a nonfunctional user requirement (e.g., the data Only one logical file is involved. Application A counts File
in Application A is not available when it is required by X as an ILF. Application B counts its copied version of File
Application B). X as an EIF. Neither application counts File Z as a data
function.

Application B
Solution Diagram
The primary intent for Application B is to reference the data
that is logically in Application A. One additional indication See Figure 7.6.
would be that the file in Application B is “refreshed” each
Counting Summary
7 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 3-11. See Table 7.4.
68    Certified Function Point Specialist Examination Guide

Table 7.4  Scenario 3: Image Copy/Load, Application A Application B


No Additional Processing Counting Summary
ILF EIF EI EO/EQ Z
File X File X’
Application A  — — — Copy/Load

Application B —  — —

Figure 7.7  Scenario 4: Image copy/load one physical table,


Scenario 4. Image Copy/Load no additional processing logic diagram.
One Physical Table, No
Additional Processing Logic8 Application A EIF/ILF Application B

Description Z
File X File X’
Application A generates an image copy of a physical table Copy/Load
within a logical file of Application A with no additional pro- EO EI
cessing logic and sends it to Application B. Application B loads ILF EIF
the physical table without any additional processing logic. Application A’s
File X’
Scenario
Application B requires (e.g., for performance) the ability to Figure 7.8  Scenario 4: Image copy/load one physical table,
access a portion of File X in Application A for validation and no additional processing logic solution diagram.
reference only. Application A sends a physical table within a
logical file to Application B. The existing view of that physical Table 7.5  Scenario 4: Image Copy/Load One Physical
table in Application B is “refreshed” each time with the copy. Table, No Additional Processing Counting Summary
ILF EIF EI EO/EQ
Diagram
Application A  — — —
See Figure 7.7.
Application B —  — —

Counting Interpretation
shared data. Therefore, Application A does not count the
Because the data is an image copy of Application A’s data,
copy to Application B as an EO or EQ, and Application B
the File X′ Table is part of the logical File X of Application
does not count an EI. One additional indication would be
A. Application B counts File X′ (with only the data elements
that the file in Application B is “refreshed” each time with
used from the File X′ Table) as an EIF. Logically, the data
the copy.
store remains in Application A. In this case, copying the data
store from one application to another is the solution of non-
functional user requirements (e.g., the data in Application A Files
is not available when Application B requires it). The primary Only one logical file is involved. Application A counts File
intent is for Application B to reference the data that logically X as an ILF. Application B counts its copied table of File X′
exist in Application A. as an EIF.

Transactions
Solution Diagram
Because there are no logical transactional functions in prop-
agating or loading the copy, no transactions are counted for See Figure 7.8.
either application to support the copying and loading of the
Counting Summary
8 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 3-13. See Table 7.5.
Shared Data    69

Application A $SSOLFDWLRQ$

(2

Application C
$SSOLFDWLRQ&
,/)
Merge (,),/)

0HUJH
Application B

$SSOLFDWLRQ% (, (,)

(2

,/)
Figure 7.9  Scenario 5: Copy/merge diagram.

Figure 7.10  Scenario 5: Copy/merge solution diagram.


Scenario 5. Copy/Merge9
Description Table 7.6  Scenario 5: Copy/Merge Counting Summary
Data stored in two applications is image copied and merged to ILF EIF EI EO/EQ
form one file that is loaded into a third application. Multiple
Application A  — — —
files with the same data elements are being consolidated into
a single file. Application B  — — —

Application Ca —  — —
Scenario a Also count as FTR in transactional function.
To avoid the overhead of Application C having to dynami-
cally search the data from both Application A and Application
B, the data is copied from Application A and Application B the usage of the data in Application C must be evaluated.
and then merged into a new data store in Application C. The Because the data is to be used only for reference or validation
user requires that the information from Application A and and it is a complete refresh, it is counted as an EIF. Because
Application B be refreshed daily for validation or reference pur- there is no additional processing logic, no transactions are
poses only. Unload, Merge, and Load utilities are used. There is counted for any application.
no business processing logic involved. This is typically a tech- The data for application C must be evaluated in accor-
nical solution where two applications have different instances dance with CPM 4.3, Part 2, Chapter 6 (Measure Data
of the same logical data required by a third application. Functions), and Part 3, Chapter 2 (Logical Files). Even
though the data comes from two different applications, the
Diagram data elements are exactly the same (see the earlier definition
for “merge”). Therefore, only a single logical file is identified
See Figure 7.9. for Application C as an EIF.

Counting Interpretation
Solution Diagram
Logically, the data stores remain in Applications A and B.
Merging the data into one data store does not by itself create See Figure 7.10.
a new ILF for Application C. Again, the primary intent for

Counting Summary
9 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 3-15. See Table 7.6.
70    Certified Function Point Specialist Examination Guide

Scenario 6. Screen Scraping10 Application B


Application A
Description Transactional
function that
Accessing another application’s screen transactions to refer- reads data
ence/obtain data or to update that application’s data. File X from File X,
Table displayed on
the screen in
Scenario Application A

Application B reads the content of an inquiry screen in


Application A and uses that data in the processing of a trans-
Figure 7.11  Scenario 6: Screen scraping diagram.
actional function.

Diagram Application A EO/EQ Application B

See Figure 7.11. Transactional


function that
reads data
Counting Interpretation File X from File X,
Table displayed on
Logically, Application B is reading Application A’s data. EO/EQ the screen in
ILF System A
Application A has already counted the data displayed as an EQ
or EO (so not counted here), while Application B counts the EIF
data as an EIF. From a transaction perspective, Application
A is passive and counts nothing extra. For Application B, the
screen scraping is part of the elementary process of the trans- Figure 7.12  Scenario 6: Screen scraping solution diagram.
action and is counted as an FTR (EIF), because the data was
originally retrieved from Application A’s ILF. Table 7.7  Scenario 6: Screen Scraping
Counting Summary
Solution Diagram
ILF EIF EI EO/EQ
See Figure 7.12.
Application A  — — —

Counting Summary Application B —  — —

See Table 7.7.

Diagram
Scenario 7. Updating See Figure 7.13.
the Same Data Store11
Description Counting Interpretation
The same data store is maintained by two different applications. An ILF is counted for both applications because each has trans-
actions to maintain it. Applications A and B both maintain data
Scenario in the same ILF. Each application counts only the RETs and
Both Application A and Application B maintain the same DETs maintained, used, or referenced by that application.
ILF. Each has its own unique view of the data. Some com-
mon data elements are common to both, and some are unique Solution Diagram
to each application.
See Figure 7.14.
10 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 3-17.
11 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Counting Summary
Release 4.3, Part 3, page 3-18. See Table 7.8.
Shared Data    71

Boundary different. For example, File X is a Master Material Catalog


Extended while File Y is a local Product List. Processing includes the
Application A Application B following transaction types:

File NN Add
X NN Change
NN Delete

This data transfer is a user business requirement. Both


Figure 7.13  Scenario 7: Updating the same data store Application A and Application B have a requirement to
diagram. access a version of the File X; however, the DETs on the two
files are different. Application A sends data related to changes
Boundary only. Application B reads the records on File Z and based on
Extended
the transaction type initiates different logical processing.
Application A Application B

ILF
Diagram
ILF File
X See Figure 7.15.

Counting Interpretation
If every record written by Application A to the File Z is pro-
cessed in the same way only one EO or EQ is counted. Only
Figure 7.14  Scenario 7: Updating the same data store when there is different logical processing involved might
solution diagram.
you have multiple transactional functions (e.g., EO/EQ)
Table 7.8  Scenario 7: Updating the Same Data Store
within a single file. Application B counts EIs for each unique
Counting Summary maintenance function on File Y. The number of transaction
types on the transaction File Z usually determines the num-
ILF EIF EI EO/EQ ber of these functions, but this is not necessarily the case.
Different logical processing must be demonstrated. Two files
Application A  — — —
are involved. Application A counts File X as an ILF, and
Application B  — — — Application B counts File Y as an ILF. Neither application
counts File Z as a logical file.

Scenario 8. Standard Transaction Data12 Solution Diagram


Description See Figure 7.16.

Transactional data is provided by the source application.


Counting Summary
Scenario See Table 7.9.

Application A produces a transaction file of changes (File Z),


which is loaded into Application B. The records are usually Application A Application B
of more than one type. Application B processes the input
transactions according to the transaction type on the File Z Z
records, prior to updating the records on internal File Y. The File X File Y
Transaction
DETs on Application A File X and Application B File Y are

Refer to IFPUG, Function Point Counting Practices Manual (CPM),


12

Release 4.3, Part 3, page 3-20. Figure 7.15  Scenario 8: Standard transaction data diagram.
72    Certified Function Point Specialist Examination Guide

Table 7.9  Scenario 8: Standard Transaction Data


Application A EIF/ILF Application B Counting Summary

Z ILF EIF EI EO/EQ


File X File Y Application A  — — 
Transaction Data
EO/EQ EI (A,C, D) Application B  —  —
ILF ILF

2. The term “copy” means:


A. To copy computer instructions or data from
Figure 7.16  Scenario 8: Standard transaction data solution
diagram.
external storage to internal storage
B. To read data from a source, leaving the source
data unchanged, and to write the same data
elsewhere in a physical form that may differ
Further Reading from that of the source
The rules included in this chapter have been extracted from C. Multiple files with the same data elements are
Part 3, Chapter 3, of the IFPUG Function Point Counting consolidated into a single file
Practices Manual (CPM), Release 4.3. A review of this chap- D. A and B
ter is recommended before taking the CFPS exam.
3. Accessing another application’s screen transactions
to reference/obtain data or to update that applica-
Exam Guidance tion’s data is called:
A. Image copy
NN Read and study this chapter, including all related B. Screen scraping
examples. C. Image load
NN Memorize the various terminology: D. Merging
−− Copy
−− File 4. Application B requires (for performance, etc.) the
−− Image ability to access a portion of File X in Application
−− Load A for validation and reference only. Application
−− Merge A sends a physical table within a logical file to
−− Refresh Application B. The existing view of that physical
NN Have a thorough understanding of the various shared table in Application B is “refreshed” each time with
data scenarios and know how to count them. the copy. What is counted for Application A and
NN Familiarize yourself with the related examples in this Application B?
chapter as well as CPM 4.3 Part 3, Chapter 3 (Shared A. Application A, an ILF; Application B, an EIF
Data), because it is unlikely that you will have time to B. Application A, an ILF; Application B, an ILF
look up everything during the exam. C. Application A, an EIF; Application B, an EIF
NN Complete the practice questions in this chapter, and D. Application A, an EIF; Application B, an ILF
go back to determine why you answered any question
incorrectly. 5. Application B requires the ability to access file X
in Application A for validation and reference only.
Application B requires (for performance, etc.) that
Sample Exam Questions Application A send a complete file to Application B.
The existing data store in Application B is refreshed
1. Methods of sharing data include which of the each time with the copy. What is counted for
following: Application A and Application B?
A. Via online screens (e.g., screen scraping) A. Application A, an ILF; Application B, an EIF
B. Via Web applications B. Application A, an ILF; Application B, an ILF
C. Via on-line, real-time information requests C. Application A, an EIF; Application B, an EIF
D. All of the above D. Application A, an EIF; Application B, an ILF
Shared Data    73

6. A transaction processed by Application B, requires 10. Data stored in two applications (Application A
information from a data store maintained within and Application B) is image copied and merged
Application A. Application B is responsible for to form one file that is loaded into a third applica-
accessing the data in Application A, and Application tion (Application C). Multiple files with the same
B maintains the software for that access. What is data elements are being consolidated into a single
counted for Application A and Application B? file. What ILFs and EIFs are counted for the three
A. Application A, an ILF; Application B, an ILF applications?
B. Application A, an ILF; Application B, an EIF A. Application A, an ILF; Application B, an ILF;
and an FTR in the transactional function Application C, an ILF
C. Application A, an EIF and an FTR in the B. Application A, an EIF; Application B, an EIF;
transactional function; Application B, an EIF Application C, an EIF
D. Application A, an EIF; Application B, an ILF C. Application A, an ILF; Application B, an ILF;
Application C, an EIF
7. Both Application A and Application B maintain
D. Application A, an EIF; Application B, an ILF;
the same ILF. Each has its own unique view of the
Application C, an EIF
data. There are some common data elements, and
some that are unique to each application. What is 11. The process of recreating a set of data to make it cur-
counted for Application A and Application B? rent with its source is the definition of:
A. Application A, an ILF; Application B, an EIF A. Copy
B. Application A, an ILF; Application B, an ILF B. Load
C. Application A, an EIF; Application B, an EIF C. Merge
D. Application A, an EIF; Application B, an ILF D. Refresh
8. Application A produces a transaction file of changes 12. To read data from a source, leaving the source data
(File Z) that is loaded into Application B. The records unchanged, and to write the same data elsewhere
are usually of more than one type. Application B in a physical form that may differ from that of the
processes the input transactions according to the source is what is meant by:
transaction type on the File Z records, prior to A. Copy
updating the records on internal File Y. The DETs B. Load
on Application A File X and Application B File Y C. Merge
are different. Processing includes transaction types D. Refresh
Add, Change, and Delete. What is counted for
13. An exact replication of another object, file, or table
Application A and Application B?
usually created through a utility is the definition of:
A. Application A, an ILF and EO/EQ; Application
A. Image
B, an EIF
B. Copy
B. Application A, an ILF; Application B, an ILF
C. Merge
and EI
D. Refresh
C. Application A, an ILF and EO/EQ; Application
B, an ILF
D. Application A, an ILF and EO/EQ; Application
B, an ILF and three EIs
9. Application B “reads” the content of an inquiry
screen in Application A and uses that data in the pro-
cessing of a transactional function. For Application
B, count:
A. An EIF
B. An EIF and EQ
C. An EIF and EI
D. An EIF and EO
Chapter 8

Enhancements

Introduction Measuring Enhancement Projects1


Enhancements add, change, or delete functionality in an The enhancement project functional size measures the project’s
existing application. Of the three categories of maintenance modifications to the existing installed application that add,
(adaptive, corrective, and perfective), enhancements are change, or delete user functions. The changes in functional-
considered adaptive maintenance. See the “Considerations ity might result from new or revised user requirements, statu-
and Hints” section of this chapter for a more detailed dis- tory or regulatory changes, or new users.
cussion of maintenance categories. As user requests are orig-
inated for application enhancement projects, organizations
can use the function point method to determine the cost of
the deliverable, manage expectations of the end user, and Procedure2
manage the delivery of the software product. An enhance- Table 8.1 provides suggested steps for performing an
ment does not become its own application boundary; it is enhancement project functional size; however, they may be
defined by the counting scope as discussed in Chapter 3 of performed in any order.
this book.
The formula to calculate the enhancement project func-
tional size considers the functionality added, changed, and
deleted, as well as any conversion functionality to complete Scope and Boundary of
the enhancement. An enhancement project will most likely
result in a change to the installed application functional
an Enhancement Project1
size; however, the enhancement project functional size is not The enhancement project functional size includes all func-
merely added to the previous application functional size. The tions being added, changed, and deleted. The boundary of
formulas used to size enhancements and applications after the application(s) impacted remains the same. The function-
enhancements are included in Chapter 10 of this book and ality of the application(s) reflects the impact of the func-
in the IFPUG Function Point Counting Practices Manual, tions being added, changed, or deleted. More than one
Release, 4.3, Part 3, Chapter 4 (Enhancement Projects and application may be included in the counting scope. If so,
Maintenance Activities).
This chapter also presents other categories of mainte- 1 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
nance (corrective maintenance and perfective maintenance) Release 4.3, Part 3, page 4-2.
that are considered to be outside the scope of enhancement 2 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

projects. Release 4.3, Part 3, page 4-13.

75
76    Certified Function Point Specialist Examination Guide

Table 8.1  Steps for Performing an Enhancement structurally altered (e.g., adding or removing an attri-
Project Functional Size bute or changing the characteristics of the attribute).
NN If an application is required to use (reference or main-
Step Action
tain) an existing attribute that it did not previously
1. Gather and review available documentation. use, the related data function is considered changed
2. Meet with the subject matter expert to discuss
for that application. This can occur without any physi-
changes planned/made. cal changes to the file.
NN If new attributes are added to an ILF, look for new or
3. Identify and evaluate added functionality. modified transactional functions that maintain the attri-
4. Identify and evaluate changed functionality: bute in that ILF to confirm that a change has occurred.
NN If an attribute is added to an ILF that is maintained
Determine complexity of the function prior
by two applications and if one application maintains
to change (from previous functional size
measurement documentation or size as
the new attribute but the other only references it, then
existing prior to change). both applications take credit for the changed ILF.
However, the second application will not have any new
Determine complexity of the function after
or changed transactional functions that maintain the
change.
attribute in that ILF.
5. Identify and evaluate deleted functionality. NN If an application neither maintains nor references a
new or changed attribute, then it cannot take credit for
6. Identify and evaluate any conversion or one-
time functionality required to implement this a changed data function.
enhancement. NN If a physical file is added by an enhancement project, it
does not necessarily result in a new logical file. First, a
determination needs to be made as to whether the new
multiple boundaries would be identified, resulting in a sepa- physical file is a change to an existing logical file with
rate enhancement project functional size for each affected additional Data Element Types (DETs) and possibly
application. If the total size of the enhancement project an additional Record Element Type (RET) or a new
is required, it is calculated by summing the enhancement logical file.
project functional size for all applications included in the
counting scope.
Measuring Transactional Functions
in Enhancement Projects4
Measuring Data Functions
in Enhancement Projects3 The additions of new transactional functions by an enhance-
ment project are generally easily identified and measured
The additions of new Internal Logical Files (ILFs) or External according to rules defined in Chapter 6 of this book. The iden-
Interface Files (EIFs) by an enhancement project are generally tification of transactional functions that have been changed
easily identified and measured according to rules defined in by adding or removing DETs is obvious. It is not as obvi-
Chapter 4 of this book. Consideration, however, should be ous when the user requirements are for changes in processing
given to the following: logic. When processing logic has been altered within an appli-
cation to meet business requirements, the elementary process
NN If the change involves only the addition of new records that embodies that logic should be identified and counted as
to a logical file or new values in an existing attribute being changed. A single change in processing logic does not
within that logical file, there is no justification to count always affect all related transactions.
the data function as being changed. For example, when an edit or validation change is made to
NN If a data function is changed because an attribute is input processing logic and Add, Delete, Update, and Implied
added and that attribute is not used by the applica- Inquiry transactions exist, then only the Add and Update
tion being measured, then there is no change to that transactions are counted for the enhancement. Unless there
application. is specific deletion logic change (e.g., referential integrity
NN In order for a data function to be counted as a changed edit) or query logic change (e.g., selection or retrieval), the
function, the general guideline is that it must be Delete and Implied Inquiry transactions will not change.

3 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 4 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 4-2. Release 4.3, Part 3, page 4-3.
Enhancements    77

In some cases, a specific change may impact how multiple an organization the process includes calculating the
transactional functions are processed. Regardless of whether total number of salaried employees, hourly employ-
logic changes were physically made in a common routine ees, and all employees.
used by multiple transactions, changed functions should be NN If a business requirement exists to modify an
identified based on the elementary processes that embody existing calculation (e.g., before, the formula
that logic. If multiple elementary processes were affected, was A + B = C but now it is C = A * B), then
then count multiple transactional functions. If only a single the transaction that includes that calculation
elementary process was affected, then count one transaction would be counted as changed in the enhance-
as being changed. In all cases, the user requirements and the busi- ment project functional size.
ness view should be the determining factor. The challenge is to NN Currently, there is a list of employees that is
properly assess the appropriate level of functional change. counted as an EQ. The enhancement project
The emphasis must be on the business requirements, with requirements state to display summary counts
the enhancement project functional size reflecting the intent of those employees. The transaction would be
of the user request. identified as changed, and the function type
For example, the business requirements specified by the would be changed from an EQ to an EO in the
user for an enhancement project to an existing application enhancement project functional size.
could add three new low complexity external inputs (EIs), 3. Equivalent values are converted. For example,
one low complexity external inquiry (EQ), and three average employee age is converted to an age range group
complexity external outputs (EOs). One average complexity using a table.
EQ could be deleted. One of the existing low complexity NN If a business requirement exists to change the
Internal Logical Files (ILFs) could be revised to an aver- functionality to include the ability to convert
age complexity ILF by adding attributes from the new EIs. employee salary into a pay range group, then the
One average complexity EI for conversion is included. Each transaction would be counted as changed in the
of these would be accounted for by the formulas to size the enhancement project functional size.
enhancement as well as the revised application functional 4. Data is filtered and selected by using specified crite-
size; see Chapter 10 of this book for the calculation formulas ria to compare multiple sets of data. For example, to
and results. generate a list of employees by their assignment, an
elementary process compares the job number of
a job assignment to select and list the appropriate
employees with that assignment.
Processing Logic5 NN If a requirement exists to modify the selec-
As noted in Chapter 5 of this book, processing logic is tion criteria or add additional selection crite-
defined as any of the requirements specifically requested by ria, excluding changing or adding values, to
the user to complete an elementary process such as valida- an existing transaction (a list of employees now
tions, algorithms, or calculations and reading or maintaining needs to display a list of employees who have
a data function. Those requirements may include the follow- been in their assignment less than a year), the
ing actions, which are repeated here and further illustrated to transaction would be counted as changed in the
explain how they relate to measuring transactional functions enhancement project functional size.
in enhancement projects: NN If a requirement exists to modify only the values
of existing criteria, such as selecting a different
1. Validations are performed. For example, when add- department or adding an additional department
ing a new employee to an organization, the employee to a list of departments, then there is no count
process validates the employee type DET. for changing the transaction.
NN If a requirement exists to perform a different NN If the requirement is to change the selection
validation or change the validation in an exist- criteria from a single department to a list of
ing transactional function, then the transaction departments, then this would be counted as a
would be counted as changed in the enhance- change.
ment project functional size. NN If a requirement exists to modify the employee
2. Mathematical formulas and calculations are performed. search screen to additionally filter on location,
For example, when reporting on all employees within then this additional filter does not create a new
elementary process. It is counted as a changed
5 Refer to IFPUG, Function Point Counting Practices Manual (CPM), function in the enhancement project functional
Release 4.3, Part 3, page 4-5. size.
78    Certified Function Point Specialist Examination Guide

5. Conditions are analyzed to determine which are appli- 10. Behavior of the application is altered. For example,
cable. For example, processing logic exercised by the behavior of the elementary process of paying
the elementary process when an employee is added employees is altered when a change is made to pay
will depend on whether an employee is paid based them every other Friday vs. on the 15th and the last
on salary or hours worked. The entry of DETs (and day of the month, resulting in 26 pay periods per
the resulting processing logic) based on a different year vs. 24.
choice (salary or hourly) in this example is part of NN If the business requirement results in altering
one elementary process. the behavior of the system (e.g., in the example
NN If a requirement exists to modify the condi- above, the transaction is changed so the pay
tion or add additional conditions to an exist- date parameter affects only hourly employees,
ing transaction, then the transaction would be not all employees), then the affected transaction
counted as changed in the enhancement project would be counted as changed in the enhance-
functional size. ment project functional size.
6. One or more ILFs are updated. For example, when 11. Prepare and present information outside the bound-
adding an employee, the elementary process updates ary. For example, a list of employees is formatted
the employee ILF to maintain the employee data. and displayed for the user.
NN If a business requirement results in updating an NN When the business requirement results in pre-
additional ILF or different DETs by an existing senting additional DETs outside the boundary,
transaction, the transaction would be counted then the affected transaction would be counted
as changed in the enhancement project func- as changed in the enhancement project func-
tional size. tional size.
7. One or more ILFs or EIFs are referenced. For exam- NN Changes to literals, format, color, or other ele-
ple, when adding an employee, the currency EIF is ments of the physical presentation are not con-
referenced for the correct U.S. dollar conversion rate sidered changes to the processing logic and
to determine an employee’s hourly rate. therefore are not part of an enhancement proj-
NN If a business requirement results in referencing ect functional size.
additional ILFs, EIFs, or DETs in an existing NN When the business requirement is to send an
transaction, then the affected transaction would existing output file to a different or an addi-
be counted as changed in the enhancement tional application without a change to any other
project functional size. form of processing logic (e.g., selection criteria,
8. Data or control information is retrieved. For example, calculations), there is no enhancement project
to view a list of employees, employee information is functional size.
retrieved from a data function. NN Rearranging data on a screen, report, or file by
NN If the business requirement results in retrieving displaying an existing data element in a new
additional information in an existing transac- position is not considered a change in processing
tion, then the affected transaction would be logic and is not counted for an enhancement.
counted as changed in the enhancement project NN Changes to the characteristics (e.g., length, type,
functional size. precision) of an attribute crossing the boundary
9. Derived data is created by transforming existing data must have a change to another form of process-
to create additional data. For example, to deter- ing logic (e.g., validations, calculations) to be
mine (derive) a patient’s registration number (e.g., counted.
SMIJO01), the following data is concatenated: NN When a new or changed screen function requires
(1) the first three letters of the patient’s last name additional or modified help, a change to the
(e.g., SMI for Smith); (2) the first two letters of the existing Help function is not counted because
patient’s first name (e.g., JO for John); (3) a unique there are only new or updated text or values.
two-digit sequence number (starting with 01). 12. Capability exists to accept data or control information
NN If the business requirement results in chang- that enters the boundary of the application. For exam-
ing how the transaction derives the data, then ple, a user enters information to add a customer
the affected transaction would be counted as order to the application.
changed in the enhancement project functional NN When the business requirement results in differ-
size. ent DETs that enter the boundary, the affected
Enhancements    79

transaction would be counted as changed in Considerations and Hints


the enhancement project functional size.
NN When the business requirement is to accept an Enhancement vs. Maintenance
existing input file from a different or an addi- Considerations6
tional application without changes to any other
Once an application has been developed and installed, it
form of processing logic (e.g., validations, cal-
must then be maintained (modified) in order for it to con-
culations), there is no impact on the enhance-
tinue to meet the needs of an ever-changing business and
ment project functional size.
technical environment. This maintenance includes a wide
NN Changes to the characteristics (e.g., length,
range of activities that are performed during this phase of
type, precision) of an attribute crossing the
the application life cycle, some of which involve functional
boundary must have changes to another form
changes that are applicable to function point analysis.
of processing logic (e.g., validations, calcula-
tions) to be counted.
13. Sorting or arranging a set of data. This form of pro- Categories of Maintenance
cessing logic does not impact the identification of
The Institute of Electrical and Electronics Engineers (IEEE)
the type or contribute to the uniqueness of an ele-
defines three categories of maintenance:
mentary process; that is, the orientation of the data
does not constitute uniqueness. For example, a list
NN Adaptive maintenance—Software maintenance per-
of employees is sorted in either alphabetical or loca-
formed to make a computer program usable in a
tion order, or, on an order entry screen, the order
changed environment.
header information is arranged at the top of the
NN Corrective maintenance—Software maintenance per-
screen and the order details are placed below. Note:
formed to correct faults in hardware or software.
Changes in sort sequence are typically counted;
NN Perfective maintenance—Software maintenance per-
changes in arrangement by themselves are not typi-
formed to improve the performance, maintainability,
cally counted.
or other attributes of a computer program.
NN When the business requirement results in
changing the existing sort sequence (e.g.,
The International Organization for Standardization
user now requests the above-referenced list of
(ISO) and the International Electrotechnical Commission
employees in location order instead of alpha-
(IEC) define three categories of maintenance:
betical order), the affected transaction would
be counted as changed in the enhancement
project functional size. NN Adaptive maintenance —The modification of a software
NN On an order entry screen, the user requests product, performed after delivery, to keep a software
order header information to be placed to the product usable in a changed or changing environment.
left of the order detail information instead of Adaptive maintenance provides enhancements neces-
above. There is no count for this change. sary to accommodate changes in the environment in
NN The user requests that the Last Name attribute which a software product must operate. These changes
on the Employee Assignment screen be placed are those that must be made to keep pace with the
to the left of Middle Initial and First Name. changing environment (ISO/IEC 14764:2006). For
There is no change counted for the reposition- example, the operating system might be upgraded and
ing. If the requirement is also to prepopulate some changes may be made to accommodate the new
data based on last name as it is entered, then operating system.
there is a change to another form of processing NN Corrective maintenance —The reactive modification of
logic and the Employee Assignment function a software product performed after delivery to cor-
is counted. rect discovered problems. The modification repairs the
NN The user requests an additional report of the software product to satisfy requirements (ISO/IEC
same data (list of employees) sorted by loca- 14764:2006). For example, the following fall into a
tion. A new transaction would not be counted, corrective maintenance category:
but a change to the existing transaction would
be included in the enhancement project func- 6 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
tional size. Release 4.3, Part 3, page 4-20.
80    Certified Function Point Specialist Examination Guide

−− Abends Exam Guidance


−− Incorrect results
−− Screen and report formatting errors NN Read and study this chapter, including all related
−− Incorrect calculations examples.
−− Incorrect sequence of processing NN Know the various maintenance categories:
−− Missing data −− Adaptive
−− Runtime improvements required to meet applica- −− Corrective
tion specifications −− Perfective
−− Usability problems NN Understand how to measure data functions in enhance-
NN Perfective maintenance —Modification of a software ment projects.
product after delivery to detect and correct latent faults NN Understand how to measure conversion in enhance-
in the software product before they are manifested as ment projects.
failures. Perfective maintenance provides enhance- NN Understand how to measure transactional functions in
ments for users, improvement of program documenta- enhancement projects when processing logic has been
tion, and recoding to improve software performance, altered.
maintainability, or other software attributes. Contrast NN Familiarize yourself with the related examples in
with adaptive maintenance or corrective maintenance this chapter, as well as CPM 4.3, Part 3, Chapter 4
(ISO/IEC 14764:2006). For example, the following (Enhancement Projects and Maintenance Activities).
fall into a perfective maintenance category: NN Become familiar with the enhancement guidance con-
−− Changes not required by the customer to avert tained in the CPM 4.3, Part 5, Appendix C (Adjusted
foreseeable problems Functional Size), because it is unlikely that you will
−− Application and database changes to improve have time to look up everything during the exam
performance NN Complete the practice questions in this chapter, and
go back to determine why you answered any question
Functional Size Measurement quantifies the size of busi- incorrectly.
ness requirements. In an enhancement environment, it mea-
sures the effects of changes to those business requirements.
Therefore, Functional Size Measurement is applicable to a Sample Exam Questions
subset of adaptive maintenance. This includes the software
functionality added, changed, or deleted, as well as the soft- 1. A definition of adaptive maintenance is:
ware functionality provided to convert data and meet other A. Software maintenance performed to make
implementation requirements (e.g., conversion reports). a computer program usable in a changed
Other responsibilities that might be categorized outside environment
of application maintenance into the broad area of production B. The reactive modification of a software prod-
support include: uct performed after delivery to correct discov-
ered problems
NN Maintenance and monitoring of operations, including C. Modification of a software product after delivery
the data center, servers, PCs, telecommunications, etc. to detect and correct latent faults in the software
NN Support of customer, including help desk and training product before they are manifested as failures
NN Package and system software upgrades D. None of the above
NN Ad hoc reporting 2. A definition of corrective maintenance is:
A. The reactive modification of a software prod-
uct performed after delivery to correct discov-
ered problems
Further Reading B. The modification of a software product per-
The rules included in this chapter have been extracted from formed after delivery to keep a software product
Part 3, Chapter 4, of the IFPUG Function Point Counting usable in a changed or changing environment
Practices Manual (CPM), Release 4.3. A review of that chap- C. Software maintenance performed to improve
ter is recommended before taking the CFPS exam. The the performance, maintainability, or other
formulas used to size enhancements and applications after attributes of a computer program
enhancements are included in Chapter 10 of this book. D. None of the above
Enhancements    81

3. The enhancement project functional size measures 6. Which of the following is a valid condition for a
the project’s modifications to the existing installed data function to be counted as a changed function?
application that: A. If the change involves only the addition of new
A. Add user functions records to a logical file or new values in an
B. Change user functions existing attribute within that logical file
C. Delete user functions B. If a data function is changed because an attri-
D. All of the above bute is added and that attribute is not used by
the application being measured
4. Which of the following is true of perfective
C. If a data function is structurally altered (e.g.,
maintenance?
adding or removing an attribute or changing
A. It provides enhancements for users, improve-
the characteristics of the attribute)
ment of program documentation, and recoding
D. All of the above
to improve software performance, maintain-
ability, or other software attributes 7. Which of the following is true for measuring trans-
B. It is a modification of a software product after actions in an enhancement project?
delivery to detect and correct latent faults in A. When processing logic has been altered within
the software product before they are mani- an application to meet business requirements,
fested as failures the elementary process that embodies that
C. The modification repairs the software product logic should be identified and counted as being
to satisfy requirements changed
D. A and B B. A single change in processing logic always
affects all related transactions
5. Suggested steps for performing an enhancement
C. When an edit or validation change is made to
project functional size can include which of the
input processing logic and Add, Delete, Update
following:
and Implied Inquiry transactions exist, all four
A. Determine complexity of the function prior to
transactions (Add, Update, Delete, and Implied
change
Inquiry) are counted for the enhancement
B. Determine complexity of the function after
D. All of the above
change
C. Identify and evaluate any conversion or one-
time functionality required to implement this
enhancement
D. All of the above
Chapter 9

Conversion

Introduction as defined by the CPM includes any exception reports, error


reports, conversion reports, or control reports required to
This chapter provides guidelines and examples of the conver- ensure the integrity of the data being converted. The new
sion of application data and describes what should be mea- application’s ILFs are populated by the converted data, and
sured when we transfer existing business application data to its user requirements dictate what is required from the exist-
a new or enhanced application’s Internal Logical Files (ILFs). ing (old) applications to meet the functional requirements of
The conversion process executes against existing data in a the new (enhanced) application.
separate application to populate one or more logical files in
the application being sized in order to fulfill specific user NN Development project functional size is a measure of the
requirements for that application data. The conversion pro- functionality provided to the users with the first release
cess could require additional data elements to be populated in of the software, as measured by the development proj-
the process. Conversion considers the source data, the logical ect function point count by the activity of applying the
files being populated, and the process used for conversion. IFPUG Functional Size Measurement (FSM) Method.
Assume that we are populating a customer file in a new The functional size of a development project may
application (or we are populating an existing customer file in include the size of conversion functionality. Count any
an application being enhanced). We could have a customer conversion functionality required by the users to con-
service representative add a customer through a standard- vert data that resided in other existing data files to the
ized process (the application’s transaction to add a customer); new application data files.1
however, if we have an existing file of hundreds or thousands NN Enhancement project functional size is a measure of the
of customers, it would take an immense amount of time to functionality added, changed, or deleted at the comple-
enter the data manually. In a conversion process, we write tion of an enhancement project, as measured by the
code for a temporary process that will read existing data files, enhancement project function point count by the activ-
take the attributes from those files, edit and validate those ity of applying the IFPUG Functional Size Measurement
attributes, and place them into the customer file of the appli- (FSM) Method. It measures the project’s modifications
cation being sized. to the existing installed application that add, change, or
When conversion requirements are defined, it is custom- delete user functions. The functional size of an enhance-
ary to define the data requiring conversion in user terms such ment project can include the size of conversion func-
as “all customer data,” which implies all attributes or data tionality. Count any conversion functionality required
fields encompassed in the logical customer database. The by the users to convert data that resided in data files of
individual Data Element Types (DETs) and Record Element other applications to the new (or enhanced) data files.2
Types (RETs) are the source of the data to be converted. The
process of converting the data is not a complete elementary 1 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
process as defined by the IFPUG Function Point Counting
Release 4.3, Part 1, page 3; Part 2, page 4-2; Part 5, page G-1.
Practices Manual (CPM) until all data representing the logi- 2 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

cal file has been converted and is available for use within the Release 4.3, Part 1, page 4; Part 2, page 4-2; Part 3, page 4-2; Part 5,
new (or enhanced) application’s ILFs. The elementary process page G-3.

83
84    Certified Function Point Specialist Examination Guide

NN Application functional size is a measure of the functional- NN For enhancements involving a changed ILF where
ity that an application provides to the user, determined processing logic is required to populate the new attri-
by the application function point count by the activity bute, the existing ILF is considered to be crossing the
of applying the IFPUG Functional Size Measurement boundary as an external input (EI).
(FSM) Method. An organization’s total installed appli- NN If a new attribute in an ILF is populated with only a
cation function point count represents the sum of the default or null value, conversion should not be counted
application counts for all installed applications that are because data is not crossing the boundary.
currently being utilized and maintained. Do not include
conversion functionality in an application count.3 Apply the standard elementary process identification
rules to identify the conversion functionality, including:

Conversion NN Any exception reports


NN Any error reports
Conversion functionality is transactional or data functions
NN Any conversion reports
provided to convert data and/or provide other user-specified
NN Any control reports required to ensure the integrity of
conversion requirements. Conversion of application data is
the data being converted
based on the user view of the data.4
The new or enhanced application’s ILFs are populated by
NN The user view of the data encompasses all of the attri-
the converted data, and its user requirements dictate what is
butes associated with the group of data as defined in
required from the old application(s) to meet the Functional
the application.
User Requirements of the project. The conversion process
NN This user-recognizable group of data and the associated
executes against all data as viewed by the user to create an
data attributes become the basis for a logical group of
updated logical file that fulfills specific user requirements for
data that fulfills a specific user requirement.
the new or converted application data.
NN This logical file requires all of its data attributes to
be maintained as part of the whole (linked and not
independent).

New or changed business requirements could require


What Is Not Conversion Functionality5
additional attributes. As part of the enhancement project, Do not count the following as conversion functionality:
it might be necessary to convert and populate newly added
data attributes. The view of the conversion process is based NN Software upgrades due to the installation of a revised
on all of the following: version of vendor packages
NN The migration of an application to a new platform
NN The original application NN The conversion of data accomplished via an existing
NN The logical files being converted Load utility (no functionality was developed to accom-
NN The data requirements of the new application plish the conversion)
NN A changed EIF for the application being measured
When counting conversion functionality, be aware of the (only the application that has counted the data func-
following: tion as an ILF can count conversion functionality)

NN When an ILF is added or changed, there is a possibility


that a conversion process might be required to popu-
late the new ILFs or DETs in an existing ILF. Scenario 1. Enhancement
NN Part of the analysis is to identify what is crossing the Project Data Conversion
boundary.
NN For new development, the existing data stores or ILFs The project involves incorporating data into an existing
of the system being replaced are considered to be cross- customer file from an application file of a recently acquired
ing the boundary. division. This one-time requirement will capture customer
data of the recently acquired division and populate those
data attributes into the existing corporate customer file ILF.
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 1, page 2; Part 2, page 4-2; Part 5, page G-3.
4 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 5-2. Release 4.3, Part 3, page 5-4.
Conversion    85

Count the existing customer data to be imported as an EI. Exam Guidance


Control and error reports will be produced to ensure the
integrity of the migration. NN Read and study this chapter, including all related
One elementary process initially populates the new data examples and scenarios.
attributes into the existing corporate customer file ILF, NN Memorize the various definitions and terminology:
including the control and error reports. The conversion pro- −− Development project functional size
cess is counted as an EI and is included in the enhancement −− Enhancement project functional size
project function point count but not the application function −− Application functional size
point count because it is a one-time process. The error and NN Know what is and is not conversion functionality.
control reports are not counted separately, as they cannot be NN Know what is included in the elementary process of
produced independently from processing the conversion data conversion functionality.
to which they relate. NN Know how to accurately count a conversion scenario,
as it is extremely likely one will be on the exam.
NN Familiarize yourself with the related examples and
scenarios in this chapter as well as CPM 4.3, Part 3,
Chapter 5 (Data Conversion Activity), because it is
Scenario 2. Data Conversion unlikely that you will have time to look up everything
with EIFs Referenced during the exam.
The user has requested that an ILF (or part of an ILF) be pop- NN Complete the practice questions in this chapter, and
ulated from an ILF in another application. In this example, go back to determine why you answered any question
validation is required against yet another ILF from a third incorrectly.
application. This conversion is specified as a one-time pro-
cess, and the data referenced in the third application will not
be utilized in the future. The attributes to be loaded serve
as an input transaction to populate the receiving ILF that is Sample Exam Questions
counted as an EI. The data referenced in the third application
1. Which of the following is true of conversion
for validation is counted as an EIF and an additional File
functionality?
Type Referenced (FTR). The receiving ILF is also considered
A. It consists of functions used after software
as an FTR for the conversion transaction. Both the EI and the
installation to satisfy the ongoing business
EIF are counted as conversion functionality for the project
needs of the user
but not added to the application functional size.
B. Conversion of application data is based on the
user view of the data
C. It is determined by using the 14 General
System Characteristics to rate the application
Scenario 3. Assigning Default Values functional complexity
D. None of the above
An enhancement project requires the addition of an attri-
bute (DET) to an existing human resources personnel ILF. 2. Which of the following should not be counted as
The new DET will be populated with a specific default value conversion functionality?
of “00005.” Although the human resources personnel ILF A. Migration of an application to a new platform
and any modified transactions utilizing that attribute are B. Software upgrades due to the installation of a
counted as changed, no conversion functionality is counted. revised version of vendor packages
No data is crossing the application boundary to establish the C. Conversion of data accomplished via an exist-
default value. ing load utility
D. All of the above
3. Which of the following is true of conversion
functionality?
Further Reading A. The new or enhanced application’s ILF(s) are
The rules included in this chapter have been extracted populated by the converted data, and its user
from Part 3, Chapter 5, of IFPUG Function Point Counting requirements dictate what is required from the
Practices Manual (CPM), Release 4.3. A review of this chap- old application(s) to meet the Functional User
ter is recommended before taking the CFPS exam. Requirementss of the project
86    Certified Function Point Specialist Examination Guide

B. The elementary process includes any exception


reports, error reports, conversion reports, or
control reports required to ensure the integrity
of the data being converted
C. If an EIF for the application being measured is
changed, count it as conversion functionality
D. A and B
4. The view of the conversion process is based on:
A. The original application
B. The logical files being converted
C. The data requirements of the new application
D. All of the above
5. An enhancement project requires populating new
data attributes in an ILF of a system and producing
control and error reports for this population pro-
cess. What is counted as conversion functionality?
A. One EI and two EQs
B. One EI and one EQ
C. One EI
D. Nothing is counted
Chapter 10

Calculating and Applying


Functional Size

The purpose and counting scope shall be considered when Rules for Calculating Application Size2
selecting and using the appropriate formula to calculate the
functional size. An application functional size from a measurement after the
development project or at any time during the application’s
life cycle shall be calculated using the following formula:
Rules for Calculating New Development1
AFP = ADD (10.2)
A development project functional size is calculated using the
following formula: where:
DFP = ADD + CFP (10.1) NN AFP is the application functional size.
where: NN ADD is the size of the functions to be delivered to the
user by the development project (excluding the size of
NN DFP is the development project functional size. any conversion functionality) or the functionality that
NN ADD is the size of the functions to be delivered to the exists whenever the application is counted.
user by the development project.
NN CFP is the size of the conversion functionality. Note: Only the size of the application functionality
installed for the user is included in the initial application
For example, a development project includes 5 high com-
functional size.
plexity external inputs (EIs), 20 average complexity EIs, and
In the previous example, the development project deliv-
10 low complexity EIs; 6 high complexity external queries
ered 5 high complexity EIs, 20 average complexity EIs, and
(EQs), 12 average complexity EQs, and 5 low complexity
10 low complexity EIs; 6 high complexity EQs, 12 average
EQs; and 3 average complexity Internal Logical Files (ILFs)
complexity EQs, and 5 low complexity EQs; and 3 average
and 8 low complexity ILFs. One low complexity EI for con-
complexity ILFs and 8 low complexity ILFs. One low com-
version is also included. Using the formula to calculate the
plexity EI for conversion was also included. Using the for-
development project functional size (Equation 10.1), for this
mula to calculate the application functional size (Equation
development project:
10.2), for this application:
ADD = 30 + 80 + 30 + 36 + 48 + 15 + 30 + 56 = 325
CFP = 3 ADD = 30 + 80 + 30 + 36 + 48 + 15 + 30 + 56 = 325
DFP = 325 + 3 = 328 AFP = 325

1 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 2 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 1, page 20. Release 4.3, Part 1, page 20; Part 3, page 4-18.

87
88    Certified Function Point Specialist Examination Guide

Rules for Calculating NN AFPA is the application functional size after the
enhancement project.
Enhancement Projects NN AFPB is the application functional size before the
An enhancement project functional size shall be calculated enhancement project.
using the following formula:3 NN ADD is the size of the functions being added by the
enhancement project.
EFP = ADD + CHGA + CFP + DEL (10.3) NN CHGA is the size of the functions being changed by
the enhancement project (as they are and/or will be
where: after implementation).
NN EFP is the enhancement project functional size. NN CHGB is the size of the functions being changed
NN ADD is the size of the functions being added by the by the enhancement project (as they are and/or were
enhancement project. before the project commenced).
NN CHGA is the size of the functions being changed by NN DEL is the size of the functions being deleted by the
the enhancement project (as they are and/or will be enhancement project.
after implementation).
NN CFP is the size of the conversion functionality. Continuing with the previous example after the enhance-
NN DEL is the size of the functions being deleted by the ment project, the enhancement project delivered 3 low com-
enhancement project. plexity EIs, 1 low complexity EQ, and 3 average complexity
EOs. One average complexity EQ was deleted. One of the
low complexity ILFs was revised to an average complexity ILF.
In the previous example, the application consisted of 5
One average complexity EI for conversion is included. The
high complexity EIs, 20 average complexity EIs, and 10 low
application functional size before the project (the initial appli-
complexity EIs; 6 high complexity EQs, 12 average complex-
cation size in this case) was 325. Using the formula to calculate
ity EQs, and 5 low complexity EQs; and 3 average complex-
the application functional size after the enhancement project
ity ILFs and 8 low complexity ILFs for an initial application
(Equation 10.4), for this application after the enhancement:
functional size of 325. The first enhancement project to this
application will add 3 low complexity EIs, 1 low complexity
AFPB = 325
EQ, and 3 average complexity external outputs (EOs). One
ADD = 9 + 3 + 15 = 27
average complexity EQ is deleted. One of the low complexity
CHGA = 10
ILFs will be revised to an average complexity ILF. One aver-
CHGB = 7
age complexity EI for conversion is also included. Using the
DEL = 4
formula to calculate the enhancement project functional size
AFPA = (325 + 27 + 10) – (7 + 4) = 362 – 11 = 351
(Equation 10.3), for this enhancement project:

ADD = 9 + 3 + 15 = 27
CHGA = 10 Rules for Calculating
CFP = 4 Adjusted Functional Size
DEL = 4
EFP = 27 + 10 + 4 + 4 = 45 Some individuals may apply a Value Adjustment Factor
(VAF), which considers 14 General System Characteristics
An application functional size after an enhancement (GSCs). For guidance in the use of the VAF and GSCs and
project shall be calculated using the following formula:4 the rules and formulas used in calculating adjusted func-
tional size, refer to Chapter 11 of this book.
AFPA = (AFPB + ADD + CHGA) – (CHGB + DEL) (10.4)
where:
Further Reading
The rules included in this chapter have been extracted from
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 1, page 21; Part 3, page 4-17. Part 1 and Part 3, Chapter 4, of the IFPUG Function Point
4 Refer to IFPUG, Function Point Counting Practices Manual (CPM), Counting Practices Manual (CPM), Release 4.3. A review of
Release 4.3, Part 1, page 21; Part 3, page 4-19. these chapters is recommended before taking the CFPS exam.
Calculating and Applying Functional Size    89

Exam Guidance Sample Exam Questions


NN Read and study this chapter, including all related 1. Which of the following is the correct formula for
examples. calculating development project functional size?
NN Become familiar with the formula changes between A. EFP = ADD + CHGA + CFP + DEL
CPM Release 4.2.1 and CPM Release 4.3, making sure B. DFP = ADD + CFP
you know what the various acronyms represent (e.g., C. AFP = ADD
AFPA, AFPB, ADD, CFP, CHGA, CHGB, DEL, D. AFPA = (AFPB + ADD + CHGA) – (CHGB +
DFP, EFP). DEL)
NN Make sure you are familiar with and know how to 2. Which of the following is the correct formula for
apply the various functional size formulas. calculating an application functional size from a
NN Familiarize yourself with the related examples in this measurement after the development project or at
chapter as well as CPM 4.3, Part 1 (FSM), and Part any time during the application’s life cycle?
3, Chapter 4 (Enhancement Projects and Maintenance A. EFP = ADD + CHGA + CFP + DEL
Activity), because it is unlikely that you will have time B. DFP = ADD + CFP
to look up everything during the exam. C. AFP = ADD
NN Use the formulas and examples in CPM 4.3, Part 5, D. AFPA = (AFPB + ADD + CHGA) – (CHGB +
Appendix C (Adjusted Functional Size), when using the DEL)
General System Characteristics and Value Adjustment
Factor. 3. Which of the following is the correct formula for
NN Complete the practice questions in this chapter, and calculating an application functional size after an
go back to determine why you answered any question enhancement project?
incorrectly. A. EFP = ADD + CHGA + CFP + DEL
B. DFP = ADD + CFP
C. AFP = ADD
D. AFPA = (AFPB + ADD + CHGA) – (CHGB +
DEL)
4. Which of the following is the correct formula for
calculating an enhancement project functional
size?
A. EFP = ADD + CHGA + CFP + DEL
B. DFP = ADD + CFP
C. AFP = ADD
D. AFPA = (AFPB + ADD + CHGA) – (CHGB +
DEL)
Chapter 11

Value Adjustment Factors

Introduction NN Each characteristic has associated descriptions that


help determine the Degree of Influence of that
This chapter introduces General System Characteristics characteristic.
(GSCs) and the Value Adjustment Factor (VAF). The func- NN The Degree of Influence for each characteristic is mea-
tion point counter should keep in mind that neither the sured on a scale from 0 to 5 (no influence to strong
GSCs nor the VAF are included in the IFPUG Functional influence).
Size Measurement (FSM) Method, and they are considered NN The 14 General System Characteristics are summarized
optional in the IFPUG Function Point Counting Practices in the Value Adjustment Factor.
Manual, Release 4.3. This chapter, however, includes defini- NN When applied, the Value Adjustment Factor adjusts
tions and examples of each GSC as well as the formulas used the unadjusted functional size ±35% to produce the
in computing the VAF and an adjusted functional size (aFP). adjusted functional size.
When reporting functional size measured using the
IFPUG method, the unadjusted functional size is reported
which excludes the use of the VAF. When using the GSCs
and the resulting VAF to compute an adjusted functional size, Procedures to Determine the VAF2
the reported size is adjusted and is reported as aFPs, with the
lower case “a” denoting “adjusted.” The function point coun- Table 11.1 outlines the procedures to determine the Value
ter should always identify the functional size as FP or aFP. Adjustment Factor.
The text that follows has been extracted predominately
from Part 5, Appendix C, of the IFPUG Counting Practices
Manual (CPM), Release 4.3, in order to retain the rules and
definitions that may be included in the certified function General System Characteristics
point specialist exam. Please refer to the CPM for complete The General System Characteristics are a set of 14 questions
definitions, examples, and formulas relevant to adjusting the that evaluate the overall complexity of the application.3 The
functional size of projects and applications. 14 General System Characteristics are:

1. Data Communications
Value Adjustment Factor Determination 1 2. Distributed Data Processing
3. Performance
NN The Value Adjustment Factor is based on 14 General 4. Heavily Used Configuration
System Characteristics that rate the general functional-
ity of the application being measured.
2 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 5, Appendix C, page C-4.
1 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 3 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, Appendix C, page C-4. Release 4.3, Part 5, Appendix C, page C-5.

91
92    Certified Function Point Specialist Examination Guide

Table 11.1  Procedures to Determine the VAF Table 11.2  Degrees of Influence
Step Action Score as System Influence

1. Evaluate each of the 14 General System 0 Not present or no influence


Characteristics on a scale from 0 to 5 to
determine the Degree of Influence (DI). 1 Incidental influence

2. Add the Degrees of Influence for all 14 2 Moderate influence


General System Characteristics to produce 3 Average influence
the Total Degree of Influence (TDI).
4 Significant influence
3. Insert the TDI into the following equation to
produce the Value Adjustment Factor: 5 Strong influence throughout
VAF = (TDI × 0.01) + 0.65
For example, the following Value Adjustment Data Communications5
Factor is calculated if there are 3 Degrees of
Influence for each of the 14 GSC descriptions Definition
(3 × 14):
Data Communications describes the degree to which the
VAF = (42 × 0.01) + 0.65 = 1.07
application communicates directly with the processor. The
data and control information used in the application are
sent or received over communication facilities. Devices con-
5. Transaction Rate nected locally to the control unit are considered to use com-
6. On-Line Data Entry munication facilities. Protocol is a set of conventions that
7. End-User Efficiency permit the transfer or exchange of information between two
8. On-Line Update systems or devices. All data communication links require
9. Complex Processing some type of protocol.
10. Reusability
11. Installation Ease
12. Operational Ease Score
13. Multiple Sites See Table 11.3.
14. Facilitate Change

Hints
Degrees of Influence4
Protocol examples include FTP, dial-up, Token Ring,
Based on the stated user requirements, each General System Ethernet, SNA, TCP/IP, IPX/SPX, HTTP, XML, WAP,
Characteristic must be evaluated in terms of its Degree of NTP, ICQ, and NETBEUI. This list should not be consid-
Influence (DI) on a scale of 0 to 5 (see Table 11.2). ered exhaustive.

Guidelines to Determine Degree Hints to Rules 1 and 2


of Influence for GSCs
NN Remote devices might include a 3270 terminal con-
Each of the following General System Characteristic descrip- nected to a mainframe computer that allows only sim-
tions includes guidelines to determine the Degree of Influence. ple edits (numeric vs. alpha) or printers connected via
Each GSC guideline contains a definition of the GSC, rules parallel port (the user can specify where to direct the
for determining the score, and, in situations where the rule output).
requires further clarification, hints have been provided to help NN The entry of data does not involve reading or writ-
apply the rules consistently across all platforms. Hints are not ing directly to an Internal Logical File (ILF). Data is
intended to cover all situations but are meant to provide addi- entered on-line, but the transactions are stored in a
tional guidance in determining the appropriate score. temporary file for batch update of ILFs at a later time.

4 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 5, Appendix C, page C-6. Release 4.3, Appendix C, page C-7.
Value Adjustment Factors    93

Table 11.3  Data Communications Table 11.4  Distributed Data Processing


Descriptions to Determine Descriptions to Determine
Score as Degree of Influence Score as Degree of Influence

0 Application is pure batch processing or a 0 Data is not transferred or processed on


stand-alone application. another component of the system.

1 Application is batch but has remote data 1 Data is prepared for transfer then are
entry or remote printing. transferred and processed on another
component of the system for user
2 Application is batch but has remote data processing.
entry and remote printing
2 Data is prepared for transfer then is
3 Application includes on-line data collection transferred and processed on another
or TP (teleprocessing) front end to a batch component of the system, not for user
process or query system. processing.
4 Application is more than a front end but 3 Distributed processing and data transfer are
supports only one type of TP on-line and in one direction only.
communications.
4. Distributed processing and data transfer are
5 Application is more than a front end and on-line and in both directions.
supports more than one type of TP
communication protocol. 5 Distributed processing and data transfer are
on-line and are dynamically performed on
the most appropriate component of the
system.
Hints to Rule 3
NN Simple business rules and minimal edits (e.g., alpha/
numeric, range check, required data) may be per-
formed. When this data is eventually processed by the
Typically
application, additional edits are performed. NN Batch applications receive a score of 0 to 3.
NN The entry of data does not involve reading or writing NN On-line applications receive a score of 4.
directly to an ILF. Data is entered on-line, but the NN Web-based applications receive a score of 4 or 5.
transactions are stored in a temporary file for batch NN Real-time, telecommunication, or process control sys-
update of ILF(s) at a later time. tems receive a score of 4 or 5.

Hints to Rule 4
NN Data for the application is collected and may directly
update ILF(s) or be stored for future processing using
Distributed Data Processing6
an input device that performs edits based on business Definition
rules.
NN Only one communication protocol is used. Typically, Distributed Data Processing describes the degree to which
when the data is processed by the application, no fur- the application transfers data among physical components
ther edits are required. of the application. Distributed data or processing functions
NN The entry of data involves reading or writing to an ILF. are a characteristic of the application within the application
NN Examples include client–server data entry or Internet boundary.
data entry, but not both.
Score
Hints to Rule 5
See Table 11.4.
NN Same as for Rule 4; however, data collection is per-
formed using multiple telecommunication protocols.
NN Examples include client–server data entry and Internet 6 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
data entry of the same transaction. Release 4.3, Part 5, Appendix C, page C-9.
94    Certified Function Point Specialist Examination Guide

Hints NN The application runs under an operating system that


automatically handles the allocation between compo-
Distributed Data Processing, by definition, is not an applica- nents; however, the use of the operating system did
tion that is contained on a central processor that sends data to not influence the design and implementation of the
other applications. In a distributed environment, the applica- application.
tion is viewed as requiring multiple components (hardware)
on which certain processing or data resides. A knowledgeable
user would usually recognize this configuration. Hint to Rule 5
NN The developer must consider special application soft-
Hint to Rule 0 ware that looks at multiple processors and runs the
application on a specific type of processor. This is invis-
Presentation, processing, and I/O components are all in the ible to the user.
same place (i.e., stand-alone applications). NN The application runs under an operating system that
automatically handles the dynamic allocation between
Hints to Rule 1 components, and the use of the operating system spe-
NN Application downloads data to a user’s client machine cifically influenced the design and implementation of
so the user can use Excel® or other reporting tools to the application.
prepare graphs and perform other analysis.
NN Process transfers data from the mainframe to an exter- Typically
nal component for user processing. This transfer is per-
formed using a simple protocol such as FTP. NN Many applications, including legacy applications,
NN Data is transferred to a user for processing. receive a score of 0.
NN Primitive distributed applications that include batch
applications in which data is not transferred on-line
Hints to Rule 2 receive a score of 1 to 2.
NN Process transfers data from the mainframe to mid- NN Client–server or Web-based applications receive a score
tier—for example, processing with SAS-PC. of 3 to 4.
NN Application sends data to the client or server. The data is NN It is uncommon to score 5.
then processed or used to produce reports, etc. No data NN There must be multiple servers or processors, each of
or confirmation is sent back to the client or server. which would be selected dynamically on the basis of its
NN Data is transferred to a component for processing. real-time availability, to score 5.

Hint to Rule 3
NN Data is sent between the client and server in one direc-
Performance7
tion only. The data is then processed or used to pro- Definition
duce reports, etc. by the receiving application. This
data typically includes transactions that update an ILF Performance describes the degree to which response time
on the client or server. and throughput performance considerations influenced
NN Examples include client–server or Web-enabled the application development. Application Performance
applications. objectives, stated or approved (or implied) by the user, in
either response or throughput, influence (or will influence)
the design, development, installation, and support of the
Hint to Rule 4 application.
NN Data is sent between client and server in either direc-
tion. This data is then processed or used to produce Score
reports, etc. by the receiving application. The data typ-
ically includes transactions that update an ILF on the See Table 11.5.
client or server.
NN Examples include client–server or Web-enabled 7 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
applications. Release 4.3, Part 5, Appendix C, page C-11.
Value Adjustment Factors    95

Table 11.5  Performance Table 11.6  Heavily Used Configuration


Descriptions to Determine Descriptions to Determine
Score as Degree of Influence Score as Degree of Influence

0 No special Performance requirements were 0 No explicit or implicit operational


stated by the user. restrictions are included.

1 Performance and design requirements were 1 Operational restrictions do exist but are less
stated and reviewed but no special actions restrictive than a typical application. No
were required. special effort is needed to meet the
restrictions.
2 Response time or throughput is critical
during peak hours. No special design for 2 Operational restrictions do exist but are
CPU utilization was required. Processing typical for an application. Special effort
deadline is for the next business cycle. through controllers or control programs is
needed to meet the restrictions.
3 Response time or throughput is critical
during all business hours. No special design 3 Stated operational restrictions require
for CPU utilization was required. Processing special constraints on one piece of the
deadline requirements with interfacing application in the central processor or a
systems are constraining. dedicated processor.

4 In addition, stated user Performance 4 Stated operational restrictions require


requirements are stringent enough to special constraints on the entire application
require Performance analysis tasks in the in the central processor or a dedicated
design phase. processor.

5 In addition, Performance analysis tools were 5 In addition, there are special constraints on
used in the design, development, and/or the application in the distributed
implementation phases to meet the stated components of the system.
user Performance requirements.

NN Real-time, telecommunication, or process control sys-


tems receive a score of 0 to 5.
Hints NN A score of 5 requires the use of performance analysis
NN The General System Characteristics of Performance, tools.
Heavily Used Configuration, and Transaction Rate
(GSCs 3, 4, and 5) are somewhat related. For this
GSC, think in terms of: “How fast can we make the Heavily Used Configuration8
application go and how much did/does that impact the
design, development, and/or implementation?”
Definition
NN The users may require real-time access to their data, Heavily Used Configuration describes the degree to which
stating or implying standards for response time and computer resource restrictions influenced the development
throughput capacity. of the application. A heavily used operational configuration
NN Response time typically relates to interactive process- may require special considerations when designing the appli-
ing; throughput relates to batch processing cation; for example, the user wants to run the application on
existing or committed equipment that will be heavily used.

Typically
Score
NN Batch applications receive a score of 0 to 4.
NN On-line (including interactive client–server or Web- See Table 11.6.
enabled) applications receive a score of 0 to 4.
NN Web-based applications receive a score of 4 or 5. 8 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
NN Most MIS on-line systems receive a score of 2. Release 4.3, Part 5, Appendix C, page C-13.
96    Certified Function Point Specialist Examination Guide

Hints Table 11.7  Transaction Rate

NN The General System Characteristics of Performance, Descriptions to Determine


Score as Degree of Influence
Heavily Used Configuration, and Transaction Rate
(GSCS 3, 4, and 5) are somewhat related. 0 No peak transaction period is anticipated
NN For this GSC, think in terms of: “How much does the
1 Low Transaction Rates have minimal effect on
infrastructure influence the design?”
the design, development, and installation
phases.

Examples 2 Average Transaction Rates have some effect


on the design, development, and installation
Examples of operational restrictions may include the follow- phases.
ing (not an exhaustive list):
3 High Transaction Rates affect the design,
development, and/or installation phases.
NN This question indicates that the application must run
on a computer that is underpowered and cannot ade- 4 High Transaction Rates stated by the user in
quately handle the new or changed functionality and the application requirements or service-level
that somehow the developers can overcome this by agreements are high enough to require
developing the application differently. Performance analysis tasks in the design,
development, and/or installation phases.
NN More than one application accessing the same data can
create operational restrictions. 5 High Transaction Rates stated by the user in the
NN Applications competing for the same resources and application requirements or service-level
technologies with the potential deadlocks must agreements are high enough to require
be tuned and constrained to avoid performance Performance analysis tasks and, in addition, the
degradation. use of Performance analysis tools in the design,
development, and/or installation phases.

Typically
NN Most applications receive a score of 2. Score
NN Client–server, Web-enabled, real-time, telecommuni-
See Table 11.7.
cation, or process control systems receive a score of 3 to
5, but then you would need either a dedicated proces-
sor or multiple processors processing the same transac- Hints
tions and searching for the most expeditious means of
NN The General System Characteristics of Performance,
processing.
Heavily Used Configuration, and Transaction Rate
(GSCs 3, 4, and 5) are somewhat related. For this GSC,
think in terms of: “How many transactions can be pro-
cessed by the application in a given period of time?”
Transaction Rate9 NN Often this score is the same as the score for the
Performance GSC because Transaction Rates often
Definition influence Performance requirements.
The Transaction Rate describes the degree to which the rate
of business transactions influenced the development of the Typically
application. The Transaction Rate is high, and it influences
the design, development, installation, and support of the NN Batch applications receive a score of 0 to 3.
application. Users may require what they regard as normal NN On-line (including interactive client–server or Web-
response time even during times of peak volume. enabled) applications receive a score of 0 to 4.
NN Real-time, telecommunication, or process control sys-
tems receive a score of 0 to 5.
9 Refer to IFPUG, Function Point Counting Practices Manual (CPM), NN A score of 5 requires the use of performance analysis
Release 4.3, Part 5, Appendix C, page C-15. tools.
Value Adjustment Factors    97

Table 11.8  On-Line Data Entry End-User Efficiency11


Descriptions to Determine
Score as Degree of Influence Definition
0 All transactions are processed in batch mode. End-User Efficiency describes the degree of consideration for
human factors and ease of use for the user of the applica-
1 1 to 7% of transactions are interactive. tion measured. The on-line functions provided emphasize a
2 8 to 15% of transactions are interactive. design for user efficiency (human factor/user friendliness).
The design includes:
3 16 to 23% of transactions are interactive.

4 24 to 30% of transactions are interactive. NN Navigation aids (e.g., function keys, jumps, dynami-
5 More than 30% of transactions are cally generated menus, hyperlinks)
interactive. NN Menus
NN On-line help and documents
NN Automated cursor movement
NN Scrolling
NN Remote printing (via on-line transmissions)
On-Line Data Entry10 NN Preassigned function keys (e.g., clear screen, request
Definition help, clone screen)
NN Batch jobs submitted from on-line transactions
On-Line Data Entry describes the degree to which data is NN Drop-down list box
entered or retrieved through interactive transactions. On-line NN Heavy use of reverse video, highlighting, colors, under-
user interfaces for data entry, control functions, reports, and lining, and other indicators
queries are provided in the application. NN Hard-copy documentation of on-line transactions (e.g.,
screen print)
NN Mouse interface
Score NN Pop-up windows
See Table 11.8. NN Templates and/or defaults
NN Bilingual support (supports two languages; count as
four items)
Hint NN Multilingual support (supports more than two lan-
guages; count as six items)
This refers to types of transactions, not volumes. For example,
if an application has 45 external inputs (EIs), external outputs
(EOs), and external inquiries (EQs), what percent of the EIs,
EOs, and EQs are accomplished via on-line transactions? Score
See Table 11.9.
Typically
NN Batch applications receive a score of 0 to 1. Hints
NN On-line, real-time, telecommunication, or process con-
trol systems receive a score of 5. NN Use a convention of a score of 4 whenever the appli-
NN Most contemporary on-line (including interactive cli- cation is deployed in a graphical user interface (GUI)
ent–server or Web-enabled) applications receive a score environment (unless it scores 5).
of 5. NN Usually, only software environments that prepare appli-
NN Batch systems with on-line features may have a lot cations for mass-market or nontechnical users score 5,
of batch transactions, but there must be at least 71% and then only if they have ergonomics specialists and/
batch to receive a score of less than 5. or usability studies as part of their process.

Refer to IFPUG, Function Point Counting Practices Manual (CPM),


10 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
11

Release 4.3, Part 5, Appendix C, page C-16. Release 4.3, Part 5, Appendix C, page C-17.
98    Certified Function Point Specialist Examination Guide

Table 11.9  End-User Efficiency Table 11.10  On-Line Update


Descriptions to Determine Descriptions to Determine
Score as Degree of Influence Score as Degree of Influence

0 None of the components listed. 0 None.

1 One to three of the components listed. 1 On-Line Update of one to three control files
is included. Volume of updating is low and
2 Four to five of the components listed. recovery is easy.
3 Six or more of the components listed, but 2 On-Line Update of four or more control files
there are no specific user requirements is included. Volume of updating is low and
related to efficiency. recovery is easy.
4 Six or more of the components listed, and 3 On-Line Update of major Internal Logical
stated requirements for user efficiency are Files is included.
strong enough to require design tasks for
human factors to be included. 4 In addition, protection against data loss is
essential and has been specially designed
5 Six or more of the components listed, and and programmed in the system.
stated requirements for user efficiency are
strong enough to require use of special tools 5 In addition, high volumes bring cost
and processes in order to demonstrate that consideration into the recovery process.
the objectives have been achieved. Highly automated recovery procedures with
minimum human intervention are included.

Typically
NN Pure batch applications receive a score of 0. Hints
NN Character mode user interface receives a score of 1 or
possibly a 2. NN On-Line Update usually requires a keyed file or
NN GUI to be used for low-volume transactions receives a database.
score of 3. NN Automatic recovery provided by the operating system
NN GUI Web interface to be used for high-volume trans- counts if it impacts the application.
actions and most Web Intranet user interfaces receive a
score of 4 (requires design tasks for human factors).
NN Web Internet user interfaces receive a score of 5 Typically
(requires special tools and processes to demonstrate
that the objectives have been achieved). NN Pure batch applications receive a score of 0.
NN On-Line Updates of files that modify the way an appli-
cation processes or validates data receive a score of 1
or 2.
On-Line Update12 NN On-Line Updates of user persistent data receive a score
of 3.
Definition NN MIS applications receive a score of 3 or less.
On-Line Update describes the degree to which Internal NN Most GUI-type applications receive a score of 3 or
Logical Files (ILFs) are updated on-line. The application pro- above.
vides On-Line Update for the ILFs. NN Applications that use programmed recovery, such
as SQL roll back and commit, receive a score of 4.
Operational/routine back-up is not considered protec-
Score tion against data loss.
NN Applications required to recover data, reboot, or per-
See Table 11.10.
form other self-contained functions in the event of a
system error receive a score of 5. Recovery may require
Refer to IFPUG, Function Point Counting Practices Manual (CPM),
12 a human to press enter or perform some other minimal
Release 4.3, Part 5, Appendix C, page C-19. function to initiate this process.
Value Adjustment Factors    99

Table 11.11  Complex Processing Table 11.12  Reusability


Descriptions to Determine Descriptions to Determine
Score as Degree of Influence Score as Degree of Influence

0 None of the components listed. 0 No reusable code.

1 Any one of the components listed. 1 Reusable code is used within the application.

2 Any two of the components listed. 2 Less than 10% of the application code
developed is intended for use in more than
3 Any three of the components listed. one application.
4 Any four of the components listed. 3 10% or more of the application code
5 All five of the components listed. developed is intended for use in more than
one application.

4 Application was specifically packaged and/or


Complex Processing13 documented to ease reuse, and application is
customized at the source code level.
Definition
Complex Processing describes the degree to which processing 5 Application was specifically packaged and/or
logic influenced the development of the application. The fol- documented to ease reuse, and application is
customized for use by means of user
lowing components are present:
parameter maintenance.
NN Sensitive control and/or application-specific security
processing
NN Extensive logical processing NN Extensive mathematical processing is arithmetic that
NN Extensive mathematical processing is beyond the capability of a four-function calculator
NN Much exception processing, resulting in incomplete (add, subtract, multiply, divide). This is usually not
transactions that must be processed again present in most MIS applications; however, an engi-
NN Complex Processing to handle multiple input/output neering application may qualify.
possibilities NN Exception processing includes incomplete ATM trans-
actions caused by TP interruption, missing data values,
Score failed validations, or cycle redundancy checks, which
can be used to recreate lost pieces of data.
See Table 11.11. NN Multiple input/output possibilities include multime-
dia, device independence, voice, OCR readers, barcode
Hints reading, retinal scanning, and breathalyzer analysis.
NN Sensitive control or security processes (e.g., individual
users would have different access authority to screens Typically
where they could view and/or change data) may include Scoring is not platform dependent.
special audit processing (audit data would be captured
whenever the data was viewed and/or changed and
reported). Reusability14
NN Application-specific security processing may include Definition
internally developed security processing or the use of
Reusability describes the degree to which the application and
purchased security packages.
the code in the application have been specifically designed,
NN Extensive logical processing is Boolean logic (use
developed, and supported to be usable in other applications.
of AND, OR) of greater than average difficulty or a
minimum of four nested conditional (IF, CASE) state-
ments. Extensive logical processing does not occur in Score
most MIS applications. See Table 11.12.

Refer to IFPUG, Function Point Counting Practices Manual (CPM),


13 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
14

Release 4.3, Part 5, Appendix C, page C-20. Release 4.3, Part 5, Appendix C, page C-22.
100    Certified Function Point Specialist Examination Guide

Hints Table 11.13  Installation Ease

Hints for Rule 1 Descriptions to Determine


Score as Degree of Influence
NN A score of 1 is awarded for reusing code regardless of
0 No special considerations were stated by the
where it was developed.
user, and no special setup is required for
NN Code developed specifically for reuse within the appli-
installation.
cation and used more than once within the application
counts, as well as code retrieved from a central library 1 No special considerations were stated by the
and available for general use. user, but special setup is required for
installation.
2 Conversion and installation requirements
Hints for Rule 2 were stated by the user, and conversion and
NN To score 2 or more, the code must be developed for installation guides were provided and tested.
The impact of conversion on the project is not
use in more than one application, stored and man-
considered to be important.
aged in a central library, and available for general use.
Code from one application that is cut and pasted into 3 Conversion and installation requirements
another application is not considered reuse. were stated by the user, and conversion and
NN The reusable code would be supported by documenta- installation guides were provided and tested.
The impact of conversion on the project is
tion that enables and eases the reuse.
considered to be important.
4 In addition to 2 above, automated conversion
Hints for Rule 5 and installation tools were provided and
tested.
NN Examples of applications customized through use of
parameters include PeopleSoft® and SAP® and would 5 In addition to 3 above, automated conversion
generally receive a score of 5. and installation tools were provided and
NN Reused code may be slightly modified in the receiving tested.
application.
NN Examples of reuse include objects or other static code
maintained in an object/code library.
Hints
NN Conversion and installation includes converting preex-
isting data into new data files, loading files with actual
Typically data, and/or developing special installation software,
such as porting.
Scoring is not platform dependent. NN Purchased or developed software must be used in order
to take credit for installation and conversion.

Installation Ease15 Hint for Rule 1


Definition Most business applications require some special setup to
install the application and receive a score of 1.
Installation Ease describes the degree to which conversion
from previous environments influenced the development of
Hint for Rule 2
the application. Conversion and Installation Ease are charac-
teristics of the application. A conversion and installation plan If the application has conversion and installation require-
and/or conversion tools were provided and tested during the ments and installation guides were provided, and providing
system test phase. these functions and guides were not on the critical path of
the project, score a 2.

Score Hint for Rule 3


See Table 11.13. If the application has conversion and installation require-
ments and installation guides were provided, and providing
Refer to IFPUG, Function Point Counting Practices Manual (CPM),
15 these functions and guides were on the critical path of the
Release 4.3, Part 5, Appendix C, page C-23. project, score a 3.
Value Adjustment Factors    101

Hint for Rule 4 and 5 Table 11.14  Operational Ease

If the application has conversion and installation require- Descriptions to Determine


ments and can be installed with no external intervention, Score as Degree of Influence
score a 4 or 5, depending on the other requirements for the 0 No special operational considerations other
scoring of 2 or 3. than the normal back-up procedures were
stated by the user.

1–4 One, some, or all of the following items


Typically
apply to the application. Select all that apply.
Scoring is not platform dependent. Each item has a point value of one, except as
noted otherwise:

• Start-up, back-up, and recovery processes


were provided, but human intervention is
Operational Ease16 required.

Definition • Start-up, back-up, and recovery processes


were provided, but no human intervention
Operational Ease describes the degree to which the applica- is required (count as two items).
tion attends to operational aspects, such as start-up, back-up, • The application minimizes the need for
and recovery processes. Operational Ease is a characteristic tape mounts and/or remote data access
of the application. The application minimizes the need for requiring human intervention.
manual activities, such as tape mounts, paper handling, and
• The application minimizes the need for
direct on-location manual intervention. paper handling.

5 The application is designed for unattended


Score operation. Unattended operation means no
human intervention is required to operate the
See Table 11.14. system other than to start up or shut down
the application. Automatic error recovery is a
feature of the application.
Hints
Hint for Rule 1-4a
Application has the ability to perform start-up, back-up, and Hints for Rule 1-4d
recovery; however, human response is required to initiate the
function. NN The application has been designed to provide the user
with data in a condensed format or via a media other
than paper.
Hint for Rule 1-4b NN This could include elimination of detailed printed
Application has the ability to perform start-up, back-up, and information or access to on-line reports, inquiries,
recovery, and no human response is required to initiate the microfiche, CD, or other such media.
function.
Hints for Rule 5
Hints for Rule 1-4c NN A score of 5 is assigned to an application that runs and
NN The application minimizes the need to access data that recovers automatically from errors, on its own—an
is not immediately available. unattended operation.
NN This may include importing data from a distributed NN Unattended operation may include unmanned satel-
processor to the local processor prior to execution to lites, nuclear reactors, or air traffic control.
eliminate access delays.
Typically
Refer to IFPUG, Function Point Counting Practices Manual (CPM),
16

Release 4.3, Part 5, Appendix C, page C-25. Scoring is not platform dependent.
102    Certified Function Point Specialist Examination Guide

Table 11.15  Multiple Sites Hint for Rule 0


Descriptions to Determine Most mainframe applications would probably score 0; how-
Score as Degree of Influence ever, if an application is installed on multiple mainframe
0 The needs of only one installation site were computers with significantly different configurations or dif-
considered in the design. ferent operating systems, it would receive a score of greater
than 0.
1 The needs of more than one installation site
were considered in the design, and the
application is designed to operate only Hint for Rule 1
under identical hardware and software
environments.
An example would be Windows® NT on hardware with
exactly the same configuration.
2 The needs of more than one installation site
were considered in the design, and the
application is designed to operate only Hints for Rule 2
under similar hardware and/or software
NN Examples include Windows® 95, 98, and NT on hard-
environments.
ware with a similar configuration.
3 The needs of more than one installation site NN Variations could include different memory sizes, vari-
were considered in the design, and the ous storage capability, different processor speeds, and
application is designed to operate under different printer types.
different hardware or software environments.

4 Documentation and support plans are Hints for Rule 3


provided and tested to support the
application at multiple installation sites and NN Examples include Windows®, Mac OS® X, UNIX®,
the application is as described by 2. Linux™, and VOS3 on different types of hardware.
NN Differences could include Intel®-based PCs, Mac®,
5 Documentation and support plans are
Tandem, Sun, and AS400.
provided and tested to support the
application at multiple installation sites and
the application is as described by 3. Typically
Scoring is dependent on the number of different platforms.

Multiple Sites17
Definition Facilitate Change18
Multiple Sites describes the degree to which the application Definition
has been developed for different hardware and software
environments. Facilitate Change describes the degree to which the applica-
tion has been developed for easy modification of processing
logic or data structure. The following characteristics can
Score apply for the application:
See Table 11.15. A. Flexible Query
NN A Flexible Query and Report facility is provided
that can handle simple requests (count as 1 item).
Hints NN A Flexible Query and Report facility is provided
The term Multiple Sites is a logical term and is not necessarily that can handle requests of average complexity
physical. There can be Multiple Sites within the same physi- (count as 2 items).
cal location. The determining factor is based on the needs of NN A Flexible Query and Report facility is provided that
the various installations. can handle complex requests (count as 3 items).

Refer to IFPUG, Function Point Counting Practices Manual (CPM),


17 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
18

Release 4.3, Part 5, Appendix C, page C-27. Release 4.3, Part 5, Appendix C, page C-29.
Value Adjustment Factors    103

Table 11.16  Facilitate Change Table 11.17  Calculating Adjusted Functional Size
Descriptions to Determine Step Action
Score as Degree of Influence
1 Determine the functional size using the rules in
0 None of the items listed. the CPM 4.3 and addressed in previous chapters
of this book.
1 A total of one of the items listed.
2 Determine the Value Adjustment Factor using
2 A total of two of the items listed.
the guidance contained in Appendix C of the
3 A total of three of the items listed. CPM 4.3 and addressed in this chapter.

4 A total of four of the items listed. 3 Calculate the adjusted functional size in
accordance with the formulas contained in
5 All five of the items listed. Appendix C of the CPM 4.3 and addressed in this
chapter.

B. Business Control Data


NN Business Control Data is kept in tables that are
maintained by the user with on-line interactive Hint for Rule A2
processes, but changes take effect only on the next
Requests of average complexity may include AND/OR logic
business cycle (count as 1 item).
applied to more than one Internal Logical File.
NN Business Control Data is kept in tables that are
maintained by the user with on-line interactive
processes, and the changes take effect immediately Hint for Rule A3
(count as 2 items).
Complex requests may include AND/OR logic combinations
Score on one or more Internal Logic Files.

See Table 11.16.

Hints for Business Control Data


Hints for Flexible Query and Reporting
NN Business Control Data (Reference Data) is stored to
NN A Flexible Query and Report facility means more than support the business rules for maintenance of the
a list of choices in a “canned” query or report. Business Data (e.g., in a payroll application it would
NN It is the ability of the user to control the data, data be the data stored on the government tax rates for each
source, sequence, and format of their query or report wage scale and the date the tax rate became effective).
request. NN See Code Data (CPM Part 3, Chapter 1) for additional
NN It means freedom to design screen layout, horizontal information.
and vertical sorting, data item display formats, and
selection criteria for both files and data items.
NN It includes true user programming for inquiries and is
Typically
sometimes referred to as ad hoc query or reporting.
NN Using filters that control the amount of data viewed Scoring is not platform dependent.
or printed in a fixed format is not considered to be a
Flexible Query and Report facility.
NN Query and/or report writer capability is often provided
by languages such as SQL or Focus or by some of the Calculating the Adjusted
more dynamic ad hoc reporting tools (e.g., Crystal
Reports®).
Functional Size19
Table 11.17 includes the functional size analysis steps
Hint for Rule A1 extended to provide adjusted functional size.

Simple requests may include AND/OR logic applied to only Refer to IFPUG, Function Point Counting Practices Manual (CPM),
19

one Internal Logical File. Release 4.3, Part 5, Appendix C, page C-3.
104    Certified Function Point Specialist Examination Guide

Adjusted Development Project Adjusted Enhancement Project


Functional Size (aDFP)20 Functional Size (aEFP)21
Application Functionality The adjusted enhancement project functional size consists of
three components:
Application functionality consists of functions used after
software installation to satisfy the ongoing business needs NN Application functionality included in the user require-
of the user. ments for the project
NN Conversion functionality included in the user require-
Conversion Functionality ments for the project
NN Application Value Adjustment Factor
Conversion functionality consists of functions provided only at
installation to convert data and/or provide other user-specified
conversion requirements, such as special conversion reports. Enhancement Project GSC Considerations
The optional 14 General System Characteristics should be
Application Value Adjustment Factor reviewed for change. Small enhancements do not normally
The Value Adjustment Factor is determined by using the 14 require such a review. Examples of changes that may indicate
General System Characteristics to rate the application func- a need to review the GSCs include:
tional complexity.
NN Addition of on-line functions to a batch application
NN Increased transaction volumes and/or degraded
Formula response times now requiring performance design and
Use the following formula to calculate the adjusted develop- testing activities
ment project functional size. NN Additional usability features requested
NN Addition of a Web interface to an existing on-line
aDFP = DFP × VAF (11.1) application
where: NN Addition of a new communication protocol to an exist-
ing application
NN aDFP is the adjusted development project functional
size.
NN DFP is the development project functional size (DFP Application Functionality
= ADD + CFP, where ADD is the size of the functions Application functionality consists of:
being added by the development project, and CFP is
the size of the conversion functionality). NN Function points identified from the functionality
NN VAF is the Value Adjustment Factor. added by the enhancements
NN Function points measured because existing functional-
Example ity is changed during the enhancement project
NN Function points measured for functionality deleted
A small development project includes 20 average complexity
during the enhancement project
EIs, 10 low complexity EIs, 12 average complexity EQs, and
8 low complexity ILFs. One low complexity EI is included
for conversion. The VAF is equal to 1.10. Using the formula Conversion Functionality
to calculate the adjusted development project functional size
The conversion functionality consists of function points
(Equation 11.1), for this development project:
delivered because of any conversion functionality required
ADD = 80 + 30 + 48 + 56 = 214 by the user.
CFP = 3
VAFA = 1.10 Value Adjustment Factor
aDFP = (214 + 3) × 1.10
aDFP = 217 × 1.10 = 238.7 The two Value Adjustment Factors are the:

20 Refer to IFPUG, Function Point Counting Practices Manual (CPM), Refer to IFPUG, Function Point Counting Practices Manual (CPM),
21

Release 4.3, Part 5, Appendix C, page C-32. Release 4.3, Part 5, Appendix C, pages C-37 and C-38.
Value Adjustment Factors    105

NN Application Value Adjustment Factor before the Adjusted Application Functional Size22
enhancement project begins
NN Application Value Adjustment Factor after the This section provides the formulas to calculate the adjusted
enhancement project is complete application functional size. The two variations of this for-
mulas are:

Formula NN Formula to establish the initial adjusted functional size


Use the following formula to calculate the adjusted enhance- for an application
ment project functional size. Note: Data conversion require- NN Formula to reestablish the adjusted functional size
ments are included in this calculation. for an application after an enhancement project has
changed the application functionality
aEFP = [(ADD + CHGA + CFP) × VAFA] (11.2)
+ (DEL × VAFB) Formula: Initial Adjusted Application
Functional Size (aAFP)
where:
Use the formula in this section to establish the initial
NN aEFP is the adjusted enhancement project functional adjusted functional size for an application. Initially, the user
size. is receiving new functionality. There are no changes to the
NN ADD is the size of the functions being added by the existing functionality or deletions of obsolete or unneeded
enhancement project. functionality. The adjusted application functional size does
NN CHGA is the size of the functions being changed by not include conversion requirements.
the enhancement project (as they are or will be after
implementation). aAFP = ADD × VAF (11.3)
NN CFP is the size of the conversion functionality.
where:
NN VAFA is the Value Adjustment Factor of the applica-
tion after the enhancement project is complete. NN aAFP is the initial adjusted application functional
NN DEL is the size of the functions being deleted by the size.
enhancement project. NN ADD is the size of the functions changed by the
NN VAFB is the Value Adjustment Factor of the applica- development project to be delivered to the user or the
tion before the enhancement project begins. functionality that exists whenever the application is
measured.
NN VAF is the Value Adjustment Factor of the
Example
application.
A small enhancement project adds 2 average complexity EIs,
1 low complexity EI, 1 average complexity EQ, and 1 low
complexity ILF. One low complexity EO is revised, so it is
Formula: Application Functional
now average complexity. One low complexity EI is included Size after Enhancement Projects
for conversion. One low complexity EQ is deleted. The VAF When an enhancement project is installed, the existing
before is equal to 1.00, and the VAF after is equal to 1.01. application functional size must be updated to reflect modi-
Using the formula to calculate the adjusted enhancement fications to the application. The functionality for the applica-
project functional size (Equation 11.2) after the enhance- tion can be altered in one or more ways:
ment project:
NN Added (new) functionality increases the size of the
ADD = 8 + 3 + 4 + 7 = 22 application.
CHGA = 5 NN Changed functionality increases, decreases, or has no
CFP = 3 effect on the size of the application.
VAFA = 1.01 NN Deleted functionality decreases the application size.
DEL = 3 NN Changes to the Value Adjustment Factor increase or
VAFB = 1.00 decrease the application size.
aEFP = [(22 + 5 + 3) × 1.01] + (3 × 1.00)
aEFP = (30 × 1.01) + 3 22 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
aEFP = 30.3 + 3 = 33.3 Release 4.3, Part 5, Appendix C, page C-43.
106    Certified Function Point Specialist Examination Guide

Note: Because conversion functionality does not affect the AFPB = 400
adjusted application functional size, any conversion func- ADD = 8 + 3 + 4 + 7 = 22
tionality associated with an enhancement project is omit- CHGA = 5
ted entirely from the adjusted application functional size CHGB = 4
calculation. VAFA = 1.01
Use the following formula to calculate the adjusted appli- DEL = 3
cation functional size after an enhancement project:23
aAFPA = [(400 + 22 + 5) – (4 + 3)] × VAFA
aAFPA = [(AFPB + ADD + CHGA) – aAFPA = (427 – 7) × 1.01
(11.4) aAFPA = 420 × 1.01 = 424.2
(CHGB + DEL)] × VAFA
where:
NN aAFPA is the adjusted application functional size after
the enhancement project. Further Reading
NN AFPB is the application functional size before the
enhancement project begins. The rules included in this chapter have been extracted from
NN ADD is the size of the functions being added by the Part 5, Appendix C, of the IFPUG Function Point Counting
enhancement project. Practices Manual (CPM), Release 4.3. A review of this chap-
NN CHGA is the size of the functions being changed by ter is recommended before taking the CFPS exam.
the enhancement project (as they are and/or will be
after implementation).
NN CHGB is the size of the functions being changed
by the enhancement project (as they are and/or were
before the project commenced).
Exam Guidance
NN DEL is the size of the functions being deleted by the NN Read and study this chapter, including all related
enhancement project. examples.
NN VAFA is the Value Adjustment Factor of the applica- NN Even though the GSCs, Value Adjustment Factor, and
tion after the enhancement project is complete. adjusted functional size have been moved to Part 5,
Appendix C, of CPM 4.3, there may still be questions
Note: If the AFPB is unavailable, it can be calculated using on the exam covering these topics.
the formula AFPB = aAFPB/VAFB, where aAFPB is the NN Become very familiar with the 14 General System
adjusted application functional size before the enhancement Characteristics so you can quickly look up the infor-
project and VAFB is the Value Adjustment Factor of the mation on the GSC Quick Reference Card or in Part
application before the enhancement project. 5, Appendix C, of the CPM.
NN Make sure you are familiar with and know how to
Example apply the various adjusted functional size formulas.
Refer to our previous enhancement project that added 2 NN Become familiar with the formula changes between
average complexity EIs, 1 low complexity EI, 1 average com- CPM Release 4.2.1 and CPM Release 4.3, making
plexity EQ, and 1 low complexity ILF. One low complexity sure you know what the various acronyms represent
EO was revised, so it is now average complexity. One low (e.g., aAFP, aAFPA, aDFP, aEFP, AFPB, ADD, CFP,
complexity EQ was deleted. One low complexity EI was CHGA, CHGB, DEL, DFP, VAF, VAFA, VAFB).
included for conversion. The VAF before was equal to 1.00, NN Memorize the Value Adjustment Factor determination
and the VAF after was equal to 1.01. Assume that the appli- components.
cation functional size before the enhancement project began NN Familiarize yourself with the related examples in
(AFPB) was 400. Using the formula to calculate the adjusted this chapter as well as CPM 4.3 Part 5, Appendix C
application functional size after the enhancement project (Adjusted Functional Size), because it is unlikely that
(Equation 11.4): you will have time to look up everything during the
exam.
NN Complete the practice questions in this chapter, and
23 Refer to IFPUG, Function Point Counting Practices Manual (CPM), go back to determine why you answered any question
Release 4.3, Part 5, Appendix C, page C-44. incorrectly.
Value Adjustment Factors    107

Sample Exam Questions 7. When applied, the Value Adjustment Factor adjusts
the unadjusted functional size:
1. The Degree of Influence (DI) for each General A. ±30% to produce the adjusted functional size
System Characteristic ranges on a scale of: B. ±35% to produce the adjusted functional size
A. 0 to 4 C. ±60% to produce the adjusted functional size
B. 1 to 5 D. ±65% to produce the adjusted functional size
C. 0 to 5 8. Multiple Sites describes:
D. 1 to 4 A. The degree to which the computer resource
restrictions influenced the development of the
2. The degree to which the rate of business transac- application
tions influenced the development of the application B. The degree to which the application has been
is which General System Characteristic: developed for different hardware and software
A. Heavily Used Configuration environments
B. Performance C. The degree to which the application trans-
C. Operational Ease fers data among physical components of the
D. Transaction Rate application
D. The degree to which computer resource
3. Which of the following are characteristics of restrictions influenced the development of the
Operational Ease: application
A. The application minimizes the need for tape
mounts or remote data access requiring human 9. What is the Degree of Influence if the needs of more
intervention than one installation site were considered in the
B. Conversion and Installation Ease are charac- design, the application is designed to operate under
teristics of the application different hardware or software environments, and
C. Start-up, back-up, and recovery processes were the documentation and support plan are provided
provided, but human intervention is required and tested to support the application at multiple
D. A and C installation sites and the application:
A. 1
4. A score of 2 for Degree of Influence indicates: B. 2
C. 3
A. Incidental influence
D. 5
B. Moderate influence
C. Average influence 10. Which of the following are characteristics of End-
D. Significant influence User Efficiency:
A. Batch jobs submitted from on-line
5. What is the Degree of Influence if an application transactions
has provided a Flexible Query and Report facil- B. Drop-down list box
ity that can handle requests of average complexity C. Flexible query
and has business control data kept in tables that are D. A and B
maintained by the user with on-line interactive pro-
cesses, and the changes take effect immediately: 11. Multilingual support counts as how many items:
A. 1
A. 1
B. 2
B. 2
C. 4
C. 3
D. 6
D. 4
12. An application would receive a score of 3 for On-Line
6. The formula for Value Adjustment Factor is: Data Entry if:
A. VAF = (TDI × 0.01) + 0.65 A. 1 to 7% of transactions are interactive
B. VAF = TDI + 0.65 B. 8 to 15% of transactions are interactive
C. VAF = TDI × 0.01 C. 16 to 23% of transactions are interactive
D. None of the above D. 24 to 30% of transactions are interactive
108    Certified Function Point Specialist Examination Guide

13. Sensitive control or application-specific security C. aAFPA = [(AFPB + ADD + CHGA) – (CHGB
processing is a characteristic of: + DEL)] × VAFA
A. End-User Efficiency D. aDFP = DFP × VAF
B. On-Line Update
20. Which of the following formulas is used to calculate
C. Complex Processing
the adjusted enhancement project functional size:
D. Reusability
A. aAFP = ADD × VAF
14. What is the Value Adjustment Factor if the Total B. aEFP = [(ADD + CHGA + CFP) × VAFA] +
Degree of Influence is equal to 45: (DEL × VAFB)
A. 1.00 C. aAFPA = [(AFPB + ADD + CHGA) – (CHGB
B. 1.10 + DEL)] × VAFA
C. 1.05 D. aDFP = DFP × VAF
D. .95
21. CHGB in the formula aAFPA = [(AFPB + ADD +
15. The total Degree of Influence is between: CHGA) – (CHGB + DEL)] × VAFA:
A. 0 and 70 A. Is the size of the functions being deleted by the
B. .65 and 1.35 enhancement project
C. 0 to 5 B. Is the size of the functions being changed by
D. 1 to 5 the enhancement project (as they are/were
before the project commenced)
16. The Value Adjustment Factor (VAF):
C. Is the size of the functions being changed by
A. Is the measure of the functionality provided to
the enhancement project (as they are/will be
the user by the project or application
after implementation)
B. Rates the general functionality of the applica-
D. Is the size of the functions being added by the
tion being measured
enhancement project
C. Is calculated based on an assessment of the
14 General System Characteristics for an 22. CHGB in the formula aAFPA = [(AFPB + ADD +
application CHGA) – (CHGB + DEL)] × VAFA:
D. B and C A. Is the size of the functions being deleted by the
enhancement project
17. Which of the following formulas is used to calcu-
B. Is the size of the functions being changed by
late the adjusted application functional size after
the enhancement project (as they are/were
enhancement:
before the project commenced)
A. aAFP = ADD × VAF
C. Is the size of the functions being changed by
B. aEFP = [(ADD + CHGA + CFP) × VAFA] +
the enhancement project (as they are/will be
(DEL × VAFB)
after implementation)
C. aAFPA = [(AFPB + ADD + CHGA) – (CHGB
D. Is the size of the functions being added by the
+ DEL)] × VAFA
enhancement project
D. aDFP = DFP × VAF
23. In the formula aAFPA = [(AFPB + ADD + CHGA)
18. Which of the following formulas is used to calculate
– (CHGB + DEL)] × VAFA, the lower case “a”:
the adjusted development project functional size:
A. Denotes “application”
A. aAFP = ADD × VAF
B. Denotes “after”
B. aEFP = [(ADD + CHGA + CFP) × VAFA] +
C. Denotes “adjusted”
(DEL × VAFB)
D. None of the above
C. aAFPA = [(AFPB + ADD + CHGA) – (CHGB
+ DEL)] × VAFA
D. aDFP = (ADD + CFP) × VAF
19. Which of the following formulas is used to establish
the initial adjusted application functional size:
A. aAFP = ADD × VAF
B. aEFP = [(ADD + CHGA + CFP) × VAFA] +
(DEL × VAFB)
Chapter 12

Preparing for the Certified Function


Point Specialist (CFPS) Exam

The Certification Process throughout the duration of the overall certification period
to individuals whose IFPUG member dues are paid in full.
The Certified Function Point Specialist (CFPS) designa- CFPS certification will expire for individuals who allow
tion formally recognizes an individual’s level of expertise their IFPUG membership to lapse. An individual may
in function point analysis (FPA). Candidates are examined remain certified by either taking the CFPS exam in the third
for both their knowledge of and their ability to apply the year of certification or applying for extensions through the
International Function Point Users Group (IFPUG) count- CFPS Certification Extension Program. Always refer to the
ing rules in accordance with the IFPUG Function Point IFPUG website (www.IFPUG.org) for the current rules and
Counting Practices Manual (CPM). A CFPS is acknowledged regulations concerning certification.
as having the skills necessary to perform consistent and accu-
rate function point counts and comprehending the current
counting rules, definitions, and procedures.
An individual who passes the CFPS exam receives a cer-
Recommendations for Exam Preparation
tificate from IFPUG stating: “IFPUG certifies that [name] NN Study the current version of the IFPUG Counting
has met the requirements as specified by the standards and Practices Manual. Remember to thoroughly review the
guidelines of the International Function Point Users Group counting examples.
to qualify as a Certified Function Point Specialist (CFPS) NN Count! The more you count, the better your chances of
for the [version/series] of the Counting Practices Manual.” achieving a passing grade.
The certificate is signed by the Certification Committee NN Count a variety of application types and count types
Chair, as an authorized representative of IFPUG, and indi- (development, application, and enhancement). A lim-
cates the month and year the exam was taken, as well as ited use of function point analysis in an organization
the month and year the certification expires. The CFPS can lead to a limited amount of the experience neces-
certificate is valid for a period of 3 years; however, mem- sary to perform well on all parts of the exam.
bership in IFPUG is required to hold the CFPS designa- NN Read the CFPS Overview and Helpful Hints docu-
tion. All individuals must be members of IFPUG to sit for ments at http://www.ifpug.org/certification/.
the CFPS exam or to apply for the Certification Extension NN Consult with other exam candidates regarding their
Program, and they must remain members in good standing experiences via the IFPUG website Bulletin Board.
for the duration of their CFPS certification period. CFPS NN IFPUG Case Studies are available and can be used as
certificates for individuals who pass the CFPS exam or who a study aid for both applying the rules and practic-
successfully extend their certification via the Certification ing casework. Be sure that the case studies used are
Extension Program expire at the end of each IFPUG fiscal applicable to the CPM version of the test that you are
year (i.e., each June 30). New certificates are then issued taking.

109
110    Certified Function Point Specialist Examination Guide

NN Consider contacting vendors that provide CFPS exam Part 3. Counting Practices,
preparation training. This training does not guarantee and Part 4. Examples
that an individual will pass the exam; however, it can
better prepare you for the actual CFPS exam. Parts 3 and 4 provide detailed examples to explain counting
NN Go through the sample questions provided at the end practices concepts and rules. Each example should be con-
of each chapter in this book until you can answer (and sidered on its own merits. Because each example is intended
understand) every question correctly. to illustrate a specific scenario, variations may exist between
NN Take the practice exams provided in this book several times. examples. Although the examples throughout the manual
The more you practice, the better prepared you will be! deal with similar subject matter, they are not intended to
represent a single set of user requirements.

Review of the IFPUG Counting Part 5. Appendices and Glossary


Practices Manual (CPM)1 Part 5 contains valuable additional information in such appen-
The Counting Practices Manual, Release 4.3, complies with ISO/ dices as Functional Size Calculation Table, The Change from
IEC 14143-1:2007 (Information technology—Software mea- Previous Version (transition from CPM 4.2.1 to CPM 4.3),
surement—Functional size measurement—Part 1: Definition Adjusted Functional Size (when using the General System
of concepts). The five major parts in the CPM include: Characteristics) and IFPUG Glossary.

1. FSM
2. The Bridge—Applying the IFPUG Functional Size
Measurement Method What to Know/What to
3. Counting Practices Look Up During Exam
4. Examples
NN Memorize or at least be very familiar with the defini-
5. Appendices and Glossary
tions and rules in the CPM, because it is unlikely that
you will have time to look up everything during the
exam. However, you do have time to verify some of
Part 1. FSM your less certain answers. Do so. A few definitions are
found on the Quick Reference Card, but many more
Part 1 covers the IFPUG Functional Size Measurement are found in the Glossary.
(FSM) Method and contains the rules. To speak a language NN Use the Glossary when you do need to locate defini-
as a native, learning the grammar and the words alone is not tions. Remember to use the “Find” capability on the
sufficient, as they provide only a framework. You need lan- electronic document, if needed, but the Glossary is in
guage experience to understand how the language is spoken alphabetical order and it may be faster not to search.
in practice, how the grammar rules should be applied, what Some questions, however, may provide descriptions
idiomatic expressions are common, and so on. The same is of the term rather than asking for the meaning of the
true for FPA. The knowledge of process and rules as reflected term itself. In this case, a search of the Glossary may be
in Part 1 is a necessity, but the knowledge alone is not a suf- necessary to locate candidate answers.
ficient condition to apply FPA correctly, thus the need for the NN Do not try to memorize the formulas and matrices;
remaining parts of the CPM. instead, look these up on the Quick Reference Card
or, better still, where you copied them on to the grease
board provided. You may be limited in how much
Part 2. The Bridge
space you will have on the grease board; use that space
Part 2 provides guidance for sizing software following the carefully.
IFPUG Functional Size Measurement (FSM) Method pro- NN Do not try to memorize the General System
vided in Part 1. Characteristics (GSCs). Use the “Find” capability on
the electronic GSC Quick Reference Card.
1 Refer to IFPUG, Function Point Counting Practices Manual (CPM), NN Know which formula to use in any given situation, and
Release 4.3, Part 0, page x. know how to do the actual calculations.
Preparing for the Certified Function Point Specialist (CFPS) Exam    111

The Exam NN Conversely, make sure you do count a DET for the
capability to return a message if it is stated that the
The exam is structured so both the knowledge and the ability functionality is present.
to apply the definitions and rules as published in the current NN Make sure you count a DET for the action key for on-
CPM are tested. The 3-hour exam currently is composed of line functionality.
three sections: Definition, Implementation, and Case Study. NN Double-check your calculations (especially if your
You may request an exam duration extension of 30 minutes answer is not represented in the choices)!
if English is not your first language and the exam is not avail- NN Comment on any questions or answer options that are
able in your native or business language. Refer to the IFPUG unclear. Comments will be collected and reviewed by
website for more information on requesting the extension. the Certification Committee.
The three sections are summarized below:

NN The Definition section consists of 50 multiple-choice


questions. This section specifically tests the individu- Exam Automation
al’s knowledge of definitions and rules.
NN The Implementation section consists of 50 multiple- If you are sitting for the automated exam, it is imperative
choice questions. This section indirectly tests the indi- that you review the following documents at http://www.
vidual’s knowledge of definitions and rules and directly ifpug.org/certification/cfps.htm:
tests the individual’s ability to apply the definitions and
rules through small story problems. NN Automated Exam Day Rules and Hints for Success
NN The Case Study section directly tests the individual’s abil- NN Automated CFPS Exam FAQ
ity to apply the definitions and rules of the CPM using
various case topics. The written exam case study section These documents are prepared and updated by the IFPUG’s
consists of two to three case studies with 50 to 55 associ- Certification Committee.
ated line items. The automated exam (see the following
section) has 10 cases with 50 associated line items. Automated Exam Format and Scoring
A successful exam requires a score of at least 90% overall cor- An advantage of the automated exam process is that you
rect, with at least 80% correct on each section of the exam. receive your exam results immediately after completing the
exam. In addition, you will be provided with printed exam
results before leaving the test center. This report contains
your overall final score, as well as scores for each of the three
Helpful Hints for Taking the Exam sections of the exam.
NN Ask where the bathroom is before starting the exam and The Case Section on the automated exam is very differ-
go! The nearest bathroom might not be convenient. ent from the written exam. It consists of 10 multiple-choice,
NN Provide answers for all multiple-choice questions, as multiple part/possible question and answer sets, worth 5
blanks will be counted as incorrect answers. Fortunately, points each. Every question must include an answer. When
on the automated exam, you have an option to review one part/possible answer does not apply, choose the N/A (not
all unanswered questions before submitting the exam applicable) radio button.
for grading. Also, on the automated exam, you can The Case Section contains two types of question sets, based
mark questions to return to later, and these are identi- on the provided scenario. The first type of question set asks that
fied for you in a summary as you are reviewing the you to identify function types. The second question set type
exam before submitting it. asks that you determine the complexity for a group of function
NN Mark questions you may be unsure of for later review. types. Each question set has text and/or graphics displayed on
NN Do not spend too much time on Parts 1 and 2; typi- the left side of the screen to describe the scenario. The answer
cally, you will need a longer amount of time for the boxes for the question set are displayed on the right side of the
Case Studies in Part 3. screen. A statement at the end of each question set specifies
NN Read and answer the questions carefully. the action you should take, such as identify the data function
NN Do not make assumptions; do not count something if types or determine the complexity of the transactional func-
it is not presented (e.g., an error file as an FTR or an tion types. The practice exam questions in this book are very
action key on batch). similar to the actual automated exam questions.
112    Certified Function Point Specialist Examination Guide

Helpful Hints for Taking the Automated Exam NN Use the “Find” feature in the CPM PDF. Some of the
questions may be verbatim from the CPM, so type
NN You are not permitted to take anything into the exam, a few words in the “Find” area to go straight to the
so leave everything in your car except your picture ID answer.
and one other form of identification. The test center NN Take the tutorial on the PC at the test site before begin-
may or may not have accommodations to secure your ning the CFPS exam so you can get the feel of things.
possessions. NN A 3-hour countdown clock is provided on the upper
NN Take some earplugs to the test site to block out any right-hand screen. You are notified when there are 15
noise around you. minutes left and when there are 5 minutes left.
NN The CPM, Quick Reference Cards, and calculator are NN The answer choices are radio button selections. Click
electronic. You are not permitted to take in your own. on one to mark or unmark it.
NN The Reference drop-down menu has selections for the NN You can mark a question to review. Do so if you think
various parts of the CPM as well as the Quick Reference you need to check your answer. At the end, if time
Cards. Make sure you are familiar with what is in each remains, you will be provided with a list of all the
part of the CPM and what is on the Quick Reference question numbers along with information regarding
Cards prior to taking the exam so you know which one whether the question was answered or unanswered, as
to open. well as if it was marked. Click on the question number
NN The electronic calculator is quick and easy to use. Use to be taken back to it.
the number keys on the keyboard instead of clicking NN Provide comments using the “Comment” button,
on the numbers on the calculator. The number keys should you believe any questions or answer options are
are faster. unclear. Comments will be collected and reviewed by
NN Get familiar with the IFPUG Quick Reference Cards the Certification Committee.
that are available on the IFPUG website, as these are NN Schedule your exam at a time that you are at your best,
the ones provided with the exam. The two cards for whether that is early in the morning or later in the
CPM 4.3 are the Function Point Quick Reference afternoon.
Card and the GSC Quick Reference Card. NN Use preparation techniques that have worked for you
NN The English language references are separate PDF in the past. Most of us do not do well on an empty
documents, each accessed independently. If you open a stomach. Some of us perform better with legal stimu-
reference, remember that as soon as you answer a ques- lants such as caffeine. Remember that you cannot take
tion the reference closes in the current implementation beverages into many test centers, so you may have to
of the exam. consume your food or drink of choice prior to enter-
NN You will be provided with a small grease board or ing the exam room. If cramming and sleepless nights
something similar on which to make notes. The board work for you, consider your preferences ahead of time.
might smear, so try to keep your hands off what you In addition, unless you perform better under stress,
have written. relax.
NN As soon as you begin the CFPS exam, to save time open
the Quick Reference Cards and write the matrices and
formulas on your grease board. Good luck!
Appendix 1

Formulas and Matrices

Matrices Table A1.4  External Input (EI) Complexity Matrix

See Tables A1.1 through A1.8. 1 to 4 5 to 15 16 or More


DETs DETs DETs

Table A1.1  Internal Logical File (ILF) and 0 to 1 FTR Low Low Average
External Interface File (EIF) Complexity Matrix 2 FTRs Low Average High
1 to 19 20 to 50 51 or More 3 or More FTRs Average High High
DETs DETs DETs

1 RET Low Low Average

2 to 5 RETs Low Average High Table A1.5  External Output (EO) and External Inquiry
(EQ) Complexity Matrix
6 or More RETs Average High High
1 to 5 6 to 19 20 or More
DETs DETs DETs
Table A1.2  Internal Logical File (ILF) Translation Table 0 to 1 FTR Low Low Average
Functional Complexity Rating Function Points 2 to 3 FTRs Low Average High
Low  7 4 or More FTRs Average High High
Average 10 Note: An EQ has a minimum of 1 FTR.
High 15

Table A1.6  External Input (EI) and External Inquiry


Table A1.3  External Interface File (EIF) Translation Table (EQ) Translation Table
Functional Complexity Rating Function Points Functional Complexity Rating Function Points

Low  5 Low 3

Average  7 Average 4

High 10 High 5

113
114    Certified Function Point Specialist Examination Guide

Table A1.7  External Output (EO) Translation Table NN CFP is the size of the conversion functionality.
NN DEL is the size of the functions being deleted by the
Functional Complexity Rating Function Points
enhancement project.
Low 4

Average 5
Initial Application Functional Size
High 7
AFP = ADD

Formulas where:
NN AFP is the application function point count.
Functional Size Formulas NN ADD is the size of the functions to be delivered to the
Enhancement Project Functional Size user by the development project (excluding the size of
any conversion functionality) or the functionality that
EFP = ADD + CHGA + CFP + DEL exists whenever the application is measured.
where:
NN EFP is the enhancement project function point count. Application Functional Size Measurement
NN ADD is the size of the functions being added by the to Reflect Enhancements
enhancement project.
NN CHGA is the size of the functions being changed by AFPA = (AFPB + ADD + CHGA) – (CHGB + DEL)
the enhancement project (as they are/will be after
implementation). where:

Table A1.8  Functional Size Calculation Table


Function Functional Complexity Function
Type Complexity Totals Type Totals

ILF Low  ×7=

Average × 10 =

High × 15 =

EIF Low  ×5=

Average  ×7=

High × 10 =

EI Low  ×3=

Average  ×4=

High  ×6=

EQ Low  ×3=

Average  ×4=

High  ×6=

EO Low  ×4=

Average  ×5=

High  ×7=

Total functional size


Formulas and Matrices    115

NN AFPA is the application function point count after the NN DEL is the size of the functions being deleted by the
enhancement project. enhancement project.
NN AFPB is the application function point count before NN VAFB is the Value Adjustment Factor of the applica-
the enhancement project. tion before the enhancement project begins.
NN ADD is the size of the functions being added by the
enhancement project.
Adjusted Application Functional Size
NN CHGA is the size of the functions being changed by
the enhancement project (as they are/will be after This section provides the formulas to calculate the adjusted
implementation). application functional size. There are two variations of this
NN CHGB is the size of the functions being changed by formula:
the enhancement project (as they are/were before the
project commenced). NN Formula to establish the initial adjusted functional size
NN DEL is the size of the functions being deleted by the for an application
enhancement project. NN Formula to reestablish the adjusted functional size
for an application after an enhancement project has
changed the application functionality
Adjusted Functional Size Formulas
Initial Adjusted Application
Value Adjustment Factor (VAF)
Functional Size (aAFP)
VAF = (TDI × 0.01) + 0.65 aAFP = ADD × VAF
where TDI is the Total Degree Of Influence obtained by where:
summing the degrees of influence for each General System
Characteristic. NN aAFP is the initial adjusted application functional
size.
NN ADD is the size of the functions by the development
Adjusted Development Project project to be delivered to the user or the functionality
Functional Size (aDFP) that exists whenever the application is measured.
NN VAF is the Value Adjustment Factor of the application.
aDFP = DFP × VAF
where:
Adjusted Application Functional Size
NN aDFP is the adjusted development project functional After Enhancement Projects (aAFPA)
size.
NN DFP is the development project functional size (DFP aAFPA = [(AFPB + ADD + CHGA)
= ADD + CFP). – (CHGB + DEL)] × VAFA
NN VAF is the Value Adjustment Factor.
where:

Adjusted Enhancement Project NN aAFPA is the adjusted application functional size after
the enhancement project.
Functional Size (aEFP)
NN AFPB is the application functional size before the
aEFP = [(ADD + CHGA + CFP) × VAFA] + (DEL × VAFB) enhancement project begins.
NN ADD is the size of the functions being added by the
where: enhancement project.
NN aEFP is the adjusted enhancement project functional NN CHGA is the size of the functions being changed by
size. the enhancement project (as they are/will be after
NN ADD is the size of the functions being added by the implementation).
enhancement project. NN CHGB is the size of the functions being changed by
NN CHGA is the size of the functions being changed by the enhancement project (as they are/were before the
the enhancement project (as they are/will be after project commenced).
implementation). NN DEL is the size of the functions being deleted by the
NN CFP is the size of the conversion functionality. enhancement project.
NN VAFA is the Value Adjustment Factor of the applica- NN VAFA is the Value Adjustment Factor of the applica-
tion after the enhancement project is complete. tion after the enhancement project is complete.
Appendix 2

Practice Exam 1

Part 1. Definitions and Rules 5. Application functional size:


A. Measures an installed application
B. Includes the functionality that will be measured in
1. Steps in the function point counting procedure
the initial application function point count, as well
include:
as any functionality required for data conversion
A. Gather the available documentation
C. Measures modifications to existing applications
B. Document and report
D. A and B
C. Calculate the functional size
D. All of the above 6. Functional User Requirements are:
A. Detailed design specifications
2. The following guidance applies when counting FTRs
B. Requirements that specify what the software will
for EQs:
do in terms of tasks and services
A. Count one FTR for each ILF maintained
C. A subset of the user requirements
B. Count one FTR for each ILF or EIF read
D. B and C
C. Count only one FTR for each ILF that is both
maintained and read 7. Business Data may also be referred to as:
D. All of the above A. Core Data
B. Business Objects
3. An associative entity is:
C. List Data
A. An entity type that further describes one or more
D. A and B
characteristics of another entity type
B. Often created by the data modeler to resolve some 8. Code Data are sometimes referred to as:
of the business rules required to relate two sepa- A. List Data
rate entities B. Core Data
C. Used to associate two or more entities as a way of C. Translation Data
defining the many-to-many relationship D. A and C
D. B and C
9. Entity independence is:
4. The application boundary A. An entity that is meaningful or significant to the
A. Acts as a “membrane” through which data pro- business, in and of itself without the presence of
cessed by transactions pass into and out from the other entities
application B. A fundamental thing of relevance to the user,
B. Is independent of technical and/or implementa- about which a collection of facts is kept
tion considerations C. An entity that is not meaningful or is not signifi-
C. Is a conceptual interface between the software cant to the business, in and of itself without the
under study and its users presence of other entities
D. All of the above D. A and C

117
118    Certified Function Point Specialist Examination Guide

10. A refresh is: C. Usually represents a significant percentage of the


A. The process of recreating a set of data to make it entities identified
current with its source D. All of the above
B. Activity associated with mapping data or pro-
17. Which of the following defines the set of functional
grams from one format to another
requirements to be included in the function point
C. Initiated by business requests to add, change, or
count?
delete business functionality
A. Elementary process
D. To read data from a source, leaving the source
B. Purpose of the count
data unchanged, and to write the same data else-
C. Counting scope
where in a physical form that may differ from
D. Scope creep
that of the source
18. An application:
11. A data function:
A. Is a cohesive collection of automated procedures
A. Represents functionality provided to the user to meet
and data supporting a business objective
internal and external data storage requirements
B. Consists of one or more components, modules, or
B. Represents functionality provided to the user to
subsystems
create internal data storage requirements
C. Is a group of related items treated as a unit
C. Is either an Internal Logical File or an External
D. A and B
Interface File
D. A and C 19. An elementary process that processes data or control
information sent from outside the boundary is an:
12. The smallest unit of activity that is meaningful to the
A. EI
user is the definition of:
B. EO
A. Functional size
C. EQ
B. Function point
D. All of the above
C. Processing logic
D. An elementary process 20. Which of the following is true about an external
output?
13. The two types of subgroups for Record Element Types
A. It is an elementary process that sends data or con-
are:
trol information outside the application’s bound-
A. Mandatory and logical
ary and includes additional processing beyond
B. Mandatory and optional
that of an external inquiry
C. Optional and logical
B. The primary intent is to present information to
D. Mandatory and operational
a user through the retrieval of data or control
14. Software maintenance performed to correct faults in information
hardware or software is the definition of: C. The processing logic contains no mathematical
A. Adaptive maintenance formula or calculation
B. Perfective maintenance D. A and B
C. Corrective maintenance
21. A File Type Referenced is:
D. Preventive maintenance
A. A unique, user-recognizable, nonrepeated
15. Software maintenance performed to improve the per- attribute
formance, maintainability, or other attributes of a B. An elementary process that provides functional-
computer program is the definition of: ity to the user to process data
A. Adaptive maintenance C. A data function read and/or maintained by a
B. Perfective maintenance transactional function
C. Corrective maintenance D. None of the above
D. Preventive maintenance
22. No prior or subsequent processing steps are needed to
16. Business Data: initiate or complete the functional requirements is the
A. May also be referred to as Core User Data or definition of:
Business Objects A. An elementary process
B. Reflects the information needed to be stored and B. Maintain
retrieved by the functional area addressed by the C. Constant Data
application D. Self-contained
Practice Exam 1    119

23. Which of the following statement(s) is true for 30. What type of data are stored to support the business
conversion? rules for the maintenance of the Business Data?
A. Transactional or data functions provided to con- A. Code Data
vert data B. Constant Data
B. To read data from a source, leaving the source C. Reference Data
data unchanged, and to write the same data else- D. Valid Values Data
where in a physical form that may differ from
that of the source 31. What type of data rarely change?
C. Transactional or data functions that provide other A. Code Data
user-specified conversion requirements B. Constant Data
D. A and C C. Reference Data
D. Valid Values Data
24. To read data from a source, leaving the source data
unchanged, and to write the same data elsewhere in a 32. What type of data provides a list of valid values that a
physical form that may differ from that of the source is descriptive attribute may have?
the definition of: A. Code Data
A. Load B. Constant Data
B. Copy C. Reference Data
C. Refresh D. Business Data
D. Image
33. An enhancement project:
25. To copy computer instructions or data from external A. Is a project to develop and deliver the first release
storage to internal storage is the definition of: of a software application
A. Load B. Is a project to develop and deliver adaptive
B. Copy maintenance
C. Refresh C. Includes repair, minor enhancement, conver-
D. Image sion, user support, and preventive maintenance
activities
26. The process of recreating a set of data to make it cur- D. B and C
rent with its source is the definition of:
A. Load 34 Maintenance activities include:
B. Copy A. Defect removal
C. Refresh B. Hardware or software upgrades
D. Image C. Optimization or quality improvement
D. All of the above
27. Which of the following are transactional functions?
A. EI, EIF 35. Any of the requirements specifically requested by the
B. EI, EO, ILF user to complete an elementary process, such as vali-
C. EI, EO, EQ dations, algorithms, or calculations, and reading or
D. EI, EO, EIF maintaining a file, is the definition of:
A. Maintenance
28. Which of the following are data functions? B. Control information
A. EI, ILF C. Conversion
B. ILF, EIF D. Processing logic
C. EI, EO, EQ
D. EI, EIF 36. A Data Element Type is:
A. A unique, user-recognizable, nonrepeated
29. What type of data provides a list of available values for attribute
an attribute of one or more business object types? B. A data function read and/or maintained by a
A. Business Data transactional function
B. Constant Data C. A user-recognizable subgroup of Data Element
C. Reference Data Types within a data function
D. Valid Values Data D. None of the above
120    Certified Function Point Specialist Examination Guide

37. A Record Element Type is: 43. The unique ID of an entity is the definition of:
A. A unique, user-recognizable, nonrepeated A. Foreign key
attribute B. Primary key
B. A data function read and/or maintained by a C. Secondary key
transactional function D. None of the above
C. A user-recognizable subgroup of Data Element 44. The definition of primary intent is:
Types within a data function A. The smallest unit of activity that is meaningful to
D. None of the above the user
B. An elementary process that provides functional-
38. A File Type Referenced is:
ity to the user to process data
A. A unique, user-recognizable, nonrepeated
C. Intent that is first in importance
attribute
D. Requirements for processes and/or data that are
B. A data function read and/or maintained by a
agreed upon, and understood by, both the user(s)
transactional function
and software developer(s)
C. A user-recognizable subgroup of Data Element
Types within a data function 45. Adaptive maintenance:
D. None of the above A. Is modification of a software product, performed
after delivery, to keep a software product usable
39. The features or capabilities of an application as seen by in a changed or changing environment
the user is the definition of: B. Provides enhancements necessary to accommo-
A. Attribute date changes in the environment in which a soft-
B. User view ware product must operate
C. Elementary process C. Changes are those that must be made to keep
D. Function pace with the changing environment
D. All of the above
40. Which of the following is true of an External Interface 46. Quality includes:
File? A. Usability
A. It is a user-recognizable group of logically related B. Reliability
data or control information that is referenced C. Efficiency
by the application being measured but which D. All of the above
is maintained within the boundary of another
application 47. The result of a normalization process that transforms
B. The primary intent is to hold data referenced groups of data so they have a unique identifier, one or
through one or more elementary processes within more attributes, and no repeating attributes is:
the boundary of the application measured A. First normal form
C. An EIF counted for an application must be in an B. Second normal form
ILF in another application C. Third normal form
D. All of the above D. None of the above
48. Entity dependence is:
41. Which of the following is true of an external output? A. An entity that is meaningful or significant to the
A. It may maintain one or more ILFs and/or alter business, in and of itself without the presence of
the behavior of the system other entities
B. It may not contain derived data B. A fundamental thing of relevance to the user,
C. It may not contain calculations about which a collection of facts is kept
D. It may not maintain one or more ILFs and/or alter C. An entity that is not meaningful or is not signifi-
the behavior of the system cant to the business, in and of itself without the
presence of other entities
42. Data in an ILF or EIF that exists because the user
D. A and B
requires a relationship with another ILF or EIF is the
definition of: 49. A group of related items that is treated as a unit is a:
A. Foreign key A. Record
B. Primary key B. File
C. Secondary key C. File system
D. None of the above D. Function
Practice Exam 1    121

50. The activity of sequencing attributes in a transactional d. Measure transactional functions


function is the definition of: e. Calculate the functional size
A. Sorting f. Gather the available documentation
B. Loading A. b, f, a, c, d, e
C. Refreshing B. f, b, d, c, a, e
D. Arranging C. f, a, c, d, e, b
D. f, b, c, d, e, b

7. Application A and Application B both modify the


Part 2. Implementation same ILF. Application A added four fields to this ILF.
Application A populates these new fields by changing
1. How many DETs are counted on an external output an existing external input to include these four fields.
that has a pie chart with a category label and a numeri- There was no impact to transactions in Application B.
cal equivalent in a graphical output? What is counted?
A. 1 A. A changed ILF for Applications A and B; a
B. 2 changed transaction for Application A
C. 0 B. A changed ILF and a changed transaction for
D. 3 Application A
2. An external input that has six DETs and two FTRs has C. A changed ILF for Applications A and B; a
how many function points? changed transaction for Applications A and B
A. 3 D. A changed transaction for Application A
B. 4
C. 5 8. Currency Exchange-Rate Table (Country and Current
D. 6 Exchange Rate) is an example of what type of data?
A. Code Data
3. What is the application functional size of an applica- B. Constant Data
tion that has five low external inputs, one high external C. Reference Data
output, three average external inquiries, and one aver- D. Valid Values Data
age Internal Logical File?
A. 40 9. Airport code and airport name are examples of what
B. 42 type of data?
C. 44 A. Code Data
D. 49 B. Constant Data
C. Reference Data
4. Which of the following would be a high complexity?
D. Valid Values Data
A. An external input with 3 FTRs and 4 DETs
B. An external output with 4 FTRs and 5 DETs 10. Application A has added two external inputs (add
C. An external inquiry with 3 FTRs and 19 DETs employee and change employee), each having two
D. None of the above record types (employee basic information and employee
5. An enhancement project added a low external input, address information). How many external inputs are
deleted an average external inquiry, and added two counted?
average external outputs. What is the enhancement A. 4
project functional size? B. 2
A. 13 C. 1
B. 17 D. 3
C. 19
11. An application’s function points before an enhance-
D. 20
ment is 200. The enhancement added three low EIs,
6. Put the following steps in the function point counting two high EIs, four average EQs, and one average EO.
procedure in order: What is the enhancement project functional size?
a. Determine counting scope and boundary and A. 242
identify Functional User Requirements B. 42
b. Document and report C. 246
c. Measure data functions D. 46
122    Certified Function Point Specialist Examination Guide

12. Which of the following formulas is used to calculate an C. 40


enhancement project functional size? D. 35
A. DFP = ADD + CFP
18. An invoice data function has a header section of the
B. EFP = ADD + CHGA + CFP + DEL
customer information (customer name; account num-
C. AFPA = (AFPB + ADD + CHGA) – (CHGB +
ber; purchase order number; billing street address, city,
DEL)
state, and Zip Code; shipping street address, city, state,
D. None of the above
and Zip Code; phone number; e-mail address; fax
13. DETs that cross the boundary include: number) and line items of the purchases (item number;
A. Attributes the user enters via a screen as well as description; price; weight; color; quantity ordered). The
those displayed on a report or screen invoice data store is updated in the application being
B. Attributes in an electronic file that enter or exit measured. What is the size of this data function?
the boundary A. 5
C. Attributes that enter the application boundary B. 7
and are required to specify when, what, and/or C. 10
how the data is to be retrieved or generated by the D. 15
elementary process 19. A transaction whose primary intent is maintaining an
D. All of the above ILF is being added to an application. This transaction
14. Which of the following are not counted as DETs on a has 15 unique DETs, updates one ILF, and reads two
transaction? EIFs. What is the functional size of this transaction?
A. Attributes generated within the boundary by a A. 4
transactional function and saved to an ILF with- B. 5
out exiting the boundary C. 6
B. Attributes retrieved or referenced from an ILF or D. 7
EIF for participation in the processing without 20. The ability to initiate a transactional function can be
exiting the boundary done by the clicking on the enter key, the PF2 key, or
C. Attributes provided by, or presented to, the user the OK button. How many DETs are counted for ini-
of the transactional function tiating the action?
D. A and B A. 0
15. Which of the following types of transactions may alter B. 1
the behavior of the application? C. 2
A. EI D. 3
B. EO 21. Presenting information to a user is the primary intent
C. EQ of which transaction(s)?
D. A and B A. External input
16. Which of the following is/are a form of processing B. External output
logic? C. External inquiry
A. Sorting or arranging a set of data D. B and C
B. Conditions are analyzed to determine which are 22. Transforming existing data to create additional data is
applicable a form of which processing logic?
C. Validations are performed A. Equivalent values are converted
D. All of the above B. Sorting or arranging a set of data
C. Derived data
17. In an enhancement project, the size of the functions
D. Mathematical formulas and calculations are
being added is 10, the size of the functions being
performed
deleted is 10, the size of the functions being changed
as they are/will be after implementation is 20, and 23. Classify an elementary process as an EI if:
the size of the functions being changed as they are/ A. It has a primary intent of either maintaining
were before the project commenced is 15. What is the one or more ILFs or altering the behavior of the
enhancement project functional size? application
A. 55 B. It has the primary intent of presenting informa-
B. 45 tion to the user
Practice Exam 1    123

C. It includes processing logic to accept data or D. The size of the functions being changed by the
control information that enters the application enhancement project (as they are/were before the
boundary project commenced)
D. A and C
30. An application functional size before an enhancement
24. Functional User Requirements may include which of project was 100. The enhancement project added two
the following? low EIs, deleted one high EO, and changed one EQ
A. Data transformation from a low to an average. What is the application func-
B. Quality constraints tional size after the enhancement project?
C. Environmental constraints A. 100
D. None of the above B. 107
C. 113
25. Which of the following formulas is used to calculate D. 104
an application functional size after an enhancement
project? 31. An application functional size before an enhancement
A. DFP = ADD + CFP project was 100. The enhancement project added two
B. EFP = ADD + CHGA + CFP + DEL low EIs, deleted one high EO, and changed one EQ
C. AFPA = (AFPB + ADD + CHGA) – (CHGB + from a low to an average. What is the enhancement
DEL) project functional size?
D. AFP = ADD A. 16
B. 17
26. After an enhancement project, the application func- C. 10
tional size may be updated to reflect changed function- D. 9
ality. This changed functionality may:
A. Increase the application functional size 32. A new logon function requires the entry of the fields
B. Decrease the application functional size User Identifier and User Password. When the user logs
C. Have no effect on the application functional size on, the Security file is read to validate the user identifier
D. All of the above and password as well as to determine the windows the
user can access and maintain. If the fields do not pass
27. The formula DFP = ADD + CFP is used to calculate edits, error messages are generated and incorrect fields
which of the following? are highlighted. Two error messages and one confirma-
A. Application functional size tion message are included for the security logon transac-
B. Development project functional size tion. The security logon transactions is counted as an:
C. Application functional size after an enhancement A. EI
project B. EO
D. None of the above C. EQ
D. It is not counted
28. A transaction to add an employee has the ability to
return 10 unique error messages and two unique con- 33. During construction of the Payroll application, a
firmation messages. How many DETs are counted for requirement for help functionality was added. Help
the error and confirmation messages? information is not maintained in any application. How
A. 12 is help counted in the Payroll application?
B. 11 A. ILF
C. 2 B. EIF
D. 1 C. EQ
D. It is not counted
29. In the formula AFPA = (AFPB + ADD + CHGA) –
(CHGB + DEL), CHGB is: 34. A user requires that an application print a monthly
A. The application functional size before the report automatically every month. This report lists all
enhancement project employees by department and contains employee name
B. The application functional size after the enhance- and employee ID. This report is counted as an:
ment project A. EI
C. The size of the functions being changed by the B. EQ
enhancement project (as they are/will be after C. EO
implementation) D. It is not counted
124    Certified Function Point Specialist Examination Guide

35. The user requires the ability to perform the following address, which includes floor, street, city, state, and Zip
activities: Code. Application B requires the ability to produce
NN Enter a report definition that includes a unique mailing labels for each vendor by retrieving the vendor
report identifier, a report name, attributes used on address from the Vendor data function. The Vendor
the report, and calculations to generate the report. data function is counted as:
NN Reuse the defined report at any time, changing the A. An ILF with 5 DETs for Application A and an
definition if necessary. EIF with 5 DETs for Application B
NN View and print a report using the report definition. B. An ILF with 9 DETs for Application A and an
NN Inquire on existing report definitions by report EIF with 5 DETs for Application B
name or report identifier. C. An ILF with 9 DETs for Application A and an
What data functions are counted for these activities? EIF with 1 DET for Application B
A. ILF, EI, EQ D. An ILF with 9 DETs for Application A and an
B. ILF, EI, EO ILF with 1 DET for Application B
C. ILF
D. EIF
40. When a user adds a customer record in Application A,
36. A user needs to inquire on report definitions using the a validation is done on the Zip Code by sending the
report name as the key to finding the desired defini- city, state, and Zip Code to Application B. By reading
tion. To satisfy the user requirement, an alternate a maintained Zip Code data function, Application B
index is created using the report name as the key. This validates that the Zip Code is a valid Zip Code for the
alternate index is counted as: city and state and sends a success or failure message
A. An ILF back to Application A. If a success message is received,
B. An EIF Application A adds the record to the Customer data
C. A RET on the report definition ILF function. If a failure message is received, Application
D. It is not counted A does not add the record and sends an error message
back to the user that the Zip Code is invalid for the
37. The user requires the ability to view a list of states. The city/state. Identify all of the functions to be counted in
list is retrieved from a file containing state code and this scenario for Application A.
state description. No other data is stored on the file. A. An ILF for the Customer data function and an
The retrieved list is counted as an: EQ for the Zip Code validation
A. EQ B. An EI for adding a customer record, an ILF for
B. EI the Customer data function, and an EQ for the
C. EO Zip Code validation
D. It is not counted C. An ILF for the Customer data function and an
EIF for the Zip Code data function
38. At the end of each day, Application A sends a Daily
Check file to Application B listing the check numbers D. An EI for adding a customer record, an ILF for
and the amount and date of each check printed for the the Customer data function, and an EIF for the
day. Application B uses the file to update a data func- Zip Code data function
tion maintained within its boundaries. This transac-
tional function is counted as: 41. A development project has five average complexity
A. An EQ for Application A and an EQ for EIs and two high complexity EIs; two average com-
Application B plexity EOs; two average complexity EQs and one
B. An EQ for Application A and an EI for Application high complexity EQ; one low complexity ILF and
B one high complexity ILF; one low complexity EIF;
C. An EO for Application A and an EI for Application and one average complexity conversion EI. What is
B the application count after the development project is
D. An EQ for Application A and nothing for installed?
Application B
A. 85
39. Application A maintains the following information in B. 87
the Vendor data function: vendor ID, vendor name, C. 80
vendor phone number, vendor fax number, and vendor D. 83
Practice Exam 1    125

42. Which of the following is not considered conversion Application B uses this file to update a data function
functionality? within its boundaries. What transactional functions
A. Software upgrades due to the installation of a are counted?
revised version of vendor packages A. An EQ for Application A and an EI for Application
B. An enhancement project requires the addition of B
a DET to an existing ILF and the new DET will B. An EO for Application A and an EI for Application
be populated with a specific default value B
C. A changed EIF for the application being C. An EQ for Application A; nothing for Application
measured B
D. All of the above D. An EO for Application A; nothing for Application
B
43. Identify the transactional functions in the following
scenario: A batch feed of new customer data from 47. A development project has two low complexity EIs,
another application must be accepted. The customer two average complexity EIs, two low complexity EOs,
data must be validated and saved to the Customer file; two high complexity EQs, two low complexity ILFs,
an error report is produced containing any identified and one low complexity conversion EI. What is the
errors. The business office is notified via e-mail with development count?
processing summary data. A. 49
A. One EI, one EO, and one EQ B. 50
B. One EI and two EQs C. 51
C. One EI and one EO D. 53
D. One EI only 48. An application’s functional size before an enhance-
ment is 100. The enhancement added two low EIs and
44. An enhancement project adds six high complexity EIs deleted one average EO. What is the application size
and two average complexity EQs, deletes one high com- after the enhancement project is delivered?
plexity EQ, and changes three EOs from low to high A. 100
complexity. If the application count is 1000 before the B. 101
enhancement, what is the value of the enhancement C. 110
count? D. 111
A. 1059
B. 1047 49. The user has requested that an ILF (or part of an ILF)
C. 71 be populated from an ILF in another application.
D. 62 Validation is required against yet another ILF from
a third application. This processing is specified as a
45. The user requires the ability to delete a customer from one-time process and the data referenced in the third
the Customer ILF. Via an on-line screen, the user application will not be utilized in the future. What is
enters the customer ID and clicks on the delete but- counted for the conversion functionality?
ton. If the customer ID is invalid, an error message is A. An EIF and an EI with two FTRs
returned and the Customer ILF is not updated. If the B. An ILF and an EI with one FTR
customer ID is valid, the status field on the Customer C. An ILF only
ILF is updated with an “I,” the system date is entered D. An ILF, an EQ, and an EI with one FTR
in the Effective Date on the Customer ILF, and a con-
50. Application A generates an image copy with no addi-
firmation message is returned. What is counted for this
tional processing logic and sends it to Application B;
transactional function?
Application B loads a copy with no additional process-
A. An EI with 1 FTR and 5 DETs
ing logic. What is counted?
B. An EI with 1 FTR and 6 DETs
A. An ILF for Application A and an ILF for
C. An EI with 1 FTR and 3 DETs
Application B
D. An EI with 1 FTR and 4 DETs
B. An EIF for Application A and an EIF for
46. Application A generates a Monthly PO file at the end Application B
of each month and sends it to Application B. During C. An ILF for Application A and an EIF for
the creation of the Monthly PO file, the total num- Application B
ber of purchase orders and the total dollar amount of D. An ILF for Application A and an EI for
those purchase orders for the month are calculated. Application B
126    Certified Function Point Specialist Examination Guide

Part 3. Case Studies Table A2.1


Enter Complexity
Case Study 1 Names of Possible
Function Types Low Average High N/A
An Employee batch file enters Application A with three attri-
butes (Employee ID, Employee Hire Date, and Employee Job Add Employee    
Assignment). There are two transaction types: Add Employee
Update Employee    
and Update Employee. The Employee Job Assignment
attribute on the input record is validated against the Job Error Listing    
Assignment logical file maintained in Application C; this
is the only attribute accessed in the Job Assignment logical Employee ILF    
file by Application A; however, the Job Assignment logical Job Assignment EIF    
file has 51 attributes within Application C. If the validation
passes, the Employee logical file is updated in Application A;
a total of 12 fields are maintained and/or referenced in the Table A2.2
Employee logical file within Application A. If the validation Names of Identify the Function Used
fails, no update is made and an error report is produced. Possible
Identify the functional complexity of the possible function Function Types ILF EIF EI EO EQ N/A
types by choosing the correct radio buttons in Table A2.1.
Add Customer      

Clear Screen      
Case Study 2
Use the screen in Figure A2.1 to identify the functions pres- Error Message      
Window
ent (see Table A2.2). Note that the “Add Customer” button
causes the Customer data maintained inside the applica- Customer Data      
tion boundary to be updated with the fields entered by the
Zip Code Data      
user. The “Clear Screen” button causes all of the fields to

Customer Input Screen

Back Address http:// Go

Customer Input Screen

First Name Last Name

Street Address Apartment Number

City State Zip Code –

Daytime Phone

Evening Phone

Add Customer Clear Screen

Error Message Window

Figure A2.1  Customer input screen.


Practice Exam 1    127

be erased. The “Error Message Window” displays any errors Table A2.3
associated with validations performed against an externally
Identify the Function Used
maintained Zip Code Data file after the “Add Customer” Names of Possible
button is pressed. Function Types ILF EIF EI EO EQ N/A

Add Customer      
Case Study 3
Change Customer’s      
A retail store has developed a new application, Frequent Information
Buyer Program (FBP), to track customer purchases. The
customer fills out a paper application and gives it to the List Customers      
store clerk. The clerk then adds the customer’s information View Customer’s      
on-line. The clerk can also list customers, view a customer’s Detail Information
detailed information, and change a customer’s informa-
Customer Report      
tion. A report is produced daily listing customers that were
added with their addresses.
Identify the functions of the FBP application by choos- Case Study 5
ing the correct radio buttons in Table A2.3.
SME is implementing a Customer Relations Management
(CRM) application. The Web Info (WI) application, an
Case Study 4 existing application, will be required to send information
Use the data flow diagram in Figure A2.2 to identify the to the CRM each evening by retrieving all Requests for
functions in the HR application and the Mail Distribution Information (RFI) submitted that day and currently main-
application (see Table A2.4). tained in the RFI logical file within the WI application. The

User User

Emp_Id Mail Distribution


Emp_Name Emp_Id HR Application Emp_Id
Mailing_Address Emp_Name Application Floor
Pay_Grade Building_Code
Mailing_Address
Job_Title Pay_Grade Emp_Id
Job_Title Floor
Pension_Elig_Date Building_Code
Create Employee Employee Maintain
Employee Building Codes

Emp_Id Emp_Id
Emp_Name Floor
Mailing_Address Building_Code
Print Mailing Pay_Grade
Labels Job_Title
Pension_Elig_Date Print
Emp_Name Population
Mailing_Address Report
Street
City
Number_of_Employees
State
Floor
Zip_Code
Building_Code
Floor
Building_Code

Legend:

User or Application Process Document

Data Stored Flow of Data

Figure A2.2  HR and mail distribution applications.


128    Certified Function Point Specialist Examination Guide

Table A2.4 Table A2.5


Identify the Function Used Enter Complexity
Names of Possible Names of Possible
Function Types ILF EIF EI EO EQ N/A Function Types Low Average High N/A

Create Employee       RFI Daily Feed    

Print Mailing Labels       Potential Customer    


logical file
Maintain Building      
Codes State Report    

Print Population       Retrieve/View Customer    


Report Information

Employee       Update Requested    


Information

following information is sent on this daily feed: requestor ID;


Table A2.6
requestor’s first, middle, and last name; requestor’s organiza-
tion; requestor’s address (street address, city, state, and Zip Enter Complexity
Code); date of request; requested items; and quantities for Names of Possible
Function Types Low Average High N/A
requested items. The CRM application will validate and pro-
cess the daily feed into a new Potential Customer logical file. Customer logical file    
Separate reports by state will be generated each morning
Orders logical file    
by the CRM application and delivered to state sales coordina-
tors. The printout will contain all of the information on the CUSTID logical file    
Potential Customer logical file as well as a total number of
Add Bulk Orders    
requests for information, which is calculated at the time the
report is produced. The state code and state name, retrieved Change Bulk Orders    
from a code table, will also be printed on each report.
Each state sales coordinator will have the ability to
retrieve via screen all information maintained in the NN ORDERS contains: (a) Record One (Ship to) contains
Potential Customer logical file by entering the requestor ID customer code, record ID, “attention to” name (first
and action key; hard-coded error messages will be returned name, middle initial, last name), street address, city,
if the requestor ID is not found. state, Zip Code, carrier code, and date to be shipped. (b)
Using that screen, the state coordinator can revise the Record Two (Details) contains customer code, record
requested items and/or quantities using the requestor ID and ID, item code, item quantity, item dollar amount, bulk
a preassigned function key; hard-coded error messages may be order discount code, total order dollar amount, tax code,
returned if the newly assigned requested item is not contained tax amount, and date order placed. (c) Record Three
in the Inventory logical file maintained by the Inventory (Billing) contains customer code, record ID, company
application, or a hard-coded confirmation message will occur. code, billing street address, city, state, Zip Code, and
Identify the complexity of the functions for the CRM appli- orderer’s name (first name, middle initial, last name).
cation by choosing the correct radio buttons in Table A2.5. NN CUSTID contains the same information as
CUSTOMER but sorted by customer code and is
used in processing outputs.
Case Study 6
A company is creating a new application called Sales Order Bulk orders are entered into the SOS via the Bulk Order
System (SOS). This application will have the following logi- file from the regional system. The transaction contains 29
cal files: attributes and updates the ORDERS logical file. One of the
attributes contains an action field with the values A (add)
NN CUSTOMER contains the company name; street or C (change).
address, city, state, and Zip Code; customer code; Identify the complexity of the functions for the SOS
region; sales agent; and billing street address, city, application by choosing the correct radio buttons in Table
state, and Zip Code. A2.6.
Practice Exam 1    129

Case Study 7 Table A2.7

An insurance company offers several product lines, including Identify the Function Used
Names of Possible
homeowner’s and auto insurance. A new marketing strategy Function Types ILF EIF EI EO EQ N/A
is to offer a discount on the purchase of auto insurance to a
policyholder who already has homeowner’s insurance with Policyholder logical      
the company. To provide this service, enhancements must file
be made: New Auto Policy      
NN The Policyholder logical file that is maintained by New Auto Policy      
both the Homeowner’s Insurance application and the Confirmation Report
Auto Insurance application will have two fields added
Cancelled      
to it: Multipolicy Discount Indicator and Discount
Homeowner’s Policy
Amount.
NN Processing logic must be changed in the Auto Policyholder Letter      
Insurance application. During the nightly batch pro-
cessing of new auto policies, the Policyholder logical
Table A2.8
file must be checked to see if the policyholder has
homeowner’s insurance with the company. If so, the Identify the Function Used
Names of Possible
two new fields in the Policyholder logical file will be
Function Types ILF EIF EI EO EQ N/A
updated. In addition, the confirmation report that is
produced from the batch process will be changed to Add Vendor      
include a message that the discount was applied.
Change Vendor      
NN The Homeowner’s Insurance application must also
be changed. During the nightly batch process of can- Delete Vendor      
celled homeowner’s policies, the Policyholder logical
Display Vendor      
file must be checked to see if the policyholder has been Information
receiving the multipolicy discount on auto insurance.
If so, the Multipolicy Discount Indicator will be set to Vendor logical file      
“C” for “Cancelled.”
NN The nightly batch process in the Auto Insurance
application must also be changed to check each NN Invoices
record on the Policyholder logical file for cancelled −− Add an invoice
homeowner’s insurance. If the Multipolicy Discount −− Display an invoice
Indicator is a “C,” it will be changed to an “N,” the −− Change an invoice
Discount Amount will be set to zero, the new auto −− Delete an invoice
insurance premium will be calculated, and a letter NN Payments
outlining the changes will be produced and mailed to −− Retrieve payments due
the policyholder. −− Record payments
Invoices and payments are maintained in the Invoice log-
Identify the new and changed functions of the
ical file in AP. The enhancement will allow users to maintain
Homeowner’s Insurance and Auto Insurance applications by
Vendor information in the AP application. The following is
choosing the correct radio buttons in Table A2.7.
being added to the AP menu:
NN Vendor
Case Study 8 −− Add a vendor
−− Display vendor information
Company XYZ plans to enhance its Accounts Payable (AP)
−− Change vendor information
application. The current application interfaces with existing
banking, help, and purchase order (PO) applications. This is The Vendor information will be maintained in a new Vendor
a menu-driven system. To enter the AP application, the user logical file in the AP application.
must make selections from a main menu. The menu has the Identify the enhanced functions of the AP application by
following options: choosing the correct radio buttons in Table A2.8.
130    Certified Function Point Specialist Examination Guide

Case Study 9 Table A2.9

A new file is to be passed from the Accounts Payable (AP) Enter Complexity
Names of Possible
application to the Banking application at the close of every Function Types Low Average High N/A
business day. This file contains the payment date required,
payment amount, PO number, vendor name, and vendor Payment file from AP    
billing street address, city, state, and Zip Code. The Banking Checking Account    
application must now be enhanced to process this incoming logical file
file and to generate the appropriate checks.
The Banking application will process the incoming file Disbursement logical    
from the AP application without any edits or validation into file
two user-maintained logical files: Checking Account and Checks    
Disbursements. The Checking Account logical file previ-
ously had 2 RETs and 19 DETs. This change will require Report of Insufficient    
Funds
the addition of the PO number to the Checking Account
logical file. All other attributes were previously included. The
Disbursements logical file will not require any changes as a
result of this enhancement. an inadequate balance. The Report of Insufficient Funds will
The current process to generate checks to pay invoices is contain the following attributes: insufficient funds for pay-
to be modified. Checks now will be generated with the PO ment date, payee, PO number, payment amount, total num-
number as a separate memo attribute by the banking system. ber of payees, and total payment amount (total attributes are
Previously, checks contained the following information: pre- calculated when the report is produced).
printed name and address for the company, preprinted check Identify the complexity of the enhanced functions for the
numbers, payment date, payment amount, payee (same as Banking application by choosing the correct radio buttons in
vendor’s name), and payee street address, city, state, and Zip Table A2.9.
Code. Checks previously did not include a memo attribute.
These checks reference only the Checking Account logical
file when they are created. The Checking Account logical file Case Study 10
is updated internally to indicate payment as part of the check Students enrolling in a course at a local university have the
generation elementary process. ability to do so on-line by accessing the Course Registration
A printed report will be generated from the Checking application. When the student selects File: New, the Course
Account logical file if checks were not produced because of Registration screen shown in Figure A2.3 appears. The

COURSE REGISTRATION
FILE EDIT VIEW REPORTS WINDOW HELP
NEW
OPEN
CLOSE
PRINT COURSE REGISTRATION
EXIT

STUDENT ID STUDENT NAME

DEPARTMENT Dropdown
A COURSE NUMBER COURSE NAME LOCATION START DATE TIME

ENTER REGISTER CANCEL EXIT

Figure A2.3  Course registration.


Practice Exam 1    131

student then enters his or her student ID and clicks “Enter.” Table A2.10
If the entered student ID has no match on the Student logi-
Identify the Function Used
cal file, an error message is returned, and the student may Names of Possible
either try again or click “Cancel” to exit the application. If Function Types ILF EIF EI EO EQ N/A
a match is found on the student’s ID, the student’s name
Student logical file      
is retrieved from the Student logical file and displayed on
the screen. The student then selects a department from the Course logical file      
drop-down list box, and a list of all courses offered by that
Register for Course      
department is retrieved from the Course logical file that is
maintained in another application. Displayed on the list are Department Drop-      
course number, course name, location, start date, and time. Down List Box
To register for a course, the student enters “X” in Column A Cancel      
next to the desired course and clicks “Enter” or “Register.” A
validation on the Course logical file is made to ensure that
the class still has openings. If there are no openings, an error
message is displayed on the screen. If there are openings, a is displayed. The student can then either register for another
validation is made on the Student logical file to ensure that course by repeating the process or click on “Exit” to end the
the student is eligible to enroll for the course. If ineligible, process.
an error message is displayed on the screen. Otherwise, the Identify the functions for the Course Registration appli-
Student logical file is updated, and a confirmation message cation by choosing the correct radio buttons in Table A2.10.
Appendix 3

Practice Exam 2

Part 1. Definitions and Rules C. An elementary process


D. A functional unit
1. Translation Data is sometimes referred to as: 6. An elementary process that processes data or control
A. User Metacode Data information sent from outside the boundary is an:
B. Substitution Data A. EO
C. Code Data B. EI
D. None of the above C. EQ
D. Both A and C
2. Examples of repair include:
A. Missing functions that do not result in applica- 7. Business Data may also be referred to as:
tion failure (external design error) A. Personal User Data
B. Errors resulting in a stop-run situation (code error) B. Core Objects
C. Both A and B C. List Data
D. Neither A nor B D. None of the above
3. Steps in the Functional Size Measurement Method 8. The Value Adjustment Factor (VAF) is:
procedure include: A. A measure of the functional vs. technical ratio in
A. Gather the available documentation a given application
B. Report quality metrics B. The factor that indicates the general functionality
C. Calculate the technical size provided to the user of the application
D. Both A and B C. The factor of value delivered to the end user by
the application
4. The application area:
D. None of the above
A. Acts as a “membrane” through which data pro-
cessed by transactions pass into and out from the 9. Entity subtype:
application A. Is a subdivision of entity type
B. Is a general term for a grouping of applications B. Inherits all the attributes and relationships of its
that handle a specific business area parent entity type
C. Corresponds to an administrative level for man- C. May have additional, unique attributes and
agement purposes relationships
D. Both B and C D. All of the above
5. The smallest unit of activity that is meaningful to the 10. The process of recreating a set of data to make it cur-
user is the definition of: rent with its source is the definition of:
A. An elementary unit A. Reload
B. A single function point B. Copy

133
134    Certified Function Point Specialist Examination Guide

C. Refresh 18. An application:


D. Image Load A. Is a cohesive collection of automated procedures
11. General System Characteristics (GSCs) are: and data supporting a business objective
A. A set of 14 questions that quantify the degree of B. Consists of one or more components, modules, or
quality for the application subsystems
B. A set of 14 questions that evaluate the overall C. Is a group of related items treated as a unit
complexity of the application D. A and B
C. Both A and B
19. The formula for Value Adjustment Factor is:
D. None of the above
A. VAF = (TDI × 0.01) + 0.65
12. Total Degree of Influence (TDI) is: B. VAF = TDI + 0.65
A. ±35% C. VAF = TDI × 0.01
B. The sum of the 14 degrees of influence D. None of the above
C. A score between 0 and 70
D. Both B and C 20. Which GSC describes the degree to which the applica-
tion and the code in the application have been specifi-
13. The two types of subgroups for record element types cally designed, developed, and supported to be usable
are: in other applications:
A. Obligatory and arbitrary A. Installation Ease
B. Mandatory and optional B. Operational Ease
C. Optional and indispensable C. Reusability
D. Compulsory and discretionary D. Multiple Sites
14. Corrective maintenance is:
A. The modification of a software product performed 21. A File Type Referenced is:
after delivery to account for scope creep A. A data function maintained by an elementary
B. The modification of a software product per- process
formed after delivery to introduce product B. A data function maintained by a transactional
enhancements function
C. The reactive modification of a software product C. A data function read and/or maintained by a
performed after delivery to correct discovered transactional function
problems D. None of the above
D. All of the above
22. Which of the following can be counted as one or more
15. Flexible query/report capability is accounted for in ILFs in a project:
which of the following GSCs: A. Application data
A. Complex Processing B. Application security data
B End-User Efficiency C. Control data
C. Facilitate Change D. All of the above
D. Operational Ease
16. Internal Logical Files (ILFs) can: 23. What do most mainframe applications score for the
A. Be hard coded Multiple Sites GSC:
B. Be counted in more than one application A. 3
C. Contain multiple FTRs B. 2
D. Both B and C C. 1
D. 0
17. Counting scope:
A. Includes the effect of scope creep 24. On-line applications typically receive a score of
B. Defines the set of Functional User Requirements to for the Data Communications GSC.
be included inside of the application boundary A. 3
C. Defines the set of Functional User Requirements B. 4
to be included in the function point count C. 5
D. Both A and C D. None of the above
Practice Exam 2    135

25. The IEEE definition of load is: 31. The last step of the functional size measurement
A. To copy computer instructions or data from method procedure labeled 6 in the figure is:
external storage to internal storage A. Measure data functions
B. To read data from a source, leaving the source B. Calculate functional size
data unchanged, and to write the same data else- C. Measure transactional functions
where in a physical form that may differ from D. None of the above
that of the source
C. The process of recreating a set of data to make it 32. A score of 2 for degree of influence indicates:
current with its source A. Incidental influence
D. None of the above B. Moderate influence
C. Average influence
26. The process of recreating a set of data to make it cur- D. Significant influence
rent with its source is the definition of:
A. Load 33. The degree to which the rate of business transactions
B. Copy influenced the development of the application is which
C. Refresh General System Characteristic:
D. Image A. Transaction Rate
27. Which of the following are exclusively transactional B. Heavily Used Configuration
functions: C. Operational Ease
A. EI, EIF D. Performance
B. EI, EO, ILF
C. ILF, EIF 34. A project used to develop and deliver adaptive mainte-
D. None of the above nance is:
A. A development project
28. Which of the following are data functions: B. An enhancement project
A. ILF, ELF C. Not measurable using function point analysis
B. ILF, EIF D. An application function point count
C. EI, EO, EQ
D. None of the above 35. Hardware or software upgrades are an example of:
A. Planned obsolescence
Refer to Figure A3.1 for questions 29 through 31. B. An enhancement project
29. What is the number of the step corresponding to “cal- C. System upgrades
culate functional size”: D. A maintenance activity
A. 2
36. When applied, the Value Adjustment Factor adjusts
B. 3
the unadjusted functional size:
C. 4
A. ±30% to produce the adjusted functional size
D. 5
B. ±35% to produce the adjusted functional size
30. What is the number of the step corresponding to “mea- C. ±60% to produce the adjusted functional size
sure data functions”: D. ±65% to produce the adjusted functional size
A. 2
B. 3 37. A unique, user-recognizable, nonrepeated attribute is:
C. 4 A. A Data Element Type
D. None of the above B. A File Type Referenced
C. A Record Element Type
D. None of the above
3
1 2 5 6 38. Multilingual support counts as how many items:
4
A. 1
B. 2
C. 4
Figure A3.1  Steps in function point counting procedure. D. 6
136    Certified Function Point Specialist Examination Guide

39. The Total Degree of Influence is between: C. 10


A. 0 to 5 D. 15
B. 0 to 70
47. Functional size can be approximated but not measured
C. 1 to 5
during what stage:
D. 0.65 to 1.35
A. Proposal
40. What is the Value Adjustment Factor if the TDI is B. Requirements
equal to 45: C. Design
A. 0.95 D. Maintenance
B. 1.00
48. An EI can be invoked if the user hits the submit button
C. 1.05
on the GUI screen, presses the F10 key on the key-
D. 1.10
board, or enters an “Add” command on a command
41. Which of the following statements is false: line. How many DETs should be counted for these
A. An ILF is a user-recognizable group of logically options:
related data or control information that is ref- A. 1
erenced by the application being measured but B. 3
which is maintained within the boundary of C. 0
another application D. None of the above
B. The primary intent of an EIF is to hold data ref-
49. The Functional User Requirements as perceived by the
erenced through one or more elementary pro-
user is:
cesses within the boundary of the application
A. Requirements view
measured
B. Specification view
C. An EIF counted for an application must be in an
C. User view
ILF in another application
D. Design view
D. All of the above are true
50. A group of related items that is treated as a unit is a:
42. Processing logic for EIs may include:
A. Record
A. Validations are performed
B. File
B. Equivalent values are converted
C. File system
C. One or more ILFs are updated
D. Function
D. All of the above
43. A record is equivalent to the relational database term:
A. A row
B. A column
Part 2. Implementation
C. A tuple
1. An application includes 72 occurrences of field level
D. Both A and C
help that are all maintained inside the application
44. Attributes designed to provide fast access to the infor- boundary. How many transactional functions are
mation is the definition of: counted:
A. Foreign key A. 72 EQs
B. Primary key B. 72 EOs
C. Secondary key C. No transaction functions are counted
D. None of the above D. One transaction function
45. When performing function point analysis, it is prefer- 2. Which of the following is not an example of Reference
able to analyze the logical data model in: Data:
A. First normal form A. Job rates
B. Second normal form B. Tax tables
C. Third normal form C. Discount rates
D. Fourth normal form D. Airport Codes/Airport Names
46. An average complexity EIF has a value of: 3. Which of the following could be an EQ:
A. 5 A. A menu screen providing only navigation
B. 7 B. An output report containing derived data
Practice Exam 2    137

Sales 9. Users have requested four tabs on a Web application to


4th Qtr accomplish the elementary process of creating a pur-
9% chase order. What is counted:
3rd Qtr
10% A. 1 EI
B. 4 EIs
C. 1 EI and 4 EQs
2nd Qtr 1st Qtr
23% D. 4 EIs and 1 EQ
58%
10. In a count of DETs in an EO the following should be
counted:
A. System generated dates in the heading
Figure A3.2  Sales pie chart. B. Calculated totals of sales data retrieved from an
ILF
C. Help text retrieved from an ILF C. Literals in the heading
D. An output containing a monthly total not D. Both A and B
retrieved from a data function
11. An ILF is maintained by three separate applications.
4. Assuming the data shown have been calculated at the Where is it counted:
time of display, how would you count the pie chart A. In the application that maintains the most DETs
shown in Figure A3.2: B. In all three applications
A. 4 EOs C. In the application that accesses the ILF with the
B. 1 EO with 4 DETs greatest frequency
C. 1 EO with 2 DETs D. In none of the applications because it cannot be
D. 1 EO with 8 DETs shared
5. An enhancement project added three low exter- 12. Which of the following formulas is used to calculate an
nal inputs, deleted two high external inquiries, and enhancement project functional size:
changed two average external outputs to low complex- A. DFP = ADD + CFP
ity. What is the enhancement project functional size: B. EFP = ADD + CHGA + DEL
A. 5 C. AFPA = (AFPB + ADD + CHGA) – (CHGB +
B. 20 DEL)
C. 29 D. None of the above
D. None of the above
13. Three user-defined groups of data are maintained by
6. The change in the value of the application functional
the application and exist in the same physical file. How
size for the preceding question is:
many ILFs are counted:
A. –20
A. 0
B. –5
B. 1
C. 30
C. 2
D. 42
D. 3
7. The function point value of an ILF with 20 DETs and
4 RETs is: 14. Which of the following cannot be counted as an EQ:
A. 5 A. Screens providing only navigation
B. 7 B. Reports that contain derived data
C. 10 C. A screen displaying data simply retrieved from an
D. 15 ILF
D. A and B
8. An application has a Pantone color table that contains
two data elements: color code and color description. 15. Which of the following types of transactions may per-
This table is an example of what type of data: form validations:
A. Code Data A. EI
B. Constant Data B. EO
C. Reference Data C. EQ
D. Valid Values Data D. All of the above
138    Certified Function Point Specialist Examination Guide

16. To be an EI, it is mandatory that you either update at C. Platform upgrades, new system software releases
least one ILF or do one of the following: D. None of the above
A. Sort or arrange a set of data 22. Which of the following is an EO:
B. Perform validations A. Confirmation messages displayed to the screen
C. Create derived data B. Error messages printed as a report
D. Alter the behavior of the application C. A report containing derived data requested via an
17. In an enhancement project, the size of the functions online menu
being added is 30, the size of the functions being D. Both B and C
deleted is 15, the size of the functions being changed as 23. Which of the following is not an EQ:
they are/will be after implementation is 35, and the size A. Application level help
of the functions being changed as they are/were before B. A logon screen that does not reference a data
the project commenced is 20. What is the enhance- function
ment project functional size: C. Navigation screen with no retrieved data
A. 60 D. Both B and C
B. 65
C. 80 24. Functional user requirements may include which of
D. None of the above the following:
A. Technical constraints
18. A data function stores customer information (customer B. Quality constraints
name; account number; purchase order number; bill- C. Environmental constraints
ing street address, city, state, and Zip Code; shipping D. None of the above
street address, city, state, and Zip Code; phone num-
ber; e-mail address; fax number). The billing address 25. Which of the following formulas is used to calculate an
and shipping address are each treated as a single unit. adjusted development project functional size:
The customer information store is being updated by A. DFP = ADD + CFP
the application being measured. What type of data B. EFP = ADD + CHGA + CFP + DEL
function is this and how many DETs are present: C. aDFP = DFP × VAF
A. An EIF with 14 DETs D. aDFP = DFP + ADD + CHGA + CFP + DEL
B. An EIF with 8 DETs 26. After an enhancement project, the application func-
C. An ILF with 8 DETs tional size must be updated to reflect changed func-
D. An ILF with 14 DETs tionality. This changed functionality may:
19. A transaction whose primary intent is maintaining an A. Increase the application functional size
ILF is being added to an application. This transaction B. Decrease the application functional size
has 15 unique DETs, updates one ILF, and reads one C. Be unable to be determined
EIF. What is the functional size of this transaction: D. Both A and B
A. 4 27. Application A maintains an ILF that is also read by
B. 5 Application B. Application A should:
C. 6 A. Get credit for an ILF and an EIF
D. 7 B. Get credit for an ILF
20. When determining the Value Adjustment Factor for an C. Get credit for an EQ
enhancement project: D. Both B and C
A. Use the Value Adjustment Factor from the appli- 28. In the previous question, Application B should:
cation functional size A. Get credit for an EIF and EI
B. Use the Value Adjustment Factor from the most B. Get credit for an EI
recent enhancement count C. Get credit for an ILF
C. Use the constant 1.0 as your Value Adjustment D. Get credit for an EIF
Factor 29. A transaction to add an employee has the ability to
D. None of the above return ten unique error messages and two unique con-
21. Which of the following activities are within the firmation messages. How many EQs are counted for
enhancement counting scope: the error and confirmation messages:
A. Correction of production errors A. 12
B. Perfective or preventative maintenance B. 2
Practice Exam 2    139

COLLEGE CREDITS REPORT


FILE EDIT VIEW REPORTS WINDOW HELP

COLLEGE CREDITS REPORT

Student Course Number Course Date Credits


nnnnnnn, nnnnn n. xxxxxxx xx/xx/xxxx xx
nnnnnnn, nnnnn n. xxxxxxx xx/xx/xxxx xx
nnnnnnn, nnnnn n. xxxxxxx xx/xx/xxxx xx
Total Students for Course Number xxxxx: 15

nnnnnnn, nnnnn n. xxxxxxx xx/xx/xxxx xx


nnnnnnn, nnnnn n. xxxxxxx xx/xx/xxxx xx
nnnnnnn, nnnnn n. xxxxxxx xx/xx/xxxx xx
Total Students for Course Number xxxxx: 15

STUDENT logical file is referenced

Figure A3.3  College Credits Report.

C. 1 and employee ID. This report is generated automati-


D. 0 cally by the system, thus no DETs cross the application
30. An application has three menus to navigate through boundary to cause the report to print. This report is
the system. Each page of navigation contains 25 selec- counted as an:
tions. How many DETs should be counted: A. EI
A. 0 B. EQ
B. 1 C. EO
C. 3 D. It is not counted
D. 75 35. The functional complexity of EQs is determined by:
31. The maximum Total Degree of Influence is: A. The number of FTRs and RETs
A. 35 B. The number of DETs and RETs
B. 65 C. The number of DETs and FTRs
C. 70 D. None of the above
D. 135 36. A report is printed with retrieved fields from a single
32. How would you count the College Credits Report ILF and a single EIF. A different ILF is updated with
shown in Figure A3.3? No totals are stored in the the time and date when the report was printed. What
Student logical file. is counted:
A. 1 low EQ A. 2 EQs and 1 EI
B. 1 average EQ B. 1 EI and 1 EO
C. 1 low EO C. 1 EQ
D. 1 average EO D. 1 EO
33. An ILF has 50 DETs and 5 RETs. What is its func- 37. A user-defined customer file is maintained in three
tional size: database tables. These three tables are customer,
A. 5 address, and a hash table used to accelerate the search
B. 7 for a customer’s data. How many ILFs are counted
C. 10 within this single application:
D. 15 A. 0
34. A user requires that an application print a monthly B. 1
report automatically every month. This report lists all C. 2
employees by department and contains employee name D. 3
140    Certified Function Point Specialist Examination Guide

38. When counting DETs in an ILF, count: application functional size is 1000 before the enhance-
A. All DETs in the file ment, what is the value of the conversion functionality:
B. Only those DETs maintained A. 1059
C. Only those DETs referenced B. 1047
D. Only those DETs maintained and/or referenced C. 71
39. An Accounts Payable application allows the user to D. 12
extract information from an ILF and an EIF. The 45. The top right-hand corner of every application con-
users enters an ID number and presses the submit key. tains an “About” link that displays information about
A screen display provides a response screen with 19 the application, including version number, product
retrieved data elements and no derived or calculated ID, and copyright information. This information is
fields. What is counted: maintained in an application outside the boundary by
A. A low EI and an average EQ a developer tool called Robot_Help. What should be
B. A low EI and a high EQ counted for the “About” link:
C. A high EQ A. An EIF and an EQ
D. An average EQ B. Only an EQ
40. Examples of EIs include: C. An EI and an EQ
A. Batch input from another application that adds D. Nothing is counted
data to an ILF 46. Figure A3.4, from the IFPUG Counting Practices
B. Control information that initiates the generation Manual, Release 4.3, illustrates what process:
of a report A. Screen scraping
C. Data referenced by another application B. Image copy/load
D. Both A and B C. Static image copy
41. A development project has four average complexity EIs D. Copy merge “refresh”
and one high complexity EI; two average complexity 47. A development project has three low complexity EIs
EOs; three average complexity EQs and two high com- and four average complexity EIs, three average com-
plexity EQs; three low complexity ILFs and one high plexity EOs, four high complexity EQs, one low com-
complexity ILF; two low complexity EIFs; and four plexity ILF, and five low complexity conversion EIs.
average complexity conversion EIs. What is the appli- What is the development functional size:
cation functional size after the development project is A. 16
installed: B. 71
A. 86 C. 86
B. 90 D. 89
C. 102 48. An application’s functional size before an enhancement
D. 118 is 100. The enhancement added four low complexity
42. For the above question, what is the development proj- EIs, changed three EQs from low to average complex-
ect functional size: ity, and deleted three average complexity EOs. What is
A. 90 the functional size of the application after the enhance-
B. 102 ment project is delivered:
C. 118 A. 97
D. None of the above B. 100
43. A screen containing a drop-down list with items C. 115
retrieved from an ILF is displayed to the user. This D. 124
drop-down list should be counted as:
A. An EO only Application A Application B
B. A DET on the count of the screen
C. A EQ and a DET on the screen being counted Z
D. An EQ only File X
Copy of
File X
44. An enhancement project adds six high complexity EIs and
two average complexity EQs, deletes one high complex-
ity EQ, changes three EOs from low to high complexity,
and adds two high complexity EIs for conversion. If the Figure A3.4  Shared data example.
Practice Exam 2    141

49. The user has requested that an ILF (or part of an ILF) report is produced. The state code and state name, retrieved
be populated from an ILF in another application. from a code table, will also be printed on each report. Each
Validation is required against yet another ILF from a state sales coordinator will have the ability to retrieve via
third application. This is specified as a one-time pro- screen all information maintained in the Potential Customer
cess, and the data reference in the third application will logical file by entering the requestor ID and action key; hard-
not be utilized in the future. What is counted for the coded error messages will be returned if the requestor ID is
conversion functionality: not found.
A. An EIF and an EI with two FTRs Using that screen, the state coordinator can revise the
B. An ILF and an EI with one FTR requested items and/or quantities using the requestor ID
C. An ILF and an EI with three FTRs and a preassigned function key; hard-coded error messages
D. An ILF, an EQ and an EI with one FTR may be returned if the newly assigned requested item is not
contained in the Inventory logical file maintained by the
50. To avoid the overhead of Application C having to
Inventory application or a hard-coded confirmation message
dynamically search the data from both Application
will occur.
A and Application B, the data is being copied from
Identify the data functions for the CRM application by
Application A and Application B and merged into a
choosing the correct radio buttons in Table A3.1.
new data store in Application C. The user requires that
the information from Applications A and B be refreshed
daily for validation or reference purposes only. Unload, Case Study 2
Merge, and Load utilities are used. There is no business
A university’s Course Registration application is being enhanced
processing logic involved. What is counted:
so students can view a list of all of the courses for which they
A. An ILF for Application A, an ILF for Application
have registered in the past. The requirements are:
B, and an EI for Application C
B. An ILF and EQ for Application A, an ILF and 1. Upon entering the student ID, a list of courses for
EQ for Application B, and an EI for Application which that student has registered at any time at that
C university is retrieved from the Student logical file. A
C. An ILF for Application A, an ILF for Application list of course numbers and the corresponding course
B, and an EIF for Application C date is displayed if any records are found; otherwise, a
D. An ILF for Application A, an ILF for Application static error message is returned.
B, and an EI and EIF for Application C
2. If a list of courses is returned, the student may view
details of the course registration by selecting the course
Part 3. Case Studies number and course date from the list and clicking the
Enter button. The details displayed will be the student’s
Case Study 1 name, student’s ID, course number, course name,
course date, and course location.
SME is implementing a Customer Relations Management
(CRM) application. The Web Info (WI) application, an
All information is retrieved from the Course Registration
existing application, will be required to send information
logical file (which is maintained in the Course Registration
to the CRM each evening by retrieving all Requests for
application) and the Student logical file (which is not
Information (RFI) submitted that day and currently main-
tained in the RFI logical file within the WI application. The Table A3.1
following information is sent on this daily feed: requestor
Identify the
ID; requestor’s first, middle, and last name; requestor’s
Function Used
organization; requestor’s address: street address, city, state, Names of Possible
and Zip Code; date of request; requested items; and quanti- Function Types ILF EIF N/A
ties for requested items. The CRM application will validate
Potential Customer logical file   
and process the daily feed into a new Potential Customer
logical file. RFI   
Separate reports by state will be generated each morning
Inventory logical file   
by the CRM application and delivered to state sales coordina-
tors. The printout will contain all of the information on the Error Messages Table   
Potential Customer logical file as well as a Total Number of
State Code Table   
Requests for Information, which is calculated at the time the
142    Certified Function Point Specialist Examination Guide

Table A3.2 Table A3.3


Enter Complexity Enter Complexity
Names of Possible Names of Possible
Function Types Low Average High N/A Function Types Low Average High N/A

List Courses     Create Employee    

View Course Details     Maintain Building Codes    

Student logical file     Employee ILF    

Course Registration File     Print Mailing Labels    

Error File     Print Population Report    

maintained by the Course Registration application but is Case Study 3


maintained in another application). No new attributes were
added to Course Registration logical file, and no new attri- Use the data flow diagram in Figure A3.5 to determine the
butes were retrieved from the Student logical file as a result complexity for the functions in the Human Resources appli-
of this enhancement. cation and Mail Distribution application.
Identify the complexity of the enhancement functions Indicate the complexity of the function types by selecting
by choosing the correct radio buttons in Table A3.2. the correct radio buttons in Table A3.3.

User User

Emp_Id Mail Distribution


Emp_Name Emp_Id HR Application Emp_Id
Mailing_Address Emp_Name Application Floor
Pay_Grade Building_Code
Mailing_Address
Job_Title Pay_Grade Emp_Id
Job_Title Floor
Pension_Elig_Date Building_Code
Create Employee Employee Maintain
Employee Building Codes

Emp_Id Emp_Id
Emp_Name Floor
Mailing_Address Building_Code
Print Mailing Pay_Grade
Labels Job_Title
Pension_Elig_Date Print
Emp_Name Population
Mailing_Address Report
Street
City
Number_of_Employees
State
Floor
Zip_Code
Building_Code
Floor
Building_Code

Legend:

User or Application Process Document

Data Stored Flow of Data

Figure A3.5  Human Resources and Mail Distribution applications.


Practice Exam 2    143

Currency Application HR Application

EMPLOYEE
CONVERSION SALARIED_EMPL
RATE
HOURLY_EMPL

DEPENDENT

Legend:

Entity Type

Attributive Entity Type

Entity Subtype
Mandatory One-to-Many Relationship
Optional One-to-Many Relationship

Figure A3.6  Human Resources and Currency applications.

Case Study 4 contract number, and ten additional user-specified attributes


(not indicated here). An audit requirement has been imposed
The user requires the Human Resources application to pro- that requires that the application maintain audit data any
vide the following capabilities: time a change will be made to any of these attributes. The
1. All hourly employees must be paid in U.S. dollars. date of change, time of change, and User_ID of the user
2. When the user adds or changes employee informa- responsible for the change must be recorded together with
tion, the Human Resources application must access the “before” and “after” copies of the changed attributes. This
Currency application to retrieve a conversion rate. After data will be held in a file inside the application boundary in
retrieving the conversion rate, the HR application con- a table named Audit_Data. An audit report can be generated
verts the employee’s local standard hourly rate to a U.S. that will include the date of change, time of change, and
hourly rate using the following calculation: standard User_ID of all changes in the last 30 days.
hourly rate ÷ conversion rate = U.S. dollar hourly rate. To place this new application into service, two single-use
conversion processes will be run. The first conversion process
Figure A3.6 shows the relationships for this example. The will load a static attribute of “C” (indicating “Contractor”)
currency conversion rate information includes: into one of the ten additional user-specified attributes specified
earlier in the application’s Contractor Data file. The second
CURRENCY
Conversion_Rate_To_Base_Currency
Currency Table A3.4
Identify the
Identify the data functions for the Human Resources appli- Function Used
cation by choosing the correct radio buttons in Table A3.4. Names of Possible
Function Types ILF EIF N/A

Case Study 5 Currency Conversion Rate   

The business users have requested a new Payroll Department Employee   


application to track details of subcontractors’ employment.
Dependent   
These attributes will be maintained in a logical file called
Contractor_Data that will be maintained inside the applica- Hourly_Employee   
tion boundary. Contractor_Data will include the contractor’s
Conversion Rate   
first name, last name, home address, Social Security Number,
144    Certified Function Point Specialist Examination Guide

Table A3.5 Table A3.6


Enter Complexity Identify the Function Used
Names of Possible Names of Possible
Function Types Low Average High N/A Function Types ILF EIF EI EO EQ N/A

Contractor_Data     Locations      

Audit_Data     Transaction Data      

Audit Report    
Table A3.7
First Conversion    
Identify the Function Used
Second Conversion     Names of Possible
Function Types ILF EIF EI EO EQ N/A

conversion process will use the Social Security Number as a Locations      


primary key to lookup data in a file named Sub_Contractors_
Transaction Data      
Agreements maintained outside of the application boundary
(Adds and Changes)
and load the returned the Contractor’s First_Name, Last_
Name, Home Address, and Social Security Number in the Transaction Data      
application’s Contractor Data file. (Deletes)
Select the correct radio buttons in Table A3.5 to indicate
the complexity of the function types listed.
and nonfunctional data used by the application. The Patient
Maintenance screen allows the user to add, change, or delete
Case Study 6 the following attributes of Main_Data:
Application A retrieves a transaction file of changes named
a. Patient first name
“Transaction Data” from an Internal Logical File named
b. Patient middle initial (optional)
“Locations”; calculations are performed during the creation
c. Patient last name
of this file. The transaction file contains three transaction
d. Patient title (optional)
types: Add, Change, and Delete; Application B processes
e. Patient ID number
the Transaction Data file based on the transaction type in
f. Patient street address
updating its Internal Logical File, also named “Locations.”
g. Patient city
Although they share the same physical name (Locations),
h. Patient state
the attributes maintained in Application A’s Locations and
i. Patient Zip Code
those maintained Application B’s Locations are different.
j. Patient home phone
Figure A3.7 shows this transfer.
k. Patient work phone
Count the first two questions from Applications A’s per-
l. Patient blood type
spective (Table A3.6). Count the next three questions form
m. Patient is organ donor (1 is stored for yes, 0 is stored for
Application B’s perspective (Table A3.7).
no)
n. Date of last patient checkup (stored as an integer start-
Case Study 7 ing from January 1, 1900)
A data function (Main_Data) is maintained within the o. Patient date of birth (stored as an integer starting from
application boundary of a Patient Maintenance application. January 1, 1900)
This table has 200 columns of data that store the functional p. Patient HIV status (1 is stored for positive, 0 is stored
for negative)
q. Patient HIPPA consent (1, consent on file; 0 otherwise)
Application A Application B
An optional subgroup of information is maintained that
Z
contains:
Locations Locations
Transaction Data r. Patient advocate name
s. Patient advocate address (as one block of data)
t. Patient advocate phone

Figure A3.7  Data transfer. Other columns have been set aside for potential future use.
Practice Exam 2    145

Table A3.8 Case Study 8


Enter Complexity (Refer to Figures A3.8 through A3.10.) Old Country Bank
Names of Possible
Function Types Low Average High N/A plans to enhance its online banking application. The cur-
rent application interface allows customers to check balances,
Patient Maintenance     transfer funds, and apply for a bank debit card. To enter the
Screen (Add) online banking application, the user enters a preassigned user
Patient Maintenance     name and password. Once validated, the user gains access to
Screen (Delete) a main menu, which is displayed in Figure A3.8. The bank
plans to add a bill-payment option to its available services.
Main_Data     After the enhancement, the menu screen will include the
Initialize Reminders     option for maintaining payee information and making pay-
ments, as displayed in Figure A3.9.
Check-Up List     Payee data will be maintained by the online banking
application in a Payee logical file through Add and Change
For an Add transaction, all of the attributes supplied by transactions. Display Payee will retrieve data from the Payee
the user are saved in Main_Data; the next available patient logical file and will not include any calculations. Payment by
ID is calculated at the time of the Add transaction and saved an Old Country Bank check will be mailed to a designated
to Main_Data. For a Change transaction, the patient ID payee when Make Payment has been selected and submitted;
and any changed attributes will cross the application bound- the payment date will be entered into the Payee logical file
ary. For a Delete transaction, only the patient ID crosses the when the check is created. The functionality shown in Figure
application boundary. A3.10 is being added via the Bill Payment screen.
The system clock kicks off an Initialize Reminders process Identify the new functions of the application by choosing
at midnight every day that compares the Date of Last Patient the correct radio buttons in Table A3.9.
Checkup to the current date and places a one-bit attribute in
the DET Send Reminder Card in Main_Data if over one cal-
endar year has passed. The user can generate a report by press-
Case Study 9
ing the “Who Is Due for a Check-Up” button. The report An online multilevel marketing company named New Age
extracts attributes a through i and n from the Main_Data and Distributors has developed an application to maintain pro-
prints them with a heading and system-generated date and files of members and record individual member sales. A
page numbers. The report name is “Check-Up List.” clerk from New Age sets up a member’s profile. The clerk
Identify the complexity of the functions by choosing the can also list members with their profiles and change a mem-
correct radio buttons in Table A3.8. Assume that there are no ber’s information. A monthly customer report is produced
additional data functions or data elements used by the Patient that lists all members and calculates their year-to-date sales.
Maintenance application for the above functions. Members who exceed total year-to-date sales of $5000 are

Old Country Banking

Back Address http:// Go

Welcome to Old County Banking

What do you want to do today?

Check Balances

Transfer Funds

Apply for a Debit Card

Figure A3.8  Main screen before enhancement.


146    Certified Function Point Specialist Examination Guide

Old Country Banking

Back Address http:// Go

Welcome to Old County Banking

What do you want to do today?

Check Balances

Transfer Funds

Apply for a Debit Card

Pay a Bill

Figure A3.9  Main screen after enhancement.

Old Country Banking - Bill Payment

Back Address http:// Go

Old County Banking - Bill Payment

What do you want to do today?

Add a Payee

Display an Existing Payee

Make Changes to a Payee

Make a Payment

Figure A3.10  Screen added during enhancement.

indicated on the report as Diamond Club members. A copy Table A3.9


of the monthly report appears in Figure A3.11.
Identify the Function Used
Identify the functions of the FBP application by choos- Names of Possible
ing the correct radio buttons in Table A3.10. Function Types ILF EIF EI EO EQ N/A

Add Payee      
Case Study 10
Change Payee      
A building access system sends a batch update with time-
Make Payment      
card data indicating when employees swipe their ID cards to
enter and leave the building. This data enters the company’s Display Payee      
Time Management application and includes three attributes Information
(employee ID, time of day, and in/out indicator). The employee
Payee logical file      
ID attribute on the input record is validated against an Active
Employees logical file maintained in the company’s Employee
Payroll application. If the validation passes, the Employee
Hours logical file is updated in the Time Management appli- Identify the functional complexity of the functions in the
cation, and a confirmation message is printed. If the valida- Time Management application by choosing the correct radio
tion fails, no update is made, and an error listing is printed. buttons in Table A3.11.
Practice Exam 2    147

New Age Distributors Customer Report

September 2010

Customer ID Customer Name Sales Amount Made Diamond Club

34727 Larkin, Fred $5,294.00 Yes

28745 Adelman, Marcus $4,293.00 No

64829 Satcher, Luke $7,842.00 Yes

Figure A3.11  New Age Distributors customer report.

Table A3.10 Table A3.11


Identify the Function Used Enter Complexity
Names of Possible Names of Possible
Function Types ILF EIF EI EO EQ N/A Function Types Low Average High N/A

Set Up Member’s       Batch Update    


Profile
Confirmation Message    
Change Member’s      
Information Error Listing    

List Members       Employee Hours ILF    

Membership       Active Employees EIF    


logical file

Customer Report      
Appendix 4

Chapter 1 Sample Exam Answers

1. Organizations can apply the international standard B. A consistent measure among various projects and
of the IFPUG functional size measurement method organizations
known as function point analysis to measure the size C. Simple enough to minimize the overhead of the
of a software product to: measurement process
A. Support quality and productivity analysis D. B and C3
B. Provide a normalization factor for software
comparison 4. A function point is:
C. Estimate cost and resources required for software A. The smallest unit of activity that is meaningful to
development, enhancement, and maintenance the user
D. All of the above1 B. A unit of measure for functional size as defined
within the international standard of the IFPUG
2. The objectives of function point analysis are to Functional Size Measurement Method known
measure: as function point analysis4
A. Functionality implemented in software that the C. A unique, user-recognizable, nonrepeated attribute
user requests and receives D. None of the above
B. Nonfunctional, technical requirements
C. Functionality impacted by software development, 5. Which of the following is true of the IFPUG Functional
enhancement, and maintenance independently of Size Measurement Method?
technology used for implementation A. It is known as function point analysis
D. A and C2 B. Its units of functional size are called function
points
3. The process of function point analysis is: C. It cannot provide a normalization factor for soft-
A. Assisting users in determining the benefit of an ware comparison
application package to their organization by func- D. A and B5
tionally sizing functions that specifically match
their requirements

3 Refer to IFPUG), Function Point Counting Practices Manual (CPM),


Release 4.3, Part 1, page iii.
1 Refer to IFPUG), Function Point Counting Practices Manual (CPM), 4 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 1, page iii. Release 4.3, Part 1, page 6.


2 Refer to IFPUG), Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 1, page iii. Release 4.3, Part 1, page iii.

149
Appendix 5

Chapter 2 Sample Exam Answers

1. A user view: C. Data retrieval


A. Can be used to measure the functional size D. All of the above5
B. Can be used to measure the technical size
6. A user is:
C. Can be verbal statements made by the user as to
A. Any person who communicates or interacts with
what his or her view is
the software at any time
D. A and C1
B. Any thing that communicates or interacts with the
2. Steps in the function point counting procedure include: software at any time
A. Measure the data functions C. A and B6
B. Measure the transactional functions D. None of the above
C. A and B2
7. Technical Requirements may have one or more of the
D. None of the above
following characteristics:
3. The size of the software derived by quantifying the A. Lack of “utility” functionality
Functional User Requirements is the: B. Terminology that can be understood by both users
A. Technical size and software developers
B. Functional size3 C. Technology dependence7
C. A and B D. All of the above
D. None of the above
8. Initial User Requirements
4. Functional User Requirements are: A. Represent user requirements prior to the sessions
A. A subset of the user requirements between the users and the software developers
B. Requirements that describe what the software B. Do not address the needs of all users of the
should do, in terms of tasks and services application
C. A and B4 C. Lack “utility” functionality
D. None of the above D. All of the above8
5. Functional User Requirements may include: 9. A user view:
A. Data storage A. Can vary in physical form
B. Data transformation B. Is approved by the user

1 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 3-2. Release 4.3, Part 2, page 1-3.
2 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 6 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 2-2. Release 4.3, Part 2, page 3-2.
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 7 Refer to IFPUG), Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 1-3. Release 4.3, Part 2, page 3-5.
4 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 8 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 1-3. Release 4.3, Part 2, page 3-4.

151
152    Certified Function Point Specialist Examination Guide

C. Is the Functional User Requirements as perceived


by the user
D. All of the above9
10. Which of the following documentation is useful when
conducting any functional size measurement?
A. Class diagrams
B. Data/object models
C. Requirements
D. All of the above10

9 Refer to IFPUG, Function Point Counting Practices Manual (CPM),


Release 4.3, Part 2, page 3-2.
10 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 2-4.


Appendix 6

Chapter 3 Sample Exam Answers

1. Which of the following is not true of a boundary: 4. The boundary:


A. Is dependent on technical and/or implementa- A. Defines what is external to the application
tion considerations1 B. Encloses the logical data maintained by the appli-
B. Is dependent on the user’s external business view of cation (ILFs)
the application C. Is dependent on the user’s external business view of
C. Encloses the logical data maintained by the appli- the application
cation (ILFs) D. All of the above 4
D. Assists in identifying the logical data referenced by
5. The boundary:
but not maintained within this application (EIFs)
A. Indicates the border between the software being
2. The scope of an enhancement project function point measured and the user
count includes: B. Defines what is external to the application
A. All the functions being added, changed, and C. Acts as a membrane through which data processed
deleted, as well as conversion functions devel- by transactions (EIs, EOs, and EQs) passes into
oped as part of the enhancement project2 and out from the application
B. Only the functions being added D. All of the above5
C. Only the functions being added and deleted
6. The purpose of a function point count is to:
D. Only the functions being changed
A. Determine the type of function point count and the
3. Which of the following is not true of counting scope: scope of the required count to obtain the answer to
A. It is determined by the purpose for performing the the business problem under investigation
function point count B. Influence the positioning of the boundary between
B. It defines the functionality that will be included in the software under review and the surrounding
a particular function point count software
C. It defines a (sub)set of the software being sized C. None of the above
D. It can include only one application3 D. A and B6

1 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 4 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 5-4. Release 4.3, Part 2, page 5-4.
2 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 5-3. Release 4.3, Part 2, page 5-4.
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 6 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 5-3. Release 4.3, Part 2, page 5-2.

153
154    Certified Function Point Specialist Examination Guide

7. What are the types of function point counts? C. Is a measure of the functionality that an application
A. Development project function point count and provides to the user, as measured by the applica-
enhancement project function point count tion project function point count by the activity of
B. Enhancement project function point count and applying the IFPUG Functional Size Measurement
application function point count (FSM) Method
C. Application function point count, development D. Is associated with an installed application
project function point count, and enhancement
10. An application’s functional size:
project function point count7
A. Is a measure of the functionality added, changed,
D. Application function point count and development
or deleted at the completion of an enhancement
project function point count
project, as measured by the enhancement project
8. A development project’s functional size: function point count by the activity of applying
A. Is a measure of the functionality added, changed, the IFPUG Functional Size Measurement (FSM)
or deleted at the completion of an enhancement Method
project, as measured by the enhancement project B. Is a measure of the functionality provided to the
function point count by the activity of applying users with the first release of the software, as mea-
the IFPUG Functional Size Measurement (FSM) sured by the development project function point
Method count by the activity of applying the IFPUG
B. Is a measure of the functionality provided to Functional Size Measurement (FSM) Method
the users with the first release of the software, C. Is a measure of the functionality that an appli-
as measured by the development project func- cation provides to the user, as measured by the
tion point count by the activity of applying the application project function point count by the
IFPUG Functional Size Measurement (FSM) activity of applying the IFPUG Functional Size
Method8 Measurement (FSM) Method10
C. Is a measure of the functionality that an application D. Includes conversion functionality
provides to the user, as measured by the applica- 11. A baseline or installed functional size is synonymous
tion project function point count by the activity of with:
applying the IFPUG Functional Size Measurement A. An application functional size11
(FSM) Method B. A development project function point count
D. Is associated with an installed application C. An enhancement project function point count
9. An enhancement project’s functional size: D. A and B
A. Is a measure of the functionality added, changed, 12. Which is not true of an application’s functional size:
or deleted at the completion of an enhancement A. This size provides a measure of the current func-
project, as measured by the enhancement project tions the application provides the user
function point count by the activity of applying B. It includes conversion functionality12
the IFPUG Functional Size Measurement (FSM) C. This number is initialized when the development
Method9 project function point count is completed
B. Is a measure of the functionality provided to the D. It is updated every time completion of an enhance-
users with the first release of the software, as mea- ment project alters the application’s functions
sured by the development project function point
count by the activity of applying the IFPUG
Functional Size Measurement (FSM) Method

7 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 10 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 4-2. Release 4.3, Part 2, page 4-3.
8 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 11 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 4-2. Release 4.3, Part 2, page 4-3.
9 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 12 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 4-2. Release 4.3, Part 2, page 4-3.
Appendix 7

Chapter 4 Sample Exam Answers

1. An Internal Logical File (ILF) is a: C. User-recognizable group of logically related data or


A. User-recognizable group of logically related data or control information maintained within the bound-
control information that is referenced by the appli- ary of the application being measured
cation being measured but which is maintained D. User-recognizable subgroup of data elements
within the boundary of another application
4. A Record Element Type (RET) is a:
B. Unique user-recognizable, nonrepeated attribute
A. User-recognizable group of logically related data or
C. User-recognizable group of logically related data
control information that is referenced by the appli-
or control information maintained within the
cation being measured but which is maintained
boundary of the application being measured1
within the boundary of another application
D. User-recognizable subgroup of data elements
B. Unique user-recognizable, nonrepeated attribute
2. An External Interface File (EIF) is a: C. User-recognizable group of logically related data or
A. User-recognizable group of logically related control information that is maintained within the
data or control information that is referenced boundary of the application being measured
by the application being measured but which D. User-recognizable subgroup of Data Element
is maintained within the boundary of another Types within a data function4
application2
5. Mandatory subgroups are:
B. Unique user-recognizable, nonrepeated attribute A. Those that the user has the option of using one or
C. User-recognizable group of logically related data or none of during an elementary process that adds or
control information maintained within the bound- creates an instance of the data
ary of the application being measured B. Subgroups where the user must use at least one
D. User-recognizable subgroup of data elements during an elementary process that adds or cre-
3. A Data Element Type (DET) is a: ates an instance of the data5
A. User-recognizable group of logically related data or C. Represent the functionality provided to the user to
control information that is referenced by the appli- meet internal and external data requirements
cation being measured but which is maintained D. Unique user-recognizable, nonrepeated attributes
within the boundary of another application 6. Data function types include:
B. Unique user-recognizable, nonrepeated attribute3 A. Internal Logical Files (ILFs)
B. External Inputs (EIs)
1 Refer to IFPUG Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 6-2.
2 Refer to IFPUG Function Point Counting Practices Manual (CPM), 4 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 6-2. Release 4.3, Part 2, page 6-7.
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-5. Release 4.3, Part 2, page 6-8.

155
156    Certified Function Point Specialist Examination Guide

C. External Interface Files (EIFs)6 C. A and B11


D. A and C D. None of the above
7. The primary intent of an ILF is: 12. How many function points is a low complexity ILF?
A. To hold data maintained through one or more A. 5
elementary processes of the application being B. 712
measured7 C. 10
B. To hold data referenced through one or more D. 15
elementary processes within the boundary of the
application being measured 13. How many function points is a low complexity EIF?
C. A and B A. 513
D. None of the above B. 7
8. The primary intent of an EIF is: C. 10
A. To hold data maintained through one or more D. 15
elementary processes of the application being
14. How many function points is a high complexity EIF?
measured
A. 5
B. To hold data referenced through one or more
B. 7
elementary processes within the boundary of
C. 1014
the application measured8
D. 15
C. A and B
D. None of the above 15. Which of the following combinations would result in
9. Which of the following counting rules must not apply an average ILF?
for the information to be counted as an EIF? A. 1 RET and 5 DETs
A. The group of data or control information is logical B. 2 RETs and 19 DETs
and user recognizable C. 6 RETs and 20 DETs
B. The group of data is referenced by, but not main- D. 5 RETs and 50 DETs15
tained by, the application being measured
16. Which of the following combinations would result in
C. The group of data is identified by the applica-
an average EIF?
tion being measured9
A. 1 RET and 5 DETs
D. The group of data is maintained in an ILF of one or
B. 2 RETs and 19 DETs
more other applications
C. 6 RETs and 20 DETs
10. The functional complexity of an ILF is based on: D. 5 RETs and 50 DETs16
A. The number of DETs and FTRs
B. The number of DETs and RETs10 17. What are the total function points for 2 low ILFs, 3
C. The number of FTRs and RETs high ILFs, and 1 low EIF?
D. The number of DETs, RETs, and FTRs A. 46
B. 6417
11. Which of the following rule(s) apply when counting C. 60
RETs: D. 49
A. Count one RET for each data function
B. Count one additional RET for each additional log- 11 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
ical subgroup of DETs (within the data function) Release 4.3, Part 2, page 6-7.
that contains more than one DET 12 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-8.


6 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 13 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-1. Release 4.3, Part 2, page 6-8.
7 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 14 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-2. Release 4.3, Part 2, page 6-8.
8 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 15 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-2. Release 4.3, Part 2, page 6-8.
9 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 16 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-5. Release 4.3, Part 2, page 6-8.
10 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 17 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-5. Release 4.3, Part 2, page 6-8.
Chapter 4 Sample Exam Answers    157

18. Data functions: 23. Which categories of data entities are usually identified
A. Represent the functionality provided to the to satisfy the functional user requirements?
user to meet internal and external data storage A. Code Data
requirements18 B. Business Data
B. Consist of one or more components, modules, or C. Reference Data
subsystems D. B and C23
C. Are the functionality provided to the user to pro-
cess data by an application 24. Which categories of data entities are usually identified
D. Are unique user-recognizable, nonrepeated to satisfy the nonfunctional user requirements?
attributes A. Code Data 24
B. Business Data
19. The primary difference between an Internal Logical
C. Reference Data
File and an External Interface File is that:
D. B and C
A. An EIF is maintained by the application being
measured, but an ILF is not
25. Providing a code and an explanatory name or descrip-
B. An EIF is not maintained by the application
tion for an attribute of a business object is an example
being measured, but an ILF is19
of:
C. An ILF can contain control information but an
A. Valid Values Data
EIF cannot
B. Substitution Data 25
D. An EIF can contain control information but an
C. Static Data
ILF cannot
D. Constant Data
20. What is the total function points value for 2 average
ILFs, 3 low EIFs, and 4 low ILFs? 26. Which of the following may also be referred to as Core
A. 55 User Data or Business Objects?
B. 69 A. Code Data
C. 6320 B. Business Data 26
D. 73 C. Reference Data
D. B and C
21. Control information:
A. Is the ability to modify data through an elemen- 27. Data that rarely changes is an example of:
tary process A. Valid Values Data
B. Is data that influences an elementary process B. Substitution Data
C. Specifies what, when, or how data are to be C. Static or Constant Data 27
processed D. None of the above
D. B and C21
22. An elementary process: 28. Providing a list of available values for an attribute of
A. Is the smallest unit of activity that is meaningful to one or more business object types is an example of:
the user A. Valid Values Data 28
B. Is a cohesive collection of automated procedures B. Substitution Data
and data supporting a business objective C. Static Data
C. Must be self-contained and leave the business of D. Constant Data
the application being counted in a consistent state
D. A and C22
23 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 1-4.
18 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 24 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-1. Release 4.3, Part 3, page 1-4.
19 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 25 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-2. Release 4.3, Part 3, page 1-10.
20 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 26 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-8. Release 4.3, Part 3, page 1-4.
21 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 27 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-2. Release 4.3, Part 3, page 1-11.
22 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 28 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-3. Release 4.3, Part 3, page 1-12.
158    Certified Function Point Specialist Examination Guide

29. Data stored to support the business rules for the main- 34. Valid Values Data:
tenance of the Business Data is an example of: A. Provides a code and an explanatory name or
A. Code Data description for an attribute of a business object
B. Business Data B. Contains data that is basically static
C. Reference Data 29 C. Is implemented to satisfy requirements such as
D. None of the above reducing errors and increasing user friendliness34
D. Contains one and only one occurrence regardless
30. Data that reflects the information that must be stored
of the number of attributes
and retrieved by the functional area addressed by the
application is an example of: 35. States (e.g., State Code, State Name) are an example
A. Code Data of:
B. Business Data 30 A. Static or Constant Data
C. Reference Data B. Substitution Data 35
D. All of the above C. Valid Values Data
D. None of the above
31. Business Data characteristics include which of the
following logical characteristics? 36. Color (e.g., all valid values for the attribute color of a
A. Very dynamic—normal business operations business object) is an example of:
cause it to be regularly referenced and routinely A. Static or Constant Data
added to, changed, or deleted31 B. Substitution Data
B. Essentially static—only changes in response to C. Valid Values Data 36
changes in the way that the business operates D. All of the above
C. Less dynamic—occasionally changes in response
37. Examples of Business or Reference Data that should
to changes in the functional area’s environment,
not be considered Code Data include:
external functional processes, or business rules
A. Tax Rate Ranges for a Progressive Tax System
D. None of the above
B. Currency Exchange Rate Table
32. Reference Data characteristics include which of the C. Entity Types with Financial Amounts, Exchange
following logical characteristics? Rates, and Tax Rates, if they are not constants
A. Mandatory for the operation of the users’ func- D. All of the above37
tional area
38. “User-recognizable” refers to:
B. User identifiable (usually by a business user)
A. A logical group of permanent data seen from the
C. Usually user maintainable (usually by an adminis-
perspective of the user
trative user)
B. The border between the software being measured
D. All of the above32
and the user
33. Code Data characteristics include which of the follow- C. The functionality that will be included in a par-
ing logical characteristics? ticular function point count
A. Provide business transactions access to improve D. Requirements for processes and/or data that are
ease of data entry, improve data consistency, ensure agreed upon, and understood by, both the users
data integrity, etc. and software developers38
B. Store the data to support core user activities
39. Reference Data:
C. Store data to standardize and facilitate business
A. Reflects the information that must be stored and
activities and business transactions
retrieved by the functional area addressed by the
D. A and C33
application

29 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 34 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 1-5. Release 4.3, Part 3, page 1-12.
30 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 35 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 1-4. Release 4.3, Part 3, page 1-11.
31 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 36 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 1-4. Release 4.3, Part 3, page 1-12.
32 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 37 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 1-5. Release 4.3, Part 3, page 1-13.
33 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 38 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 1-7. Release 4.3, Part 2, page 6-3.
Chapter 4 Sample Exam Answers    159

B. Is stored to support the business rules for the 43. An attribute is:
maintenance of the Business Data 39 A. A fundamental thing of relevance to the user about
C. May also be referred to as Core User Data or which a collection of facts is kept
Business Objects B. Included in the count as a RET
D. Is sometimes referred to as List Data or Translation C. Generally analogous to a Data Element Type 43
Data D. A and C
40. Code Data: 44. An entity is:
A. Reflects the information that must be stored and A. A fundamental thing of relevance to the user
retrieved by the functional area addressed by the about which a collection of facts is kept44
application B. The smallest unit of activity that is meaningful to
B. Is stored to support the business rules for the main- the user
tenance of the Business Data C. Data that influence an elementary process of the
C. May also be referred to as Core User Data or application being measured
Business Objects D. Is composed of records and data items
D. Is sometimes referred to as List Data or
45. Entity dependence is:
Translation Data40
A. A logically related group of data
41. Business Data: B. An entity that is meaningful or is significant to the
A. Reflects the information that must be stored and business, in and of itself without the presence of
retrieved by the functional area addressed by the other entities
application C. An entity that is not meaningful or is not sig-
B. Is stored to support the business rules for the main- nificant to the business, in and of itself without
tenance of the Business Data the presence of other entities45
C. May also be referred to as Core User Data or D. An entity that is not meaningful or significant in
Business Objects41 and of itself without the presence of another entity
D. Is sometimes referred to as List Data or Translation linked to it via a relationship
Data
46. A file system is composed of:
42. The definition of entity independence is: A. Technical attributes
A. An association between entities that contains B. A cohesive collection of automated procedures and
attributes data supporting a business objective
B. An entity that is meaningful or significant to C. Records and data items46
the business, in and of itself without the pres- D. None of the above
ence of other entities42
C. An entity that is not meaningful or is not signifi-
cant to the business, in and of itself without the
presence of other entities
D. An entity containing attributes that further
describe a many-to-many relationship between two
other entity types

39 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 43 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 1-5. Release 4.3, Part 3, page 2-6.
40 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 44 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 1-6. Release 4.3, Part 3, page 2-4.
41 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 45 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 1-4. Release 4.3, Part 3, page 2-12.
42 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 46 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 2-12. Release 4.3, Part 3, page 2-4.
Appendix 8

Chapter 5 Sample Exam Answers

1. When compared to an elementary process (EP) already 4. Which of the following can be a primary intent of a
identified, count two similar EPs as the same elemen- transactional function?
tary process if they: A. Altering the behavior of the application
A. Require the same set of DETs and require the same B. Maintaining one or more ILFs
set of FTRs C. Presenting information to the user
B. Require the same set of FTRs and require the same D. All of the above 4
set of processing logic to complete the elementary
5. The smallest unit of activity that is meaningful to the
process
user is the definition of:
C. Require the same set of DETs, require the same
A. Elementary process5
set of FTRs, and require the same set of process-
B. Primary intent
ing logic to complete the elementary process1
C. Processing logic
D. Require the same set of processing logic to com-
D. Derived data
plete the elementary process
2. Identify an elementary process by composing or decom- 6. Which of the following can have a primary intent of
posing the Functional User Requirements into the small- maintaining one or more ILFs?
est unit of activity that satisfies which of the following? A. External input6
A. Constitutes a complete transaction B. External output
B. Is meaningful to the user C. External inquiry
C. Is self-contained and leaves the business of the D. A and B
application being counted in a consistent state 7. Classify an elementary process as an EQ if it:
D. All of the above2 A. Has a primary intent of presenting information to
3. Classify each elementary process as an external input the user
(EI), external output (EO), or an external inquiry (EQ) B. References a data function to retrieve data or con-
based on: trol information
A. The smallest unit of activity that is meaningful to C. Does not satisfy the criteria to be classified as an
the user EO
B. Its primary intent3 D. All of the above7
C. Its processing logic
D. None of the above 4 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 7-13.
1 Refer to IFPUG Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-11. Release 4.3, Part 2, page 7-5.
2 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 6 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-10. Release 4.3, Part 2, page 7-13.
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 7 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-13. Release 4.3, Part 2, page 7-13.

161
162    Certified Function Point Specialist Examination Guide

8. Processing logic is defined as: 11 Processing logic:


A. The smallest unit of activity that is meaningful to A. Is any of the requirements specifically requested by
the user the user to complete an elementary process
B. The functionality that will be included in a par- B. Can include validations, algorithms, or calculations
ticular function point count C. Can include reading or maintaining a file
C. Requirements specifically requested by the user D. All of the above11
to complete an elementary process8
12. Data created by transforming existing data to create
D. The ability to modify data through an elementary
additional data is considered to be:
process
A. Processing logic
9. Converting equivalent values is a form of process- B. Control information
ing logic that can be done by which of the following C. External input
transactions? D. Derived data12
A. External input 13. Presenting information to a user can be done by which
B. External output of the following transaction types:
C. External inquiry A. External input
D. All of the above9 B. External output
10. Which of the following forms of processing logic can- C. External inquiry
not be performed by an external inquiry? D. All of the above13
A. Update an ILF10
B. Sort or arrange a set of data
C. Analyze conditions to determine which are
applicable
D. Validations

8 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 11 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 7-5. Release 4.3, Part 2, page 7-5.
9 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 12 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-8. Release 4.3, Part 2, page 7-6.
10 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 13 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-8. Release 4.3, Part 2, page 7-4.
Appendix 9

Chapter 6 Sample Exam Answers

1. To maintain one or more ILFs and/or alter the behav- C. To hold data referenced through one or more ele-
ior of the system is the primary intent of an: mentary processes within the boundary
A. External input1 D. To hold data maintained through one or more
B. External output elementary processes of the application being
C. External inquiry measured
D. B and C
5. Transactional functions include which of the following:
2. A File Type Referenced (FTR) can be: A. Internal Logical Files
A. An Internal Logical File read by a transactional B. External Interface Files
function C. External inquiries5
B. An Internal Logical File maintained by a transac- D. B and C
tional function
6. The primary intent of an external output is:
C. An External Interface File read by a transactional
A. To maintain an ILF or alter the behavior of the
function
system
D. All of the above2
B. To present information to a user through pro-
3. FTR guidance for an external input includes which of cessing logic other than, or in addition to, the
the following: retrieval of data or control information6
A. Count an FTR for each ILF maintained C. To hold data referenced through one or more ele-
B. Count an FTR for each ILF or EIF read during the mentary processes within the boundary
processing of the external input D. To hold data maintained through one or more
C. Count only one FTR for each ILF that is both elementary processes of the application being
maintained and read measured
D. All of the above3
7. DET guidance for an external input includes which of
4. The primary intent of an external inquiry is: the following:
A. To maintain an ILF or alter the behavior of the A. Count one DET for each unique user-recognizable,
system nonrepeated attribute that crosses (enters and/or
B. To present information to a user through the exits) the boundary during the processing of the
retrieval of data or control information4 transactional function
B. Count only one DET per transactional function
1 Refer to IFPUG Function Point Counting Practices Manual (CPM), for the ability to send an application response mes-
Release 4.3, Part 2, page 7-3. sage even if there are multiple messages
2 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-14.


3 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 7-15. Release 4.3, Part 2, page 7-1.
4 Refer to IFPUG Function Point Counting Practices Manual (CPM), 6 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-3. Release 4.3, Part 2, page 7-3.

163
164    Certified Function Point Specialist Examination Guide

C. Count only one DET per transactional function C. External inquiry


for the ability to initiate actions even if there are D. All of the above12
multiple means to do so 13. Which of the following is true for an external inquiry:
D. All of the above7 A. Count one DET for each unique user-recogniz-
8. DET guidance for an external output includes which able, nonrepeated attribute that crosses (enters
of the following: and/or exits) the boundary during the process-
A. If a DET both enters and exits the boundary, count ing of the transactional function13
it twice for the elementary process B. Count literals as DETs
B. Do not count literals such as report titles, screen C. Count paging variables or system-generated stamps
or panel identifiers, column headings, and attri- as DETs
bute titles as DETs8 D. B and C
C. Count paging variables or system-generated stamps 14. What is the total number of function points for 5 high
as one DET EIs, 2 low EOs, 3 average EIs, and 2 average EQs:
D. All of the above A. 48
9. Count only one DET per transactional function for B. 63
the ability to send an application response message C. 61
even if there are multiple messages is a DET guidance D. 5814
for which type(s) of transaction(s): 15. A low EO is worth how many function points:
A. External output A. 3
B. External input B. 415
C. External inquiry C. 5
D. All of the above9 D. 6
10. Count only one DET per transactional function for 16. A low EQ is worth how many function points:
the ability to initiate actions even if there are multiple A. 316
means to do so is a DET guidance for which type(s) of B. 4
transaction(s): C. 5
A. External output D. 6
B. External input
C. External inquiry 17. An average EI is worth how many function points:
D. All of the above10 A. 3
B. 417
11. Which of the following is used to determine the com- C. 5
plexity of a transaction: D. 6
A. FTRs and RETs
B. DETs and RETs 18. What is the total number of function points for 2 aver-
C. FTRs and DETs11 age EIs, 1 low EIF, and 2 high ILFs:
D. FTRs, DETs, and RETs A. 44
B. 4318
12. Do not count attributes generated within the bound-
C. 23
ary by a transactional function and saved to an ILF
D. 41
without exiting the boundary is a DET guidance of
which type(s) of transaction(s): 12 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
A. External input Release 4.3, Part 2, pages 7-16 and 7-18.
B. External output 13 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-17.


7 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 14 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-15. Release 4.3, Part 2, page 7-20.
8 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 15 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-18. Release 4.3, Part 2, page 7-20.
9 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 16 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, pages 7-14, 7-16, and 7-17. Release 4.3, Part 2, page 7-20.
10 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 17 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, pages 7-14, 7-16, and 7-18. Release 4.3, Part 2, page 7-20.
11 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 18 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-14. Release 4.3, Part 2, page 7-19; Part 2, page 6-8.
Chapter 6 Sample Exam Answers    165

19. The main difference between the transactional func- A. External input
tion types is: B. External output
A. Their elementary process C. External inquiry
B. Their primary intent19 D. All of the above24
C. Their processing logic
25. Converting equivalent values is a form of process-
D. None of the above
ing logic that can be done by which of the following
20. An elementary process that sends data or control infor- transactions:
mation outside the application’s boundary and includes A. External input
additional processing beyond that of an external B. External output
inquiry is what type(s) of transactional function(s): C. External inquiry
A. External output20 D. All of the above25
B. External input
26. Which of the following forms of processing logic can-
C. External inquiry
not be performed by an external inquiry:
D. A and C
A. Update an ILF26
21. An elementary process that processes data or control B. Resort or rearrange a set of data
information sent from outside the boundary is what C. Analyze conditions to determine which are
type(s) of transactional function(s): applicable
A. External output D. Validations
B. External input21
27. Which of the following is FTR guidance for both
C. External inquiry
external outputs and external inquiries:
D. A and C
A. Count one FTR for each ILF maintained
22. Which is true of transactional functions: B. Count an FTR for each ILF or EIF read 27
A. They are defined as external inputs, external out- C. Count only one FTR for each ILF that is both
puts, and external inquiries maintained and read
B. They are defined as Internal Logical Files and D. None of the above
External Interface Files
28. Which of the following is true about the function
C. They are elementary processes that provide func-
“altering the behavior of the system”:
tionality to the user to process data
A. It is the primary intent of an EI28
D. A and C22
B. It is the primary intent of an EQ
23. Processing logic is defined as: C. It is not allowed by an EO
A. The smallest unit of activity that is meaningful to D. A and C
the user
29. Processing logic:
B. The functionality that will be included in a par-
A. Includes any of the requirements specifically
ticular function point count
requested by the user to complete an elementary
C. Requirements specifically requested by the user
process
to complete an elementary process23
B. Can include validations, algorithms, or calculations
D. The ability to modify data through an elementary
C. Can include reading or maintaining a data
process
function
24. Preparing and presenting information outside of the D. All of the above29
boundary can be done by which of the following
transactions: 24 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 7-8.
19 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 25 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-4. Release 4.3, Part 2, page 7-8.
20 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 26 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-3. Release 4.3, Part 2, page 7-8.
21 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 27 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-3. Release 4.3, Part 2, page 7-17.
22 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 28 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-1. Release 4.3, Part 2, page 7-4.
23 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 29 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-5. Release 4.3, Part 2, page 7-8.
166    Certified Function Point Specialist Examination Guide

30. Data created by transforming existing data to create


additional data is considered to be:
A. Processing logic
B. Control information
C. External input
D. Derived data 30

Refer to IFPUG, Function Point Counting Practices Manual (CPM),


30

Release 4.3, Part 2, page 7-6.


Appendix 10

Chapter 7 Sample Exam Answers

1. Methods of sharing data include which of the “refreshed” each time with the copy. What is counted
following: for Application A and Application B?
A. Via online screens (e.g., screen scraping) A. Application A, an ILF; Application B, an EIF4
B. Via Web applications B. Application A, an ILF; Application B, an ILF
C. Via on-line, real-time information requests C. Application A, an EIF; Application B, an EIF
D. All of the above1 D. Application A, an EIF; Application B, an ILF
2. The term “copy” means: 5. Application B requires the ability to access file X in
A. To copy computer instructions or data from exter- Application A for validation and reference only.
nal storage to internal storage Application B requires (for performance, etc.) that
B. To read data from a source, leaving the source Application A send a complete file to Application B. The
data unchanged, and to write the same data else- existing data store in Application B is refreshed each
where in a physical form that may differ from time with the copy. What is counted for Application A
that of the source2 and Application B?
C. Multiple files with the same data elements are con- A. Application A, an ILF; Application B, an EIF5
solidated into a single file B. Application A, an ILF; Application B, an ILF
D. A and B C. Application A, an EIF; Application B, an EIF
D. Application A, an EIF; Application B, an ILF
3. Accessing another application’s screen transactions to
reference/obtain data or to update that application’s 6. A transaction processed by Application B, requires
data is called: information from a data store maintained within
A. Image copy Application A. Application B is responsible for access-
B. Screen scraping 3 ing the data in Application A, and Application B main-
C. Image load tains the software for that access. What is counted for
D. Merging Application A and Application B?
A. Application A, an ILF; Application B, an ILF
4. Application B requires (for performance, etc.) the abil-
B. Application A, an ILF; Application B, an EIF
ity to access a portion of File X in Application A for
and an FTR in the transactional function6
validation and reference only. Application A sends a
C. Application A, an EIF and an FTR in the transac-
physical table within a logical file to Application B. The
tional function; Application B, an EIF
existing view of that physical table in Application B is
D. Application A, an EIF; Application B, an ILF

1 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 4 Refer to IFPUG, Function Point Counting Practices Manual (CPM)
Release 4.3, Part 3, page 3-2. Release 4.3, Part 3, page 3-13.
2 Refer to IFPUG, Function Point Counting Practices Manual (CPM) 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM)

Release 4.3, Part 3, page 3-3. Release 4.3, Part 3, page 3-11.
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM) 6 Refer to IFPUG, Function Point Counting Practices Manual (CPM)

Release 4.3, Part 3, pages 3-6 and 3-17. Release 4.3, Part 3, page 3-7.

167
168    Certified Function Point Specialist Examination Guide

7. Both Application A and Application B maintain the C). Multiple files with the same data elements are being
same ILF. Each has its own unique view of the data. consolidated into a single file. What ILFs and EIFs are
There are some common data elements, and some that counted for the three applications?
are unique to each application. What is counted for A. Application A, an ILF; Application B, an ILF;
Application A and Application B? Application C, an ILF
A. Application A, an ILF; Application B, an EIF B. Application A, an EIF; Application B, an EIF;
B. Application A, an ILF; Application B, an ILF7 Application C, an EIF
C. Application A, an EIF; Application B, an EIF C. Application A, an ILF; Application B, an ILF;
D. Application A, an EIF; Application B, an ILF Application C, an EIF10
D. Application A, an EIF; Application B, an ILF;
8. Application A produces a transaction file of changes
Application C, an EIF
(File Z) that is loaded into Application B. The records
are usually of more than one type. Application B pro- 11. The process of recreating a set of data to make it cur-
cesses the input transactions according to the transac- rent with its source is the definition of:
tion type on the File Z records, prior to updating the A. Copy
records on internal File Y. The DETs on Application A B. Load
File X and Application B File Y are different. Processing C. Merge
includes transaction types Add, Change, and Delete. D. Refresh11
What is counted for Application A and Application B?
12. To read data from a source, leaving the source data
A. Application A, an ILF and EO/EQ; Application B,
unchanged, and to write the same data elsewhere in a
an EIF
physical form that may differ from that of the source is
B. Application A, an ILF; Application B, an ILF and
what is meant by:
EI
A. Copy12
C. Application A, an ILF and EO/EQ; Application B,
B. Load
an ILF
C. Merge
D. Application A, an ILF and EO/EQ; Application
D. Refresh
B, an ILF and three EIs8
13. An exact replication of another object, file, or table usu-
9. Application B “reads” the content of an inquiry screen
ally created through a utility is the definition of:
in Application A and uses that data in the processing of
A. Image13
a transactional function. For Application B, count:
B. Copy
A. An EIF
C. Merge
B. An EIF and EQ9
D. Refresh
C. An EIF and EI
D. An EIF and EO
10. Data stored in two applications (Application A and
Application B) is image copied and merged to form one
file that is loaded into a third application (Application

10 Refer to IFPUG, Function Point Counting Practices Manual (CPM)


Release 4.3, Part 3, page 3-15.
7 Refer to IFPUG, Function Point Counting Practices Manual (CPM) 11 Refer to IFPUG, Function Point Counting Practices Manual (CPM)
Release 4.3, Part 3, page 3-18. Release 4.3, Part 3, page 3-3.
8 Refer to IFPUG, Function Point Counting Practices Manual (CPM) 12 Refer to IFPUG, Function Point Counting Practices Manual (CPM)
Release 4.3, Part 3, page 3-20. Release 4.3, Part 3, page 3-3.
9 Refer to IFPUG, Function Point Counting Practices Manual (CPM) 13 Refer to IFPUG, Function Point Counting Practices Manual (CPM)
Release 4.3, Part 3, page 3-17. Release 4.3, Part 3, page 3-3.
Appendix 11

Chapter 8 Sample Exam Answers

1. A definition of adaptive maintenance is: 4. Which of the following is true of perfective


A. Software maintenance performed to make a com- maintenance?
puter program usable in a changed environment1 A. It provides enhancements for users, improve-
B. The reactive modification of a software product ment of program documentation, and recoding to
performed after delivery to correct discovered improve software performance, maintainability, or
problems other software attributes
C. Modification of a software product after delivery to B. It is a modification of a software product after deliv-
detect and correct latent faults in the software prod- ery to detect and correct latent faults in the software
uct before they are manifested as failures product before they are manifested as failures
D. None of the above C. The modification repairs the software product to
satisfy requirements
2. A definition of corrective maintenance is:
D. A and B4
A. The reactive modification of a software product
performed after delivery to correct discovered 5. Suggested steps for performing an enhancement proj-
problems2 ect functional size can include which of the following:
B. The modification of a software product performed A. Determine complexity of the function prior to
after delivery to keep a software product usable in change
a changed or changing environment B. Determine complexity of the function after
C. Software maintenance performed to improve the change
performance, maintainability, or other attributes C. Identify and evaluate any conversion or one-
of a computer program time functionality required to implement this
D. None of the above enhancement
D. All of the above5
3. The enhancement project functional size measures the
project’s modifications to the existing installed applica- 6. Which of the following is a valid condition for a data
tion that: function to be counted as a changed function?
A. Add user functions A. If the change involves only the addition of new
B. Change user functions records to a logical file or new values in an existing
C. Delete user functions attribute within that logical file
D. All of the above3 B. If a data function is changed because an attribute is
added and that attribute is not used by the applica-
tion being measured
1 Refer to IFPUG Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 4-20.
2 Refer to IFPUG Function Point Counting Practices Manual (CPM), 4 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 4-20. Release 4.3, Part 3, page 4-21.
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 4-2. Release 4.3, Part 3, page 4-13.

169
170    Certified Function Point Specialist Examination Guide

C. If a data function is structurally altered (e.g.,


adding or removing an attribute or changing
the characteristics of the attribute)6
D. All of the above
7. Which of the following is true for measuring transac-
tions in an enhancement project?
A. When processing logic has been altered within an
application to meet business requirements, the ele-
mentary process that embodies that logic should
be identified and counted as being changed7
B. A single change in processing logic always affects
all related transactions
C. When an edit or validation change is made to
input processing logic and Add, Delete, Update
and Implied Inquiry transactions exist, all four
transactions (Add, Update, Delete, and Implied
Inquiry) are counted for the enhancement
D. All of the above

6 Refer to IFPUG, Function Point Counting Practices Manual (CPM),


Release 4.3, Part 3, page 4-2.
7 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 4-3.


Appendix 12

Chapter 9 Sample Exam Answers

1. Which of the following is true of conversion C. If an EIF for the application being measured is
functionality? changed, count it as conversion functionality
A. It consists of functions used after software instal- D. A and B3
lation to satisfy the ongoing business needs of the
4. The view of the conversion process is based on:
user
A. The original application
B. Conversion of application data is based on the
B. The logical files being converted
user view of the data1
C. The data requirements of the new application
C. It is determined by using the 14 General System
D. All of the above 4
Characteristics to rate the application functional
complexity 5. An enhancement project requires populating new data
D. None of the above attributes in an ILF of a system and producing control
and error reports for this population process. What is
2. Which of the following should not be counted as con-
counted as conversion functionality?
version functionality?
A. One EI and two EQs
A. Migration of an application to a new platform
B. One EI and one EQ
B. Software upgrades due to the installation of a
C. One EI5
revised version of vendor packages
D. Nothing is counted
C. Conversion of data accomplished via an existing
load utility
D. All of the above2
3. Which of the following is true of conversion
functionality?
A. The new or enhanced application’s ILF(s) are
populated by the converted data, and its user
requirements dictate what is required from the
old application(s) to meet the Functional User
Requirements of the project
B. The elementary process includes any exception
reports, error reports, conversion reports, or con-
trol reports required to ensure the integrity of the
data being converted
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 5-2.
1 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 4 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 5-2. Release 4.3, Part 3, page 5-2.
2 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 5-4. Release 4.3, Part 3, page 5-3.

171
Appendix 13

Chapter 10 Sample Exam Answers

1. Which of the following is the correct formula for cal- 3. Which of the following is the correct formula for calcu-
culating development project functional size? lating an application functional size after an enhance-
A. EFP = ADD + CHGA + CFP + DEL ment project?
B. DFP = ADD + CFP1 A. EFP = ADD + CHGA + CFP + DEL
C. AFP = ADD B. DFP = ADD + CFP
D. AFPA = (AFPB + ADD + CHGA) – (CHGB + C. AFP = ADD
DEL) D. AFPA = (AFPB + ADD + CHGA) – (CHGB +
DEL)3
2. Which of the following is the correct formula for cal-
culating an application functional size from a mea- 4. Which of the following is the correct formula for cal-
surement after the development project or at any time culating an enhancement project functional size?
during the application’s life cycle? A. EFP = ADD + CHGA + CFP + DEL 4
A. EFP = ADD + CHGA + CFP + DEL B. DFP = ADD + CFP
B. DFP = ADD + CFP C. AFP = ADD
C. AFP = ADD2 D. AFPA = (AFPB + ADD + CHGA) – (CHGB +
D. AFPA = (AFPB + ADD + CHGA) – (CHGB + DEL)
DEL)

1 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 3 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 1, page 20 Release 4.3, Part 1, page 21; Part 3, Chapter 4, page 4-19.
2 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 4 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 1, page 20; Part 3, Chapter 4, page 4-18. Release 4.3, Part 1, page 21; Part 3, Chapter 4, page 4-17.

173
Appendix 14

Chapter 11 Sample Exam Answers

1. The Degree of Influence (DI) for each General System 5. What is the Degree of Influence if an application has
Characteristic ranges on a scale of: provided a Flexible Query and Report facility that can
A. 0 to 4 handle requests of average complexity and has Business
B. 1 to 5 Control Data kept in tables that are maintained by the
C. 0 to 51 user with on-line interactive processes, and the changes
D. 1 to 4 take effect immediately:
2. The degree to which the rate of business transactions A. 1
influenced the development of the application is which B. 2
General System Characteristic: C. 3
A. Heavily Used Configuration D. 45
B. Performance 6. The formula for Value Adjustment Factor is:
C. Operational Ease A. VAF = (TDI × 0.01) + 0.656
D. Transaction Rate2 B. VAF = TDI + 0.65
3. Which of the following are characteristics of Operational C. VAF = TDI × 0.01
Ease: D. None of the above
A. The application minimizes the need for tape mounts 7. When applied, the Value Adjustment Factor adjusts
or remote data access requiring human intervention the unadjusted functional size:
B. Conversion and Installation Ease are characteris- A. ±30% to produce the adjusted functional size
tics of the application B. ±35% to produce the adjusted functional size7
C. Start-up, back-up, and recovery processes were pro- C. ±60% to produce the adjusted functional size
vided, but human intervention is required D. ±65% to produce the adjusted functional size
D. A and C3 8. Multiple Sites describes:
4. A score of 2 for Degree of Influence indicates: A. The degree to which the computer resource restric-
A. Incidental influence tions influenced the development of the application
B. Moderate influence 4 B. The degree to which the application has been
C. Average influence developed for different hardware and software
D. Significant influence environments8

1 Refer to IFPUG Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 5, Appendix C, page C-6. Release 4.3, Part 5, Appendix C, page C-29.
2 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 6 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, Appendix C, page C-15. Release 4.3, Part 5, Appendix C, page C-4.
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 7 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, Appendix C, page C-25. Release 4.3, Part 5, Appendix C, page C-4.
4 Refer to IFPUG Function Point Counting Practices Manual (CPM), 8 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, Appendix C, page C-6. Release 4.3, Part 5, Appendix C, page C-27.

175
176    Certified Function Point Specialist Examination Guide

C. The degree to which the application transfers data 14. What is the Value Adjustment Factor if the total Degree
among physical components of the application of Influence is equal to 45:
D. The degree to which computer resource restrictions A. 1.00
influenced the development of the application B. 1.1014
9. What is the Degree of Influence if the needs of more C. 1.05
than one installation site were considered in the design, D. .95
the application is designed to operate under different
hardware or software environments, and the documen- 15. The total Degree of Influence is between:
tation and support plan are provided and tested to sup- A. 0 and 7015
port the application at multiple installation sites and B. .65 and 1.35
the application: C. 0 to 5
A. 1 D. 1 to 5
B. 2
C. 3 16. The Value Adjustment Factor (VAF):
D. 59 A. Is the measure of the functionality provided to the
user by the project or application
10. Which of the following are characteristics of End-User B. Rates the general functionality of the application
Efficiency: being measured
A. Batch jobs submitted from on-line transactions C. Is calculated based on an assessment of the 14
B. Drop-down list box General System Characteristics for an application
C. Flexible query D. B and C16
D. A and B10
11. Multilingual support counts as how many items: 17. Which of the following formulas is used to calcu-
A. 1 late the adjusted application functional size after
B. 2 enhancement:
C. 4 A. aAFP = ADD × VAF
D. 611 B. aEFP = [(ADD + CHGA + CFP) × VAFA] + (DEL
× VAFB)
12. An application would receive a score of 3 for On-Line C. aAFPA = [(AFPB + ADD + CHGA) – (CHGB +
Data Entry if: DEL)] × VAFA17
A. 1 to 7% of transactions are interactive D. aDFP = DFP × VAF
B. 8 to 15% of transactions are interactive
C. 16 to 23% of transactions are interactive12 18. Which of the following formulas is used to calculate
D. 24 to 30% of transactions are interactive the adjusted development project functional size:
13. Sensitive control or application-specific security pro- A. aAFP = ADD × VAF
cessing is a characteristic of: B. aEFP = [(ADD + CHGA + CFP) × VAFA] + (DEL
A. End-User Efficiency × VAFB)
B. On-Line Update C. aAFPA = [(AFPB + ADD + CHGA) – (CHGB +
C. Complex Processing13 DEL)] × VAFA
D. Reusability D. aDFP = (ADD + CFP) × VAF18

9 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 14 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 5, Appendix C, page C-27. Release 4.3, Part 5, Appendix C, page C-4.
10 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 15 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, Appendix C, page C-17. Release 4.3, Part 5, Appendix C, page C-4.
11 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 16 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, Appendix C, page C-17. Release 4.3, Part 5, Appendix C, page C-4.
12 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 17 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, Appendix C, page C-16. Release 4.3, Part 5, Appendix C, page C-44.
13 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 18 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, Appendix C, page C-20. Release 4.3, Part 5, Appendix C, pages C-32 and C-36.
Chapter 11 Sample Exam Answers    177

19. Which of the following formulas is used to establish C. Is the size of the functions being changed by the
the initial adjusted application functional size: enhancement project (as they are/will be after
A. aAFP = ADD × VAF19 implementation)21
B. aEFP = [(ADD + CHGA + CFP) × VAFA] + (DEL D. Is the size of the functions being added by the
× VAFB) enhancement project
C. aAFPA = [(AFPB + ADD + CHGA) – (CHGB +
22. CHGB in the formula aAFPA = [(AFPB + ADD +
DEL)] × VAFA
CHGA) – (CHGB + DEL)] × VAFA:
D. aDFP = DFP × VAF
A. Is the size of the functions being deleted by the
20. Which of the following formulas is used to calculate enhancement project
the adjusted enhancement project functional size: B. Is the size of the functions being changed by the
A. aAFP = ADD × VAF enhancement project (as they are/were before
B. aEFP = [(ADD + CHGA + CFP) × VAFA] + the project commenced)22
(DEL × VAFB)20 C. Is the size of the functions being changed by the
C. aAFPA = [(AFPB + ADD + CHGA) – (CHGB + enhancement project (as they are/will be after
DEL)] × VAFA implementation)
D. aDFP = DFP × VAF D. Is the size of the functions being added by the
enhancement project
21. CHGB in the formula aAFPA = [(AFPB + ADD +
CHGA) – (CHGB + DEL)] × VAFA: 23. In the formula aAFPA = [(AFPB + ADD + CHGA) –
A. Is the size of the functions being deleted by the (CHGB + DEL)] × VAFA, the lower case “a”:
enhancement project A. Denotes “application”
B. Is the size of the functions being changed by the B. Denotes “after”
enhancement project (as they are/were before the C. Denotes “adjusted”23
project commenced) D. None of the above

21 Refer to IFPUG, Function Point Counting Practices Manual (CPM),


Release 4.3, Part 5, Appendix C, page C-44.
19 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 22 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, Appendix C, page C-43. Release 4.3, Part 5, Appendix C, page C-44.
20 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 23 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, Appendix C, page C-38. Release 4.3, Appendix C, page C-1.
Appendix 15

Practice Exam 1 Answers

Part 1. Definitions and Rules C. Is a conceptual interface between the software


under study and its users
1. Steps in the function point counting procedure include: D. All of the above 4
A. Gather the available documentation
B. Document and report 5. Application functional size:
C. Calculate the functional size A. Measures an installed application5
D. All of the above1 B. Includes the functionality that will be measured in
2. The following guidance applies when counting FTRs the initial application function point count, as well
for EQs: as any functionality required for data conversion
A. Count one FTR for each ILF maintained C. Measures modifications to existing applications
B. Count one FTR for each ILF or EIF read 2 D. A and B
C. Count only one FTR for each ILF that is both
maintained and read 6. Functional User Requirements are:
D. All of the above A. Detailed design specifications
B. Requirements that specify what the software will
3. An associative entity is:
do in terms of tasks and services
A. An entity type that further describes one or more
C. A subset of the user requirements
characteristics of another entity type
D. B and C 6
B. Often created by the data modeler to resolve some
of the business rules required to relate two separate
7. Business Data may also be referred to as:
entities
A. Core Data
C. Used to associate two or more entities as a way of
B. Business Objects
defining the many-to-many relationship
C. List Data
D. B and C3
D. A and B7
4. The application boundary
A. Acts as a “membrane” through which data pro- 8. Code Data are sometimes referred to as:
cessed by transactions pass into and out from the A. List Data
application B. Core Data
B. Is independent of technical and/or implementation
considerations 4 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 5-4.
1 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 2-2. Release 4.3, Part 2, page 4-3, and Part 5, page G-1.
2 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 6 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-17. Release 4.3, Part 2, page 1-3.
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 7 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 2-34. Release 4.3, Part 3, page 1-4.

179
180    Certified Function Point Specialist Examination Guide

C. Translation Data C. Optional and logical


D. A and C8 D. Mandatory and operational
9. Entity independence is:
A. An entity that is meaningful or significant to 14. Software maintenance performed to correct faults in
the business, in and of itself without the pres- hardware or software is the definition of:
ence of other entities9 A. Adaptive maintenance
B. A fundamental thing of relevance to the user, about B. Perfective maintenance
which a collection of facts is kept C. Corrective maintenance14
C. An entity that is not meaningful or is not signifi- D. Preventive maintenance
cant to the business, in and of itself without the
presence of other entities 15. Software maintenance performed to improve the per-
D. A and C formance, maintainability, or other attributes of a
computer program is the definition of:
10. A refresh is:
A. Adaptive maintenance
A. The process of recreating a set of data to make it
B. Perfective maintenance15
current with its source10
C. Corrective maintenance
B. Activity associated with mapping data or programs
D. Preventive maintenance
from one format to another
C. Initiated by business requests to add, change, or 16. Business Data:
delete business functionality
A. May also be referred to as Core User Data or
D. To read data from a source, leaving the source data
Business Objects
unchanged, and to write the same data elsewhere in a
B. Reflects the information needed to be stored and
physical form that may differ from that of the source
retrieved by the functional area addressed by the
11. A data function: application
A. Represents functionality provided to the user to meet C. Usually represents a significant percentage of the
internal and external data storage requirements entities identified
B. Represents functionality provided to the user to D. All of the above16
create internal data storage requirements
C. Is either an Internal Logical File or an External 17. Which of the following defines the set of functional
Interface File requirements to be included in the function point
D. A and C11 count?
12. The smallest unit of activity that is meaningful to the A. Elementary process
user is the definition of: B. Purpose of the count
A. Functional size C. Counting scope17
B. Function point D. Scope creep
C. Processing logic
D. An elementary process12 18. An application:
A. Is a cohesive collection of automated procedures
13. The two types of subgroups for Record Element Types
and data supporting a business objective
are:
B. Consists of one or more components, modules, or
A. Mandatory and logical
subsystems
B. Mandatory and optional13
C. Is a group of related items treated as a unit
8 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
D. A and B18
Release 4.3, Part 3, page 1-6.
9 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 14 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 2-12. Release 4.3, Part 3, page 4-20.
10 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 15 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 3-3. Release 4.3, Part 3, page 4-20.
11 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 16 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-4. Release 4.3, Part 3, page 1-4; Part 5, page G-2.
12 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 17 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 1, page 14; Part 5, page G-3. Release 4.3, Part 2, page 5-3; Part 5, page G-2.
13 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 18 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-7. Release 4.3, Part 2, page 4-3; Part 5, page G-1.
Practice Exam 1 Answers    181

19. An elementary process that processes data or control 24. To read data from a source, leaving the source data
information sent from outside the boundary is an: unchanged, and to write the same data elsewhere in a
A. EI19 physical form that may differ from that of the source is
B. EO the definition of:
C. EQ A. Load
D. All of the above B. Copy24
20. Which of the following is true about an external output? C. Refresh
A. It is an elementary process that sends data or D. Image
control information outside the application’s
boundary and includes additional processing 25. To copy computer instructions or data from external
beyond that of an external inquiry20 storage to internal storage is the definition of:
B. The primary intent is to present information to A. Load 25
a user through the retrieval of data or control B. Copy
information C. Refresh
C. The processing logic contains no mathematical for- D. Image
mula or calculation
D. A and B 26. The process of recreating a set of data to make it cur-
rent with its source is the definition of:
21. A File Type Referenced is:
A. Load
A. A unique, user-recognizable, nonrepeated attribute
B. Copy
B. An elementary process that provides functionality
C. Refresh26
to the user to process data
D. Image
C. A data function read and/or maintained by a
transactional function21
27. Which of the following are transactional functions?
D. None of the above
A. EI, EIF
22. No prior or subsequent processing steps are needed to B. EI, EO, ILF
initiate or complete the functional requirements is the C. EI, EO, EQ27
definition of: D. EI, EO, EIF
A. An elementary process
B. Maintain 28. Which of the following are data functions?
C. Constant Data A. EI, ILF
D. Self-contained 22 B. ILF, EIF28
23. Which of the following statement(s) is true for C. EI, EO, EQ
conversion? D. EI, EIF
A. Transactional or data functions provided to con-
vert data 29. What type of data provides a list of available values
B. To read data from a source, leaving the source data for an attribute of one or more business object types?
unchanged, and to write the same data elsewhere A. Business Data
in a physical form that may differ from that of the B. Constant Data
source C. Reference Data
C. Transactional or data functions that provide other D. Valid Values Data 29
user-specified conversion requirements
D. A and C23 24 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 3-3.
19 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 25 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-3; Part 5, page G-3. Release 4.3, Part 3, page 3-3.
20 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 26 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-3; Part 5, page G-4. Release 4.3, Part 3, page 3-3.
21 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 27 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-14; Part 5, page G-4. Release 4.3, Part 2, page 7-1; Part 5, page G-7.
22 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 28 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 1, page 7; Part 5, page G-7. Release 4.3, Part 2, page 6-1; Part 5, page G-3.
23 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 29 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 5-2; Part 5, page G-2. Release 4.3, Part 3, page 1-12.
182    Certified Function Point Specialist Examination Guide

30. What type of data are stored to support the business 36. A Data Element Type is:
rules for the maintenance of the Business Data? A. A unique, user-recognizable, nonrepeated
A. Code Data attribute36
B. Constant Data B. A data function read and/or maintained by a trans-
C. Reference Data 30 actional function
D. Valid Values Data C. A user-recognizable subgroup of Data Element
Types within a data function
31. What type of data rarely change?
D. None of the above
A. Code Data
B. Constant Data 31 37. A Record Element Type is:
C. Reference Data A. A unique, user-recognizable, nonrepeated attribute
D. Valid Values Data B. A data function read and/or maintained by a trans-
32. What type of data provides a list of valid values that a actional function
descriptive attribute may have? C. A user-recognizable subgroup of Data Element
A. Code Data 32 Types within a data function37
B. Constant Data D. None of the above
C. Reference Data
38. A File Type Referenced is:
D. Business Data
A. A unique, user-recognizable, nonrepeated attribute
33. An enhancement project: B. A data function read and/or maintained by a
A. Is a project to develop and deliver the first release of transactional function38
a software application C. A user-recognizable subgroup of Data Element
B. Is a project to develop and deliver adaptive Types within a data function
maintenance33 D. None of the above
C. Includes repair, minor enhancement, conver-
sion, user support, and preventive maintenance 39. The features or capabilities of an application as seen by
activities the user is the definition of:
D. B and C A. Attribute
B. User view
34 Maintenance activities include: C. Elementary process
A. Defect removal D. Function39
B. Hardware or software upgrades
C. Optimization or quality improvement 40. Which of the following is true of an External Interface
D. All of the above34 File?
A. It is a user-recognizable group of logically related
35. Any of the requirements specifically requested by the
data or control information that is referenced by
user to complete an elementary process, such as vali-
the application being measured but which is main-
dations, algorithms, or calculations, and reading or
tained within the boundary of another application
maintaining a file, is the definition of:
B. The primary intent is to hold data referenced
A. Maintenance
through one or more elementary processes within
B. Control information
the boundary of the application measured
C. Conversion
C. An EIF counted for an application must be in an
D. Processing logic35
ILF in another application
D. All of the above 40
30 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 1-5.
31 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 36 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 1-11. Release 4.3, Part 2, pages 6-5 and 7-14; Part 5, page G-2.
32 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 37 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 1-6. Release 4.3, Part 2, page 6-7; Part 5, page G-6.
33 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 38 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, page G-3. Release 4.3, Part 2, page 7-14; Part 5, page G-4.
34 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 39 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, page G-5. Release 4.3, Part 5, page G-4.
35 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 40 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-5; Part 5, page G-6. Release 4.3, Part 2, page 6-2.
Practice Exam 1 Answers    183

41. Which of the following is true of an external output? C. Efficiency


A. It may maintain one or more ILFs and/or alter D. All of the above 46
the behavior of the system41 47. The result of a normalization process that transforms
B. It may not contain derived data
groups of data so they have a unique identifier, one or
C. It may not contain calculations
more attributes, and no repeating attributes is:
D. It may not maintain one or more ILFs and/or alter
the behavior of the system
A. First normal form47
B. Second normal form
42. Data in an ILF or EIF that exists because the user C. Third normal form
requires a relationship with another ILF or EIF is the D. None of the above
definition of:
48. Entity dependence is:
A. Foreign key42
A. An entity that is meaningful or significant to the
B. Primary key
C. Secondary key
business, in and of itself without the presence of
D. None of the above other entities
B. A fundamental thing of relevance to the user, about
43. The unique ID of an entity is the definition of: which a collection of facts is kept
A. Foreign key C. An entity that is not meaningful or is not sig-
B. Primary key43 nificant to the business, in and of itself without
C. Secondary key the presence of other entities48
D. None of the above D. A and B
44. The definition of primary intent is: 49. A group of related items that is treated as a unit is a:
A. The smallest unit of activity that is meaningful to A. Record49
the user B. File
B. An elementary process that provides functionality C. File system
to the user to process data D. Function
C. Intent that is first in importance 44
50. The activity of sequencing attributes in a transactional
D. Requirements for processes and/or data that are
function is the definition of:
agreed upon, and understood by, both the user(s)
A. Sorting
and software developer(s)
B. Loading
45. Adaptive maintenance: C. Refreshing
A. Is the modification of a software product, per- D. Arranging50
formed after delivery, to keep a software product
usable in a changed or changing environment
B. Provides enhancements necessary to accommodate
Part 2. Implementation
changes in the environment in which a software 1. How many DETs are counted on an external output
product must operate that has a pie chart with a category label and a numeri-
C. Changes are those that must be made to keep pace cal equivalent in a graphical output?
with the changing environment A. 1
D. All of the above 45 B. 251
C. 0
46. Quality includes:
D. 3
A. Usability
B. Reliability 46 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 1, page 5; Part 2, page 1-4.
41 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 47 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-8; Part 5, page G-4. Release 4.3, Part 5, page G-4.
42 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 48 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, page G-4. Release 4.3, Part 3, page 2-12.
43 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 49 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 2-23. Release 4.3, Part 3, page 2-5.
44 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 50 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 1, page 6; Part 5, page G-6. Release 4.3, Part 1, page 2; Part 5, page G-1.
45 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 51 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 4-20; Part 5, page G-1. Release 4.3, Part 2, page 7-17.
184    Certified Function Point Specialist Examination Guide

2. An external input that has six DETs and two FTRs has 7. Application A and Application B both modify the
how many function points? same ILF. Application A added four fields to this ILF.
A. 3 Application A populates these new fields by changing
B. 452 an existing external input to include these four fields.
C. 5 There was no impact to transactions in Application B.
D. 6 What is counted?
A. A changed ILF for Applications A and B; a changed
3. What is the application functional size of an applica-
transaction for Application A
tion that has five low external inputs, one high external
B. A changed ILF and a changed transaction for
output, three average external inquiries, and one aver-
Application A57
age Internal Logical File?
C. A changed ILF for Applications A and B; a changed
A. 40
transaction for Applications A and B
B. 42
D. A changed transaction for Application A
C. 4453
D. 49 8. Currency Exchange-Rate Table (Country and Current
Exchange Rate) is an example of what type of data?
4. Which of the following would be a high complexity?
A. Code Data
A. An external input with 3 FTRs and 4 DETs
B. Constant Data
B. An external output with 4 FTRs and 5 DETs
C. Reference Data58
C. An external inquiry with 3 FTRs and 19 DETs
D. Valid Values Data
D. None of the above54
9. Airport code and airport name are examples of what
5. An enhancement project added a low external input,
type of data?
deleted an average external inquiry, and added two
A. Code Data59
average external outputs. What is the enhancement
B. Constant Data
project functional size?
C. Reference Data
A. 13
D. Valid Values Data
B. 1755
C. 19 10. Application A has added two external inputs (add
D. 20 employee and change employee), each having two record
types (employee basic information and employee address
6. Put the following steps in the function point counting
information). How many external inputs are counted?
procedure in order:
A. 4
a. Determine counting scope and boundary and
B. 260
identify Functional User Requirements
C. 1
b. Document and report
D. 3
c. Measure data functions
d. Measure transactional functions 11. An application’s function points before an enhance-
e. Calculate the functional size ment is 200. The enhancement added three low EIs,
f. Gather the available documentation two high EIs, four average EQs, and one average EO.
A. b, f, a, c, d, e What is the enhancement project functional size?
B. f, b, d, c, a, e A. 242
C. f, a, c, d, e, b56 B. 4261
D. f, b, c, d, e, b C. 246
D. 46

52 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 57 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 7-19. Release 4.3, Part 2, Chapters 6 and 7.
53 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 58 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, pages 6-8 and 7-20. Release 4.3, Part 3, page 1-13.
54 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 59 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-19. Release 4.3, Part 3, page 1-6.
55 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 60 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 4-17. Release 4.3, Part 2, Chapter 7.


56 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 61 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 2-2. Release 4.3, Part 3, pages 4-14 to 4-17.
Practice Exam 1 Answers    185

12. Which of the following formulas is used to calculate an 17. In an enhancement project, the size of the functions
enhancement project functional size? being added is 10, the size of the functions being
A. DFP = ADD + CFP deleted is 10, the size of the functions being changed
B. EFP = ADD + CHGA + CFP + DEL 62 as they are/will be after implementation is 20, and
C. AFPA = (AFPB + ADD + CHGA) – (CHGB + the size of the functions being changed as they are/
DEL) were before the project commenced is 15. What is the
D. None of the above enhancement project functional size?
A. 55
13. DETs that cross the boundary include:
B. 45
A. Attributes the user enters via a screen as well as
C. 4067
those displayed on a report or screen
D. 35
B. Attributes in an electronic file that enter or exit the
boundary 18. An invoice data function has a header section of the
C. Attributes that enter the application boundary and customer information (customer name; account num-
are required to specify when, what, and/or how the ber; purchase order number; billing street address, city,
data is to be retrieved or generated by the elemen- state, and Zip Code; shipping street address, city, state,
tary process and Zip Code; phone number; e-mail address; fax
D. All of the above 63 number) and line items of the purchases (item number;
description; price; weight; color; quantity ordered). The
14. Which of the following are not counted as DETs on a invoice data store is updated in the application being
transaction? measured. What is the size of this data function?
A. Attributes generated within the boundary by a A. 5
transactional function and saved to an ILF without B. 7
exiting the boundary C. 1068
B. Attributes retrieved or referenced from an ILF or D. 15
EIF for participation in the processing without
exiting the boundary 19. A transaction whose primary intent is maintaining an
C. Attributes provided by, or presented to, the user of ILF is being added to an application. This transaction
the transactional function has 15 unique DETs, updates one ILF, and reads two
D. A and B64 EIFs. What is the functional size of this transaction?
A. 4
15. Which of the following types of transactions may alter B. 5
the behavior of the application? C. 6 69
A. EI D. 7
B. EO
20. The ability to initiate a transactional function can be
C. EQ
done by the clicking on the enter key, the PF2 key, or
D. A and B65
the OK button. How many DETs are counted for ini-
16. Which of the following is/are a form of processing tiating the action?
logic? A. 0
A. Sorting or arranging a set of data B. 170
B. Conditions are analyzed to determine which are C. 2
applicable D. 3
C. Validations are performed 21. Presenting information to a user is the primary intent
D. All of the above 66 of which transaction(s)?
A. External input
62 Refer to IFPUG, Function Point Counting Practices Manual (CPM), B. External output
Release 4.3, Part 3, page 4-17.
63 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 67 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, pages 7-14 to 7-18. Release 4.3, Part 3, page 4-17.
64 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 68 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-15. Release 4.3, Part 2, pages 6-4 to 6-8.
65 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 69 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-4. Release 4.3, Part 2, pages 7-4, 7-19, and 7-20.
66 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 70 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-8. Release 4.3, Part 2, page 7-14.
186    Certified Function Point Specialist Examination Guide

C. External inquiry 27. The formula DFP = ADD + CFP is used to calculate
D. B and C71 which of the following?
A. Application functional size
22. Transforming existing data to create additional data is
B. Development project functional size77
a form of which processing logic?
C. Application functional size after an enhancement
A. Equivalent values are converted
project
B. Sorting or arranging a set of data
D. None of the above
C. Derived data72
D. Mathematical formulas and calculations are 28. A transaction to add an employee has the ability to
performed return 10 unique error messages and two unique con-
23. Classify an elementary process as an EI if: firmation messages. How many DETs are counted for
A. It has a primary intent of either maintaining the error and confirmation messages?
one or more ILFs or altering the behavior of the A. 12
application B. 11
B. It has the primary intent of presenting information C. 2
to the user D. 178
C. It includes processing logic to accept data or control
information that enters the application boundary 29. In the formula AFPA = (AFPB + ADD + CHGA) –
D. A and C73 (CHGB + DEL), CHGB is:
A. The application functional size before the enhance-
24. Functional User Requirements may include which of ment project
the following? B. The application functional size after the enhance-
A. Data transformation74 ment project
B. Quality constraints C. The size of the functions being changed by the
C. Environmental constraints enhancement project (as they are/will be after
D. None of the above implementation)
25. Which of the following formulas is used to calculate D. The size of the functions being changed by the
an application functional size after an enhancement enhancement project (as they are/were before
project? the project commenced)79
A. DFP = ADD + CFP
30. An application functional size before an enhancement
B. EFP = ADD + CHGA + CFP + DEL
project was 100. The enhancement project added two
C. AFPA = (AFPB + ADD + CHGA) – (CHGB +
low EIs, deleted one high EO, and changed one EQ
DEL)75
from a low to an average. What is the application func-
D. AFP = ADD
tional size after the enhancement project?
26. After an enhancement project, the application func- A. 10080
tional size may be updated to reflect changed function- B. 107
ality. This changed functionality may: C. 113
A. Increase the application functional size D. 104
B. Decrease the application functional size
C. Have no effect on the application functional size 31. An application functional size before an enhancement
D. All of the above76 project was 100. The enhancement project added two
low EIs, deleted one high EO, and changed one EQ
71 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
from a low to an average. What is the enhancement
Release 4.3, Part 2, page 7-4. project functional size?
72 Refer to IFPUG, Function Point Counting Practices Manual (CPM), A. 16
Release 4.3, Part 2, page 7-6.
73 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 77 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 7-3. Release 4.3, Part 1, page 20.
74 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 78 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 1-3. Release 4.3, Part 2, pages 7-14 and 7-16.
75 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 79 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 4-19. Release 4.3, Part 3, page 4-19.
76 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 80 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 4-19. Release 4.3, Part 3, page 4-19.
Practice Exam 1 Answers    187

B. 1781 What data functions are counted for these activities?


C. 10 A. ILF, EI, EQ
D. 9 B. ILF, EI, EO
C. ILF85
32. A new logon function requires the entry of the fields D. EIF
User Identifier and User Password. When the user logs
on, the Security file is read to validate the user identifier 36. A user needs to inquire on report definitions using the
and password as well as to determine the windows the report name as the key to finding the desired defini-
user can access and maintain. If the fields do not pass tion. To satisfy the user requirement, an alternate
edits, error messages are generated and incorrect fields index is created using the report name as the key. This
are highlighted. Two error messages and one confirma- alternate index is counted as:
tion message are included for the security logon transac- A. An ILF
tion. The security logon transactions is counted as an: B. An EIF
A. EI C. A RET on the report definition ILF
B. EO D. It is not counted86
C. EQ82
D. It is not counted 37. The user requires the ability to view a list of states. The
list is retrieved from a file containing state code and
33. During construction of the Payroll application, a
state description. No other data is stored on the file.
requirement for help functionality was added. Help
The retrieved list is counted as an:
information is not maintained in any application. How
A. EQ
is help counted in the Payroll application?
B. EI
A. ILF
C. EO
B. EIF
D. It is not counted87
C. EQ
D. It is not counted83 38. At the end of each day, Application A sends a Daily
34. A user requires that an application print a monthly Check file to Application B listing the check numbers
report automatically every month. This report lists all and the amount and date of each check printed for the
employees by department and contains employee name day. Application B uses the file to update a data func-
and employee ID. This report is counted as an: tion maintained within its boundaries. This transac-
A. EI tional function is counted as:
B. EQ84 A. An EQ for Application A and an EQ for Application
C. EO B
D. It is not counted B. An EQ for Application A and an EI for Application
B88
35. The user requires the ability to perform the following C. An EO for Application A and an EI for Application
activities: B
NN Enter a report definition that includes a unique D. An EQ for Application A and nothing for
report identifier, a report name, attributes used on Application B
the report, and calculations to generate the report.
NN Reuse the defined report at any time, changing the 39. Application A maintains the following information in
definition if necessary. the Vendor data function: vendor ID, vendor name,
NN View and print a report using the report definition. vendor phone number, vendor fax number, and vendor
NN Inquire on existing report definitions by report address, which includes floor, street, city, state, and Zip
name or report identifier. Code. Application B requires the ability to produce

81 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 85 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, pages 4-14 to 4-17. Release 4.3, Part 2, page 6-2.
82 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 86 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 4, pages 2-159 to 2-161. Release 4.3, Part 4, page 1-20.
83 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 87 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-13. Release 4.3, Part 3, page 1-7.
84 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 88 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, pages 7-3 and 7-13. Release 4.3, Part 3, pages 3-20 to 3-21.
188    Certified Function Point Specialist Examination Guide

mailing labels for each vendor by retrieving the vendor 42. Which of the following is not considered conversion
address from the Vendor data function. The Vendor functionality?
data function is counted as: A. Software upgrades due to the installation of a
A. An ILF with 5 DETs for Application A and an EIF revised version of vendor packages
with 5 DETs for Application B B. An enhancement project requires the addition of a
B. An ILF with 9 DETs for Application A and an EIF DET to an existing ILF and the new DET will be
with 5 DETs for Application B populated with a specific default value
C. An ILF with 9 DETs for Application A and an C. A changed EIF for the application being measured
EIF with 1 DET for Application B89 D. All of the above92
D. An ILF with 9 DETs for Application A and an ILF 43. Identify the transactional functions in the following
with 1 DET for Application B scenario: A batch feed of new customer data from
40. When a user adds a customer record in Application A, another application must be accepted. The customer
a validation is done on the Zip Code by sending the data must be validated and saved to the Customer file;
city, state, and Zip Code to Application B. By reading an error report is produced containing any identified
a maintained Zip Code data function, Application B errors. The business office is notified via e-mail with
validates that the Zip Code is a valid Zip Code for the processing summary data.
city and state and sends a success or failure message A. One EI, one EO, and one EQ
back to Application A. If a success message is received, B. One EI and two EQs
Application A adds the record to the Customer data C. One EI and one EO
function. If a failure message is received, Application D. One EI only93
A does not add the record and sends an error message 44. An enhancement project adds six high complexity EIs
back to the user that the Zip Code is invalid for the and two average complexity EQs, deletes one high com-
city/state. Identify all of the functions to be counted in plexity EQ, and changes three EOs from low to high
this scenario for Application A. complexity. If the application count is 1000 before the
A. An ILF for the Customer data function and an EQ enhancement, what is the value of the enhancement
for the Zip Code validation count?
B. An EI for adding a customer record, an ILF for the A. 1059
Customer data function, and an EQ for the Zip B. 1047
Code validation C. 7194
C. An ILF for the Customer data function and an EIF D. 62
for the Zip Code data function
D. An EI for adding a customer record, an ILF for 45. The user requires the ability to delete a customer from
the Customer data function, and an EIF for the the Customer ILF. Via an online screen, the user enters
Zip Code data function90 the customer ID and clicks on the delete button. If the
customer ID is invalid, an error message is returned and
41. A development project has five average complexity EIs the Customer ILF is not updated. If the customer ID is
and two high complexity EIs; two average complex- valid, the status field on the Customer ILF is updated
ity EOs; two average complexity EQs and one high with an “I,” the system date is entered in the Effective
complexity EQ; one low complexity ILF and one high Date on the Customer ILF, and a confirmation mes-
complexity ILF; one low complexity EIF; and one aver- sage is returned. What is counted for this transactional
age complexity conversion EI. What is the application function?
count after the development project is installed? A. An EI with 1 FTR and 5 DETs
A. 85 B. An EI with 1 FTR and 6 DETs
B. 87 C. An EI with 1 FTR and 3 DETs95
C. 80 D. An EI with 1 FTR and 4 DETs
D. 8391
92 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
89 Refer to IFPUG, Function Point Counting Practices Manual (CPM), Release 4.3, Part 3, page 5-4.
Release 4.3, Part 4, pages 1-29 to 1-36. 93 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
90 Refer to IFPUG, Function Point Counting Practices Manual (CPM), Release 4.3, Part 4, pages 2-41 to 2-46.
Release 4.3, Part 4, pages 1-29 to 1-36. 94 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
91 Refer to IFPUG, Function Point Counting Practices Manual (CPM), Release 4.3, Part 3, pages 4-14 to 4-17.
Release 4.3, Part 1, pages 20 and 23, and Part 2, pages 6-8 and 95 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

7-20. Release 4.3, Part 2, Chapter 7.


Practice Exam 1 Answers    189

46. Application A generates a Monthly PO file at the end C. An ILF only


of each month and sends it to Application B. During D. An ILF, an EQ, and an EI with one FTR
the creation of the Monthly PO file, the total num-
50. Application A generates an image copy with no addi-
ber of purchase orders and the total dollar amount of
tional processing logic and sends it to Application B;
those purchase orders for the month are calculated.
Application B loads a copy with no additional process-
Application B uses this file to update a data function
ing logic. What is counted?
within its boundaries. What transactional functions
A. An ILF for Application A and an ILF for Application
are counted?
B
A. An EQ for Application A and an EI for Application
B. An EIF for Application A and an EIF for Application
B
B
B. An EO for Application A and an EI for Application
C. An ILF for Application A and an EIF for
B96
Application B100
C. An EQ for Application A; nothing for Application
D. An ILF for Application A and an EI for Application
B
B
D. An EO for Application A; nothing for Application
B
47. A development project has two low complexity EIs,
two average complexity EIs, two low complexity EOs,
Part 3. Case Studies
two high complexity EQs, two low complexity ILFs, Case Study 1
and one low complexity conversion EI. What is the
development count? An Employee batch file enters Application A with three attri-
A. 49 butes (Employee ID, Employee Hire Date, and Employee Job
B. 50 Assignment). There are two transaction types: Add Employee
C. 5197 and Update Employee. The Employee Job Assignment
D. 53 attribute on the input record is validated against the Job
Assignment logical file maintained in Application C; this
48. An application’s functional size before an enhance- is the only attribute accessed in the Job Assignment logical
ment is 100. The enhancement added two low EIs and file by Application A; however, the Job Assignment logical
deleted one average EO. What is the application size file has 51 attributes within Application C. If the validation
after the enhancement project is delivered? passes, the Employee logical file is updated in Application A;
A. 100 a total of 12 fields are maintained and/or referenced in the
B. 10198 Employee logical file within Application A. If the validation
C. 110 fails, no update is made and an error report is produced.
D. 111 Identify the functional complexity of the possible function
49. The user has requested that an ILF (or part of an ILF) types by choosing the correct radio buttons in Table A15.1.
be populated from an ILF in another application.
Validation is required against yet another ILF from Table A15.1
a third application. This processing is specified as a Enter Complexity
one-time process and the data referenced in the third Names of Possible
application will not be utilized in the future. What is Function Types Low Average High N/A
counted for the conversion functionality? Add Employee    
A. An EIF and an EI with two FTRs99
B. An ILF and an EI with one FTR Update Employee    

Error Listing    
96 Refer to IFPUG, Function Point Counting Practices Manual (CPM), Employee ILF    
Release 4.3, Part 2, Chapter 7.
97 Refer to IFPUG, Function Point Counting Practices Manual (CPM), Job Assignment EIF    
Release 4.3, Part 1, pages 20 and 23; Part 2, pages 5-3, 6-8 to 6-9,
and 7-19 to 7-20.
98 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, pages 4-16 to 4-19.


99 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 100 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 5-3. Release 4.3, Part 3, page 3-13 to 3-14.
190    Certified Function Point Specialist Examination Guide

Customer Input Screen

Back Address http:// Go

Customer Input Screen

First Name Last Name

Street Address Apartment Number

City State Zip Code –

Daytime Phone

Evening Phone

Add Customer Clear Screen

Error Message Window

Figure A15.1  Customer input screen.

Case Study 2 Case Study 3


Use the screen in Figure A15.1 to identify the functions pres- A retail store has developed a new application, Frequent
ent (see Table A15.2). Note that the “Add Customer” button Buyer Program (FBP), to track customer purchases. The
causes the Customer Data maintained inside the applica- customer fills out a paper application and gives it to the
tion boundary to be updated with the fields entered by the store clerk. The clerk then adds the customer’s information
user. The “Clear Screen” button causes all of the fields to online. The clerk can also list customers, view a customer’s
be erased. The “Error Message Window” displays any errors detailed information, and change a customer’s informa-
associated with validations performed against an externally tion. A report is produced daily listing customers that were
maintained Zip Code Data file after the “Add Customer” added with their addresses.
button is pressed. Identify the functions of the FBP application by choos-
ing the correct radio buttons in Table A15.3.
Table A15.2
Case Study 4
Names of Identify the Function Used
Possible Use the data flow diagram in Figure A15.2 to identify the
Function Types ILF EIF EI EO EQ N/A functions in the HR application and the Mail Distribution
application (see Table A15.4).
Add Customer      

Clear Screen      
Case Study 5
Error Message       SME is implementing a Customer Relations Management
Window
(CRM) application. The Web Info (WI) application, an exist-
Customer Data       ing application, will be required to send information to the
CRM each evening by retrieving all Requests for Information
Zip Code Data      
(RFI) submitted that day and currently maintained in the
Practice Exam 1 Answers    191

User User

Emp_Id Mail Distribution


Emp_Name Emp_Id HR Application Emp_Id
Mailing_Address Emp_Name Application Floor
Pay_Grade Building_Code
Mailing_Address
Job_Title Pay_Grade Emp_Id
Job_Title Floor
Pension_Elig_Date Building_Code
Create Employee Employee Maintain
Employee Building Codes

Emp_Id Emp_Id
Emp_Name Floor
Mailing_Address Building_Code
Print Mailing Pay_Grade
Labels Job_Title
Pension_Elig_Date Print
Emp_Name Population
Mailing_Address Report
Street
City
Number_of_Employees
State
Floor
Zip_Code
Building_Code
Floor
Building_Code

Legend:

User or Application Process Document

Data Stored Flow of Data

Figure A15.2  HR and mail distribution applications.

RFI logical file within the WI application. The following Separate reports by state will be generated each morning
information is sent on this daily feed: requestor ID; request- by the CRM application and delivered to state sales coordina-
or’s first, middle, and last name; requestor’s organization; tors. The printout will contain all of the information on the
requestor’s address (street address, city, state, and Zip Code); Potential Customer logical file as well as a total number of
date of request; requested items; and quantities for requested requests for information, which is calculated at the time the
items. The CRM application will validate and process the report is produced. The state code and state name, retrieved
daily feed into a new Potential Customer logical file. from a code table, will also be printed on each report.

Table A15.3 Table A15.4


Identify the Function Used Identify the Function Used
Names of Possible Names of Possible
Function Types ILF EIF EI EO EQ N/A Function Types ILF EIF EI EO EQ N/A

Add Customer       Create Employee      

Change Customer’s       Print Mailing Labels      


Information
Maintain Building      
List Customers       Codes

View Customer’s       Print Population      


Detail Information Report

Customer Report       Employee      


192    Certified Function Point Specialist Examination Guide

Table A15.5 Table A15.6


Enter Complexity Enter Complexity
Names of Possible Names of Possible
Function Types Low Average High N/A Function Types Low Average High N/A

RFI Daily Feed     Customer logical file    

Potential Customer     Orders logical file    


Logical File
CUSTID logical file    
State Report    
Add Bulk Orders    
Retrieve/View Customer    
Information Change Bulk Orders    

Update Requested    
Information Bulk orders are entered into the SOS via the Bulk Order
file from the regional system. The transaction contains 29
attributes and updates the ORDERS logical file. One of the
Each state sales coordinator will have the ability to retrieve
attributes contains an action field with the values A (add)
via screen all information maintained in the Potential Customer
or C (change).
logical file by entering the requestor ID and action key; hard-
Identify the complexity of the functions for the SOS
coded error messages will be returned if the requestor ID is not
application by choosing the correct radio buttons in Table
found. Using that screen, the state coordinator can revise the
A15.6.
requested items and/or quantities using the requestor ID and
a preassigned function key; hard-coded error messages may be
returned if the newly assigned requested item is not contained Case Study 7
in the Inventory logical file maintained by the Inventory appli-
cation, or a hard-coded confirmation message will occur. An insurance company offers several product lines, including
Identify the complexity of the functions for the CRM appli- homeowner’s and auto insurance. A new marketing strategy
cation by choosing the correct radio buttons in Table A15.5. is to offer a discount on the purchase of auto insurance to a
policyholder who already has homeowner’s insurance with
the company. To provide this service, enhancements must
Case Study 6 be made:
A company is creating a new application called Sales Order
System (SOS). This application will have the following logi- NN The Policyholder logical file that is maintained by
cal files: both the Homeowner’s Insurance application and the
Auto Insurance application will have two fields added
NN CUSTOMER contains the company name; street to it: Multipolicy Discount Indicator and Discount
address, city, state, and Zip Code; customer code; Amount.
region; sales agent; and billing street address, city, NN Processing logic must be changed in the Auto
state, and Zip Code. Insurance application. During the nightly batch pro-
NN ORDERS contains: (a) Record One (Ship to) contains cessing of new auto policies, the Policyholder logical
customer code, record ID, “attention to” name (first file must be checked to see if the policyholder has
name, middle initial, last name), street address, city, homeowner’s insurance with the company. If so, the
state, Zip Code, carrier code, and date to be shipped. (b) two new fields in the Policyholder logical file will be
Record Two (Details) contains customer code, record updated. In addition, the confirmation report that is
ID, item code, item quantity, item dollar amount, bulk produced from the batch process will be changed to
order discount code, total order dollar amount, tax code, include a message that the discount was applied.
tax amount, and date order placed. (c) Record Three NN The Homeowner’s Insurance application must also
(Billing) contains customer code, record ID, company be changed. During the nightly batch process of can-
code, billing street address, city, state, Zip Code, and celled homeowner’s policies, the Policyholder logical
orderer’s name (first name, middle initial, last name). file must be checked to see if the policyholder has been
NN CUSTID contains the same information as receiving the multipolicy discount on auto insurance.
CUSTOMER but sorted by customer code and is If so, the Multipolicy Discount Indicator will be set to
used in processing outputs. “C” for “Cancelled.”
Practice Exam 1 Answers    193

Table A15.7 Table A15.8


Identify the Function Used Identify the Function Used
Names of Possible Names of Possible
Function Types ILF EIF EI EO EQ N/A Function Types ILF EIF EI EO EQ N/A

Policyholder logical       Add Vendor      


file
Change Vendor      
New Auto Policy      
Delete Vendor      
New Auto Policy      
Confirmation Report Display Vendor      
Information
Cancelled      
Homeowner’s Policy Vendor logical file      

Policyholder Letter      
The Vendor information will be maintained in a new Vendor
logical file in the AP application.
NN The nightly batch process in the Auto Insurance appli-
Identify the enhanced functions of the AP application by
cation must also be changed to check each record on
choosing the correct radio buttons in Table A15.8.
the Policyholder logical file for cancelled homeowner’s
insurance. If the Multipolicy Discount Indicator is a
“C,” it will be changed to an “N,” the Discount Amount Case Study 9
will be set to zero, the new auto insurance premium
will be calculated, and a letter outlining the changes A new file is to be passed from the Accounts Payable (AP)
will be produced and mailed to the policyholder. application to the Banking application at the close of every
business day. This file contains the payment date required,
Identify the new and changed functions of the Homeowner’s payment amount, PO number, vendor name, and vendor
Insurance and Auto Insurance applications by choosing the billing street address, city, state, and Zip Code. The Banking
correct radio buttons in Table A15.7. application must now be enhanced to process this incoming
file and to generate the appropriate checks.
Case Study 8 The Banking application will process the incoming file
Company XYZ plans to enhance its Accounts Payable (AP) from the AP application without any edits or validation into
application. The current application interfaces with existing two user-maintained logical files: Checking Account and
banking, help, and purchase order (PO) applications. This is Disbursements. The Checking Account logical file previ-
a menu-driven system. To enter the AP application, the user ously had 2 RETs and 19 DETs. This change will require
must make selections from a main menu. The menu has the the addition of the PO number to the Checking Account
following options: logical file. All other attributes were previously included. The
Disbursements logical file will not require any changes as a
NN Invoices result of this enhancement.
−− Add an invoice The current process to generate checks to pay invoices is
−− Display an invoice to be modified. Checks now will be generated with the PO
−− Change an invoice number as a separate memo attribute by the banking system.
−− Delete an invoice Previously, checks contained the following information: pre-
NN Payments printed name and address for the company, preprinted check
−− Retrieve payments due numbers, payment date, payment amount, payee (same as
−− Record payments vendor’s name), and payee street address, city, state, and Zip
Code. Checks previously did not include a memo attribute.
Invoices and payments are maintained in the Invoice log-
These checks reference only the Checking Account logical
ical file in AP. The enhancement will allow users to maintain
file when they are created. The Checking Account logical file
Vendor information in the AP application. The following is
is updated internally to indicate payment as part of the check
being added to the AP menu:
generation elementary process.
NN Vendor A printed report will be generated from the Checking
−− Add a vendor Account logical file if checks were not produced because of
−− Display vendor information an inadequate balance. The Report of Insufficient Funds
−− Change vendor information will contain the following attributes: insufficient funds for
194    Certified Function Point Specialist Examination Guide

Table A15.9 from the Student logical file and displayed on the screen. The
student then selects a department from the drop-down list
Enter Complexity
Names of Possible box, and a list of all courses offered by that department is
Function Types Low Average High N/A retrieved from the Course logical file that is maintained in
another application. Displayed on the list are course number,
Payment file from AP    
course name, location, start date, and time. To register for
Checking Account     a course, the student enters “X” in Column A next to the
logical file desired course and clicks “Enter” or “Register.” A validation
Disbursement logical    
on the Course logical file is made to ensure that the class still
file has openings. If there are no openings, an error message is
displayed on the screen. If there are openings, a validation is
Checks     made on the Student logical file to ensure that the student is
Report of Insufficient     eligible to enroll for the course. If ineligible, an error message
Funds is displayed on the screen. Otherwise, the Student logical file
is updated, and a confirmation message is displayed. The stu-
payment date, payee, PO number, payment amount, total dent can then either register for another course by repeating
number of payees, and total payment amount (total attri- the process or click on “Exit” to end the process.
butes are calculated when the report is produced). Identify the functions for the Course Registration applica-
Identify the complexity of the enhanced functions for the tion by choosing the correct radio buttons in Table A15.10.
Banking application by choosing the correct radio buttons in
Table A15.9. Table A15.10
Identify the Function Used
Case Study 10 Names of Possible
Function Types ILF EIF EI EO EQ N/A
Students enrolling in a course at a local university have the
ability to do so online by accessing the Course Registration Student logical file      
application. When the student selects File: New, the Course Course logical file      
Registration screen shown in Figure A15.3 appears. The stu-
dent then enters his or her student ID and clicks “Enter.” If Register for Course      
the entered student ID has no match on the Student logical Department Drop-      
file, an error message is returned, and the student may either Down List Box
try again or click “Cancel” to exit the application. If a match
Cancel      
is found on the student’s ID, the student’s name is retrieved

COURSE REGISTRATION
FILE EDIT VIEW REPORTS WINDOW HELP
NEW
OPEN
CLOSE
PRINT COURSE REGISTRATION
EXIT

STUDENT ID STUDENT NAME

DEPARTMENT Dropdown
A COURSE NUMBER COURSE NAME LOCATION START DATE TIME

ENTER REGISTER CANCEL EXIT

Figure A15.3  Course registration.


Appendix 16

Practice Exam 2 Answers

Part 1. Definitions and Rules 5. The smallest unit of activity that is meaningful to the
user is the definition of:
1. Translation Data is sometimes referred to as:
A. An elementary unit
A. User Metacode Data
B. A single function point
B. Substitution Data
C. An elementary process5
C. Code Data1
D. A functional unit
D. None of the above
2. Examples of repair include: 6. An elementary process that processes data or control
A. Missing functions that do not result in application information sent from outside the boundary is an:
failure (external design error) A. EO
B. Errors resulting in a stop-run situation (code error) B. EI6
C. Both A and B2 C. EQ
D. Neither A nor B D. Both A and C
3. Steps in the Functional Size Measurement Method
procedure include: 7. Business Data may also be referred to as:
A. Gather the available documentation3 A. Personal User Data
B. Report quality metrics B. Core Objects
C. Calculate the technical size C. List Data
D. Both A and B D. None of the above7
4. The application area:
A. Acts as a “membrane” through which data pro- 8. The Value Adjustment Factor (VAF) is:
cessed by transactions pass into and out from the A. A measure of the functional vs. technical ratio in a
application given application
B. Is a general term for a grouping of applications that B. The factor that indicates the general functionality
handle a specific business area provided to the user of the application
C. Corresponds to an administrative level for man- C. The factor of value delivered to the end user by the
agement purposes application
D. Both B and C 4 D. None of the above8

1 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 5 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 1-6. Release 4.3, Part 2, page 7-5, and Part 5, page G-3.
2 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 6 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, page G-6. Release 4.3, Part 2, page 7-3.
3 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 7 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 2-2. Release 4.3, Part 3, page 1-4.
4 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 8 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, page G-1. Release 4.3, Part 5, pages C-4 and G-7.

195
196    Certified Function Point Specialist Examination Guide

9. Entity subtype: 15. Flexible query/report capability is accounted for in


A. Is a subdivision of entity type which of the following GSCs:
B. Inherits all the attributes and relationships of its A. Complex Processing
parent entity type B End-User Efficiency
C. May have additional, unique attributes and C. Facilitate Change15
relationships D. Operational Ease
D. All of the above9
16. Internal Logical Files (ILFs) can:
10. The process of recreating a set of data to make it cur- A. Be hard coded
rent with its source is the definition of: B. Be counted in more than one application16
A. Reload C. Contain multiple FTRs
B. Copy D. Both B and C
C. Refresh10
D. Image Load 17. Counting scope:
A. Includes the effect of scope creep
11. General System Characteristics (GSCs) are:
B. Defines the set of Functional User Requirements
A. A set of 14 questions that quantify the degree of
to be included inside of the application boundary
quality for the application
C. Defines the set of Functional User Requirements
B. A set of 14 questions that evaluate the overall
to be included in the function point count17
complexity of the application11
D. Both A and C
C. Both A and B
D. None of the above 18. An application:
12. Total Degree of Influence (TDI) is: A. Is a cohesive collection of automated procedures
A. ±35% and data supporting a business objective
B. The sum of the 14 degrees of influence B. Consists of one or more components, modules, or
C. A score between 0 and 70 subsystems
D. Both B and C12 C. Is a group of related items treated as a unit
D. A and B18
13. The two types of subgroups for Record Element Types are:
A. Obligatory and arbitrary 19. The formula for Value Adjustment Factor is:
B. Mandatory and optional13 A. VAF = (TDI × 0.01) + 0.6519
C. Optional and indispensable B. VAF = TDI + 0.65
D. Compulsory and discretionary C. VAF = TDI × 0.01
D. None of the above
14. Corrective maintenance is:
A. The modification of a software product performed 20. Which GSC describes the degree to which the applica-
after delivery to account for scope creep tion and the code in the application have been specifi-
B. The modification of a software product performed cally designed, developed, and supported to be usable
after delivery to introduce product enhancements in other applications:
C. The reactive modification of a software product A. Installation Ease
performed after delivery to correct discovered B. Operational Ease
problems14 C. Reusability20
D. All of the above D. Multiple Sites

9 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 15 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 2-6; Part 5, page G-3. Release 4.3, Part 5, page C-29.
10 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 16 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 3-3. Release 4.3, Part 2, Chapter 6; Part 3, pages 3-18 to 3-19.
11 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 17 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, pages C-5 and G-4. Release 4.3, Part 2, page 2-4; Part 5, page G-2.
12 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 18 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, pages C-4, C-31, and G-7. Release 4.3, Part 2, page 4-3; Part 5, page G-1.
13 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 19 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-7; Part 3, pages 2-37 to 2-38. Release 4.3, Part 5, page C-4.
14 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 20 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 4-20; Part 5, page G-2. Release 4.3, Part 5, page C-22.
Practice Exam 2 Answers    197

21. A File Type Referenced is: 3


A. A data function maintained by an elementary
1 2 5 6
process
4
B. A data function maintained by a transactional
function
C. A data function read and/or maintained by a
Figure A16.1  Steps in function point counting procedure.
transactional function21
D. None of the above C. Refresh26
D. Image
22. Which of the following can be counted as one or more
ILFs in a project: 27. Which of the following are exclusively transactional
A. Application data functions:
B. Application security data A. EI, EIF
C. Control data B. EI, EO, ILF
D. All of the above22 C. ILF, EIF
D. None of the above27
23. What do most mainframe applications score for the
Multiple Sites GSC: 28. Which of the following are data functions:
A. 3 A. ILF, ELF
B. 2 B. ILF, EIF28
C. 1 C. EI, EO, EQ
D. 023 D. None of the above
Refer to Figure A16.1 for questions 29 through 31.
24. On-line applications typically receive a score of
for the Data Communications GSC. 29. What is the number of the step corresponding to “cal-
A. 3 culate functional size”:
B. 424 A. 2
C. 5 B. 3
D. None of the above C. 4
D. 529
25. The IEEE definition of load is:
A. To copy computer instructions or data from 30. What is the number of the step corresponding to “mea-
external storage to internal storage25 sure data functions”:
B. To read data from a source, leaving the source data A. 2
unchanged, and to write the same data elsewhere B. 330
in a physical form that may differ from that of the C. 4
source D. None of the above
C. The process of recreating a set of data to make it 31. The last step of the functional size measurement
current with its source method procedure labeled 6 in the figure is:
D. None of the above A. Measure data functions
B. Calculate functional size
26. The process of recreating a set of data to make it cur- C. Measure transactional functions
rent with its source is the definition of: D. None of the above31
A. Load
B. Copy 26 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, page 3-3; Part 5, page G-6.
21 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 27 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-14; Part 5, page G-4. Release 4.3, Part 2, page 7-1; Part 5, page G-7.
22 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 28 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, Chapter 6. Release 4.3, Part 2, page 6-1; Part 5, page G-3.
23 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 29 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, page C-27. Release 4.3, Part 2, page 2-2.
24 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 30 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, page C-8. Release 4.3, Part 2, page 2-2.
25 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 31 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 3-3; Part 5, page G-5. Release 4.3, Part 2, page 2-2.
198    Certified Function Point Specialist Examination Guide

32. A score of 2 for degree of influence indicates: C. 4


A. Incidental influence D. 638
B. Moderate influence32 39. The Total Degree of Influence is between:
C. Average influence A. 0 to 5
D. Significant influence B. 0 to 7039
33. The degree to which the rate of business transactions C. 1 to 5
influenced the development of the application is which D. 0.65 to 1.35
General System Characteristic: 40. What is the Value Adjustment Factor if the TDI is
A. Transaction Rate33 equal to 45:
B. Heavily Used Configuration A. 0.95
C. Operational Ease B. 1.00
D. Performance C. 1.05
D. 1.1040
34. A project used to develop and deliver adaptive mainte-
nance is: 41. Which of the following statements is false:
A. A development project A. An ILF is a user-recognizable group of logically
B. An enhancement project 34 related data or control information that is ref-
C. Not measurable using function point analysis erenced by the application being measured but
D. An application function point count which is maintained within the boundary of
another application41
35. Hardware or software upgrades are an example of: B. The primary intent of an EIF is to hold data refer-
A. Planned obsolescence enced through one or more elementary processes
B. An enhancement project within the boundary of the application measured
C. System upgrades C. An EIF counted for an application must be in an
D. A maintenance activity35 ILF in another application
D. All of the above are true
36. When applied, the Value Adjustment Factor adjusts
the unadjusted functional size: 42. Processing logic for EIs may include:
A. ±30% to produce the adjusted functional size A. Validations are performed
B. ±35% to produce the adjusted functional size36 B. Equivalent values are converted
C. ±60% to produce the adjusted functional size C. One or more ILFs are updated
D. ±65% to produce the adjusted functional size D. All of the above 42
43. A record is equivalent to the relational database term:
37. A unique, user-recognizable, nonrepeated attribute is: A. A row
A. A Data Element Type37 B. A column
B. A File Type Referenced C. A tuple
C. A Record Element Type D. Both A and C 43
D. None of the above
44. Attributes designed to provide fast access to the infor-
38. Multilingual support counts as how many items: mation is the definition of:
A. 1 A. Foreign key
B. 2 B. Primary key

32 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 38 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 5, page C-6. Release 4.3, Part 5, page C-17.
33 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 39 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, page C-15. Release 4.3, Part 5, page C-4.
34 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 40 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 1, page 4; Part 3, page 4-20; Part 5, page G-3. Release 4.3, Part 5, page C-4.
35 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 41 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, pages 4-20 to 4-22; Part 5, page G-5. Release 4.3, Part 2, page 6-2.
36 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 42 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, page C-4. Release 4.3, Part 2, pages 7-5 to 7-8.
37 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 43 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, pages 6-5 and 7-14; Part 5, page G-2. Release 4.3, Part 3, page 2-5.
Practice Exam 2 Answers    199

C. Secondary key44 Sales


D. None of the above 4th Qtr
9%
45. When performing function point analysis, it is prefer- 3rd Qtr
able to analyze the logical data model in: 10%
A. First normal form
B. Second normal form 2nd Qtr 1st Qtr
C. Third normal form45 23% 58%
D. Fourth normal form
46. An average complexity EIF has a value of:
A. 5
B. 746 Figure A16.2  Sales pie chart.
C. 10
D. 15
47. Functional size can be approximated but not measured Part 2. Implementation
during what stage: 1. An application includes 72 occurrences of field level
A. Proposal47 help that are all maintained inside the application
B. Requirements boundary. How many transactional functions are
C. Design counted:
D. Maintenance A. 72 EQs
48. An EI can be invoked if the user hits the submit button B. 72 EOs
on the GUI screen, presses the F10 key on the keyboard, C. No transaction functions are counted
or enters an “Add” command on a command line. How D. One transaction function51
many DETs should be counted for these options:
A. 148 2. Which of the following is not an example of Reference
B. 3 Data:
C. 0 A. Job rates
D. None of the above B. Tax tables
C. Discount rates
49. The Functional User Requirements as perceived by the
D. Airport Codes/Airport Names52
user is:
A. Requirements view 3. Which of the following could be an EQ:
B. Specification view A. A menu screen providing only navigation
C. User view49 B. An output report containing derived data
D. Design view C. Help text retrieved from an ILF53
50. A group of related items that is treated as a unit is a: D. An output containing a monthly total not retrieved
A. Record50 from a data function
B. File
C. File system 4. Assuming the data shown have been calculated at the
D. Function time of display, how would you count the pie chart
shown in Figure A16.2:
44 Refer to IFPUG, Function Point Counting Practices Manual (CPM), A. 4 EOs
Release 4.3, Part 3, page 2-23. B. 1 EO with 4 DETs
45 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
C. 1 EO with 2 DETs54
Release 4.3, Part 3, page 2-6. D. 1 EO with 8 DETs
46 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 6-9; Part 5, page A-2.


47 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 51 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 2, page 3-8. Release 4.3, Part 4, pages 2-140 to 2-144.
48 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 52 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-16. Release 4.3, Part 3, page 1-5 to 1-6.
49 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 53 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 3-2; Part 5, page G-7. Release 4.3, Part 2, Chapter 7; Part 4, pages 2-140 to 2-144.
50 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 54 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 2-5; Part 5, page G-6. Release 4.3, Part 2, page 7-17.
200    Certified Function Point Specialist Examination Guide

5. An enhancement project added three low exter- 11. An ILF is maintained by three separate applications.
nal inputs, deleted two high external inquiries, and Where is it counted:
changed two average external outputs to low complex- A. In the application that maintains the most DETs
ity. What is the enhancement project functional size: B. In all three applications61
A. 5 C. In the application that accesses the ILF with the
B. 20 greatest frequency
C. 2955 D. In none of the applications because it cannot be
D. None of the above shared
6. The change in the value of the application functional 12. Which of the following formulas is used to calculate an
size for the preceding question is: enhancement project functional size:
A. –20 A. DFP = ADD + CFP
B. –556 B. EFP = ADD + CHGA + DEL
C. 30 C. AFPA = (AFPB + ADD + CHGA) – (CHGB +
D. 42 DEL)
7. The function point value of an ILF with 20 DETs and D. None of the above 62
4 RETs is: 13. Three user-defined groups of data are maintained by
A. 5 the application and exist in the same physical file. How
B. 7 many ILFs are counted:
C. 1057 A. 0
D. 15 B. 1
8. An application has a Pantone color table that contains C. 2
two data elements: color code and color description. D. 363
This table is an example of what type of data:
14. Which of the following cannot be counted as an EQ:
A. Code Data58
A. Screens providing only navigation
B. Constant Data
C. Reference Data B. Reports that contain derived data
D. Valid Values Data C. A screen displaying data simply retrieved from an
ILF
9. Users have requested four tabs on a Web application to D. A and B64
accomplish the elementary process of creating a pur-
chase order. What is counted: 15. Which of the following types of transactions may per-
A. 1 EI59 form validations:
B. 4 EIs A. EI
C. 1 EI and 4 EQs B. EO
D. 4 EIs and 1 EQ C. EQ
D. All of the above65
10. In a count of DETs in an EO the following should be
counted: 16. To be an EI, it is mandatory that you either update at
A. System generated dates in the heading least one ILF or do one of the following:
B. Calculated totals of sales data retrieved from an A. Sort or arrange a set of data
ILF60 B. Perform validations
C. Literals in the heading C. Create derived data
D. Both A and B D. Alter the behavior of the application66

55 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 61 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 1, pages 21 and 23; Part 3, pages 4-14 to 4-17. Release 4.3, Part 2, page 6-10; Part 3, pages 3-18 to 3-19.
56 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 62 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 1, pages 21 and 23; Part 3, pages 4-14 to 4-19. Release 4.3, Part 1, page 21; Part 3, page 4-17.
57 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 63 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 1, page 23; Part 2, pages 6-8 to 6-9. Release 4.3, Part 2, page 6-10; Part 3, pages 2-8 to 2-9.
58 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 64 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 1-11. Release 4.3, Part 2, page 7-3; Part 4, pages 2-129 to 2-133.
59 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 65 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, page 7-21. Release 4.3, Part 2, page 7-8.
60 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 66 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, pages 7-17 to 7-18. Release 4.3, Part 2, pages 7-3, 7-4, and 7-8.
Practice Exam 2 Answers    201

17. In an enhancement project, the size of the functions 21. Which of the following activities are within the
being added is 30, the size of the functions being enhancement counting scope:
deleted is 15, the size of the functions being changed as A. Correction of production errors
they are/will be after implementation is 35, and the size B. Perfective or preventative maintenance
of the functions being changed as they are/were before C. Platform upgrades, new system software releases
the project commenced is 20. What is the enhance- D. None of the above71
ment project functional size:
A. 60 22. Which of the following is an EO:
B. 65 A. Confirmation messages displayed to the screen
C. 8067 B. Error messages printed as a report
D. None of the above C. A report containing derived data requested via
an on-line menu72
18. A data function stores customer information (cus- D. Both B and C
tomer name; account number; purchase order num-
23. Which of the following is not an EQ:
ber; billing street address, city, state, and Zip Code;
A. Application level help
shipping street address, city, state, and Zip Code;
B. A logon screen that does not reference a data
phone number; e-mail address; fax number). The bill-
function
ing address and shipping address are each treated as a
C. Navigation screen with no retrieved data
single unit. The customer information store is being
D. Both B and C73
updated by the application being measured. What
type of data function is this and how many DETs are 24. Functional user requirements may include which of
present: the following:
A. An EIF with 14 DETs A. Technical constraints
B. An EIF with 8 DETs B. Quality constraints
C. An ILF with 8 DETs68 C. Environmental constraints
D. An ILF with 14 DETs D. None of the above74

19. A transaction whose primary intent is maintaining an 25. Which of the following formulas is used to calculate an
ILF is being added to an application. This transaction adjusted development project functional size:
has 15 unique DETs, updates one ILF, and reads one A. DFP = ADD + CFP
EIF. What is the functional size of this transaction: B. EFP = ADD + CHGA + CFP + DEL
A. 469 C. aDFP = DFP × VAF75
B. 5 D. aDFP = DFP + ADD + CHGA + CFP + DEL
C. 6
D. 7 26. After an enhancement project, the application func-
tional size must be updated to reflect changed func-
20. When determining the Value Adjustment Factor for an tionality. This changed functionality may:
enhancement project: A. Increase the application functional size
A. Use the Value Adjustment Factor from the applica- B. Decrease the application functional size
tion functional size C. Be unable to be determined
B. Use the Value Adjustment Factor from the most D. Both A and B76
recent enhancement count
C. Use the constant 1.0 as your Value Adjustment 71 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Factor Release 4.3, Part 3, pages 4-20 to 4-22.
72 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
D. None of the above70
Release 4.3, Part 2, Chapter 7; Part 4, pages 2-114 to 2-116.
73 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
67 Refer to IFPUG, Function Point Counting Practices Manual (CPM), Release 4.3, Part 2, Chapter 7; Part 4, pages 2-129 to 2-130 and
Release 4.3, Part 1, page 21; Part 3, pages 4-14 to 4-17. 2-155 to 2-160.
68 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 74 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, pages 6-5 to 6-6. Release 4.3, Part 2, pages 1-3 to 1-4.
69 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 75 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, pages 7-13 to 7-20. Release 4.3, Part 5, page C-32.
70 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 76 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 5, pages C-37 to C-42. Release 4.3, Part 5, page C-44.
202    Certified Function Point Specialist Examination Guide

COLLEGE CREDITS REPORT


FILE EDIT VIEW REPORTS WINDOW HELP

COLLEGE CREDITS REPORT

Student Course Number Course Date Credits


nnnnnnn, nnnnn n. xxxxxxx xx/xx/xxxx xx
nnnnnnn, nnnnn n. xxxxxxx xx/xx/xxxx xx
nnnnnnn, nnnnn n. xxxxxxx xx/xx/xxxx xx
Total Students for Course Number xxxxx: 15

nnnnnnn, nnnnn n. xxxxxxx xx/xx/xxxx xx


nnnnnnn, nnnnn n. xxxxxxx xx/xx/xxxx xx
nnnnnnn, nnnnn n. xxxxxxx xx/xx/xxxx xx
Total Students for Course Number xxxxx: 15

STUDENT logical file is referenced

Figure A16.3  College credits report.

27. Application A maintains an ILF that is also read by C. 3


Application B. Application A should: D. 75
A. Get credit for an ILF and an EIF
31. The maximum Total Degree of Influence is:
B. Get credit for an ILF77
A. 35
C. Get credit for an EQ
B. 65
D. Both B and C
C. 7081
28. In the previous question, Application B should: D. 135
A. Get credit for an EIF and EI
32. How would you count the College Credits Report
B. Get credit for an EI
shown in Figure A16.3? No totals are stored in the
C. Get credit for an ILF
Student logical file.
D. Get credit for an EIF78
A. 1 low EQ
29. A transaction to add an employee has the ability to B. 1 average EQ
return ten unique error messages and two unique con- C. 1 low EO82
firmation messages. How many EQs are counted for D. 1 average EO
the error and confirmation messages:
33. An ILF has 50 DETs and 5 RETs. What is its func-
A. 12
tional size:
B. 2
A. 5
C. 1
B. 7
D. 079
C. 1083
30. An application has three menus to navigate through D. 15
the system. Each page of navigation contains 25 selec-
34. A user requires that an application print a monthly
tions. How many DETs should be counted:
report automatically every month. This report lists
A. 080
all employees by department and contains employee
B. 1
name and employee ID. This report is generated
automatically by the system, thus no DETs cross the
77 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, pages 3-7 and 3-8.
78 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 81 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 3, pages 3-7 and 3-8. Release 4.3, Part 5, page C-4.
79 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 82 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, pages 7-13 to 7-18. Release 4.3, Part 2, pages 7-13 to 7-19.
80 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 83 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 4, pages 2-129 to 2-130. Release 4.3, Part 2, pages 6-8 to 6-9.
Practice Exam 2 Answers    203

application boundary to cause the report to print. C. A high EQ89


This report is counted as an: D. An average EQ
A. EI
40. Examples of EIs include:
B. EQ84
A. Batch input from another application that adds
C. EO
data to an ILF90
D. It is not counted
B. Control information that initiates the generation
35. The functional complexity of EQs is determined by: of a report
A. The number of FTRs and RETs C. Data referenced by another application
B. The number of DETs and RETs D. Both A and B
C. The number of DETs and FTRs85
41. A development project has four average complexity EIs
D. None of the above
and one high complexity EI; two average complexity
36. A report is printed with retrieved fields from a single EOs; three average complexity EQs and two high com-
ILF and a single EIF. A different ILF is updated with plexity EQs; three low complexity ILFs and one high
the time and date when the report was printed. What complexity ILF; two low complexity EIFs; and four
is counted: average complexity conversion EIs. What is the appli-
A. 2 EQs and 1 EI cation functional size after the development project is
B. 1 EI and 1 EO installed:
C. 1 EQ A. 86
D. 1 EO86 B. 90
C. 10291
37. A user-defined customer file is maintained in three
D. 118
database tables. These three tables are customer,
address, and a hash table used to accelerate the search 42. For the above question, what is the development proj-
for a customer’s data. How many ILFs are counted ect functional size:
within this single application: A. 90
A. 0 B. 102
B. 187 C. 11892
C. 2 D. None of the above
D. 3
43. A screen containing a drop-down list with items
38. When counting DETs in an ILF, count: retrieved from an ILF is displayed to the user. This
A. All DETs in the file drop-down list should be counted as:
B. Only those DETs maintained A. An EO only
C. Only those DETs referenced B. A DET on the count of the screen
D. Only those DETs maintained and/or referenced88 C. A EQ and a DET on the screen being counted
D. An EQ only93
39. An Accounts Payable application allows the user to
extract information from an ILF and an EIF. The 44. An enhancement project adds six high complexity EIs and
users enters an ID number and presses the submit key. two average complexity EQs, deletes one high complex-
A screen display provides a response screen with 19 ity EQ, changes three EOs from low to high complexity,
retrieved data elements and no derived or calculated and adds two high complexity EIs for conversion. If the
fields. What is counted: application functional size is 1000 before the enhance-
A. A low EI and an average EQ ment, what is the value of the conversion functionality:
B. A low EI and a high EQ A. 1059

84 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 89 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 4, pages 2-149 to 2-150. Release 4.3, Part 2, pages 7-3 to 7-19.
85 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 90 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, pages 7-17 to 7-19. Release 4.3, Part 2, pages 7-3 to 7-18.
86 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 91 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, Chapter 7; Part 4, pages 2-120 to 2-121. Release 4.3, Part 1, pages 19, 20, and 23.
87 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 92 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, Chapter 6; Part 3, pages 2-8 to 2-10. Release 4.3, Part 1, pages 19, 20, and 23.
88 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 93 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 2, pages 6-5 to 6-6; Part 3, pages 2-24 to 2-25. Release 4.3, Part 4, pages 2-136 to 2-138.
204    Certified Function Point Specialist Examination Guide

the functional size of the application after the enhance-


Application A Application B
ment project is delivered:
Z A. 97
Copy of B. 10098
File X
File X C. 115
D. 124
49. The user has requested that an ILF (or part of an ILF)
Figure A16.4  Shared data example. be populated from an ILF in another application.
Validation is required against yet another ILF from a
B. 1047 third application. This is specified as a one-time pro-
C. 71 cess, and the data reference in the third application will
D. 1294 not be utilized in the future. What is counted for the
conversion functionality:
45. The top right-hand corner of every application con- A. An EIF and an EI with two FTRs99
tains an “About” link that displays information about B. An ILF and an EI with one FTR
the application, including version number, product C. An ILF and an EI with three FTRs
ID, and copyright information. This information is D. An ILF, an EQ and an EI with one FTR
maintained in an application outside the boundary by
a developer tool called Robot_Help. What should be 50. To avoid the overhead of Application C having to
counted for the “About” link: dynamically search the data from both Application
A. An EIF and an EQ A and Application B, the data is being copied from
B. Only an EQ Application A and Application B and merged into a
C. An EI and an EQ new data store in Application C. The user requires that
D. Nothing is counted95 the information from Applications A and B be refreshed
daily for validation or reference purposes only. Unload,
46. Figure A16.4, from the IFPUG Counting Practices Merge, and Load utilities are used. There is no business
Manual, Release 4.3, illustrates what process: processing logic involved. What is counted:
A. Screen scraping A. An ILF for Application A, an ILF for Application
B. Image copy/load96 B, and an EI for Application C
C. Static image copy B. An ILF and EQ for Application A, an ILF and EQ
D. Copy merge “refresh” for Application B, and an EI for Application C
47. A development project has three low complexity EIs C. An ILF for Application A, an ILF for Application
and four average complexity EIs, three average com- B, and an EIF for Application C100
plexity EOs, four high complexity EQs, one low com- D. An ILF for Application A, an ILF for Application
plexity ILF, and five low complexity conversion EIs. B, and an EI and EIF for Application C
What is the development functional size:
A. 16
B. 71 Part 3. Case Studies
C. 8697
D. 89 Case Study 1
48. An application’s functional size before an enhancement SME is implementing a Customer Relations Management
is 100. The enhancement added four low complexity (CRM) application. The Web Info (WI) application, an
EIs, changed three EQs from low to average complex- existing application, will be required to send information
ity, and deleted three average complexity EOs. What is to the CRM each evening by retrieving all Requests for
Information (RFI) submitted that day and currently main-
tained in the RFI logical file within the WI application. The
94 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 1, pages 19, 20, and 23; Part 3, page 4-17.
95 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 98 Refer to IFPUG, Function Point Counting Practices Manual (CPM),
Release 4.3, Part 4, pages 2-155 to 2-156. Release 4.3, Part 1, pages 19, 21, and 23; Part 3, pages 4-14 to 4-19.
96 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 99 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 3, page 3-11 to 3-14. Release 4.3, Part 3, page 5-3.
97 Refer to IFPUG, Function Point Counting Practices Manual (CPM), 100 Refer to IFPUG, Function Point Counting Practices Manual (CPM),

Release 4.3, Part 1, pages 19, 20, and 23. Release 4.3, Part 3, pages 3-15 to 3-16.
Practice Exam 2 Answers    205

following information is sent on this daily feed: requestor Table A16.1


ID; requestor’s first, middle, and last name; requestor’s
Identify the
organization; requestor’s address: street address, city, state, Function Used
and Zip Code; date of request; requested items; and quanti- Names of Possible
ties for requested items. The CRM application will validate Function Types ILF EIF N/A
and process the daily feed into a new Potential Customer Potential Customer logical file   
logical file.
Separate reports by state will be generated each morning RFI   
by the CRM application and delivered to state sales coordina- Inventory logical file   
tors. The printout will contain all of the information on the
Potential Customer logical file as well as a Total Number of Error Messages Table   
Requests for Information, which is calculated at the time the State Code Table   
report is produced. The state code and state name, retrieved
from a code table, will also be printed on each report. Each
state sales coordinator will have the ability to retrieve via Table A16.2
screen all information maintained in the Potential Customer Enter Complexity
logical file by entering the requestor ID and action key; hard- Names of Possible
coded error messages will be returned if the requestor ID is Function Types Low Average High N/A
not found. List Courses    
Using that screen, the state coordinator can revise the
requested items and/or quantities using the requestor ID View Course Details    
and a preassigned function key; hard-coded error messages Student logical file    
may be returned if the newly assigned requested item is not
contained in the Inventory logical file maintained by the Course Registration File    
Inventory application or a hard-coded confirmation message Error File    
will occur.
Identify the data functions for the CRM application by
choosing the correct radio buttons in Table A16.1. to Course Registration logical file, and no new attributes
were retrieved from the Student logical file as a result of this
enhancement.
Case Study 2 Identify the complexity of the enhancement functions
A university’s Course Registration application is being enhanced by choosing the correct radio buttons in Table A16.2.
so students can view a list of all of the courses for which they
have registered in the past. The requirements are: Case Study 3
1. Upon entering the student ID, a list of courses for Use the data flow diagram in Figure A16.5 to determine the
which that student has registered at any time at that complexity for the functions in the Human Resources appli-
university is retrieved from the Student logical file. A cation and Mail Distribution application.
list of course numbers and the corresponding course Indicate the complexity of the function types by selecting
date is displayed if any records are found; otherwise, a the correct radio buttons in Table A16.3.
static error message is returned.
2. If a list of courses is returned, the student may view
details of the course registration by selecting the course Case Study 4
number and course date from the list and clicking the The user requires the Human Resources application to pro-
Enter button. The details displayed will be the student’s vide the following capabilities:
name, student’s ID, course number, course name,
course date, and course location. 1. All hourly employees must be paid in U.S. dollars.
2. When the user adds or changes employee informa-
All information is retrieved from the Course Registration tion, the Human Resources application must access the
logical file (which is maintained in the Course Registration Currency application to retrieve a conversion rate. After
application) and the Student logical file (which is not main- retrieving the conversion rate, the HR application con-
tained by the Course Registration application but is main- verts the employee’s local standard hourly rate to a U.S.
tained in another application). No new attributes were added
206    Certified Function Point Specialist Examination Guide

User User

Emp_Id Mail Distribution


Emp_Name Emp_Id HR Application Emp_Id
Mailing_Address Emp_Name Application Floor
Pay_Grade Building_Code
Mailing_Address
Job_Title Pay_Grade Emp_Id
Job_Title Floor
Pension_Elig_Date Building_Code
Create Employee Employee Maintain
Employee Building Codes

Emp_Id Emp_Id
Emp_Name Floor
Mailing_Address Building_Code
Print Mailing Pay_Grade
Labels Job_Title
Pension_Elig_Date Print
Emp_Name Population
Mailing_Address Report
Street
City
Number_of_Employees
State
Floor
Zip_Code
Building_Code
Floor
Building_Code

Legend:

User or Application Process Document

Data Stored Flow of Data

Figure A16.5  Human Resources and Mail Distribution applications.

hourly rate using the following calculation: standard Identify the data functions for the Human Resources appli-
hourly rate ÷ conversion rate = U.S. dollar hourly rate. cation by choosing the correct radio buttons in Table A16.4.

Figure A16.6 shows the relationships for this example. The


currency conversion rate information includes:
Case Study 5
The business users have requested a new Payroll Department
CURRENCY application to track details of subcontractors’ employment.
Conversion_Rate_To_Base_Currency These attributes will be maintained in a logical file called
Currency
Table A16.4
Table A16.3
Identify the
Enter Complexity Function Used
Names of Possible Names of Possible
Function Types Low Average High N/A Function Types ILF EIF N/A

Create Employee     Currency Conversion Rate   

Maintain Building Codes     Employee   

Employee ILF     Dependent   

Print Mailing Labels     Hourly_Employee   

Print Population Report     Conversion Rate   


Practice Exam 2 Answers    207

Currency Application HR Application

EMPLOYEE
CONVERSION SALARIED_EMPL
RATE
HOURLY_EMPL

DEPENDENT

Legend:

Entity Type

Attributive Entity Type

Entity Subtype
Mandatory One-to-Many Relationship
Optional One-to-Many Relationship

Figure A16.6  Human Resources and Currency applications.

Contractor_Data that will be maintained inside the appli- Table A16.5


cation boundary. Contractor_Data will include the contrac-
Enter Complexity
tor’s first name, last name, home address, Social Security Names of Possible
Number, contract number, and ten additional user-speci- Function Types Low Average High N/A
fied attributes (not indicated here). An audit requirement
Contractor_Data    
has been imposed that requires that the application main-
tain audit data any time a change will be made to any of Audit_Data    
these attributes. The date of change, time of change, and
Audit Report    
User_ID of the user responsible for the change must be
recorded together with “before” and “after” copies of the First Conversion    
changed attributes. This data will be held in a file inside
Second Conversion    
the application boundary in a table named Audit_Data. An
audit report can be generated that will include the date of
change, time of change, and User_ID of all changes in the
Case Study 6
last 30 days.
To place this new application into service, two single- Application A retrieves a transaction file of changes named
use conversion processes will be run. The first conver- “Transaction Data” from an Internal Logical File named
sion process will load a static attribute of “C” (indicating “Locations”; calculations are performed during the creation
“Contractor”) into one of the ten additional user-specified of this file. The transaction file contains three transaction
attributes specified earlier in the application’s Contractor types: Add, Change, and Delete; Application B processes
Data file. The second conversion process will use the Social the Transaction Data file based on the transaction type in
Security Number as a primary key to lookup data in a file updating its Internal Logical File, also named “Locations.”
named Sub_Contractors_Agreements maintained outside Although they share the same physical name (Locations),
of the application boundary and load the returned the the attributes maintained in Application A’s Locations and
Contractor’s First_Name, Last_Name, Home Address, and those maintained Application B’s Locations are different.
Social Security Number in the application’s Contractor Figure A16.7 shows this transfer.
Data file. Count the first two questions from Applications A’s per-
Select the correct radio buttons in Table A16.5 to indi- spective (Table A16.6). Count the next three questions form
cate the complexity of the function types listed. Application B’s perspective (Table A16.7).
208    Certified Function Point Specialist Examination Guide

Table A16.6
Application A Application B
Identify the Function Used
Z Names of Possible
Function Types ILF EIF EI EO EQ N/A
Locations Locations
Transaction Data
Locations      

Transaction Data      

Figure A16.7  Data transfer. Table A16.7

Case Study 7 Identify the Function Used


Names of Possible
A data function (Main_Data) is maintained within the Function Types ILF EIF EI EO EQ N/A
application boundary of a Patient Maintenance application. Locations      
This table has 200 columns of data that store the functional
and nonfunctional data used by the application. The Patient Transaction Data      
Maintenance screen allows the user to add, change, or delete (Adds and Changes)
the following attributes of Main_Data: Transaction Data      
(Deletes)
a. Patient first name
b. Patient middle initial (optional)
c. Patient last name Table A16.8
d. Patient title (optional) Enter Complexity
e. Patient ID number Names of Possible
f. Patient street address Function Types Low Average High N/A
g. Patient city Patient Maintenance    
h. Patient state Screen (Add)
i. Patient Zip Code
Patient Maintenance    
j. Patient home phone
Screen (Delete)
k. Patient work phone
l. Patient blood type Main_Data    
m. Patient is organ donor (1 is stored for yes, 0 is stored for
Initialize Reminders    
no)
n. Date of last patient checkup (stored as an integer start- Check-Up List    
ing from January 1, 1900)
o. Patient date of birth (stored as an integer starting from
January 1, 1900) The system clock kicks off an Initialize Reminders process
p. Patient HIV status (1 is stored for positive, 0 is stored at midnight every day that compares the Date of Last Patient
for negative) Checkup to the current date and places a one-bit attribute in
q. Patient HIPPA consent (1, consent on file; 0 otherwise) the DET Send Reminder Card in Main_Data if over one cal-
endar year has passed. The user can generate a report by press-
An optional subgroup of information is maintained that ing the “Who Is Due for a Check-Up” button. The report
contains: extracts attributes a through i and n from the Main_Data and
r. Patient advocate name prints them with a heading and system-generated date and
s. Patient advocate address (as one block of data) page numbers. The report name is “Check-Up List.”
t. Patient advocate phone Identify the complexity of the functions by choosing the
correct radio buttons in Table A16.8. Assume that there are
Other columns have been set aside for potential future use. no additional data functions or data elements used by the
For an Add transaction, all of the attributes supplied by Patient Maintenance application for the above functions.
the user are saved in Main_Data; the next available patient
ID is calculated at the time of the Add transaction and saved
to Main_Data. For a Change transaction, the patient ID
Case Study 8
and any changed attributes will cross the application bound- (Refer to Figures A16.8 through A16.10.) Old Country Bank
ary. For a Delete transaction, only the patient ID crosses the plans to enhance its on-line banking application. The cur-
application boundary. rent application interface allows customers to check balances,
Practice Exam 2 Answers    209

Old Country Banking

Back Address http:// Go

Welcome to Old County Banking

What do you want to do today?

Check Balances

Transfer Funds

Apply for a Debit Card

Figure A16.8  Main screen before enhancement.

Old Country Banking

Back Address http:// Go

Welcome to Old County Banking

What do you want to do today?

Check Balances

Transfer Funds

Apply for a Debit Card

Pay a Bill

Figure A16.9  Main screen after enhancement.

Old Country Banking - Bill Payment

Back Address http:// Go

Old County Banking - Bill Payment

What do you want to do today?

Add a Payee

Display an Existing Payee

Make Changes to a Payee

Make a Payment

Figure A16.10  Screen added during enhancement.


210    Certified Function Point Specialist Examination Guide

transfer funds, and apply for a bank debit card. To enter the Table A16.9
on-line banking application, the user enters a preassigned user
Identify the Function Used
name and password. Once validated, the user gains access to Names of Possible
a main menu, which is displayed in Figure A16.8. The bank Function Types ILF EIF EI EO EQ N/A
plans to add a bill-payment option to its available services.
Add Payee      
After the enhancement, the menu screen will include the
option for maintaining payee information and making pay- Change Payee      
ments, as displayed in Figure A16.9.
Make Payment      
Payee data will be maintained by the on-line banking
application in a Payee logical file through Add and Change Display Payee      
transactions. Display Payee will retrieve data from the Payee Information
logical file and will not include any calculations. Payment by Payee logical file      
an Old Country Bank check will be mailed to a designated
payee when Make Payment has been selected and submitted;
the payment date will be entered into the Payee logical file
when the check is created. The functionality shown in Figure clerk from New Age sets up a member’s profile. The clerk
A16.10 is being added via the Bill Payment screen. can also list members with their profiles and change a mem-
Identify the new functions of the application by choosing ber’s information. A monthly customer report is produced
the correct radio buttons in Table A16.9. that lists all members and calculates their year-to-date sales.
Members who exceed total year-to-date sales of $5000 are
Case Study 9 indicated on the report as Diamond Club members. A copy
An on-line multilevel marketing company named New of the monthly report appears in Figure A16.11.
Age Distributors has developed an application to maintain Identify the functions of the FBP application by choos-
profiles of members and record individual member sales. A ing the correct radio buttons in Table A16.10.

New Age Distributors Customer Report

September 2010

Customer ID Customer Name Sales Amount Made Diamond Club

34727 Larkin, Fred $5,294.00 Yes

28745 Adelman, Marcus $4,293.00 No

64829 Satcher, Luke $7,842.00 Yes

Figure A16.11  New Age Distributors customer report.


Practice Exam 2 Answers    211

Table A16.10 Table A16.11


Identify the Function Used Enter Complexity
Names of Possible Names of Possible
Function Types ILF EIF EI EO EQ N/A Function Types Low Average High N/A

Set Up Member’s       Batch Update    


Profile
Confirmation Message    
Change Member’s      
Information Error Listing    

List Members       Employee Hours ILF    

Membership       Active Employees EIF    


logical file

Customer Report      
ID attribute on the input record is validated against an Active
Employees logical file maintained in the company’s Employee
Payroll application. If the validation passes, the Employee
Case Study 10 Hours logical file is updated in the Time Management appli-
A building access system sends a batch update with time- cation, and a confirmation message is printed. If the valida-
card data indicating when employees swipe their ID cards to tion fails, no update is made, and an error listing is printed.
enter and leave the building. This data enters the company’s Identify the functional complexity of the functions in the
Time Management application and includes three attributes Time Management application by choosing the correct radio
(employee ID, time of day, and in/out indicator). The employee buttons in Table A16.11.
Glossary

Adaptive maintenance: The modification of a software Attribute key: Provides the relationship between one entity
product, performed after delivery, to keep a software and another.
product usable in a changed or changing environ- Attributive entity type: An entity type that further describes
ment. Adaptive maintenance provides enhance- one or more characteristics of another entity type.
ments necessary to accommodate changes in the Base functional component (BFC): Elementary unit of
environment in which a software product must Functional User Requirements defined by and used
operate. These changes are those that must be made by the FSM Method for measurement purposes
to keep pace with the changing environment. For (ISO/IEC 14143-1:2007); ILFs, EIFs, EIs, EOs,
example, the operating system might be upgraded and EQs are types of BFCs.
and some changes may be made to accommodate Baseline function point count: See Application function
the new operating system (ISO/IEC 14764:2006). point count.
Adjusted functional size: The adjusted functional size is Boundary: The boundary is a conceptual interface between
the result of the unadjusted functional size multi- the software under study and its users.
plied by the Value Adjustment Factor. The adjusted Boundary of application: See Boundary.
functional size is calculated using a specific formula Business Data: May also be referred to as Core User Data
for development project, enhancement project, and or Business Objects. This type of data reflects the
application. information needed to be stored and retrieved by
Application: An application is a cohesive collection of auto- the functional area addressed by the application.
mated procedures and data supporting a business Business Data usually represents a significant per-
objective; it consists of one or more components, centage of the entities identified.
modules, or subsystems. Code Data: The user does not always directly specify
Application boundary: See Boundary. Code Data, sometimes referred to as List Data or
Application function point count: The activity of apply- Translation Data; in other cases, it is is identified
ing the IFPUG Functional Size Measurement by the developer in response to one or more techni-
(FSM) Method to measure the functional size of an cal requirements of the user. Code Data provides a
application. list of valid values that a descriptive attribute may
Application functional size: An application’s functional size have. Typically the attributes of the Code Data are
is a measure of the functionality that an application code, description, and/or other standard attributes
provides to the user, determined by the application describing the code (standard abbreviation, effective
function point count by the activity of applying date, termination date, audit trail data, etc.).
the IFPUG Functional Size Measurement (FSM) Complex Processing GSC: One of the 14 General System
Method. Characteristics describing the degree to which
Arranging: The activity of sequencing attributes in a trans- processing logic influences the development of the
actional function. application.
Associative entity type: An entity type that contains attri- Consistent state: The point at which processing has been
butes which further describe a many-to-many rela- fully executed; the functional user requirement
tionship between two other entity types. has been satisfied and there is nothing more to be
Attribute: See Data attribute. done.

213
214    Certified Function Point Specialist Examination Guide

Constant Data: Data that rarely changes. Development project functional size: The development
Contribution: The function type’s (ILF, EIF, EI, EO, EQ) project functional size is a measure of the function-
contribution to the functional size. ality provided to users with the first release of the
Control information: Control information is data that software, as measured by the development project
influences an elementary process by specifying function point count by the activity of applying
what, when or how data is to be processed. the IFPUG Functional Size Measurement (FSM)
Conversion functionality: Transactional or data functions Method.
provided to convert data and/or provide other user- Distributed Data Processing GSC: One of the 14 General
specified conversion requirements. System Characteristics describing the degree to
Copy: (1) To read data from a source, leaving the source data which the application transfers data among physical
unchanged, and to write the same data elsewhere in a components of the application.
physical form that may differ from that of the source; Elementary process (EP): An elementary process is the small-
for example, to copy data from a magnetic disk onto est unit of activity that is meaningful to the user.
a magnetic tape. (2) The result of a copy process as in End-User Efficiency GSC: One of the 14 General System
above; for example, a copy of a data file (IEEE). Characteristics describing the degree of consider-
Corrective maintenance: The reactive modification of a ation for human factors and ease of use for the user
software product performed after delivery to correct of the application measured.
discovered problems. The modification repairs the Enhancement project: An enhancement project is a project
software product to satisfy requirements (ISO/IEC to develop and deliver adaptive maintenance.
14764:2006). Enhancement project function point count: The activity of
Counting scope: The counting scope defines the set of applying the IFPUG Functional Size Measurement
Functional User Requirements to be included in the (FSM) Method to measure of the functional size of
function point count. an enhancement project.
Data attribute: A characteristic of an entity; data attributes Enhancement project functional size: The enhancement
are generally analogous to Data Element Types project functional size is a measure of the function-
(DETs). Also known as field. ality added, changed, or deleted at the completion
Data Communications GSC: One of the 14 General System of an enhancement project, as measured by the
Characteristics describing the degree to which enhancement project function point count by the
the application communicates directly with the activity of applying the IFPUG Functional Size
processor. Measurement (FSM) Method.
Data Element Type (DET): A Data Element Type is a Entity (or entity type): A fundamental thing of relevance
unique, user-recognizable, nonrepeated attribute. to the user, about which a collection of facts is kept.
Data entity: See Entity. An association between entities that contains attri-
Data function: A data function represents functionality pro- butes is itself an entity.
vided to the user to meet internal and external data Entity-dependent: An entity that is not meaningful or is not
storage requirements. A data function is either an significant to the business, in and of itself, without
Internal Logical File or an External Interface File. the presence of other entities such that (1) an occur-
Degree of Influence (DI): A numerical indicator of the rence of entity X must be linked to an occurrence
amount of impact of each of the 14 General System of entity Y, and (2) the deletion of an occurrence of
Characteristics, ranging from zero to five. These entity Y results in the deletion of all related occur-
indicators are used to compute the Value Adjustment rences of entity X.
Factor. Entity-independent: An entity that is meaningful or sig-
Derived data: Data created as a result of processing that nificant to the business, in and of itself, without the
involves steps other than. or in addition to, direct presence of other entities.
retrieval and validation of information from data Entity subtype: A subdivision of entity type. A subtype
functions. inherits all the attributes and relationships of its
Development project: A development project is a project parent entity type and may have additional, unique
to develop and deliver the first release of a software attributes and relationships.
application. External input (EI): An external input is an elementary pro-
Development project function point count: The activity of cess that processes data or control information sent
applying the IFPUG Functional Size Measurement from outside the boundary. The primary intent of
(FSM) Method to measure the functional size of a an EI is to maintain one or more ILFs and/or to
development project. alter the behavior of the system.
Glossary    215

External inquiry (EQ): An external inquiry is an elemen- Function point count: The activity of applying the rules
tary process that sends data or control information within the IFPUG Functional Size Measurement
outside the boundary. The primary intent of an (FSM) Method to measure the functional size of an
external inquiry is to present information to a user application or project. There are three types of func-
through the retrieval of data or control information. tion point counts: application, development project,
The processing logic contains no mathematical for- and enhancement project.
mula or calculation and creates no derived data. No Function type: The five base functional components iden-
ILF is maintained during the processing nor is the tified in the IFPUG Functional Size Measurement
behavior of the system altered. (FSM) Method; also known as base functional com-
External Interface File (EIF): An External Interface File is ponent. The five function types are external input,
a user-recognizable group of logically related data external output, external inquiry, Internal Logical
or control information which is referenced by the File, and External Interface File.
application being measured but which is main- Functional complexity: The specific complexity rating
tained within the boundary of another application. assigned to a function using the rules as defined
The primary intent of an EIF is to hold data ref- within the International Standard.
erenced through one or more elementary processes Functional size: Size of the software derived by quantifying the
within the boundary of the application measured. Functional User Requirements (ISO 14143-1:2007).
This means an EIF counted for an application must Functional User Requirements (FURs): A subset of the user
be in an ILF in another application. requirements specifying what the software shall do
External output (EO): An external output is an elemen- in terms of tasks and services (ISO 14143-1:2007).
tary process that sends data or control information Functionality: See Function.
outside the application’s boundary and includes General System Characteristics (GSCs): The General
additional processing beyond that of an external System Characteristics are a set of 14 questions that
inquiry. The primary intent of an external output evaluate the overall complexity of the application.
is to present information to a user through process- Heavily Used Configuration GSC: One of the 14 General
ing logic other than or in addition to the retrieval System Characteristics describing the degree to
of data or control information. The processing logic which computer resource restrictions influenced the
must contain at least one mathematical formula or development of the application.
calculation, create derived data, maintain one or IFPUG: The International Function Point Users Group is
more ILFs, and/or alter the behavior of the system. a membership governed, nonprofit organization
Facilitate Change GSC: One of the 14 General System committed to promoting and supporting function
Characteristics describing the degree to which the point analysis and other software measurement
application has been developed for easy modifica- techniques.
tion of processing logic or data structure. Image: An exact replication of another object, file, or table
Field: See Data attribute. that is usually created through a utility.
File: For data functions, a logically related group of data, not Installation Ease GSC: One of the 14 General System
the physical implementation of those groups of data. Characteristics describing the degree to which con-
File system: Is composed of records and data attributes. version from previous environments influenced the
File Type Referenced (FTR): A data function read and/or development of the application.
maintained by a transactional function. Installed function point count: See Application function
First normal form: Result of a normalization process that trans- point count.
forms groups of data so they have a unique identifier, Internal Logical File (ILF): An Internal Logical File is a
one or more attributes, and no repeating attributes. user-recognizable group of logically related data or
Foreign key: Data in an ILF or EIF that exists because the control information maintained within the bound-
user requires a relationship with another ILF or EIF. ary of the application being measured. The primary
Function: The features or capabilities of an application as intent of an ILF is to hold data maintained through
seen by the user. one or more elementary processes of the application
Function point (FP): The unit of measure for functional being measured.
size as defined within the IFPUG Functional Size Load: To copy computer instructions or data from external
Measurement (FSM) Method. storage to internal storage (IEEE).
Function point analysis: The method for measuring func- Logical file: See Data function.
tional size as defined within the IFPUG Functional Maintain: The term maintain refers to the ability to add, change,
Size Measurement (FSM) Method. or delete data through an elementary process.
216    Certified Function Point Specialist Examination Guide

Maintenance: The effort to keep an application perform- Performance GSC: One of the 14 General System
ing according to its specifications, generally with- Characteristics describing the degree to which
out changing its functionality (or functional size). response time and throughput performance consid-
Maintenance includes repair, minor enhancement, erations influenced the application development.
conversion, user support, and preventive mainte- Preventive maintenance: Changes to hardware or software
nance activities. Activities include defect removal performed to prevent future defects or failures; for
(see Repair), hardware or software upgrades (see example, restructuring programs or data to improve
Conversion), optimization or quality improvement maintainability or to prevent defects.
(see Preventive maintenance), and user support. Primary intent: Intent that is first in importance.
Mandatory subgroup: One of the two types of subgroups Primary key (PK): The unique ID of an entity.
for Record Element Types (RETs). Mandatory Processing logic: Any of the requirements specifically
subgroups mean the user must use one of the sub- requested by the user to complete an elementary
groups during an elementary process that creates an process, such as validations, algorithms, or calcula-
instance of the data. tions, and reading or maintaining a data function.
Meaningful: Is user-recognizable and satisfies a functional Project: A collection of work tasks with a time frame and a
user requirement. work product to be delivered.
Measure: As a noun, a number that assigns relative value; Purpose of the count: The reason for performing the func-
some examples may include volume, height, func- tion point count.
tion points, or work effort. As a verb, to ascertain or Quality: Quality includes conformity to user expectations,
appraise by comparing to a standard. conformity to user requirements, customer satisfac-
Merge: Multiple files with the same data elements consoli- tion, reliability, level of defects present. Context
dated into a single file (IEEE). and policy will decide the best definition for a given
Multiple Sites GSC: One of the 14 General System situation.
Characteristics describing the degree to which the Record: A group of related items that is treated as a unit.
application has been developed for different hard- Record Element Type (RET): A Record Element Type is a
ware and software environments. user-recognizable subgroup of Data Element Types
Normalization: The process by which any data structure can within a data function.
be transformed by a database designer into a set of Reference Data: This type of data is stored to support the
normalized relations that have no repeating groups. business rules for the maintenance of the Business
On-Line Data Entry GSC: One of the 14 General System Data; for example, in a payroll application it would
Characteristics describing the degree to which be the data stored on the government tax rates for
data is entered or retrieved through interactive each wage scale and the date the tax rate became
transactions. effective. Reference Data usually represents a small
On-Line Update GSC: One of the 14 General System percentage of entities identified.
Characteristics describing the degree to which Refresh: The process of recreating a set of data to make it
Internal Logical Files are updated online. current with its source.
Operational Ease GSC: One of the 14 General System Relationship: An association of interest between two entities.
Characteristics describing the degree to which the A relationship does not have attributes and does not
application attends to operational aspects, such as count as a RET when counting function points.
start-up, back-up, and recovery processes. Reusability GSC: One of the 14 General System
Optional subgroup: Optional subgroups are those that the Characteristics describing the degree to which the
user has the option of using one or none of the sub- application and the code in the application have
groups during an elementary process that adds or been specifically designed, developed, and sup-
creates an instance or the data. ported to be usable in other applications.
Perfective maintenance: Modification of a software prod- Second normal form: Result of a normalization process that
uct after delivery to detect and correct latent faults transforms groups of data so each non-key attribute
in the software product before they are mani- depends on the key attribute(s) of the group of data
fested as failures. Perfective maintenance provides and all parts of the key attribute(s).
enhancements for users, improvement of program Secondary key (SK): Attributes used primarily as an aid to
documentation, and recoding to improve software access.
performance, maintainability, or other software Self-contained: No prior or subsequent processing steps
attributes. Contrast with adaptive maintenance; are needed to initiate or complete the functional
corrective maintenance (ISO/IEC 14764:2006). requirement(s).
Glossary    217

Sorting: The activity of sequencing of rows or records in a Transactional function: A transactional function is an ele-
transactional function. mentary process that provides functionality to the
Static data: See Constant data. user to process data. A transactional function is an
Substitution data: Provides a code and an explanatory name external input, external output, or external inquiry.
or description for an attribute of a business object. Unadjusted function point count (UFP): See Function
Subtypes: See Entity subtype. point count.
Support: See Maintenance. Unadjusted functional size: See Functional size.
System: See Application. User: A user is any person or thing that communicates or
Technical attribute:  Nonfunctional attribute that is a result interacts with the software at any time.
of a design or implementation consideration. User-recognizable: The term user-recognizable refers to
Technical requirements:  Requirements that are related to requirements for processes and/or data that are
the technology and environment, for the develop- agreed upon and understood by both the user(s) and
ment, maintenance, support, and execution of the software developer(s).
software. User view: A user view is the Functional User Requirements
Third normal form: Result of a normalization process that as perceived by the user.
transforms groups of data so each non-key attribute Valid Values Data: Provides a list of available values for an
does not depend on any other non-key attribute. attribute of one or more business object types.
Total Degree of Influence (TDI): The sum of the degrees of Value Adjustment Factor (VAF): The factor that indicates
influence for the 14 GSCs. the general functionality provided to the user of
Transaction: See Transactional function. the application. The VAF is calculated based on an
Transaction Rate GSC: One of the 14 General System assessment of the 14 General System Characteristics
Characteristics describing the degree to which the (GSCs) for an application.
rate of business transactions influenced the develop-
ment of the application.

You might also like