1 Estimation Function Point Analysis December 5, 2006.

26
1 Estimation Function Point Analysis December 5, 2006

Transcript of 1 Estimation Function Point Analysis December 5, 2006.

Page 1: 1 Estimation Function Point Analysis December 5, 2006.

1

EstimationFunction Point Analysis

December 5, 2006

Page 2: 1 Estimation Function Point Analysis December 5, 2006.

2

Agenda

FPA OverviewFPA DetailHow to Count Function Points?When to Use Function Points?Quick Recap

Page 3: 1 Estimation Function Point Analysis December 5, 2006.

3

FPA Overview

What are Function Points?A standard metric for the relative size and complexity of a software system.developed by Alan Albrecht of {IBM} in the late 1970s. Functon points (FPs) can be used to estimate the relative size and complexity of software in the early stages of development - analysis and design.The size is determined by identifying the components of the system as seen by the end-user: the inputs, outputs, inquiries, interfaces to other systems, and logical internal files.The components are classified as simple, average, or complex.  All of these values are then scored and the total is expressed in Unadjusted FPs (UFPs). Complexity factors described by 14 general systems characteristics, such as reusability, performance, and complexity of processing can be used to weight the UFP.

Page 4: 1 Estimation Function Point Analysis December 5, 2006.

4

FPA DETAIL

Types of Function PointsTransaction Function Points External Inputs External outputs External Inquiries

Data Function Points Internal Logical Files External Interface Files

Page 5: 1 Estimation Function Point Analysis December 5, 2006.

5

Transaction Function Points

External InputsEI - Information that comes from outside the application to inside the application boundary.

External outputsEO - Information that crosses the boundary from inside to outside the application boundary that contains derived information or updates an internal logical file.

External InquiriesEQ - Information that crosses the boundary from inside to outside the application boundary that does not contain derived information or does not update an internal logical file.

Page 6: 1 Estimation Function Point Analysis December 5, 2006.

6

Transaction Function Points Continued…

Transaction Function Point count is based on DET’s and FTR’s

DET – Data Element TypesThe number of user-recognizable fields.

FTR – File Type ReferencedThe number of files updated or referenced.

Page 7: 1 Estimation Function Point Analysis December 5, 2006.

7

Data Function Points

Internal Logical FilesILF - a user identifiable group of logically related data that resides entirely within the applications boundary and is maintained through external inputs.

External Interface FilesEIF - a user identifiable group of logically related data that is used for reference purposes only.

Page 8: 1 Estimation Function Point Analysis December 5, 2006.

8

Data Function Points Continued…

Data Function Count is based on DET’s and RET’s

DET – Data Element TypesThe number of user-recognizable fields.

RET – Record Element TypesThe number of user-recognizable data elements in an ILF or EIF.

Page 9: 1 Estimation Function Point Analysis December 5, 2006.

9

Rating External Inputs

External Inputs (EI) - is an elementary process in which data crosses the boundary from outside to inside. This data may come from a data input screen, electronically or another application. The data can be either control 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 update an internal logical file. Rating of External Inputs is based on the number FTR’s and DET’s and is rated as low, average and high as shown in the table below.

Page 10: 1 Estimation Function Point Analysis December 5, 2006.

10

Rating External Outputs/External Inquiries

External Outputs (EO) - an elementary process in which derived data passes across the boundary from inside to outside. The data creates reports or output files sent to other applications. These reports and files are created from one or more internal logical files and external interface file. External Inquiry (EQ) - is an elementary process with both input and output components that result in data retrieval from one or more internal logical files and external interface files. This information is sent outside the application boundary. The input process does not update any Internal Logical Files and the output side does not contain derived data.

EO and EQ Table

Page 11: 1 Estimation Function Point Analysis December 5, 2006.

11

Function Count Values for transactions

An EQ is rated (Low, Average or High) like an EO, but assigned a value like an EI.

Page 12: 1 Estimation Function Point Analysis December 5, 2006.

12

External Input example

This external input would be rated as a low external input and valued at 3 unadjusted function points.

