98
Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004

Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

Embed Size (px)

Citation preview

Page 1: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

Planning a software project:

Function point analysis.

José Onofre Montesa AndrésUniversidad Politécnica de

ValenciaEscuela Superior de Informática Aplicada

2003-2004

Page 2: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 2

Function point analysis.

• ... Is an accepted standard for the measurement of software.– IFPUG (International Function Point Users

Group).– CPM 4.0 de 1994 (Counting Practice

Manual)

• Initially introduced by Albrecht of IBM in 1979.

• ¿How measure software?

Page 3: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 3

Function point analysis.

• Can be used in the initial development stages.

• It’s based fundamentally on “external” characteristics of the software to be developed.

• Two types of characteristics are sized:– Functionality. (data and transactional)– General system characteristics.

Page 4: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 4

Counting Procedure.

Determine Type of Count

Identify Counting Boundary

Count Data Function

Types

Count Transactional

Function Types

Determine Unadjusted

Function Point Count

Determine Value

Adjustment Factor

Calculate Final Adjusted

Function Point Count

Page 5: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 5

Requirements

Initial Design

Detail Design

Coding

Testing Implementation Maintenance

Function Point Count

Function Point Count

Function Point Count

Function Point Count

Function Point Count

Determine Type of Count.

• There are three types:– Development project function point

count– Enhancement project function point

count– Application function point count

• In development could occur ...

Page 6: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 6

Identify Counting Boundary

• The function point counting boundary indicates the border between the project or application being measured and the external applications or user domain.

• Purpose:• The scope of the product being measured • Data ownership required for function point counting

(owned by one application and/or another)• Processing relationships required for function point

counting (where processing occurs and purpose)..

Page 7: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 7

Identify Counting Boundary

• Rules:• The boundary is determined based on the

user's point of view. The focus is on what the user can understand and describe.

• The boundary between related applications is based on separate business functions as seen by the user, not on technological concerns.

• For enhancement projects, the initial boundary must conform to the boundaries already established for the application or applications being modified.

Page 8: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 8

Identify Counting Boundary

• Procedures:– Identify the application or project

boundary using the boundary rules.. – Document the following items:

• The boundary identified• The purpose of the count• Any assumptions that the count is based on

Page 9: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 9

Identify Counting Boundary

DISTRIBUTOR

CLIENT

MANAGER

ZipiZape Kiosk

System

Clients

Distributor_ Dialog

Client_ Dialog

Manager_Dialog

Page 10: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 10

Unadjusted Function Point

Unadjusted Function Point

Data Function Types

Transactional Function Types

Internal Logical Files

External Logical Files

External Inputs

External Outputs

External Inquires

Page 11: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 11

Count Data Function Types

• Internal Logical Files• An internal logical file (ILF) is a user identifiable

group of logically related data or control information maintained within the boundary of the application.

• External Interface Files• An external interface file (EIF) is a user

identifiable group of logically related data or control information referenced by the application, but maintained within the boundary of another application. This means an EIF counted for an application must be an ILF in another application.

Page 12: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 12

Definitions for Embedded Terms in ILFs and EIFs.

• Control Information– data used by the application to ensure

compliance with business function requirements specified by the user.

• User Identifiable– requirements that an experienced user

would define for the application.

Page 13: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 13

Definitions for Embedded Terms in ILFs and EIFs.

• Maintained• Ability to modify data through an elementary

process.

• Elementary Process– the smallest unit of activity that is

meaningful to the end user in the business.

– This elementary process must be self-contained and leave the business of the application being counted in a consistent state

Page 14: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 14

Internal Logical Files (ILF)

• User identifiable group logical related data o control information.

• It’s different:– Work files, spool files,...– Files introduced

because of technology.

• Data is maintained by the application being counted.

Page 15: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 15

ILF Identification Rules

– The group of data or control information is a logical, or user identifiable, group of data that fulfills specific user requirements.

– The group of data is maintained within the application boundary.

– The group of data is modified, or maintained, through an elementary process of the application.

