Appendix 4-A. Function point analysis.

Download Report

Transcript Appendix 4-A. Function point analysis.

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
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?
GpiI-2B Planning a software project: Function point analysis.
1
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.
GpiI-2B Planning a software project: Function point analysis.
2
Counting Procedure.
Count Data
Function
Types
Determine
Type of
Count
Identify
Counting
Boundary
Count
Transactional
Function
Types
Determine
Value
Adjustment
Factor
Determine
Unadjusted
Function
Point Count
Calculate Final
Adjusted
Function Point
Count
GpiI-2B Planning a software project: Function point analysis.
3
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 ...
Function
Point
Count
Requirements
Function
Point
Count
Initial
Design
Detail
Design
Function
Point
Count
Coding
Testing
Function
Point
Count
Implementation
Function
Point
Count
Maintenance
GpiI-2B Planning a software project: Function point analysis.
4
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)..
GpiI-2B Planning a software project: Function point analysis.
5
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.
GpiI-2B Planning a software project: Function point analysis.
6
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
GpiI-2B Planning a software project: Function point analysis.
7
Identify Counting Boundary
MANAGER
DISTRIBUTOR
Distributor_ Dialog
Client_ Dialog
CLIENT
ZipiZape
Kiosk
System
Manager_Dialog
Clients
GpiI-2B Planning a software project: Function point analysis.
8
Unadjusted Function Point
Data
Function Types
Unadjusted
Function Point
Internal
Logical Files
External
Logical Files
External
Inputs
Transactional
Function Types
External
Outputs
External
Inquires
GpiI-2B Planning a software project: Function point analysis.
9
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.
GpiI-2B Planning a software project: Function point analysis.
10
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.
GpiI-2B Planning a software project: Function point analysis.
11
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 selfcontained and leave the business of the
application being counted in a consistent
state
GpiI-2B Planning a software project: Function point analysis.
12
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.
GpiI-2B Planning a software project: Function point analysis.
13
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.
GpiI-2B Planning a software project: Function point analysis.
14
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.
DIAGRAMA DE CONTEXTO
GpiI-2B Planning a software project: Function point analysis.
15
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.
GpiI-2B Planning a software project: Function point analysis.
16
Files Complexity
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
GpiI-2B Planning a software project: Function point analysis.
17
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.
GpiI-2B Planning a software project: Function point analysis.
18
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.
GpiI-2B Planning a software project: Function point analysis.
19
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.
GpiI-2B Planning a software project: Function point analysis.
20
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.
GpiI-2B Planning a software project: Function point analysis.
21
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).
GpiI-2B Planning a software project: Function point analysis.
22
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.
GpiI-2B Planning a software project: Function point analysis.
23
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
GpiI-2B Planning a software project: Function point analysis.
24
(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.
GpiI-2B Planning a software project: Function point analysis.
25
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.
GpiI-2B Planning a software project: Function point analysis.
26
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.
GpiI-2B Planning a software project: Function point analysis.
27
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).
GpiI-2B Planning a software project: Function point analysis.
28
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.
GpiI-2B Planning a software project: Function point analysis.
29
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.
GpiI-2B Planning a software project: Function point analysis.
30
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.
GpiI-2B Planning a software project: Function point analysis.
31
External Input complexity (EI)
• Low
• Average
• High
3 Unadjusted function Points
4 Unadjusted function Points
6 Unadjusted function Points
1 to 4 DET
5 to 15 DET 16 or more DET
0 to 1 FTR
Low
Low
2 FTR
Low
Average High
3 or more FTR
Average High
Average
High
GpiI-2B Planning a software project: Function point analysis.
32
External Outputs (EO)
• is an elementary
process that
generates data or
control information
sent outside the
application's
boundary.
GpiI-2B Planning a software project: Function point analysis.
33
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.
GpiI-2B Planning a software project: Function point analysis.
34
External Output complexity
(EO)
• Low
• Average
• High
4 Unadjusted function Points
5 Unadjusted function Points
7 Unadjusted function Points
1 to 5 DET
6 to 19 DET 20 or more DET
0 to 1 FTR
Low
Low
2 or 3 FTR
Low
Average High
4 or more FTR
Average High
Average
High
GpiI-2B Planning a software project: Function point analysis.
35
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.
GpiI-2B Planning a software project: Function point analysis.
36
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.
GpiI-2B Planning a software project: Function point analysis.
37
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.
GpiI-2B Planning a software project: Function point analysis.
38
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.
GpiI-2B Planning a software project: Function point analysis.
39
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).
GpiI-2B Planning a software project: Function point analysis.
40
Unadjusted Function Point
Count Calculation
Low
Average
High
Num.
Num.
Num.
Totals
ILFs
*7
* 10
* 15
ELFs
*5
*7
* 10
EIs
*3
*4
*6
EOs
*4
*5
*7
EQs
*3
*4
*6
Total Unadjusted Function Point Count (UFP)
GpiI-2B Planning a software project: Function point analysis.
41
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.
GpiI-2B Planning a software project: Function point analysis.
42
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
GpiI-2B Planning a software project: Function point analysis.
43
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.
GpiI-2B Planning a software project: Function point analysis.
44
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.
GpiI-2B Planning a software project: Function point analysis.
45
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.
GpiI-2B Planning a software project: Function point analysis.
46
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.
GpiI-2B Planning a software project: Function point analysis.
47
2. Distributed Data Processing
• Distributed data or processing functions
are a characteristic of the application
within the application boundary.
GpiI-2B Planning a software project: Function point analysis.
48
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).
GpiI-2B Planning a software project: Function point analysis.
49
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.
GpiI-2B Planning a software project: Function point analysis.
50
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.
GpiI-2B Planning a software project: Function point analysis.
51
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.
GpiI-2B Planning a software project: Function point analysis.
52
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.
GpiI-2B Planning a software project: Function point analysis.
53
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.
GpiI-2B Planning a software project: Function point analysis.
54
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.
GpiI-2B Planning a software project: Function point analysis.
55
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.
GpiI-2B Planning a software project: Function point analysis.
56
5. Transaction Rate
Número
Transacciones
• The transaction rate
is high and it
influenced the
design, development,
installation, and
support of the
application.
Tiempo
GpiI-2B Planning a software project: Function point analysis.
57
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.
GpiI-2B Planning a software project: Function point analysis.
58
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.
GpiI-2B Planning a software project: Function point analysis.
59
6. Online Data Entry
• Online data entry
and control functions
are provided in the
application.
GpiI-2B Planning a software project: Function point analysis.
60
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.
GpiI-2B Planning a software project: Function point analysis.
61
7. End-User Efficiency
• The online functions
provided emphasize a
design for end-user
efficiency.
GpiI-2B Planning a software project: Function point analysis.
62
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)
GpiI-2B Planning a software project: Function point analysis.
63
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.
GpiI-2B Planning a software project: Function point analysis.
64
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.
GpiI-2B Planning a software project: Function point analysis.
65
8. Online Update
• The application
provides online
update for the
internal logical files.
GpiI-2B Planning a software project: Function point analysis.
66
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.
GpiI-2B Planning a software project: Function point analysis.
67
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.
GpiI-2B Planning a software project: Function point analysis.
68
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)
GpiI-2B Planning a software project: Function point analysis.
69
Descriptions To Determine
Degree of Influence
•
•
•
•
•
•
0
1
2
3
4
5
None of the above.
Any one of the above.
Any two of the above.
Any three of the above.
Any four of the above.
All five of the above.
GpiI-2B Planning a software project: Function point analysis.
70
10. Reusability
• The application and the code in the
application have been specifically
designed, developed, and supported to
be usable in other applications.
GpiI-2B Planning a software project: Function point analysis.
71
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.
GpiI-2B Planning a software project: Function point analysis.
72
Descriptions to Determine
Degree of Influence
4
5
The application was specifically packaged
and/or documented to ease re-use, and the
application is customized by the user at
source code level.
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.
GpiI-2B Planning a software project: Function point analysis.
73
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
GpiI-2B Planning a software project: Function point analysis.
74
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.
GpiI-2B Planning a software project: Function point analysis.
75
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.
GpiI-2B Planning a software project: Function point analysis.
76
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 onlocation manual intervention.
GpiI-2B Planning a software project: Function point analysis.
77
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.
GpiI-2B Planning a software project: Function point analysis.
78
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.
GpiI-2B Planning a software project: Function point analysis.
79
13. Multiple Sites
• The application has
been specifically
designed, developed,
and supported to be
installed at multiple
sites for multiple
organizations.
GpiI-2B Planning a software project: Function point analysis.
80
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.
GpiI-2B Planning a software project: Function point analysis.
81
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.
GpiI-2B Planning a software project: Function point analysis.
82
14. Facilitate Change
• The application has
been specifically
designed, developed,
and supported to
facilitate change.
GpiI-2B Planning a software project: Function point analysis.
83
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).
GpiI-2B Planning a software project: Function point analysis.
84
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).
GpiI-2B Planning a software project: Function point analysis.
85
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.
GpiI-2B Planning a software project: Function point analysis.
86
Total degree of influence (TDI)
GENERAL SYSTEM CHARACTERISTICS DEGREE OF INFLUENCE
1.Data Communications
2.Distributed Processing
3.Performance
4.Heavily Used Configuration
5.Transaction Rates
6.Online Data Entry
7.Design for End User Efficiency
8.Online Update
9.Complex Processing
10. Usable in Other Applications
11. Installation Ease
12. Operational Ease
13. Multiple Sites
14. Facilitate Change
Total Degree of Influence (TDI)
GpiI-2B Planning a software project: Function point analysis.
87
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
GpiI-2B Planning a software project: Function point analysis.
88
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
140
120
100
80
60
40
20
0
0
35
70
GpiI-2B Planning a software project: Function point analysis.
89
calculate the three types of
function point counts
• Depending on the objective of the
measurement we calculate:
– Development project
– Enhancement project
– Application
GpiI-2B Planning a software project: Function point analysis.
90
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
GpiI-2B Planning a software project: Function point analysis.
91
Enhancement Project Function
Point Calculation.
• components of functionality:
– Application functionality included in the
user requirements
– Conversion functionality
– Application value adjustment factor
GpiI-2B Planning a software project: Function point analysis.
92
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.
GpiI-2B Planning a software project: Function point analysis.
93
Application Function Point
• Calculation.
– AFP = ADD * VAF
AFP 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.
GpiI-2B Planning a software project: Function point analysis.
94
Estimating the Effort
• We need enterprise historical data
• Effort = APF * Org_Average(Language)
GpiI-2B Planning a software project: Function point analysis.
95
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
GpiI-2B Planning a software project: Function point analysis.
96
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.
GpiI-2B Planning a software project: Function point analysis.
97