Beruflich Dokumente
Kultur Dokumente
com
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 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.
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.
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.
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.
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:
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.
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 ==>
Logical
Transactions
- 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.
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
• reporting for each Logical File showing its relationships with the Logical Transactions,
e.g. for Logical File - Member of the Book Club
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, 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.
❏ Detail
A 1-2 page detailed report for each Logical Transaction and each Logical File
The Function Point size can also be reported directly against any position in the
Hierarchy model.
Maintain
Application
Definition
3 Assigned
Function Points
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
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
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 information about our products and services, visit our Web Page:
http://www.Charismatek.com