hints to counting gui

Upload: dfie

Post on 07-Jul-2018

219 views

Category:

Documents


0 download

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