– The group of data identified has not been counted as an EIF for the application.

Page 16: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 16

DIAGRAMA DE CONTEXTO

External Interface Files (EIF)

• Data acceded by the application with a unique objective: obtaining information.

• Are maintained by other applications

• This application never actualizes it.

Page 17: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 17

EIF Identification Rules

– The group of data or control information is a logical, or user identifiable, group of data that fulfills specific user requirements.

– The group of data is referenced by, and external to, the application being counted.

– The group of data is not maintained by the application being counted.

– The group of data is counted as an ILF for at least one other application.

– The group of data identified has not been counted as an ILF for the application.

Page 18: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 18

Record Element Number of Data Element Type (DET)

Type (RET) 1 to 19 DET 20 to 50 DET 51 or more DET

1 RET Low Low Average

2 a 5 RET Low Average High

6 or more RET Average High High

Files Complexity

Page 19: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 19

Data Element Type (DET)

• Definition: is a unique user recognizable, nonrecursive field on the ILF or EIF.

• DET Rules– Count a DET for each unique user recognizable,

nonrecursive field on the ILF or EIF.– Count a DET for each piece of data in an ILF or

EIF that exists because the user requires a relationship with another ILF to be maintained.

Page 20: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 20

DET Rules

• Count the following physical implementation techniques as a single DET for the entire group of fields:– Fields that appear more than once in an

ILF or EIF because of technology or implementation techniques.

– Repeating fields that are identical in format and exist to allow for multiple occurrences of a data value.

Page 21: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 21

Record Element Type (RET)

• Definition: is a user recognizable subgroup of data elements within an ILF or EIF.

• There are two types of subgroups:– Optional: user has the option of using one or none.

– Mandatory: user must use at least one of the subgroups.

• RET Rules– Count each optional or mandatory subgroup.– If there are no subgroups, count the ILF or EIF

as one RET.

Page 22: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 22

ILF, EIF Contribution.

• Internal logical file (ILF)– Low 7 Unadjusted Function Points.– Average 10 Unadjusted Function Points.– High 15 Unadjusted Function Points.

• External Interface Files (ILF)– Low 5 Unadjusted Function Points.– Average 7 Unadjusted Function Points.– High 10 Unadjusted Function Points.

Page 23: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 23

Transactional Function Types

• Transactional function types represent the functionality provided to the user for the processing of data by an application. Transactional function types are defined as external inputs (EIs), external outputs (EOs), and external inquiries (EQs).

Page 24: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 24

External input (EI)

• Processes data or control information that comes from outside the application's boundary. The external input itself is an elementary process.

• The processed data maintains one or more ILFs. The processed control information may or may not maintain an ILF.

Page 25: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 25

Definitions for Processing Logic

• Processing logic is defined as any of the following requirements specifically requested by the user to complete an elementary process: – Edits, algorithms, or

calculations– A reference to or use of

an ILF or EIF

Page 26: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 26

(EI) Identification Rules

• To identify external inputs, look for data or control information that falls within the definition of an external input. The rules are presented in the following paragraphs as– Data counting rules– Control information processing rules.

Page 27: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 27

Data Counting Rules (must apply)

• The data is received from outside the application boundary.

• The data in an ILF is maintained through an elementary process of the application.

• The process is the smallest unit of activity that is meaningful to the end user in the business.

• The process is self-contained and leaves the business of the application being counted in a consistent state.

• For the identified process, one of the rules must apply:– Processing logic is unique from other external inputs for the

application.– The data elements identified are different from other external

inputs for the application.

Page 28: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 28

Control Information Processing Rules (must

apply )• The control information is received from outside the application boundary.

• The information is specified by the user to ensure compliance with business function requirements.

• For the identified process, one of the following two rules must apply:– Processing logic is unique from other external

inputs for the application.– The data elements identified are different from

other external inputs for the application.• The processed control information may or may not

maintain an ILF.

Page 29: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 29

Complexity and Contribution Definitions and Rules (EI)

