DETs for GUI

Using the strict definition of a data element provided by IFPUG’s Counting Practices Manual. “A data element is a user recognizable, non recursive field.” Unfortunately this does not provide much guidance when counting GUI applications. In fact, the IFPUG Counting Practices manual does not provide much detail on counting, radio buttons, check boxes, pick list, drop downs, look ups, combo boxes, so on and so forth. In GUI applications, a data element is information that is stored on an internal logical file or that is used to invoke a transaction.

Radio Buttons

Radio Buttons are treated as data element types. Within a group of, a frame, radio buttons the user has the option of selecting only one radio button; so only one data element type is counted for all the radio buttons contained in the frame.

Check Boxes

Check Boxes differ from radio buttons in that more than one check box can be selected at a time. Each check box, within a frame, that can be selected should be treated as a data element.

Command Buttons

Command buttons may specify an add, change, delete or inquire action. A button, like OK, may invoke several different types of transactions.
OK Button

According to IFPUG counting rules each command button would be counted as a data element for the action it invokes. In practice this data element will not impact the rating of the transaction, but it does help understand and dissect a screen full of transactions.

A button like next may actually be the input side of an inquiry or another transaction.
Next Button

For example, a simple application to track distributors could have fields for Distributor Name, Address, City, State, Zip, Phone Number, and Fax Number. This would represent seven fields or (seven data elements) and the add command button would represent the eighth data element. In short, the “add” external input represent a one external input with eight data elements, the “change” external input represents another external input with eight (seven data elements plus the “change” command button), and the “delete” external input represents the last external input with eight data elements (seven fields plus the “delete” command button).

Display of Graphical Images or Icons

A display of a graphical image is simply another data element. An inventory application, for example, may contain data about parts. It may contain part name, supplier, size, and weight and include a schematic image of the part. This schematic is treated as a single data element.

Sound Bytes

Many GUI applications have a sound byte attached. This represents one data element. The number of notes played is simply recursive information. If the length of the sound byte increases, then the data element remains one. For example, you can play the “Star Spangled Banner” for two seconds or four seconds, but you’ll still count the sound bytes as one data element. The longer it is played the more recursive information it has.

Photographic Images

A photographic image is another data element, and is counted as one. A human resource application may display employee name, start date, etc. and a photograph of the employee. The photograph is treated the same as employee name or employee start date. The photograph is stored and maintained like any other piece of information about the employee.


There are three types of messages that are generated in a GUI application: error messages , confirmation messages and notification messages . Error messages and confirmation messages indicate that an error has occurred or that a process will be or have been completed. They are not an elementary or independent process alone, but they are part of another elementary process. A message that would state, "zip code is required" would be an example of an error message. A message that would state, "are you sure you want to delete customer" is an example of a confirmation message. Neither type of message is treated as a unique external output, but each is treated as a data element for the appropriate transaction.

On the other hand, a notification messages is a business type message. A notification is an elementary process, has some meaning to the business user and is independent of other elementary processes. It is the basis of processing and a conclusion being drawn. For example, you may try to withdraw from an ATM machine more money than you have in your account and you receive the dreaded message, "You have insufficient funds to cover this transaction." This is the result of information being read from a file regarding your current balance and a conclusion being drawn. A notification message is treated as an External Output.