You are on page 1of 14

Function Points & Counting GUI

Application Features
Release 1.0

Note: The NEC has established these White Papers in an effort to distribute
hints about a subject domain quickly to the counting community.
This document is based on the function point counting practices as described in the
current 4.2 series of the IFPUG Counting Practices Manual (CPM) and demonstrates the
applicability of IFPUG Function Points in the subject domain.
The contents of this paper are to be used exclusively as hints in the application of function
point counting in the domain described.
These hints do not constitute rule changes and should not be used as rules. While this
document has been reviewed and approved by the CPC, it does not constitute IFPUG
counting practice standards as contained in the CPM.

New Environments Committee


NEC White Paper

Copyright IFPUG 2008

NEC White Paper


New Environments Committee

Page 2

New Environments Committee


NEC White Paper

Function Points & Counting GUI Application Features


Release 1.0
White Paper Contributors
Authors
Tammy Preuss AT&T
Deb Maschino EDS (White Paper Team Lead)
Reviewers
Daniel French - GEICO
Dawn Coley EDS
Roger Heller Q/P Management Group, Inc. NEC Chairperson
Steve Woodward Q/P Management Group, Inc.
IFPUG Counting Practices Committee - CPC

Additional Contributors

Copyright IFPUG 2008

NEC White Paper


New Environments Committee

Page 3

New Environments Committee


NEC White Paper

Introduction
A Graphical User Interface (GUI) is the visual front-end of a program or the part used to
communicate (input and output) with the user. Some examples of GUI interface features
are menus, buttons, tabbed screens, searches, pick lists, drill-downs and pull-down
menus. The purpose of this document is to demonstrate how IFPUG function point
analysis can be applied to count GUI features utilized within many of todays web, PCbased and mainframe applications.
This paper will not document the actual function point count details such as documenting
the total number of record element types (RETs), data element types (DETs), and file
types referenced (FTRs) for identified transactions. The assumption is that identifying
the functional complexity for the identified transactions is described in the IFPUG
Function Point Counting Practices Manual (CPM).

Audience
The intended audience for this paper is those function point counting professionals who
have an intermediate to advanced understanding of the IFPUG CPM rules and need to
apply them while counting an application containing GUI features. This information may
also be beneficial to members of the Information Technology community at large who
need to gain an understanding of how a GUI interface looks from the user perspective
when the IFPUG counting rules are applied.

Environment
Care should be taken to distinguish when navigating to a function in another application.
This is not always clear during the function point analysis since there may be links, drilldowns and additional information displayed from another application which is outside the
boundary of that which is being counted.

Copyright IFPUG 2008

NEC White Paper


New Environments Committee

Page 4

New Environments Committee


NEC White Paper

Approach
Several GUI examples are presented in this paper with explanations for applying function
point rules to count the functionality presented. This paper assumes that the GUI features
described within this paper are part of several existing, self-contained applications. The
examples are from a Human Resource application with references to transactions and
files associated within the Equipment application.
Care should be taken to investigate and accurately identify the elementary processes
involved in the application and the users view of what constitutes a process which meets
the following definition of an elementary process:

The process is the smallest unit of activity that is meaningful to the user.
The process is self-contained and leaves the business of the application in a
consistent state.1

IFPUG Function Point Counting Practices Manual, Release 4.2.1; Part 1 Process and Rules; Chapter 7 Count Transactional Functions; Page 7-10

Copyright IFPUG 2008

NEC White Paper


New Environments Committee

Page 5

New Environments Committee


NEC White Paper

Scenarios
Example 1 Multiple tabs
The following screen displays several GUI features. These features will be described in
the following pages with an explanation of how to count them using function points and
in which situations they may or may not be counted as transactional functions. Tab
functionality should be carefully analyzed to determine whether all tabs are contained in
one elementary process or whether some tabs represent a separate elementary process.
Figure 1 Multiple Tabs

Based on conversations with the user, the Function Point Analyst has learned the
following information. The Edit Person screen allows for the modification of a Person
record maintained in the Human Resources application. Other transactions, not included
within this paper, are available to the user to add and delete Person information.
The Edit Person function performs maintenance to the Person ILF which includes the
General and Address sections displayed in Figure 1. Updating the information contained
in both sections is considered to be a single elementary process and is counted as one EI
transaction. An EQ is also counted for the initial display of the Person data prior to
modification.
Copyright IFPUG 2008

NEC White Paper


New Environments Committee

Page 6

New Environments Committee


NEC White Paper

The Components tab becomes active after a Person Record has been established and
allows components to be assigned to a Person as displayed in Figure 2. For this
application, components are defined as a piece of equipment or software. A
configuration is a set of components identified as a specific unit. For the purposes of this
paper a component and a configuration are treated the same and can be associated to a
Person through the Edit Person screen. Component information is maintained in the
Equipment application outside the boundary of the Human Resources application.
Figure 2 Components Tab