• The number of external inputs and their relative functional complexity determine the contribution to the unadjusted function point count. Assign each identified EI a functional complexity based on the number of file types referenced (FTRs) and data element types (DETs).

Page 30: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 30

FTR (file types referenced )

• A file type referenced is:– An internal logical file read or maintained by a

function type– An external interface file read by a function type.

• The rules to apply when counting FTRs:– Count a file type referenced for each internal logical file (ILF)

maintained.– Count a file type referenced for each internal logical file (ILF)

or external interface file (EIF) read during the processing of the external input.

– Count only one FTR for each ILF that is both maintained and read by the external input.

Page 31: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 31

DET (data element type )

• is a unique user recognizable, nonrecursive field maintained on an internal logical file by the external input.

• The rules to apply when counting DETs:– Count a DET for each user recognizable,

nonrecursive field maintained on an ILF by an external input.

– Count a DET for each field that is not entered by the user, but through an external input, is maintained on an internal logical file.

Page 32: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 32

The rules to apply when counting DETs (cont.):

– Count the following physical implementation techniques as a single DET for the group of fields:

• A logical field that is stored physically as multiple fields, but is required by the user as a single piece of information.

• Fields that appear more than once in an internal logical file because of technology or implementation techniques.

• Fields that indicate an error occurred during processing or confirm that processing is complete.

• Count a single DET for the capability to specify the action to be taken by the external input.

Page 33: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 33

External Input complexity (EI)

• Low 3 Unadjusted function Points

• Average 4 Unadjusted function Points• High 6 Unadjusted function

Points 1 to 4 DET 5 to 15 DET 16 or more DET

0 to 1 FTR Low Low Average

2 FTR Low Average High

3 or more FTR Average High High

Page 34: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 34

External Outputs (EO)

• is an elementary process that generates data or control information sent outside the application's boundary.

Page 35: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 35

Rules to identify external outputs (must apply )

• The process sends data or control information external to the application's boundary.

• The data or control information is sent through an elementary process of the application.

• The process is the smallest unit of activity that is meaningful to the end user in the business.

• The process is self-contained and leaves the business of the application being counted in a consistent state.

• one of the following two rules must apply:• Processing logic is unique from other external outputs.• The identified data elements are different from other

external outputs for the application.

Page 36: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 36

External Output complexity (EO)

• Low 4 Unadjusted function Points

• Average 5 Unadjusted function Points• High 7 Unadjusted function

Points 1 to 5 DET 6 to 19 DET 20 or more DET

0 to 1 FTR Low Low Average

2 or 3 FTR Low Average High

4 or more FTR Average High High

Page 37: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 37

External Inquiries (EQ)

• is an elementary process made up of an input-output combination that results in data retrieval. The output side contains no derived data. No internal logical file (ILF) is maintained during processing.

Page 38: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 38

Derived Data

• is data that requires processing other than direct retrieval and editing of information from internal logical files and/or external interface files.

• Examples include – (1) calculating an employee's monthly

salary from the hourly rate stored in an ILF

– (2) totaling the number of employees at a location.

Page 39: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 39

External Inquiry Identification Rules

• An input request enters the application boundary.

• Output results exit the application boundary.• Data is retrieved.• The retrieved data does not contain derived

data.• The input request and output results together

make up a process that is the smallest unit of activity that is meaningful to the end user.

Page 40: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 40

External Inquiry Identification Rules (cont)

• The elementary process is self-contained and leaves the business of the application being counted in a consistent state.

• The processing does not update an ILF.• For the identified process, one of the

following two rules must apply:– The processing logic on the input or output side is

unique from other external inquiries in the application.

– The data elements making up the input or output side are different from other external inquiries in the application.

Page 41: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 41

External Inquiry complexity (EQ)

• Assign each identified EQ a functional complexity based on the number of file types referenced (FTRs) and data element types (DETs) for each input and output component.

• Use the higher of the two functional complexities for either the input or output side of the inquiry to translate the external inquiry to unadjusted function points.

• Use the same values as in the EI (3,4,6).

Page 42: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 42

Low Average High Totals

