Sie sind auf Seite 1von 12

 CHARISMATEK Software Metrics - www.charismatek.

com

The Functional Model and


Its Role in Function Point
Analysis
Introduction

Function Point Analysis is a technique used to size software.


The technique focuses on the functionality delivered by the
software as understood and valued by the users of the
software. The technique is applicable throughout the software
life cycle, from the point where the functionality to be delivered
is reasonably known.
The Function Point Analysis of a software system delivers a functional size expressed in
Function Points. Users of the technique very quickly achieve an intuitive understanding of
the Function Point size.
For software in development, the Function Point size can be readily extended, using macro-
estimating techniques, into effort and schedule estimates.
A Functional Model of a software system provides an infrastructure for the Function Point
sizing.
❏ The model provides the basis of a formal Statement of Scope of a system or project
❏ The requirement for the development of the model lends rigour and discipline to the
technique
❏ The model allows the method to be auditable and verifiable
❏ The Functional Size is assessed by allocating Function Points to the components of
the model
❏ The model enables further analysis of the software size by allowing selection and
sizing of software sub-sets
❏ The model is easily maintained as the software changes
❏ The model allows the impact of change to be readily expressed.

This document provides an overview of the functional model and its role in Function Point
Analysis. The technique is illustrated by modelling and sizing a small software application
used to manage a Book Club.
The functional model has been developed, recorded and extended to express functional
size in CHARISMATEK’S software tool - the FUNCTION POINT WORKBENCH™.

The Functional Model and its Role in Function Point Analysis 1


 CHARISMATEK Software Metrics - www.charismatek.com

The Components of the Functional Model

The functional model represents the software system as a user of the software would
perceive it. It is essentially an external view of the software and shows the functionality
provided by the software to its users. It is the same view of the software used by Business
Analysts, Acceptance Testers, User Documentation and Trainers.
The term ‘user’ includes not only users in the business sense but also any other users who
interact with the software in a manner prescribed by the software, for example, system
administrators, technical support staff and other software applications which retrieve data
from or send data to the software system under study.
The model has 6 basic components:
— Logical Transactions
— Logical Files
— Relationships between the Logical Transactions
— Relationships between the Logical Files and the Logical Transactions
— A Method for Indicating the Impact of Change on the Software
— Transaction Attributes for Selecting Software Sub-Sets.

The term ‘logical’ is used to denote a ‘conceptual’ or ‘real-world’ view of the software and,
as such, is a view as independent as possible from its actual ‘physical’ implementation.
Each of these model components is described below.

1. Logical Transactions

A Logical Transaction represents a user's interaction with the software system. It is what a
user perceives as a 'unit of work' or 'task' and is complete when it has achieved its goal.
❏ A Logical Transaction is described in language understood by its user.
❏ A Logical Transaction is one of the software components allocated Function Points
in Function Point Analysis.
❏ A Logical Transaction allows its user to either:

— input data or control information which changes data stored within the system
e.g.
- Add Book to Catalogue
- Enter New Order
- Update Stock Levels
- Change Member Details
- Renew Membership
- Archive Completed Orders
or
— retrieve data stored within the system to the outside world or send control
information to the outside world e.g.
- List Books by Author
- Report Book Stock Levels
- Analyse Monthly Orders
- List Publishers
- Notify Accounts Amount Owing.

The Functional Model and its Role in Function Point Analysis 2


 CHARISMATEK Software Metrics - www.charismatek.com

2. Logical Files

❏ A Logical File represents a data store that a user of the system understands
because he or she can access the contents of a data store directly, using a
Transaction to store or change data in it or retrieve data from it.
❏ The group of data elements stored as a logical file is recognised as a group by the
users of the system.
❏ A logical file is described in language understood by its user e.g.

- Book Catalogue
- Members of the Book Club
- Membership Status Indicators.

❏ A Logical File is one of the software components allocated Function Points in


Function Point Analysis.

3. Relationships between the Logical Transactions.

