hints to counting gui
TRANSCRIPT
-
8/19/2019 Hints to Counting GUI
1/14
Function Points & Counting GUIApplication Features
Release 1.0
Note: The NEC has establ ished these White Papers in an effor t to dis tr ibute
hints about a subjec t domain quick ly to the count ing communi ty .
This document is based on the function point counting practices as described in thecurrent 4.2 series of the IFPUG Counting Practices Manual (CPM) and demonstrates theapplicability of IFPUG Function Points in the subject domain.
The contents of this paper are to be used exclusively as hints in the application of functionpoint counting in the domain described.
These hints do not constitute rule changes and should not be used as rules. While thisdocument has been reviewed and approved by the CPC, it does not constitute IFPUGcounting practice standards as contained in the CPM.
-
8/19/2019 Hints to Counting GUI
2/14
New Environments Committee
NEC White Paper
Copyright IFPUG 2008 NEC White Paper Page 2
New Environments Committee
-
8/19/2019 Hints to Counting GUI
3/14
New Environments Committee
NEC White Paper
Copyright IFPUG 2008 NEC White Paper Page 3
New Environments Committee
Function Points & Counting GUI Application Features
Release 1.0
White Paper Contributors
Authors
Tammy Preuss – AT&TDeb Maschino – EDS (White Paper Team Lead)
ReviewersDaniel 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
-
8/19/2019 Hints to Counting GUI
4/14
-
8/19/2019 Hints to Counting GUI
5/14
New Environments Committee
NEC White Paper
Copyright IFPUG 2008 NEC White Paper Page 5
New Environments Committee
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 featuresdescribed within this paper are part of several existing, self-contained applications. The
examples are from a Human Resource application with references to transactions andfiles associated within the Equipment application.
Care should be taken to investigate and accurately identify the elementary processes
involved in the application and the user’s view of what constitutes a process which meetsthe 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
1 IFPUG Function Point Counting Practices Manual, Release 4.2.1; Part 1 – Process and Rules; Chapter 7 -
Count Transactional Functions; Page 7-10
-
8/19/2019 Hints to Counting GUI
6/14
New Environments Committee
NEC White Paper
Copyright IFPUG 2008 NEC White Paper Page 6
New Environments Committee
Scenarios
Exam ple 1 – Mult iple tab s
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 andin 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 Personrecord 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 EItransaction. An EQ is also counted for the initial display of the Person data prior to
modification.
-
8/19/2019 Hints to Counting GUI
7/14
New Environments Committee
NEC White Paper
Copyright IFPUG 2008 NEC White Paper Page 7
New Environments Committee
The Components tab becomes active after a Person Record has been established andallows 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 aPerson 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 thescreenand Components Details (right hand portion of the screen) which includes the
Asset IDs section. The Components List includes any specific component associated tothe 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 componentsand 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 theEquipment 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. TheLink 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 ofcomponents that have been associated with a person. There is no online display available
and no calculation or derived data.
-
8/19/2019 Hints to Counting GUI
8/14
New Environments Committee
NEC White Paper
Copyright IFPUG 2008 NEC White Paper Page 8
New Environments Committee
Examp le 2 – Query/Selectio n Com binatio n
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 inFigure 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 double-
clicking the desired line from the records that appear. Figure 4 represents the output sideof the previous display transaction and contains the information that is then Linked to thePerson 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)
-
8/19/2019 Hints to Counting GUI
9/14
New Environments Committee
NEC White Paper
Copyright IFPUG 2008 NEC White Paper Page 9
New Environments Committee
Other Examples - Miscel laneous GUI Features
Pick Control Icon
The pick control icon activates a pick control/pop-up window as displayed in Figure 5. Asearch is executed based on entered criteria and a selection of one or more of the recordsfrom 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 infact executed within an outside application.
-
8/19/2019 Hints to Counting GUI
10/14
New Environments Committee
NEC White Paper
Copyright IFPUG 2008 NEC White Paper Page 10
New Environments Committee
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. Hard-
coded lists and Code Data2
tables are not ILFs, and any drop-down queries that utilizethem 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 adynamic list of values. This list is created at the time the user clicks the drop-down 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 savedto 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 froma 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 thosecurrently displayed.
2 IFPUG Function Point Counting Practice Manual, Release 4.2.1, Part 2 - Counting Practices, Chapter 1 –
Code Data
-
8/19/2019 Hints to Counting GUI
11/14
New Environments Committee
NEC White Paper
Copyright IFPUG 2008 NEC White Paper Page 11
New Environments Committee
Check Box
The checkbox is a control feature, consisting of a graphic and associated text that a userclicks 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 becounted 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 rowsof 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
3 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
-
8/19/2019 Hints to Counting GUI
12/14
New Environments Committee
NEC White Paper
Copyright IFPUG 2008 NEC White Paper Page 12
New Environments Committee
reverse video, function keys, automated cursor movement, etc. are accounted for in theEnd 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 thereis 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 representingmultiple 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 orgenerated by the elementary process.4
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
-
8/19/2019 Hints to Counting GUI
13/14
New Environments Committee
NEC White Paper
Copyright IFPUG 2008 NEC White Paper Page 13
New Environments Committee
Additional considerations
Use caution when evaluating list boxes, radio buttons and check boxes, etc; be careful toidentify 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 uniqueelementary 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.
5 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
-
8/19/2019 Hints to Counting GUI
14/14
New Environments Committee
NEC White Paper
Copyright IFPUG 2008 NEC White Paper Page 14
New Environments Committee
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 FunctionPoint Analyst should be diligent in determining the specific application boundary for the
counting activity. This is important in the identification of unique data and transactionalfunctions.
Care should also be taken to investigate and accurately identify the elementary processes
involved in the application and the user’s view of what constitutes a process which meetsthe 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
6 IFPUG Function Point Counting Practices Manual, Release 4.2.1; Part 1 – Process and Rules; Chapter 7 -
Count Transactional Functions; Page 7-10