+ All Categories
Home > Documents > FPA Mark I (AIT)

FPA Mark I (AIT)

Date post: 06-Apr-2018
Category:
Upload: sujit-das
View: 219 times
Download: 0 times
Share this document with a friend

of 57

Transcript
  • 8/3/2019 FPA Mark I (AIT)

    1/57

    Estimation TechniquesFPA - Mark I (Albrechts Method)

  • 8/3/2019 FPA Mark I (AIT)

    2/57

    Pre-requisites

    Trainees should

    Know Need forEstimation

    Know Estimation Process & Flow

    Be aware of Estimation Techniques (Overview)

  • 8/3/2019 FPA Mark I (AIT)

    3/57

    Objectives

    The participants will be able to

    Estimate the size of software requirements using FPA for Development projects

    Enhancement projects

    Apply Quick FPA

  • 8/3/2019 FPA Mark I (AIT)

    4/57

    Contents

    FPA- Albrechts Method (Mark I) for development projects

    Identify types of function point & transaction point counts

    Calculate Unadjusted Function Points

    Degree of Influence & Value Adjustment Factor

    Calculate Function Point Index

    Compute efforts & map to the schedule

    Apply FPA for enhancement projects

    Quick FPA

    Useful Sites

  • 8/3/2019 FPA Mark I (AIT)

    5/57

    FPA - An Overview

    Albrecht [1] states that:

    The purpose...is to provide each Application Development and

    Maintenance site a consistent way to measure, portray anddemonstrate the productivity of their AD/M activities

    FPA aims to provide a consistent measure of system size that: is independent of the development technology

    is simple to apply

    can be estimated (reasonably well) from the requirements specification

    is meaningful to the end user

    Where not to use Systems Programming

    Maintenance Projects

    Non Functional Testing Performance

    Reliability

    Security

    Scalability

  • 8/3/2019 FPA Mark I (AIT)

    6/57

    FPA - Albrechts Method

    By Allan Albrecht of IBM in 1979

    What are function points A measurement of information processing content of a

    systems delivered function

    Function decomposition technique

    Break application into smaller components

  • 8/3/2019 FPA Mark I (AIT)

    7/57

    FPA - Albrechts Method Contd

    Can be counted early in lifecycle

    Language/Platform/Technology independence

    Consistency within organization

  • 8/3/2019 FPA Mark I (AIT)

    8/57

    Steps to Compute FP Index

    Determine the Type of Count

    Identify Application Boundary

    Identify Data Function Points

    Count Transaction Function Points

    Compute Unadjusted function points (UFP)

  • 8/3/2019 FPA Mark I (AIT)

    9/57

    Steps to Compute FP Index Contd .

    Compute Degree of influence (DI)

    Multiple sites

    Installation/operational ease

    Distributed processing

    Data communication

    Performance

    OLTP requirements etc.

    Compute Technical Complexity Adjustment

    Compute Function Point Index

  • 8/3/2019 FPA Mark I (AIT)

    10/57

    Types of Count

    Development Projects

    User functionality in the project on first installation

    Results in an application base

    Application or Baseline FP (Existing Projects)

    Current functions of the application

    Updated every time after enhancements

    Enhancement Projects

    Size of renovation / modification of the project

    Enhancement of existing project

    Equal to sum of areas of New FP, Changed FP andRemoved FP

  • 8/3/2019 FPA Mark I (AIT)

    11/57

    Case Study

    About a software company

    Develop an application for warehouse management

  • 8/3/2019 FPA Mark I (AIT)

    12/57

    Case Study-Entities

    Customers

    Name

    Address

    Amount Due

    Items

    Description

    Pallets

    Storage Date

    Storage Place

    Location

    Space

  • 8/3/2019 FPA Mark I (AIT)

    13/57

    Case Study-Entity-Relationship

    CustomersName

    AddressAmount Due

    ItemsDescriptionPallets

    Storage DateOwnerStorage Place

    Storage PlaceLocationSpace

  • 8/3/2019 FPA Mark I (AIT)

    14/57

    Case Study - Transactions

    Add customer

    Change customer data

    Delete customer Receive payment

    Deposit item

    Retrieve item

    Add place

    Change place data Delete place

    Print customer item list

    Print bill

    Print stored items list

    Query customers Query customer's items

    Query places

    Query stored items

  • 8/3/2019 FPA Mark I (AIT)

    15/57

    Case study Sample UI

  • 8/3/2019 FPA Mark I (AIT)

    16/57

    Application Boundaries

    The border between the application and external applications ormanual user domains

    Determine the scope of work to be automated (functionality)

    Boundary is not a physical form

    Use a boundary to

    Identify interfaces with other systems

    Identify interfaces with users

    Identify data stores and data entities

    The boundary for an internet application is defined in a similar wayfor traditional applications

  • 8/3/2019 FPA Mark I (AIT)

    17/57

    Case Study-Identify Application Boundary

  • 8/3/2019 FPA Mark I (AIT)

    18/57

    Identify Data Function Points

    Internal Logical files (ILF)

    External Interface files (EIF)

    Two inputs required

    RET Record Element Type

    User recognizable subgroup of data elements with the ILF / EIF

    DET Data Element Type (DET)

    Unique attribute or a field

    Contains information that is dynamic and not static

  • 8/3/2019 FPA Mark I (AIT)

    19/57

    Terminologies

    RET (Record Element Type)

    DET (Data Element Type)

    FTR (File Type Referenced)

  • 8/3/2019 FPA Mark I (AIT)

    20/57

    Data Element Type (DET)Counting Rules

    Count a DET for each unique user recognizable, non-repeating field maintained in the ILF or retrieved from the

    EIF through the execution of an elementary process

    When two applications maintain and / or reference the sameILF / EIF, but each maintains/references separate DETs,count only the DETs being used by each application to size

    the ILF / EIF

    Count each DET for each piece of data required by the userestablish relationship with another ILF / EIF

  • 8/3/2019 FPA Mark I (AIT)

    21/57

    Record Element Type Counting Rules

    Count a RET for each optional or mandatory subgroup of theILF / EIF

    If there are not subgroups, count the ILF or EIF as a RET

    Entity RET DET

    Customer 1 (CustomerRecord)

    3 (Name, Address, Amount)

    Item 1 (Item Record) 5 (Description, Pallets,Storage Date, Owner,

    Storage Place)

    Place 1 (Place Record) 2 (Location, Space)

  • 8/3/2019 FPA Mark I (AIT)

    22/57

    Internal Logical Files (ILF)

    Logically related data within the application boundary that ismaintained and used by the application most frequently.

    Examples: Application data like Customer Master, Supplier Master,Item/Part Master, Message Table

    A user identifiable group of logically related data that residesentirely within the applications boundary and is maintained throughexternal inputs.

  • 8/3/2019 FPA Mark I (AIT)

    23/57

    Internal Logical Files (ILF) Contd .

    Rules

    Group of Data or control information is logical, user identifiable,and fulfils specific user requirements

    Data is maintained within the application boundary

    Data is modified via an elementary process (One or more EIs)

    Has not been counted as an EIF for the application

    Each ILF is counted only once in the application

    Do not count files introduced for technical implementation likeindex, work files, checkpoint files

    Do not count system files

    Classify the ILFs as Simple, Average, Complex

    Based on no. of data elements

    No. of data groups involved

  • 8/3/2019 FPA Mark I (AIT)

    24/57

    Internal Logical Files (ILF)- Case Study

    ILF RET DET Weight

    Customer 1 (CustomerRecord)

    3 (Name, Address, Amount ) 10

    Item 1 (Item Record) 5 (Description, Pallets,Storage Date, Owner,

    Storage Place)

    10

    Place 1 (Place Record) 2 (Location, Space) 10

    Total 30

    Weighatges for ILFs :-

    Simple: 7

    Average: 10

    Complex: 15

  • 8/3/2019 FPA Mark I (AIT)

    25/57

    External Interfaces (EIF)

    Logically related data outside the application boundary, used bythe application

    Examples

    Table maintained by other application but used by the application

    A user identifiable group of logically related data that is used forreference purposes only. The data resides entirely outside theapplication and is maintained by another application. This means anEIF counted for an application must be an ILF in anotherapplication.

  • 8/3/2019 FPA Mark I (AIT)

    26/57

    External Interfaces (EIF) Contd

    Rules

    Group of data or Control information is a logical, useridentifiable, and fulfils specific user requirements

    Group of data is referenced by, and external to, the applicationbeing counted

    Group of data has not been counted as an ILF by the application

    Each EIF is counted only once in the application

    EIFs are not maintained by the application

    Do not double count with internal logical files

    Classify the EIFs as Simple, Average, Complex

    Based on no. of data elements No. of data groups involved

  • 8/3/2019 FPA Mark I (AIT)

    27/57

    External Interfaces (EIF) Case Study

    EIF = 0

  • 8/3/2019 FPA Mark I (AIT)

    28/57

    Things to Remember

    Stand alone systems will not have an EIF

    Same file cannot be an ILF and EIF in the same application

    Same file can be EIF for multiple applications

    Same file can be ILF for multiple applications, if all theseapplications are updating the file

  • 8/3/2019 FPA Mark I (AIT)

    29/57

    Transaction Function Points

    Transactions are the data that do the processing in the application

    Transaction Function Points are contributed by External Inputs (EI)

    External Outputs (EO)

    External Inquiries (EQ)

    Two inputs required FTR File Type Referenced

    DET Data Element Type

  • 8/3/2019 FPA Mark I (AIT)

    30/57

    FTR File Type Referenced

    FTR

    File Type Referenced by a transaction

    Must also be an ILF or EIF

    FTR Counting Rules

    Count a FTR for each ILF maintained

    Count only one FTR for each ILF maintained and read in

    the transaction

  • 8/3/2019 FPA Mark I (AIT)

    31/57

    External Inputs to the application (EI)

    Related group of user data or control information that enters theboundary of the application. Ex: Maintenance screen(Add/Modify/Delete/View), Transactions input from various users,Control Inputs

    May maintain one or more Internal Logical Files (ILFs)

    Is an elementary process in which the data crosses the boundaryfrom outside to inside. This data may come from a data inputscreen, electronically or another application. The data can be eithercontrol information or business information. If the data is business

    information, it is used to maintain one or more internal logical files.If the data is control information, it does not have to updateinternal logical file.

    External Inputs (EI) Contd

  • 8/3/2019 FPA Mark I (AIT)

    32/57

    External Inputs (EI) Contd

    Related group of user data or control information that enters theboundary of the application. Ex: Maintenance screen(Add/Modify/Delete/View), Transactions input from various users,

    Control Inputs

    May maintain one or more Internal Logical Files (ILFs)

    EI Id ifi i R l

  • 8/3/2019 FPA Mark I (AIT)

    33/57

    EI Identification Rules

    Each unique class of batch transaction is counted as 1 inputtype, even if many different classes come inside one filestructure. These could be different record formats.

    Add, modify and Delete will be 3 inputs

    Dont count multiple occurrences of the same unique logical

    data item more than once, eg. Repeating rows on a screen

    Count data items not displayed but created as a result ofinput (error messages, confirmation messages, calculatedfields etc)

    Dont count static information such as constants, screenprompts etc

    E t l I t (EI) C St d

  • 8/3/2019 FPA Mark I (AIT)

    34/57

    External Inputs (EI) Case Study

    EI DET FTR (File typeReferenced)

    Weight

    Add customer Name, Address, Amount due, Errormessage

    Customer 3

    Change customerdata

    Name, Address, Amount due, Owner,Error message

    Customer,Item

    4

    Delete customer Name, Address, Amount due, Errormessage

    Customer,Item

    3

    Receive payment Amount due, Error message Customer 3

    Deposit item Description, Pallets, Value, Storage date,Owner, Storage place, Error message

    Customer, Item, Place 6

    Retrieve item Amount due, Description, Pallets, Value,Storage date, Owner, Storage place,Error message

    Customer,Item

    4

    Add place Location, Space, Error message Place 3

    Change place data Location, Space, Storage place, Errormessage

    Place, Item 3

    Delete place Location, Space, Error message Place, Item 3

    Total 32

    E t l O t t t th li ti (EO)

  • 8/3/2019 FPA Mark I (AIT)

    35/57

    External Outputs to the application (EO)

    Related group of user data or control information that leavesthe boundary of the application. Ex: Customer Invoice (Pre-formatted o/p), Reports to printer or other media, O/P to

    other applications. May be generated using Internal Logical Files (ILFs)

    An elementary process in which derived data passes acrossthe boundary from inside to outside. The data createsreports or output files sent to other applications. Thesereports or files are created from one or more internal logicalfiles and external interface file.

    E t l O t t t th li ti (EO)

  • 8/3/2019 FPA Mark I (AIT)

    36/57

    External Outputs to the application (EO)

    Rules The processing logic must contain at least one mathematical formula or

    calculation or create derived data

    It uses at least one ILF or EIF

    Each unique batch transaction type being sent to another application iscounted as 1 type

    Each medium output is counted as 1 EO

    Multiple occurrences of the same unique logical data item are not becounted more than once (repeating rows)

    Static information or system generated information like reportheadings, data / time stamps, automatic page numbers are not counted

    Treat each output as separate if format or processing logic is different

    Do not count enquiry outputs

    Classify the EOs as Simple, Average, Complex Based on no. of data elements

    No. of data groups involved

    Cl ifi ti f M 1

  • 8/3/2019 FPA Mark I (AIT)

    37/57

    Classification of Messages 1

    Error messages

    Employee not found

    Pin code is missing

    Confirmation messages

    Wait. Search is on

    Neither of these types of messages is treated as an EO

    They are treated as data elements (DET) for the appropriatetransaction

    Cl ifi ti f M 2

  • 8/3/2019 FPA Mark I (AIT)

    38/57

    Classification of Messages 2

    Notification Messages

    Processing completed successfully

    insufficient funds in account

    Notification message is a business type message

    It is the basis of processing and a conclusion being drawn

    A notification message is treated as an EO

    E t l O t t C St d

  • 8/3/2019 FPA Mark I (AIT)

    39/57

    External Outputs- Case Study

    EO DET FTR Weight

    Printcustomeritem list

    Name, Description,Value, Storage date,Total items, Total value

    Customer,Item

    7

    Print bill Name, Address, Amountdue, Total items

    Customer,Item

    7

    Print storeditems list

    Description, Pallets,Storage place, Totalitems

    Item 5

    Total 19

    External Inquiries (EQ)

  • 8/3/2019 FPA Mark I (AIT)

    40/57

    External Inquiries (EQ)

    Related group of user data or control information that enters theboundary of the application and generates an output. Ex: Userrequest to display specific set of data, Help request and answer.

    May be generated using Internal Logical Files (ILFs)

    Is an elementary process with both input and output componentsthat result in data retrieval from one or more internal logical files

    and external interface files. This information is sent outside theapplication boundary. The input process does not update anyinternal logical files and output side does not contain derived data.

    External Inquiries (EQ)

  • 8/3/2019 FPA Mark I (AIT)

    41/57

    External Inquiries (EQ)

    Rules

    An EQ is made up of input and output

    It requests immediate retrieval of data and does not result in

    any updates of ILF

    EQ may use one or more ILF / EIF

    An EQ can not have calculated or derived data

    No ILF is maintained in the process

    Treat each enquiry as separate if format or processing logic is

    different

    Do not double count with Inputs/Outputs

    Classify the EQs as Simple, Average, Complex

    Based on no. of data elements

    No. of data groups involved

    External Inquiries (EQ) Case Study

  • 8/3/2019 FPA Mark I (AIT)

    42/57

    External Inquiries (EQ) Case Study

    EQ DET FTR Weight

    Querycustomers

    I/P: Name, error messageO/P: Name, address, Amountdue

    Customer 3

    Querycustomer'sitems

    I/P: Name, error messageO/P: Name, Description,Pallets, Value, Storage date

    Customer,Item

    6

    Queryplaces

    I/P: Location, Error MessageO/P: Location, Space

    Place 3

    Query

    storeditems

    I/P: Location, Error Message

    O/P: Location, Space,Description, Pallets

    Place,

    Item

    6

    Total 18

    Compute Unadjusted Function Points (UFP)

  • 8/3/2019 FPA Mark I (AIT)

    43/57

    Compute Unadjusted Function Points (UFP)

    Compute the unadjusted function points using followingweights

    Item Number Points Total

    External Inputs x 3

    x 4

    x 6

    External Outputs x 4

    x 5

    x 7

    External Inquiries x 3

    x 4

    x 6

    Internal Logical Files x 7

    x 10

    x 15

    External Interfaces x 5

    x 7x 10

    Compute UFP Case Study

  • 8/3/2019 FPA Mark I (AIT)

    44/57

    Compute UFP Case Study

    Item Total Weight

    External Inputs (EI) 32

    External Outputs (EO) 19

    External Inquiries (EQ) 18

    Internal Logical Files (ILF) 30

    External Interfaces (EIF) 0

    Total (UFP) 99

    Compute Degree of Influence

  • 8/3/2019 FPA Mark I (AIT)

    45/57

    Compute Degree of Influence

    Compute the degree of influence / General

    System Characteristics (GSCs)

    NO. DI Factors Degree of Influence

    (DI)

    Remarks

    1 Data Communications

    2 Distributed Data Processing

    3 Performance

    4 Heavily Used Configuration

    5 Transaction Rate

    6 On-line Data Entry

    7 End-User Efficiency

    8 On-line Update

    9 Complex Processing

    10 Reusability

    11 Installation Ease12 Operational Ease

    13 Multiple Sites

    14 Facilitate Change

    Total degree of Influence (TDI)

    Compute Technical Complexity Adjustment (TCA)

  • 8/3/2019 FPA Mark I (AIT)

    46/57

    Compute Technical Complexity Adjustment (TCA)

    Compute the Technical Complexity Adjustment using thefollowing formula:

    TCA = 0.65 + 0.01 * TDI

    Case Study:

    TCA = 0.65 + 0.01 * TDI

    = 0.65+0

    = 0.65

    Compute Function Point Index (FPI)

  • 8/3/2019 FPA Mark I (AIT)

    47/57

    Compute Function Point Index (FPI)

    Compute the Function Point Index (Size) using the followingformula

    FPI = UFP * TCA

    Add contingency factor

    Case Study:

    FPI = UFP * TCA

    = 99*0.65

    = round(64.35)

    = 65

    Compute Efforts

  • 8/3/2019 FPA Mark I (AIT)

    48/57

    Compute Efforts

    Productivity ratio

    No. of hours per function point Past data from Organizations

    Reference Table

    Sr. Environment User Interface Hours/Function Points(Industry Standard)

    1. RDBMS(Oracle/Informix/Ingres)

    Character Based 8 hours per function point2. RDBMS

    (Oracle/Informix/Ingres)GUI based 12 hours per function point

    3. COBOL Character Based 22 hours per Function Pointfor total efforts

  • 8/3/2019 FPA Mark I (AIT)

    49/57

    Rules of thumb (Person Days to Person Months)

    8 hours per day

    20 days per month

    240 days per year

    Mapping the efforts on to Schedule

  • 8/3/2019 FPA Mark I (AIT)

    50/57

    Mapping the efforts on to Schedule

    Analysis 15%

    High Level Design 15%

    Low Level Design 10%

    Coding 35%

    Unit Testing 11%

    Integration & System Testing 10%

    Project Management 4%

    Customer Acceptance Testing At actuals

    Implementation At actuals

    Warranty Support At actuals

    Function Points for Enhancements

  • 8/3/2019 FPA Mark I (AIT)

    51/57

    Function Points for Enhancements

    Function Points for enhancements Contd

  • 8/3/2019 FPA Mark I (AIT)

    52/57

    Function Points for enhancements Contd

    Total Unadjusted FP before enhancements (UFP_tot_bef)

    Total Unadjusted FP for changed functions before(UFP_chg_bef)

    Total Unadjusted FP for deleted functions before(UFP_del_bef)

    Technical Complexity Adjustment before (TCA_bef)

    Total Unadjusted FP for changed functions after(UFP_chg_aft)

    Total Unadjusted FP for functions added (UFP_add)

    Technical Complexity Adjustment after (TCA_aft)

    FPI = (UFP_add * TCA_aft) + 0.5 * (UFP_chg_aft * TCA_aft) +

    0.25 * (UFP_del_bef * TCA_bef) +

    (UFP_tot_bef - UFP_chg_bef - UFP_del_bef) *

    (ABS(TCA_aft - TCA_bef)

    Quick FPA

  • 8/3/2019 FPA Mark I (AIT)

    53/57

    Quick FPA

    Carried out at a very early stage of the project

    May be at the time of proposal preparation stage

    Carried out because

    Lack of time

    Lack of information

    Assumptions Difference between High and Low is not much, hence

    average is used for calculation

    Use a judgment call for overall complexity

    Quick FPA - Calculation

  • 8/3/2019 FPA Mark I (AIT)

    54/57

    Quick FPA Calculation

    Identify and count EIs, EOs, EQs, ILFs and EIFs

    Do not count RETs, DETs and FTRs

    Classify all functions as average

    To calculate unadjusted function points, use the coefficients

    EI 4 EO 5

    EQ 4

    ILF 10

    EIF 7

    VAF = 0.65 to 1.35

    FPC = UFC * VAF

    Quick FPA - Accuracy

  • 8/3/2019 FPA Mark I (AIT)

    55/57

    Quick FPA Accuracy

    With all information Quick FPA gives a result which is + / -10 % of detailed FPA

    It is INEFFECTIVE if used by persons who do not haveexpertise in detailed FPA

    Case Study

  • 8/3/2019 FPA Mark I (AIT)

    56/57

    Case Study

    Download following documents and calculate function points

    Useful Sites/Contact Details

  • 8/3/2019 FPA Mark I (AIT)

    57/57

    Useful Sites/Contact Details

    http://kms.techmahindra.com:6040/Pages/OrganizationalAssets.aspx

    www.dacs.dtic.mil (Data & Analysis center for software)

    www.ifpug.org (International Function Point User Group)

    www.softwaremetrics.com

    ftp://ftp.cms.livjm.ac.uk/pub/General/fpa.doc (Worddocument)

    http://ourworld.compuserve.com/homepages/softcomp/fpfaq.htm (FAQ)

    For queries, please contact Estimation Focus Group

    http://kms.techmahindra.com:6040/Pages/OrganizationalAssets.aspxhttp://kms.techmahindra.com:6040/Pages/OrganizationalAssets.aspxhttp://kms.techmahindra.com:6040/Pages/OrganizationalAssets.aspxhttp://kms.techmahindra.com:6040/Pages/OrganizationalAssets.aspx

Recommended