The Logical Transactions are recorded in a functional hierarchy which serves to record the
Logical Transactions in a structure where the groupings provide additional information about
the relationships between transactions.
— The Logical Transactions are at the lowest level of the hierarchy. The
Transactions can be grouped in any way which is meaningful to the users of the
software or the audience of the count. For example, the Transactions can be
grouped according to the principal Logical File accessed and ordered to give a
life-cycle analysis of data usage, e.g.
- Add Book to Catalogue
- Change Book Details
- Update Stock Levels
- Delete Book from Catalogue
- List Books by Author
- List Books by ISBN Number
- Enquire Book Details.
— Entries at the highest levels of the hierarchy reflect the software's logical sub-
systems, e.g.
- Book Catalogue
- Members
- Members Order Fulfilment
- Publisher Interface.
— Intermediate levels reflect each sub-system's principal activities and provide
documentation about the context of each logical transaction. For example, a
Logical Transaction may be fully described as:
- Book Club / Book Catalogue / Book Catalogue Maintenance / Add
Book to Catalogue.

The Functional Model and its Role in Function Point Analysis 3


 CHARISMATEK Software Metrics - www.charismatek.com

4. Relationships between the Logical Transactions and the Logical Files

Each Logical Transaction uses data stored in Logical Files in order to achieve its goal. The
Logical Files accessed by each Transaction are ‘linked’ to that transaction. This link also
records whether the Transaction reads or updates the File.
This linking of Files helps ensure that the model is complete, that is, that all Transactions
have their Logical Files and that all Logical Files have appropriate associated user
interactions as expressed by the Logical Transactions.

5. Method for Indicating the Impact of Change on the Software

A project is a set of activities which delivers software to its users as an Application. A


Development Project delivers a new application. Its scope corresponds to the transactions
in the initial software model of the Development Project.
An Enhancement Project changes the functionality in an existing application. Its scope is
defined in the Functional Model by :
❏ extending the model to include new ‘added’ functionality
❏ flagging existing functionality, where appropriate, as ‘changed’ or ‘deleted’.

6. Transaction Attributes for Selecting Software Sub-Sets

Attributes can be assigned to Logical Transactions in the model so that the Transactions
can be selected in groups for reporting on software subsets as well as analysing the total
software system.
The attributes defined for use in a model will depend upon the purpose of the software
analysis. Some analyses may, for example, support project negotation and estimation,
others may support analysis of IT spending.
For example, for selecting a software sub-set for phased delivery, the relative proportions of
the software impacted, analysed by the Priority in Release will assist in making choices.
Some further examples of criteria used for analysis are:

ATTRIBUTE OPTIONS (i.e. Possible Values)


Business Purpose Primary Business , Infrastructure
Platform VAX, PC (DOS), PC (OS/2)
Language C, C++, PowerBuilder, Cobol
Priority in Release Essential, Desirable, Optional
Due in Release Release 1.0, Release 2.0
Rework Summary As Specified, Added, Changed, Deleted
Rework Detail As Specified, Added in Design, Changed in Design, Deleted in Design,
Added in Construction,.....
Business Beneficiary Finance, Facilities Management, Operations
Source Build, Buy in, Buy and Customise
Project Progress Not started, In -Progress, Completed

The Functional Model and its Role in Function Point Analysis 4


 CHARISMATEK Software Metrics - www.charismatek.com

Reporting the Functional Model

The functional model is reported as a functional hierarchy which shows the Logical
Transactions in context and their relationships to other transactions. This reporting
illustrates the functionality delivered to the users of the software.

• The hierarchy is expressed in either graphic or text outline format.

1 Book Catalogue
1.1 Book Catalogue Maintenance
1.1.1 Add Book to Catalogue Logical
1.1.2 Change Book Details Transactions
1.1.3 Delete Book from Catalogue
1.1.4 Update Stock Levels
1.2 Book Catalogue Enquiries
1.2.1 List Books by Author
1.2.2 List Books by ISBN Number
1.2.3 List Books by Publisher
1.2.4 Enquire on Book Details
1.2.5 Report Book Stock Levels

2 Members
2.1 Membership Lists
2.1.1 Add Member
2.1.2 Change Member Details Text Outline Format for
2.1.3 Delete Member Hierarchy
2.1.4 Enquire on Member
2.1.5 List Members
2.2 Membership Status
2.2.1 Enquire Membership Status
2.2.2 Renew Membership
2.2.3 List Members by Status
2.3 Member Reference Tables
2.3.1 Membership Status Codes ==>
2.3.2 Membership Types ==>

3 Members Order Fulfilment ==> indicates