The Components tab has two sections: Components List (left hand portion of the
screenand Components Details (right hand portion of the screen) which includes the
Asset IDs section. The Components List includes any specific component associated to
the particular Person and the individual parts that make up that component. The
informatiodisplayed in the Components Details section is based on the specific item
highlighted in the Components List. The display changes with each individual
component highlighted. A component is made up of from 1 to many other components
and is referenced as an EIF by the application being counted.

Information is retrieved from the Component EIF and is a unique display within the
Human Resource application. The Components List is an EQ (left side panel) and the
Components Details (right side panel) is another EQ. The View, Edit and Create buttons
perform a navigational transfer to the Components maintenance screens within the
Equipment application. These transactional functions are not counted within the scope of
the Human Resource application and are not specifically addressed in this paper.
The Link and Unlink buttons allow for the association and disassociation of a component
to a specific Person. This is accomplished by selecting the appropriate Component from
the display windows as documented in Example 2 Query/Selection Combination. The
Link and Unlink function is counted as one EI Transaction to associate or disassociate the
identified component to the Person record displayed. Both the Link and Unlink button
function as the Update Component Association transaction for the EI.
The Print button sends a detailed report of a Person and all the associated Components to
be printed on a designated printer. This is an EQ which contains a unique list of
components that have been associated with a person. There is no online display available
and no calculation or derived data.

Copyright IFPUG 2008

NEC White Paper


New Environments Committee

Page 7

New Environments Committee


NEC White Paper

Example 2 Query/Selection Combination


The Select Components tab allows for the individual components search and selection for
association through the Link button as displayed in the previous example.
Figure 3 Display Component List

Query capability is initiated by filling in the fields on the Criteria tab and clicking on the
Select button. This is the input side of the EQ, the results of which are displayed in
Figure 4. The details of the Criteria tab fields and actions are not further defined in this
paper. For example, there may be add, update and delete functionality as well as query
capability that needs to further analyzed.
Once the results of the Data List tab are displayed, the selection is made by doubleclicking the desired line from the records that appear. Figure 4 represents the output side
of the previous display transaction and contains the information that is then Linked to the
Person record. This results screen contains a unique set of data elements different from
the View Components display (not detailed in the paper) referenced in Figure 2.
Figure 4 Display Component List (result)

Copyright IFPUG 2008

NEC White Paper


New Environments Committee

Page 8

New Environments Committee


NEC White Paper

Other Examples - Miscellaneous GUI Features


Pick Control Icon
The pick control icon activates a pick control/pop-up window as displayed in Figure 5. A
search is executed based on entered criteria and a selection of one or more of the records
from the resulting list can be made. Both the Criteria tab and the Data List tab together
are considered an EQ. Data from the selected record is then copied to the appropriate
fields in the originating transaction window.
Figure 5 Select Building - Criteria

Figure 6 Select Building Results display

The pick control icon itself is not counted a transactional function or a data element type.
It is considered a navigational tool. The resulting display would need to be analyzed to
determine if it is a transaction within the boundary of the application being counted or in
fact executed within an outside application.

Copyright IFPUG 2008

NEC White Paper


New Environments Committee

Page 9

New Environments Committee


NEC White Paper

Drop-Down List Box

** See note below


The drop-down list box is a field type with an arrow that the user clicks to display a list.
These displays may be counted as an EQ only if there is a user maintained file or files
(business, reference or other recognized ILF or EIF) utilized to create the list. Hardcoded lists and Code Data2 tables are not ILFs, and any drop-down queries that utilize
them are not counted as EQs. In this example, the Building ILF exists and has multiple
DETs in addition to the name. Only the name is required for a new record due to a
specific business requirement.
Following are several variations of the drop-down list:
Dynamic drop-down box A field that allows the user to select an item from a
dynamic list of values. This list is created at the time the user clicks the dropdown arrow and can be based on other fields and files. This transactional
function is an EQ as long as the fields are retrieved from an identified ILF or EIF.
Drop-down edit box A field that allows the user to select an item from a set of
values or to enter a different item. Upon entry the item may or may not be saved
to the list. If the particular function allows the list to be updated then the save
transaction is an EI function. If the entry of the new item is not saved to the
source ILF, then this is not an EI.
Dynamic drop-down edit box A field that allows the user to select an item from
a dynamic list of values. With this box, however, the user can enter a value not
listed as an option so the resulting list is an EQ transaction. If the entry of the
new item is not saved to the source ILF, then this is not an EI.
**NOTE: The * in the drop-down list box allows entry of a new value to those
currently displayed.

IFPUG Function Point Counting Practice Manual, Release 4.2.1, Part 2 - Counting Practices, Chapter 1
Code Data

Copyright IFPUG 2008

NEC White Paper


New Environments Committee

Page 10

New Environments Committee


NEC White Paper

Check Box
The checkbox is a control feature, consisting of a graphic and associated text that a user
clicks to select or deselect an option. A check mark in the checkbox graphic indicates
that the option is selected. The ability to select the box value (either on or off) would be
counted as a DET for the transaction which utilizes the information. Count one DET for
each user recognizable, non-repeated field that enters (or exits) the application boundary
and is required to specify when, what, and/or how the data is to be retrieved or generated
by the elementary process.3
Scroll bars

Scroll bars allow the user to see additional columns of information and/or additional rows
of information. This feature is not counted as a separate function, but as a part of the
elementary process to technically present the information in a readable format.
Calendars for date entry

The display and use of the calendar for the entry of date and time information is not
considered a transactional function. This and other user friendliness functions such as

IFPUG Function Point Counting Practices Manual, Release 4.2.1; Part 1 Process and Rules; Chapter 7
Count Transactional Functions; Shared DET Rules for EOs and EQs; Pages 7-16 & 7-17

Copyright IFPUG 2008

NEC White Paper


New Environments Committee

Page 11

New Environments Committee


NEC White Paper

reverse video, function keys, automated cursor movement, etc. are accounted for in the
End User Efficiency General System Characteristic.
Editor functionality

Functionality related to Undo, Repeat, Cut, Paste, Clear, etc. that are included in the
browser application and would not be counted as transactional functions unless
specifically coded for the application being counted. If these functions are considered as
a part of the application boundary, they must be carefully analyzed to determine if there
is any data that crosses the application boundary or if these are user efficiency functions.
Radio button
Radio buttons are used to set an option. Unlike checkboxes, radio buttons are mutually
exclusive--selecting one radio button deselects all other radio buttons in the group. The
ability to select the option would be counted as one DET for the group of related options
that are specified which utilizes the information.
For each group of unique, related options, the selection would be considered to be a
repeating field, however there may be multiple unique groups of options representing
multiple DETs for the transaction. For example: Order Type, Product Type, Color and
Size selection buttons would each be unique attributes (groups of data). Count one DET
for each user recognizable, non-repeated field that enters (or exits) the application
boundary and is required to specify when, what, and/or how the data is to be retrieved or
generated by the elementary process.4

IFPUG Function Point Counting Practices Manual, Release 4.2.1; Part 1 Process and Rules; Chapter 7
Count Transactional Functions; Shared DET Rules for EOs and EQs; Pages 7-16 & 7-17

Copyright IFPUG 2008

NEC White Paper


New Environments Committee

Page 12

New Environments Committee


NEC White Paper

Additional considerations
Use caution when evaluating list boxes, radio buttons and check boxes, etc; be careful to
identify unique values which also have unique processing logic and therefore would be
counted as separate transactions
Command Button
A command button is a button with a rectangular border that contains text, a graphic, or
both. A user clicks a command button to initiate an action. Count one DET for the ability
to specify an action to be taken even if there are multiple methods for invoking the same
logical process.5 Therefore an Add, Create, or New button may initiate an add
transactional function, an Edit or Modify button may initiate a change transaction
function and a Delete or Remove button may initiate a delete transactional function.
The text may be represented using different verbiage and/or images, but the underlying
process is a transactional function. However, each button should be thoroughly analyzed
to determine the exact process involved. In some cases a Save or Close button may
complete the actual add, change or delete transactional functions and two unique
elementary processes may be initiated from the same button.
Next and Cancel
Some buttons such as the Next or Cancel buttons may only be navigational and are
therefore not counted in function points.

IFPUG Function Point Counting Practices Manual, Release 4.2.1; Part 1 Process and Rules; Chapter 7
Count Transactional Functions; Shared DET Rules for EOs and EQs; Page 7-17

Copyright IFPUG 2008

NEC White Paper


New Environments Committee

Page 13

New Environments Committee


NEC White Paper

Conclusion
This paper addresses several Graphical User Interface features and explains how unique
features of GUI applications are identified and counted in Function Points. The Function
Point Analyst should be diligent in determining the specific application boundary for the
counting activity. This is important in the identification of unique data and transactional
functions.
Care should also be taken to investigate and accurately identify the elementary processes
involved in the application and the users view of what constitutes a process which meets
the following definition of an elementary process:

The process is the smallest unit of activity that is meaningful to the user.
The process is self-contained and leaves the business of the application in a
consistent state.6

IFPUG Function Point Counting Practices Manual, Release 4.2.1; Part 1 Process and Rules; Chapter 7 Count Transactional Functions; Page 7-10

Copyright IFPUG 2008

NEC White Paper


New Environments Committee

Page 14

You might also like