Num. Num. Num.

I LFs * 7 * 10 * 15

ELFs * 5 * 7 * 10

EI s * 3 * 4 * 6

EOs * 4 * 5 * 7

EQs * 3 * 4 * 6

Total Unadjusted Function Point Count (UFP)

Unadjusted Function Point Count Calculation

Page 43: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 43

General System Characteristics

• The user function delivered by information systems includes pervasive general factors that are not sufficiently represented by the countable transactional and data functions.– There are fourteen (GSC).– Evaluated independently and assigned a unique

value between 0 y 5.– And integrated in the adjusted function point.

Page 44: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 44

General System Characteristics list

• 1. Data communications

• 2. Distributed data processing

• 3. Performance • 4. Heavily used

configuration• 5. Transaction rate • 6. Online data entry • 7. End-user efficiency

• 8. Online update• 9. Complex

processing • 10. Reusability • 11. Installation ease • 12. Operational ease• 13. Multiple sites• 14. Facilitate change

Page 45: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 45

General system characteristic (GSC) degrees

of Influence.• 0 Not present, or no influence • 1 Incidental influence• 2 Moderate influence• 3 Average influence• 4 Significant influence• 5 Strong influence throughout

– If none fits the application exactly, a judgment must be made to determine which degree of influence applies.

Page 46: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 46

1. Data Communications

• The data and control information used in the application are sent or received over communication facilities.– Terminals connected locally to

the control unit are considered to use communication facilities.

– Protocol is a set of conventions which permit the transfer or exchange of information between two systems or devices. All data communication links require some type of protocol.

Page 47: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 47

Descriptions to Determine Degree of Influence

0 Application is pure batch processing or a standalone PC.

1 Application is batch but has remote data entry or remote printing.

2 Application is batch but has remote data entry and remote printing.

Page 48: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 48

Descriptions to Determine Degree of Influence

3 Application includes online data collection or TP (teleprocessing) front end to a batch process or query system.

4 Application is more than a front-end, but supports only one type of TP communications protocol.

5 Application is more than a front-end, and supports more than one type of TP communications protocol.

Page 49: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 49

2. Distributed Data Processing

• Distributed data or processing functions are a characteristic of the application within the application boundary.

Page 50: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 50

Descriptions To Determine Degree of Influence

0 Application does not aid the transfer of data or processing function between components of the system.

1 Application prepares data for end user processing on another component of the system such as PC spreadsheets and PC DBMS.

2 Data is prepared for transfer, then is transferred and processed on another component of the system (not for end-user processing).

Page 51: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 51

Descriptions to Determine Degree of Influence

3 Distributed processing and data transfer are online and in one direction only.

4 Distributed processing and data transfer are online and in both directions.

5 Processing functions are dynamically performed on the most appropriate component of the system.

Page 52: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 52

3. Performance

• Application performance objectives, stated or approved by the user, in either response or throughput, influence (or will influence) the design, development, installation, and support of the application.

Page 53: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 53

Descriptions To Determine Degree of Influence

0 No special performance requirements were stated by the user.

1 Performance and design requirements were stated and reviewed but no special actions were required.

2 Response time or throughput is critical during peak hours. No special design for CPU utilization was required. Processing deadline is for the next business day.

Page 54: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 54

Descriptions to Determine Degree of Influence

3 Response time or throughput is critical during all business hours. No special design for CPU utilization was required. Processing deadline requirements with interfacing systems are constraining.

4 In addition, stated user performance requirements are stringent enough to require performance analysis tasks in the design phase.

5 In addition, performance analysis tools were used in the design, development, and/or implementation phases to meet the stated user performance requirements.

Page 55: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 55

4. Heavily Used Configuration

• A heavily used operational configuration, requiring special design considerations, is a characteristic of the application. For example, the user wants to run the application on existing or committed equipment that will be heavily used.

Page 56: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 56

Descriptions To Determine Degree of Influence

0 No explicit or implicit operational restrictions are included.