3.1 Order Processing ==> collapsed branch
3.2 Order Analysis ==> ‘hiding’ Logical
Transactions
4 Publisher Interface
4.1 Book Orders /Publishers I/Face ==>
4.2 Publisher Reference Tables ==>

The Functional Model and its Role in Function Point Analysis 5


 CHARISMATEK Software Metrics - www.charismatek.com

Logical
Transactions

Graphic Format for


Hierarchy.

❏ The hierarchy can be viewed and reported:

- as a whole or
- partially, by selecting a branch and / or by selecting a set of transactions with a
particular transaction attribute. This enables reporting of, say, sub-systems or
subsets built by selecting, say, all Transactions which are Essential in Phase 1.

The Functional Model and its Role in Function Point Analysis 6


 CHARISMATEK Software Metrics - www.charismatek.com

In addition to the hierarchy reports, for each hierarchy view or sub-set, the model enables
reporting as:
❏ a list of the Logical Transactions and their associated Logical Files which comprise
the view, e.g. the Logical Transactions and associated Files for the sub-sets as
defined by the Member branch are;

LOGICAL TRANSACTIONS
2.1.1 Add Member
2.1.2 Change Member Details
2.1.3 Delete Member
2.1.4 Enquire on Member
2.1.5 List Members
2.2.1 Enquire Membership Status
2.2.2 Renew Membership
2.2.3 List Members by Status
2.3.1.1 Add Membership Status Code
2.3.1.2 Change Membership Status Code
2.3.1.3 Delete Membership Status Code
2.3.1.4 List Membership Status Codes
2.3.2.1 Add Membership Type
2.3.2.2 Change Membership Type
2.3.2.3 Delete Membership Type
2.3.2.4 List Membership Types

LOGICAL FILES:
Member of the Book Club
Membership Status Indicator
Membership Type Codes

❏ reporting for each Logical Transaction showing its relationships with the Logical
Files, e.g. for Logical Transaction - Renew Membership

File Name Access Type


Member of the Book Club Update
Membership Status Indicator Read Only

• reporting for each Logical File showing its relationships with the Logical Transactions,
e.g. for Logical File - Member of the Book Club

Level Logical Transaction Access Type


2.1.1 Add Member UPDATE
2.1.2 Change Member Details READ ONLY
2.1.3 Delete Member UPDATE
2.1.4 Enquire on Member READ ONLY
2.1.5 List Members READ ONLY
2.2.1 Enquire Membership Status READ ONLY
2.2.2 Renew Membership UPDATE
2.2.3 List Members by Status READ ONLY
3.1.4.3 Print Mailing Label READ ONLY
3.1.4.4 Print Invoice UPDATE

The Functional Model and its Role in Function Point Analysis 7


 CHARISMATEK Software Metrics - www.charismatek.com

Extending the Functional Model to Support Function Point Sizing

In Function Point Analysis, each Logical Transaction and each Logical File is assigned a
Function Point score according to the rules prescribed by the International Function Point
User Group (IFPUG) Counting Practices Manual.
❏ Each Logical Transaction is assigned a score according to assessed type (External
Input, External Output, External Inquiry) and complexity (Low, Average, High). The
complexity is determined objectively according to the prescribed rules and is based
on the Data Elements and Logical Files accessed.

❏ Each Logical File is assigned a score according to assessed type (Internal Logical
File, External Interface File) and complexity (Low, Average, High). The complexity is
determined objectively according to the prescribed rules and is based on the Data
Elements and Record Types in the File.

In addition, the general complexity of the software is accessed according to the rules for
determining the Value Adjustment Factor.
Against the functional model:
❏ The Function Point score for each Logical Transaction and each Logical File is
assessed and recorded
❏ The Value Adjustment Factor is assessed and recorded.

The scores for the individual Transactions and Files are aggregated and adjusted by the
Value Adjustment Factor to provide the overall Function Point Size.

The Functional Model and its Role in Function Point Analysis 8


 CHARISMATEK Software Metrics - www.charismatek.com

Reporting the Function Point Size

The functional model, as developed in the Function Point WORKBENCH, supports both
the Function Point sizing of the entire software as represented by the model and Function
Point sizing of selected software subsets.
The Function Point size for both the entire model and the selected subset can be reported
at:
❏ Summary Level