This example demonstrates an external input with 15 data elements (DET's) that creates data on one internal logical file (ILF).

Page 13: 1 Estimation Function Point Analysis December 5, 2006.

13

External Output Example

The following EO has 3 data elements (DET's) and references 4 FTR's (file types referenced) and would be rated as an Average and valued at 5 unadjusted function points.

The Amount data element is a calculated value (derived data) and you would not be find it on any FTR.  The description and due date data element (or fields) could be found on FTR's.  What makes this an EO is the calculated values.

Page 14: 1 Estimation Function Point Analysis December 5, 2006.

14

External Inquiry Example

The following EQ has 4 data elements (DET's) and references 1 FTR (file types referenced) and would be rated as a Low and valued at 3 unadjusted function points.The  Soc. Sec # is a data element that has been read from an employee file (ILF).  The name is three data elements in this case, first name, middle initial and last name.  All three DET's are needed to distinguish between employees and the SSI# is needed.  So there are four data elements on this EQ and it gets all information from one FTR (ILF).  Again, this EQ would be rated as a low and valued at 3 unadjusted function points.

Page 15: 1 Estimation Function Point Analysis December 5, 2006.

15

Rating Data Functions

Internal Logical Files (ILF) - a user identifiable group of logically related data that resides entirely within the applications boundary and is maintained through External Inputs.External Interface Files (EIF) - a user identifiable group of logically related data that is used for reference purposes only. The data resides entirely outside the application and is maintained by another application. The External Interface File is an Internal Logical File for another application. both ILF’s and EIF’s the number of record element types and the number of data elements types are used to determine a ranking of low, average or high.

Page 16: 1 Estimation Function Point Analysis December 5, 2006.

16

Function Count Values for Data Functions

Page 17: 1 Estimation Function Point Analysis December 5, 2006.

17

External Interface Example

This example combines an EQ with an EIF.  The EQ contains three (3) DET's {Zip Code, City and State} and references one FTR (Zip Code EIF).  The Zip Code information is maintained by another application.  Keep in mind, that an FTR must be either an EIF or ILF. From the perspective of the application being counted, the EIF contains three data elements {zip code, city and state}.  In actuality, the file may contain more than three data elements but we only consider the logical view from the application being counted.

Page 18: 1 Estimation Function Point Analysis December 5, 2006.

18

EIF Example …

To summarize, this example has on EIF rated low and one EQ rated low.  This is only a snapshot of the detail address information.  Of course, there would be additionally transactions and files to complete this process.Assumptions -- Beyond this example and it general,  it is safe to say that every EIF must have at least one transaction against it.  That is at least one transaction (EI, EO and EQ) should reference the EIF.

Page 19: 1 Estimation Function Point Analysis December 5, 2006.

19

Counting Unadjusted Function Points

Following Table gives us the UFP

Page 20: 1 Estimation Function Point Analysis December 5, 2006.

20

General System Characteristics

GSC 1Data communications How many communication facilities are there to aid in the transfer or

exchange of information with the application or system?

GSC 2Distributed data processing How are distributed data and processing functions handled?

GSC 3Performance Was response time or throughput required by the user?

GSC 4Heavily used configuration How heavily used is the current hardware platform where the

application will be executed?

GSC 5Transaction rate How frequently are transactions executed daily, weekly, monthly, etc.?

Page 21: 1 Estimation Function Point Analysis December 5, 2006.

21

General System Characteristics Continued…

GSC 6On-Line data entry What percentage of the information is entered On-Line?

GSC 7End-user efficiency Was the application designed for end-user efficiency?

GSC 8On-Line update How many ILF’s are updated by On-Line transaction?

GSC 9Complex processing Does the application have extensive logical or mathematical

processing?

GSC 10Reusability Was the application developed to meet one or many user’s needs?

Page 22: 1 Estimation Function Point Analysis December 5, 2006.

22

General System Characteristics Continued…

GSC 11Installation ease How difficult is conversion and installation?

GSC 12Operational ease How effective and/or automated are start-up, back-up, and

recovery procedures?

GSC 13Multiple sites Was the application specifically designed, developed, and

supported to be installed at multiple sites for multiple organizations?

GSC 14Facilitate change Was the application specifically designed, developed, and

supported to facilitate change?

Page 23: 1 Estimation Function Point Analysis December 5, 2006.

23

Adjusted Function Points

FP=VAF*UFPWhere UFP=Unadjusted Function PointsVAF = Value Adjustment Factor based on the Value of 14 general system charactersticsFP = Adjusted Function Points

VAF = 0.65 + (sum(GSC) * .01)

Page 24: 1 Estimation Function Point Analysis December 5, 2006.

24

Using Function Points to Estimate Test Cases

There is a strong relationship between the number of defects and the number of test cases and number of function points.The number of acceptance test cases can be estimated by multiplying the number of function points by 1.2.  Like function points, acceptance test cases should be independent of technology and implementation techniques.Total number of test cases will approximately equal the number of Function Points raised to the 1.2 power (FP1.2).

Total Number of Test Cases = (FP)1.2

number of acceptance test cases = 1.2xFP

Estimating DefectsIntuitively the number of maximum potential defects is equal to the number of acceptance test cases which is 1.2 x Function Points.

Page 25: 1 Estimation Function Point Analysis December 5, 2006.

25

Defect Removal Efficiency

Page 26: 1 Estimation Function Point Analysis December 5, 2006.

26

References

http://www.softwaremetrics.com/freemanual.htmhttp://www.ifpug.org/http://www.qpmg.com/fp-intro.htmhttp://www.sei.cmu.edu/str/descriptions/fpa_body.html