GUI Elements

As an alternative to counting function points directly, you might count GUI elements instead.

Count the number of GUI elements according to the categories in the table below. Afterwards convert the GUI elements to an approximate function-point count by transferring appropriate entries to a look-up table.

Substituting GUI Elements for Function Points

 GUI Element  Function-Point Equivalent 
 Simple Client Window  1 Low Complexity External Input for add, change, and delete (if present), plus 1 Low Complexity External Query
 Average Client Window  1 Average Complexity External Input for add, change, and delete (if present), plus 1 Average Complexity External Query
 Complex Client Window  1 High Complexity External Input for add, change, and delete (if present), plus 1 High Complexity External Query
 Average Report  1 Average Complexity External Output
 Complex Report  1 High Complexity External Output
 Any File  1 Low Complexity Internal Logical File
 Simple Interface  1 Low Complexity External Input if coming in; 1 Low Complexity External Output if going out
 Average Interface  1 Average Complexity External Input if coming in; 1 Average Complexity External Output if going out
 Complex Interface  1 High Complexity External Input if coming in; 1 High Complexity External Output if going out
 Message or Dialog Box  Not counted; are counted as part of the screen they connect to

The lookup table could look as follows (adapted from McConnel, Software Estimation - Demystifying the Black Art):

Program Characteristic

Low Complexity

Medium Complexity

High Complexity

External Inputs

__ × 3

__ × 4

__ × 6

External Outputs

__ × 4

__ × 5

__ × 7

External Queries

__ × 3

__× 4

__ × 6

Internal Logical Files

__ × 4

__ × 10

__ × 15

External Interface Files

__ × 5

__ × 7

__ × 10

If you use this approach, recognize how much uncertainty is feeding into your estimate. Some uncertainty likely exists in your original counts of the number of GUI elements or your estimates of them. You introduce additional uncertainty when you convert from GUI elements to function points. And you introduce still more uncertainty when you convert from function points to lines of code.

last modified by superadmin on 2009/09/08 09:30


Creator: superadmin on 2009/07/27 11:10
Copyright 2004-2012 XWiki
1.9.1.21780