1 Operational restrictions do exist, but are less restrictive than a typical application. No special effort is needed to meet the restrictions.

2 Some security or timing considerations are included.

3 Specific processor requirements for a specific piece of the application are included.

Page 57: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 57

Descriptions to Determine Degree of Influence

4 Stated operation restrictions require special constraints on the application in the central processor or a dedicated processor.

5 In addition, there are special constraints on the application in the distributed components of the system.

Page 58: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 58

5. Transaction Rate

• The transaction rate is high and it influenced the design, development, installation, and support of the application.

Tiempo

Núm

ero

Tra

nsa

ccio

nes

Page 59: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 59

Descriptions To Determine Degree of Influence

0 No peak transaction period is anticipated.

1 Peak transaction period (e.g., monthly, quarterly, seasonally, annually) is anticipated.

2 Weekly peak transaction period is anticipated.

3 Daily peak transaction period is anticipated.

Page 60: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 60

Descriptions to Determine Degree of Influence

4 High transaction rate(s) stated by the user in the application requirements or service level agreements are high enough to require performance analysis tasks in the design phase.

5 High transaction rate(s) stated by the user in the application requirements or service level agreements are high enough to require performance analysis tasks and, in addition, require the use of performance analysis tools in the design, development, and/or installation phases.

Page 61: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 61

6. Online Data Entry

• Online data entry and control functions are provided in the application.

Page 62: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 62

Descriptions To Determine Degree of Influence

0 All transactions are processed in batch mode.1 1% to 7% of transactions are interactive data

entry.2 8% to 15% of transactions are interactive data

entry.3 16% to 23% of transactions are interactive

data entry.4 24% to 30% of transactions are interactive

data entry.5 More than 30% of transactions are interactive

data entry.

Page 63: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 63

7. End-User Efficiency

• The online functions provided emphasize a design for end-user efficiency.

Page 64: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 64

The design includes:

• Navigational aids (for example, function keys, jumps, dynamically generated menus)

• Menus• Online help and documents• Automated cursor movement• Scrolling• Remote printing (via online

transactions)• Preassigned function keys• Batch jobs submitted from

online transactions• Cursor selection of screen

data

• Heavy use of reverse video, highlighting, colors underlining, and other indicators

• Hard copy user documentation of online transactions

• Mouse interface• Pop-up windows.• As few screens as possible to

accomplish a business function• Bilingual support (supports two

languages; count as four items)• Multilingual support (supports

more than two languages; count as six items)

Page 65: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 65

Descriptions To Determine Degree of Influence

0 None of the above.1 One to three of the above.2 Four to five of the above.3 Six or more of the above, but there

are no specific user requirements related to efficiency.

Page 66: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 66

Descriptions to Determine Degree of Influence

4 Six or more of the above, and stated requirements for end-user efficiency are strong enough to require design tasks for human factors to be included (for example, minimize key strokes, maximize defaults, use of templates).

5 Six or more of the above, and stated requirements for end-user efficiency are strong enough to require use of special tools and processes to demonstrate that the objectives have been achieved.

Page 67: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 67

8. Online Update

• The application provides online update for the internal logical files.

Page 68: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 68

Descriptions To Determine Degree of Influence

0 None.1 Online update of one to three control

files is included. Volume of updating is low and recovery is easy.

2 Online update of four or more control files is included. Volume of updating is low and recovery easy.

3 Online update of major internal logical files is included.

Page 69: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 69

Descriptions to Determine Degree of Influence

4 In addition, protection against data lost is essential and has been specially designed and programmed in the system.

5 In addition, high volumes bring cost considerations into the recovery process. Highly automated recovery procedures with minimum operator intervention are included.

Page 70: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 70

9. Complex Processing

• Complex processing is a characteristic of the application. – Sensitive control (special audit processing) and/or

application specific security processing– Extensive logical processing– Extensive mathematical processing– Much exception processing resulting in incomplete

transactions that must be processed again, (incomplete ATM transactions caused by TP interruption, missing data values, or failed edits)

– Complex processing to handle multiple input/output possibilities (multimedia, or device independence)

