The Function Tree

Counting Transactions

This is where you build a representation of the software application’s functionality. The name at the root node of the Function Tree is the name of the Release model displayed. You can edit the Release name by selecting to Edit the Release from the List of Software Applications.

As you understand more about your software application’s requirements, you construct a more detailed hierarchical model of Functions and Processes within your software. Functions can be nested within other Functions to any depth, like branches in a tree. Processes are the leaves of the tree and represent the lowest level of Process decomposition and cannot be nested.

Functions represent chunks of functionality. You choose to fill in as much detail as you want by inserting nested functions, which are then divided into Processes at a finite level. Examples of typical Functions would be: Maintain Customer Information, Manage Invoicing.

A Process is considered by IFPUG 4.3 to be the smallest unit of work that is meaningful to the end user and on completion leaves the application in a consistent state.

Examples: Add a new Customer, Modify Customer Details, Delete a Customer, View Customer Details, List Outstanding Invoices, Print Customer Invoice.

HINT: Processes are equivalent to the IFPUG Elementary Processes. For those users not familiar with IFPUG CPM 4.3 rules, Elementary Processes roughly equate to ‘USE CASES’ which have been decomposed to the level of a single user function.

Functional size derived from the Function tree is based on the type of Process (Input, Output or Enquiry) and the combined effect of the number of Data Groups accessed (File Types Referenced (FTRs)) and the number of fields (Data Element Types (DETs)) the Process needs to share with the User. Where a:

You can choose the level of detail you to decompose your functional hierarchy. If you do not want to go down to each individual process level then insert a number into the Multiplier field within the Process Details screen and SCOPE will multiply the function points for the identified process by the value of the multiplier. E.g. If you know that there are 25 Sales Reports and they are all of Average Complexity then put a 25 into the Multiplier field within the Process named Sales Reports. The function points calculated will be 25 *5 = 125.

Note : If you have identified a user function that is not counted in IFPUG function points e.g. Menu but you want to record that you have found it but not counted it, then you can still include it in the Function Tree but assign it a Multiplier of zero so that it does not contribute to functional size. We would recommend that you assign a NOTE to provide your reasons for not counting it, or put the reasons in the Description field. You may also want to create an Attribute called "Technical/Quality Feature" and assign it to the node you do not want counted.