The total Function Point Size broken down Function Type and Complexity.

❏ Intermediate Detail

A listing showing for each Logical Transaction and each Logical File, its Function Type,
its Complexity and allocated Function Points.

Name Type Compl- Function


exity Points
TRANSACTIONS
Add Member EXTERNAL INPUT HIGH 6
Change Member Details EXTERNAL INPUT AVE 4
Delete Member EXTERNAL INPUT HIGH 6
Enquire on Member EXTERNAL INQUIRY LOW 3
List Members EXTERNAL INQUIRY LOW 3
Enquire Membership Status EXTERNAL INQUIRY LOW 3
Renew Membership EXTERNAL INPUT LOW 3
List Members by Status EXTERNAL OUTPUT AVE 5
Add Membership Status Code EXTERNAL INPUT LOW 3
Change Membership Status EXTERNAL INPUT LOW 3
Code

The Functional Model and its Role in Function Point Analysis 9


 CHARISMATEK Software Metrics - www.charismatek.com

Delete Membership Status Code EXTERNAL INPUT LOW 3


List Membership Status Codes EXTERNAL INQUIRY LOW 3
Add Membership Type EXTERNAL INPUT LOW 3
Change Membership Type EXTERNAL INPUT LOW 3
Enquire Membership Type EXTERNAL INQUIRY LOW 3
Delete Membership Type EXTERNAL INPUT LOW 3
FILES
Member of the Book Club INTERNAL LOGICAL LOW 7
Membership Status Indicator INTERNAL LOGICAL LOW 7
Membership Type Codes INTERNAL LOGICAL LOW 7
Members Orders EXT. INTERFACE LOW 5
UN-ADJUSTED Function Points 83
Value Adjustment Factor .81
ADJUSTED Function Points 67

❏ Detail

A 1-2 page detailed report for each Logical Transaction and each Logical File

❏ On the Hierarchy Diagram

The Function Point size can also be reported directly against any position in the
Hierarchy model.

Maintain
Application
Definition
3 Assigned
Function Points

Application Browse List of


Definition Applications Function Type
10
3 External Input
Function Points
accumulated External Inquiry
from ‘child’
Transactions Report External Output
within the scope Applications by
of the count Business Unit 4

The Functional Model and its Role in Function Point Analysis 10


 CHARISMATEK Software Metrics - www.charismatek.com

Selection of Software Subset by Hierarchy Branch

The model supports automatic calculation of the functional size of a count subset as defined
by the transactions belonging to a branch of the transaction hierarchy.
This type of Function Point size is used to compare the size of, for example, the software's
sub-systems.

55
45

81

237

59

52

Selection of Software Subset by Transaction Attributes

The model supports automatic calculation of the functional size of a count subset of defined
by a particular Transaction attribute or a combination of attributes.
This type of Function Point size is used to analyse the functional size by the Transaction
attribute values, e.g. PRIORITY OF FUNCTION FOR DELIVERY - Essential, Desirable,
Optional.

80 Optional
70 Desirable
Essential
60
Function Points

50

40

30

20

10

0
Members
Catalogue

Publisher
Fulfilment

Interface
Orders
Book

The Functional Model and its Role in Function Point Analysis 11


 CHARISMATEK Software Metrics - www.charismatek.com

Summary

The Functional Model of a software system is the basis for an effective approach to
software sizing.
It provides the means and discipline for effective and auditable development of a Function
Point sizing.
❏ The model provides the basis of a formal Statement of Scope of a system or project
❏ The requirement for the development of the model lends rigour and discipline to the
technique
❏ The model allows the method to be auditable and verifiable
❏ The Functional Size is assessed by allocating Function Points to the components of
the model
❏ The model enables further analysis of the software size by allowing selection and
sizing of software sub-sets.

For further assistance in regard to information in this paper, contact:

Robyn Lawrie or Paul Radford


CHARISMATEK Software Metrics
175 Dorcas Street
South Melbourne VIC
AUSTRALIA 3205
Phone: 61 (0)3 9696 1255
Email: lawrier@charismatek.com

For information about our products and services, visit our Web Page:

http://www.Charismatek.com

The Functional Model and its Role in Function Point Analysis 12

Das könnte Ihnen auch gefallen