Page 71: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 71

Descriptions To Determine Degree of Influence

• 0 None of the above.• 1 Any one of the above.• 2 Any two of the above.• 3 Any three of the above.• 4 Any four of the above.• 5 All five of the above.

Page 72: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 72

10. Reusability

• The application and the code in the application have been specifically designed, developed, and supported to be usable in other applications.

Page 73: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 73

Descriptions To Determine Degree of Influence

0 No reusable code.1 Reusable code is used within the

application.2 Less than 10% of the application

considered more than one user's needs.

3 Ten percent (10%) or more of the application considered more than one user's needs.

Page 74: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 74

Descriptions to Determine Degree of Influence

4 The application was specifically packaged and/or documented to ease re-use, and the application is customized by the user at source code level.

5 The application was specifically packaged and/or documented to ease re-use, and the application is customized for use by means of user parameter maintenance.

Page 75: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 75

11. Installation Ease

• Conversion and installation ease are characteristics of the application. A conversion and installation plan and/or conversion tools were provided and tested during the system test phase.

Antiguo Nuevo

Page 76: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 76

Descriptions To Determine Degree of Influence

0 No special considerations were stated by the user, and no special setup is required for installation.

1 No special considerations were stated by the user but special setup is required for installation.

2 Conversion and installation requirements were stated by the user, and conversion and installation guides were provided and tested. The impact of conversion on the project is not considered to be important.

Page 77: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 77

Descriptions To Determine Degree of Influence

3 Conversion and installation requirements were stated by the user, and conversion and installation guides were provided and tested. The impact of conversion on the project is considered to be important.

4 In addition to 2 above, automated conversion and installation tools were provided and tested.

5 In addition to 3 above, automated conversion and installation tools were provided and tested.

Page 78: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 78

12. Operational Ease

• Operational ease is characteristic of the application. Effective start-up, back-up, and recovery procedures were provided and tested during the system test phase. The application minimizes the need for manual activities, such as tape mounts, paper handling, and direct on-location manual intervention.

Page 79: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 79

Descriptions To Determine Degree of Influence

• 0 No special operational considerations – normal back-up procedure.

• 1 - 4 One, some, or all items apply.– Effective start-up, back-up, and recovery processes

were provided, but operator intervention is required.– Effective start-up, back-up, and recovery processes

were provided, but no operator intervention is required (count as two items).

– The application minimizes the need for tape mounts.– The application minimizes the need for paper

handling.

Page 80: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 80

Descriptions To Determine Degree of Influence

5 The application is designed for unattended operation. Unattended operation means no operator intervention is required to operate the system other than to start up or shut down the application. Automatic error recovery is a feature of the application.

Page 81: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 81

13. Multiple Sites

• The application has been specifically designed, developed, and supported to be installed at multiple sites for multiple organizations.

Page 82: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 82

Descriptions To Determine Degree of Influence

0 User requirements do not require considering the needs of more than one user/installation site.

1 Needs of multiple sites were considered in the design, and the application is designed to operate only under identical hw and sw.

2 Needs of multiple sites were considered in the design, and the application is designed to operate only under similar hw and sw.

Page 83: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 83

Descriptions To Determine Degree of Influence

3 Needs of multiple sites were considered in the design, and the application is designed to operate under different hw and sw.

4 Documentation and support plan are provided and tested to support the application at multiple sites and the application is as described by 1 or 2.

5 Documentation and support plan are provided and tested to support the application at multiple sites and the application is as described by 3.

Page 84: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 84

14. Facilitate Change

• The application has been specifically designed, developed, and supported to facilitate change.

Page 85: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 85

The following characteristics can apply for the

application:• Flexible query and report facility is provided

that can handle simple requests; for example, and/or logic applied to one ILF (count as one).

• Flexible query and report facility is provided that can handle requests of average complexity, for example, and/or logic applied to more than one ILF (count as two items).

• Flexible query and report facility is provided that can handle complex requests, for example, and/or logic combinations on one or more ILF (count as three items).

