Function Point Analysis Estimating systems analysis and design

  • Slides: 20
Download presentation
Function Point Analysis Estimating systems analysis and design copyright m. a. walkley 2001

Function Point Analysis Estimating systems analysis and design copyright m. a. walkley 2001

Overview of this week’s lecture • The purpose of Function Point Analysis • Inputs

Overview of this week’s lecture • The purpose of Function Point Analysis • Inputs to FPA • Using FPA to calculate effort, time and headcount systems analysis and design copyright m. a. walkley 2001

Coursework Three • Attendance required at tutorials in week 11 and 12 • Weeks

Coursework Three • Attendance required at tutorials in week 11 and 12 • Weeks 9 and 10: work individually on Booking Functions for a theatre booking system • Week 11: you will be put in groups. Each group member will briefly present and explain their work • Weeks 11 and 12: you will put your best ideas together and develop a single answer to the problem • Deliverables: window specifications consisting of low-fidelity prototypes I. e. rough sketches/designs of the windows that support booking of tickets systems analysis and design copyright m. a. walkley 2001

Function Point Analysis • Qualitative method of estimating development time and effort • c.

Function Point Analysis • Qualitative method of estimating development time and effort • c. f. estimating by analogy • Function Point Analysis is a way of measuring the size of a project in terms of its functionality • The size of each function can be measured in terms of number of input data items, number of output data items and number of entities involved systems analysis and design copyright m. a. walkley 2001

Estimating with FPA • How long will it take to deliver the proposed system

Estimating with FPA • How long will it take to deliver the proposed system (elapsed time)? • How many person-hours will be involved (effort)? • What is the ideal size of team (headcount)? systems analysis and design copyright m. a. walkley 2001

Relationship with Other Techniques • Function Point Analysis works well with the products of

Relationship with Other Techniques • Function Point Analysis works well with the products of Investigation: – functional requirements – data flow models – logical data model • will be more accurate as the project goes on e. g. if we use: – function definitions – logical data model systems analysis and design copyright m. a. walkley 2001

Simple Update Function • Record New Supplier – Input data items: Supplier Name Supplier

Simple Update Function • Record New Supplier – Input data items: Supplier Name Supplier Address Supplier Post Code – Output data items Supplier Number (system generated) – Entities referenced: Supplier systems analysis and design copyright m. a. walkley 2001

A more complex update function • Place Purchase Order: – Input data items: Date,

A more complex update function • Place Purchase Order: – Input data items: Date, Supplier Number, Product Code Quantity Required Date Required – Output data items: PO Number (system generated) – Entities referenced: Product, Purchase Order Supplier, Purchase Order Item systems analysis and design copyright m. a. walkley 2001

Calculating the System Size • For each function count: – Number of input data

Calculating the System Size • For each function count: – Number of input data items ni – Number of output data items no – Number of entities read/updated ne • Add these up for the whole system, giving: – Number of input data items Ni – Number of output data items No – Number of entities read/updated Ne systems analysis and design copyright m. a. walkley 2001

Function Point Counting Requirement A 1 A 2 A 3 A 4 A 5

Function Point Counting Requirement A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 A 9 A 10 A 11 A 12 systems analysis and design inputs outputs entity accesses 10 10 1 10 4 26 5 14 22 6 9 3 Ni = 120 2 3 25 10 10 9 11 4 7 6 9 24 No = 120 4 6 1 9 5 2 8 5 4 4 7 5 Ne = 60 copyright m. a. walkley 2001

Calculating the System Size • The system size in ‘unadjusted’ function points is given

Calculating the System Size • The system size in ‘unadjusted’ function points is given by: UFP = 0. 58 * Ni + 0. 26 * No + 1. 66 * Ne • This figure is then adjusted to take account of the technical complexity of the project System Size S = TCF * UFP For the most straight-forward projects use an adjustment of 65% I. e S = 0. 65 * UFP systems analysis and design copyright m. a. walkley 2001

Calculating Effort • To calculate effort in hours - I. e. the number of

Calculating Effort • To calculate effort in hours - I. e. the number of hours of human effort required to develop the system – use: E = S/p • Where p = productivity • This assumes that the system is on-line, add 50% for off-line systems • How do we know what figure to use for productivity? systems analysis and design copyright m. a. walkley 2001

Productivity • Use ‘industry standard’ tables • Or collect data over a number of

Productivity • Use ‘industry standard’ tables • Or collect data over a number of projects for your own organisation • Note that we measure productivity in function points per hour systems analysis and design copyright m. a. walkley 2001

System Size (S) Productivity in a 4 GL environment (p) 100 Productivity for a

System Size (S) Productivity in a 4 GL environment (p) 100 Productivity for a development using 3 GL (p). 106 200 . 116 . 185 300 . 119 . 191 400 . 117 . 187 500 . 109 . 174 600 . 098 . 156 700 . 085 . 137 800 . 074 . 118 900 . 065 . 104 1000 . 058 . 093 1100 . 055 . 088 1200 . 054 . 087 systems analysis and design . 169 copyright m. a. walkley 2001

Calculate Elapsed Time • To calculate the elapsed time – I. e. the time

Calculate Elapsed Time • To calculate the elapsed time – I. e. the time in weeks between initiation and delivery – use: Weeks = 2. 22 * S systems analysis and design copyright m. a. walkley 2001

Effort, Elapsed Time and the SDLC Effort Elapsed Time Requirements Analysis 11% 20% Requirements

Effort, Elapsed Time and the SDLC Effort Elapsed Time Requirements Analysis 11% 20% Requirements Specification 11% 15% Logical System Specification 5% 5% Physical Design 10% Code and Unit Testing 46% 25% System Test 12% 15% Implementation 5% 10% systems analysis and design copyright m. a. walkley 2001

Calculate Headcount • To calculate the headcount – I. e. the number of people

Calculate Headcount • To calculate the headcount – I. e. the number of people working on the project – use: H = (0. 044 * effort)/weeks systems analysis and design copyright m. a. walkley 2001

References • Weaver, Chapter on Business Systems Options • See Drummond 1992 for a

References • Weaver, Chapter on Business Systems Options • See Drummond 1992 for a full discussion systems analysis and design copyright m. a. walkley 2001

Function Point Counting Requirement A 1 A 2 A 3 A 4 A 5

Function Point Counting Requirement A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 A 9 A 10 A 11 A 12 systems analysis and design inputs outputs entity accesses 10 10 1 10 4 26 5 14 22 6 9 3 Ni = 120 2 3 25 10 10 9 11 4 7 6 9 24 No = 120 4 6 1 9 5 2 8 5 4 4 7 5 Ne = 60 copyright m. a. walkley 2001

Effort, time and headcount • UFP = 0. 58 x 120 + 0. 26

Effort, time and headcount • UFP = 0. 58 x 120 + 0. 26 x 120 + 1. 66 x 60 = 200 • S = 0. 65 x 200 = 130 • Weeks = 2. 22 * S = 2. 22 * 130 25 weeks • Effort = S/p = 130/0. 109 1192 hours • Headcount = (0. 044 * effort)/weeks = (0. 044 * 1192)/25 2 systems analysis and design copyright m. a. walkley 2001