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

## Presentation on theme: "Systems analysis and design copyright m.a.walkley 2001 Function Point Analysis Estimating."— Presentation transcript:

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 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 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.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 (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 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 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, 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 items n i –Number of output data items n o –Number of entities read/updated n e Add these up for the whole system, giving: –Number of input data items N i –Number of output data items N o –Number of entities read/updated N e

systems analysis and design copyright m.a.walkley 2001 Function Point Counting Requirementinputsoutputsentity accesses A11024 A21036 A31251 A410 9 A54105 A62692 A75118 A81445 A92274 A10664 A11997 A123245 Ni = 120No = 120Ne = 60

systems analysis and design copyright m.a.walkley 2001 Calculating the System Size The system size in ‘unadjusted’ function points is given by: UFP = 0.58 * N i + 0.26 * N o + 1.66 * N e 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 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 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 for a development using 3GL (p) Productivity in a 4GL environment (p) 100.106.169 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 copyright m.a.walkley 2001 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 EffortElapsed Time Requirements Analysis11%20% Requirements Specification11%15% Logical System Specification5% Physical Design10% Code and Unit Testing46%25% System Test12%15% Implementation5%10%

systems analysis and design copyright m.a.walkley 2001 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 full discussion

systems analysis and design copyright m.a.walkley 2001 Function Point Counting Requirementinputsoutputsentity accesses A11024 A21036 A31251 A410 9 A54105 A62692 A75118 A81445 A92274 A10664 A11997 A123245 Ni = 120No = 120Ne = 60

systems analysis and design copyright m.a.walkley 2001 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