Page 86: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 86

The following characteristics can apply for the

application:• Business control data is kept in tables that

are maintained by the user with online interactive processes, but changes take effect only on the next business day.

• Business control data is kept in tables that are maintained by the user with online interactive processes, and the changes take effect immediately (count as two items).

Page 87: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 87

Descriptions To Determine Degree of Influence

0 None of the above.1 Any one of the above.2 Any two of the above.3 Any three of the above.4 Any four of the above.5 All five of the above.

Page 88: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 88

Total degree of influence (TDI)

GENERAL SYSTEM CHARACTERI STI CS DEGREE OF I NFLUENCE

1.Data Communications

2.Distributed Processing

3.Performance

4.Heavily Used Configuration

5.Transaction Rates

6.Online Data Entry

7.Design for End User Effi ciency

8.Online Update

9.Complex Processing

10. Usable in Other Applications

11. I nstallation Ease

12. Operational Ease

13. Multiple Sites

14. Facilitate Change

Total Degree of Influence (TDI )

Page 89: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 89

Total degree influence (TDI)

• Simple Batch application TDI < 15• Front end batch application: 15<

TDI<30• Interactive application: 30< TDI <45• Real time, communications, process

control: 45< TDI < 60

Page 90: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 90

Value Adjustment factor (VAF)

• General System Characteristics are summarized in the VAF.

• VAF adjust UFPC +/- 35% to produce AFP.

• VAF = (TDI * 0.01) + 0.65• 0.65 <= VAF <= 1.35

0 35 700

20

40

60

80

100

120

140

0 35 70

Page 91: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 91

calculate the three types of function point counts

• Depending on the objective of the measurement we calculate:– Development project– Enhancement project– Application

Page 92: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 92

Development Project Function Point Calculation.

• components of functionality:– Application functionality included in the user

requirements (project)– Conversion functionality included in the user

requirements (project)– Application value adjustment factor

• Function Point Formula– DFP = (UFP + CFP) * VAF

• DFP is the development project function point count• UFP is the unadjusted function point count• CFP is the function points added by the conversion UFPC• VAF is the value adjustment factor

Page 93: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 93

Enhancement Project Function Point Calculation.

• components of functionality:– Application functionality included in the

user requirements– Conversion functionality– Application value adjustment factor

Page 94: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 94

Enhancement Project Function Point Calculation.

• Function Point Formula– EFP = [(ADD + CHGA + CFP) * VAFA] + (DEL* VAFB)

• EFP is the enhancement project function point count.• ADD is the unadjusted function point count of those functions

that were added by the enhancement project.• CHGA is the UFPC of those functions that were modified by

the enhancement project. Reflects the functions after modifications.

• CFP is the function point count added by the conversion• VAFA is the VAF of the application after the enhancement

project.• DEL is the unadjusted function point count of those functions

that were deleted by the enhancement project.• VAFB is the VAF of the application before the enhancement.

Page 95: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 95

Application Function Point

• Calculation.– AFP = ADD * VAFAFP is the initial application function point

count.ADD is the unadjusted function point

count of those functions that were installed by the development project.

VAF is the value adjustment factor of the application.

Page 96: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 96

Estimating the Effort

• We need enterprise historical data• Effort = APF * Org_Average(Language)

Page 97: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 97

Historical data

Nombre Proyecto Puntos de Función Lenguaje Esfuerzo en horas

Sénia 200 COBOL 5.017

Paláncia 150 PASCAL 2.569

Turia 375 4GL 3.011

Albufera 500 PASCAL 9.479

Magro 425 4GL 3.342

Cabriel 800 PASCAL 13.349

Júcar 180 PASCAL 2.800

Serpis 325 4GL 2.541

Montnegre 225 PASCAL 4.528

Segura 470 COBOL 13.218

Page 98: Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada

GpiI-2B Planning a software project: Function point analysis. 98

Other function point uses.

• To check what the client ask for the project and delivered.

• To check different productivity levels using different tools.

• To check the quality level produced with different development techniques.