fpa and the functional model

Upload: lewis-butler

Post on 09-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 FPA and the Functional Model

    1/12

    CHARISMATEK Software Metrics - www.charismatek.com

    The Functional Model and its Role in Function Point Analysis 1

    The Functional Model andIts Role in Function Point

    AnalysisIntroduction

    Function Point Analysis is a technique used to size software.The technique focuses on the functionality delivered by thesoftware as understood and valued by the users of thesoftware. The technique is applicable throughout the softwarelife 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 inFunction Points. Users of the technique very quickly achieve an intuitive understanding ofthe 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 Modelof a software system provides an infrastructure for the Function Pointsizing.

    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 ofthe model

    The model enables further analysis of the software size by allowing selection andsizing 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 PointAnalysis. The technique is illustrated by modelling and sizing a small software applicationused to manage a Book Club.

    The functional model has been developed, recorded and extended to express functionalsize in CHARISMATEKS software tool - the FUNCTION POINT WORKBENCH.

  • 8/7/2019 FPA and the Functional Model

    2/12

    CHARISMATEK Software Metrics - www.charismatek.com

    The Functional Model and its Role in Function Point Analysis 2

    The Components of the Functional Model

    The functional model represents the software system as a user of the software wouldperceive it. It is essentially an external view of the software and shows the functionalityprovided by the software to its users. It is the same view of the software used by BusinessAnalysts, Acceptance Testers, User Documentation and Trainers.

    The term userincludes not only users in the business sense but also any other users whointeract with the software in a manner prescribed by the software, for example, systemadministrators, technical support staff and other software applications which retrieve datafrom 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-worldview of the software and,as such, is a view as independent as possible from its actual physicalimplementation.

    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 auser 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 systeme.g.

    - Add Book to Catalogue- Enter New Order - Update Stock Levels- Change Member Details

    - Renew Membership- Archive Completed Ordersor 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.

  • 8/7/2019 FPA and the Functional Model

    3/12

    CHARISMATEK Software Metrics - www.charismatek.com

    The Functional Model and its Role in Function Point Analysis 3

    2. Logical Files

    A Logical File represents a data store that a user of the system understandsbecause he or she can access the contents of a data store directly, using aTransaction 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 theusers 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 inFunction Point Analysis.

    3. Relationships between the Logical Transactions.

    The Logical Transactions are recorded in a functional hierarchy which serves to record theLogical Transactions in a structure where the groupings provide additional information aboutthe relationships between transactions.

    The Logical Transactions are at the lowest level of the hierarchy. TheTransactions can be grouped in any way which is meaningful to the users of thesoftware or the audience of the count. For example, the Transactions can begrouped according to the principal Logical File accessed and ordered to give alife-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 providedocumentation about the context of each logical transaction. For example, aLogical Transaction may be fully described as:

    - Book Club / Book Catalogue / Book Catalogue Maintenance / AddBook to Catalogue.

  • 8/7/2019 FPA and the Functional Model

    4/12

  • 8/7/2019 FPA and the Functional Model

    5/12

    CHARISMATEK Software Metrics - www.charismatek.com

    The Functional Model and its Role in Function Point Analysis 5

    LogicalTransactions

    ==> indicatescollapsed branchhiding LogicalTransactions

    Text Outline Format for

    Hierarchy

    Reporting the Functional Model

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

    The hierarchy is expressed in eithergraphicortext outline format.

    1 Book Catalogue1.1 Book Catalogue Maintenance

    1.1.1 Add Book to Catalogue1.1.2 Change Book Details1.1.3 Delete Book from Catalogue1.1.4 Update Stock Levels

    1.2 Book Catalogue Enquiries1.2.1 List Books by Author1.2.2 List Books by ISBN Number1.2.3 List Books by Publisher1.2.4 Enquire on Book Details1.2.5 Report Book Stock Levels

    2 Members2.1 Membership Lists

    2.1.1 Add Member2.1.2 Change Member Details2.1.3 Delete Member2.1.4 Enquire on Member2.1.5 List Members

    2.2 Membership Status

    2.2.1 Enquire Membership Status2.2.2 Renew Membership2.2.3 List Members by Status

    2.3 Member Reference Tables2.3.1 Membership Status Codes ==>2.3.2 Membership Types ==>

    3 Members Order Fulfilment3.1 Order Processing ==>3.2 Order Analysis ==>

    4 Publisher Interface4.1 Book Orders /Publishers I/Face ==>

    4.2 Publisher Reference Tables ==>

  • 8/7/2019 FPA and the Functional Model

    6/12

    CHARISMATEK Software Metrics - www.charismatek.com

    The Functional Model and its Role in Function Point Analysis 6

    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 orsubsets built by selecting, say, all Transactions which are Essential in Phase 1.

    Graphic Format for

    Hierarchy.

    LogicalTransactions

  • 8/7/2019 FPA and the Functional Model

    7/12

    CHARISMATEK Software Metrics - www.charismatek.com

    The Functional Model and its Role in Function Point Analysis 7

    In addition to the hierarchy reports, for each hierarchy view or sub-set, the model enablesreporting as:

    a list of the Logical Transactions and their associated Logical Files which comprisethe view, e.g. the Logical Transactions and associated Files for the sub-sets asdefined by the Memberbranch are;

    LOGICAL TRANSACTIONS2.1.1 Add Member 2.1.2 Change Member Details2.1.3 Delete Member 2.1.4 Enquire on Member 2.1.5 List Members2.2.1 Enquire Membership Status2.2.2 Renew Membership2.2.3 List Members by Status2.3.1.1 Add Membership Status Code2.3.1.2 Change Membership Status Code2.3.1.3 Delete Membership Status Code2.3.1.4 List Membership Status Codes

    2.3.2.1 Add Membership Type2.3.2.2 Change Membership Type2.3.2.3 Delete Membership Type2.3.2.4 List Membership Types

    LOGICAL FILES:Member of the Book ClubMembership Status IndicatorMembership Type Codes

    reporting for each Logical Transaction showing its relationships with the LogicalFiles, 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

  • 8/7/2019 FPA and the Functional Model

    8/12

    CHARISMATEK Software Metrics - www.charismatek.com

    The Functional Model and its Role in Function Point Analysis 8

    Extending the Functional Model to Support Function Point Sizing

    In Function Point Analysis, each Logical Transaction and each Logical File is assigned aFunction Point score according to the rules prescribed by the International Function PointUser Group (IFPUG) Counting Practices Manual.

    Each Logical Transaction is assigned a score according to assessed type (ExternalInput, External Output, External Inquiry) and complexity (Low, Average, High). Thecomplexity is determined objectively according to the prescribed rules and is basedon the Data Elements and Logical Files accessed.

    Each Logical File is assigned a score according to assessed type (Internal LogicalFile, External Interface File) and complexity (Low, Average, High). The complexity isdetermined objectively according to the prescribed rules and is based on the DataElements 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 isassessed and recorded

    The Value Adjustment Factor is assessed and recorded.

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

  • 8/7/2019 FPA and the Functional Model

    9/12

    CHARISMATEK Software Metrics - www.charismatek.com

    The Functional Model and its Role in Function Point Analysis 9

    Reporting the Function Point Size

    The functional model, as developed in the Function Point WORKBENCH, supports boththe 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 reportedat:

    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-

    exity

    Function

    Points

    TRANSACTIONS

    Add Member EXTERNAL INPUT HIGH 6Change 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 StatusCode

    EXTERNAL INPUT LOW 3

  • 8/7/2019 FPA and the Functional Model

    10/12

    CHARISMATEK Software Metrics - www.charismatek.com

    The Functional Model and its Role in Function Point Analysis 10

    Maintain

    Application

    Definition3 Assigned

    Function Points

    Browse List of

    Applications

    3

    Function Type

    External Input

    External Inquiry

    External Output

    Application

    Definition

    Report

    Applications by

    Business Unit4

    Function Pointsaccumulatedfrom childTransactionswithin the scopeof the count

    10

    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 7Membership 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 theHierarchy model.

  • 8/7/2019 FPA and the Functional Model

    11/12

    CHARISMATEK Software Metrics - www.charismatek.com

    The Functional Model and its Role in Function Point Analysis 11

    55

    Selection of Software Subset by Hierarchy Branch

    The model supports automatic calculation of the functional size of a count subset as definedby 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'ssub-systems.

    Selection of Software Subset by Transaction Attributes

    The model supports automatic calculation of the functional size of a count subset of definedby 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.

    0

    10

    20

    30

    40

    50

    60

    70

    80

    Book

    Catalogue

    Members

    Orders

    Fulfilment

    Publisher

    Interface

    Function

    Points

    Optional

    Desirable

    Essential

    45

    81

    59

    52

    237

  • 8/7/2019 FPA and the Functional Model

    12/12

    CHARISMATEK Software Metrics - www.charismatek.com

    The Functional Model and its Role in Function Point Analysis 12

    Summary

    The Functional Model of a software system is the basis for an effective approach tosoftware sizing.

    It provides the means and discipline for effective and auditable development of a FunctionPoint 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 RadfordCHARISMATEK Software Metrics

    175 Dorcas StreetSouth Melbourne VIC

    AUSTRALIA 3205

    Phone: 61 (0)3 9696 1255Email: [email protected]

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

    http://www.Charismatek.com