FP Quick Guide Page 1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Forms of Processing Logic EI EO EQ

Transactions (EI, EO, EQ)


IFPUG 1. Validations are performed c c c
Counting Rules – EI
Function Point Analysis (FPA) v4.2 • Primary Intent: to maintain 1+ ILFs and/or to alter the behaviour of the 2. mathematical formula and calculations are performed c m* n

Quick Guide system


o The data or control information is received from outside the application boundary
3. equivalent values are converted
4. data is filtered and selected by using specified criteria to
c
c
c
c
c
c
o At least one ILF is maintained if the data entering the boundary is not control compare multiple sets of data
information that alters the behaviour of the system. 5. conditions are analyzed to determine which are applicable c c c
o For the identified process, one of the following three statements must apply: 6. at least 1 ILF is updated m*/ip m* n
§ Processing logic is unique from the processing logic performed by other EI for the 7. at least 1 ILF is referenced c c o
www.eng-it.it/spimq – [email protected] application
§ The set of data elements identified is different from the sets identified for other EI
8. data or control information is retrieved c c o
9. derived data is created c m* n
for the application 10. behaviour of the system is altered m*/pi m* n
FPA Objectives § The ILFs or EIFs referenced are different from the files referenced by other EI in the 11. prepare and present information outside the boundary c m/pi m/pi
application.
• Measure functionality that the user requests and receives 12. capability to accept data or control information that enters the m c c
• FTR Rules for EI: application boundary
• Measure software development and maintenance independently of o 1 FTR for each ILF maintained 13. re-sorting or re-arranging a set of data c c c
technology used for implementation o 1 FTR for each ILF/EIF read
o Only 1 FTR for each ILF both read and maintained
Legend: pi = primary intent; c = can perform; m = mandatory; m* = mandatory at least 1 of
Note: A functional software size measurement method measures exclusively functional issues in these forms; n = cannot perform
a software solution; ISO version of IFPUG CPM 4.1 (IS 20926:2003) explicitly excludes the usage • DET Rules for EI
of GSC and VAF. o 1 DET for each user recognizable, non-repeated field that enters or exits the application EI Complexity Table
boundary and is required to complete the EI
FTR\DET 1-4 5-15 16+
Possible Types of Count o Do not count fields that are retrieved or derived by the system and stored on an ILF
• Development Project (DFPC): It measures the functions provided to the users with the first during the elementary process if the fields did not cross the application boundary 0-1 L (3) L (3) A (4)
installation of the software delivered when the project is complete. o Only 1 DET for the capability to send a system response message outside the application 2 L (3) A (4) H (6)
• Enhancement Project (EFPC): it measures the modifications to the existing application that boundary to indicate an error occurred during processing, confirm that processing is
3+ A (4) H (6) H (6)
add, change, or delete user functions delivered when the project is complete. When the complete or verify that processing should continue
functionality from an enhancement project is installed, the application function point count o Only 1 DET for the ability to specify an action to be taken even if there are multiple EO/EQ Complexity Table
must be updated to reflect changes in the application's functionality. methods for invoking the same logical process
FTR\DET 1-5 6-19 20+
• Application Project (AFPC): it is associated with an installed application. It is also referred to 0-1 L (4/3) L (4/3) A (5/4)
Counting Rules – EO/EQ
as the baseline or installed function point count. This count provides a measure of the
current functions the application provides the user. This number is initialized when the • Primary Intent: to present information to a user 2-3 L (4/3) A (5/4) H (7/6)
development project function point count is completed. It is updated every time completion o The function sends data or control information external to the application boundary. 4+ A (5/4) H (7/6) H (7/6)
of an enhancement project alters the application's functions. o For the identified process, one of the following three statements must apply:
§ Processing logic is unique from the processing logic performed by other EO or EQ
for the application. Data (ILF, EIF)
Counting procedure - Steps § The set of data elements identified is different from the sets identified for other EO • ILF Definition
1. Determine the type of count and EQ in the application. o The group of data or control information is logical and user identifiable
2. Identify the Counting Scope and Application Boundary § The ILFs or EIFs referenced are different from the files referenced by other EO and o The group of data is maintained through an elementary process within the application
3. Count Data Functions EQ in the application. boundary being counted
4. Count Transactional Functions • Additional EO Counting Rules (at least 1):
5. Determine Unadjusted FP (UFP) • EIF Definition
o The processing logic of the elementary process contains at least 1 math formula or The group of data or control information is logical and user identifiable
6. Determine Value Adjustment Factor (VAF) calculation
o
7. Calculate Adjusted FP (AFP) o The group of data is referenced by, and external to, the application being counted
o The processing logic of the elementary process creates derived data o The group of data is not maintained by the application being counted
o The processing logic of the elementary process maintains at least one ILF The group of data is maintained in an ILF of another application
User View o The processing logic of the elementary process alters the behaviour of the system
o
• RET Rules for ILF/EIF
It represents a formal description of the user’s business needs in the user’s language. • Additional EQ Counting Rules (all): o 1 RET for each optional or mandatory subgroup of the ILF or EIF or
Developers translate the user information into information technology language in order to o The processing logic of the elementary process retrieves data or control information o If there are no subgroups, count the ILF or EIF as 1 RET
provide a solution. A function point count is accomplished using the information in a language from an ILF or EIF
that is common to both user(s) and developers. A user view: o The processing logic of the elementary process does not contain a mathematical formula
• DET Rules for ILF/EIF
• Is a description of the business functions or calculation. o 1 DET for each unique user recognizable, non-repeated field maintained in or retrieved
• Is approved by the user from the ILF or EIF through the execution of an elementary process
o The processing logic of the elementary process does not create derived data
• Can be used to count function points o The processing logic of the elementary process does not maintain an ILF o When 2 applications maintain and/or reference the same ILF/EIF, but each
• Can vary in physical form (e.g., catalogue of transactions, proposals, requirements o The processing logic of the elementary process does not alter the behaviour of the maintains/references separate DETs, count only the DETs being used by each
document, external specifications, detailed specifications, user handbook) application to size the ILF/EIF
system.
o 1 DET for each piece of data required by the user to establish a relationship with
• FTR Rules for EO/EQ:
Elementary Process (EP) o 1 FTR for each ILF/EIF read
another ILF or EIF
• It is the smallest unit of activity that is meaningful to the user(s) 1 FTR for each ILF/EIF maintained (only EO)
• It must be self-contained and leave the business of the application being counted in a
o EIF/ILF Complexity Table
o Only 1 FTR for each ILF both read and maintained (only EO)
consistent state RET\DET 1-19 20-50 51+
• DET Rules for EO/EQ:
o 1 DET for each user recognizable, non-repeated field that enters the application 1 L (5/7) L (5/7) A (7/10)
Purpose, Scope, Application Boundary boundary and is required to specify when, what and/or how the data is to be retrieved 2-5 L (5/7) A (7/10) H (10/15)
• Purpose of the count: to provide an answer to a business problem or generated by the elementary process 6+ A (7/10) H (10/15) H (10/15)
• Counting Scope: it defines the functionality which will be included in a particular function o 1 DET for each user recognizable, non-repeated field that exits the boundary
point count o If a DET both enters and exits the boundary, count it only once for the elementary
• Application Boundary: it indicates the border between the software being measured and the process General Systems Characteristics (GSC)
user o Count 1 DET for the capability to send a system response message outside the 1. Data Communication: describes the degree to which the application
• Boundary Rules: application boundary to indicate an error occurred during processing, confirm that
1. The boundary is determined based on the user's view. The focus is on what the user can processing is complete or verify that processing should continue
communicates directly with the processor
understand and describe. o Count 1 DET for the ability to specify an action to be taken even if there are multiple 0. Application is pure batch processing or a stand-alone application
2. The boundary between related applications is based on separate functional areas as methods for invoking the same logical process 1. Application is batch but has remote data entry or remote printing
seen by the user, not on technical considerations. o Do not count fields that are retrieved or derived by the system and stored on an ILF 2. Application is batch but has remote data entry and remote printing
3. The initial boundary already established for the application or applications being during the elementary process if the fields did not cross the application boundary 3. Application includes on-line data collection or TP (teleprocessing) front end to a batch
modified is not influenced by the counting scope. o Do not count literals as DETs process or query system
Note: There may be more than one application included in the counting scope. If so, multiple o Do not count paging variables or system-generated stamps 4. Application is more than a front-end, but supports only one type of TP communications
application boundaries would be identified. When the application boundary is not well-defined 5. Application is more than a front-end, and supports more than one type of TP
(such as early in analysis), it should be located as accurately as possible. Processing Logic – Possibile Forms communications protocol
5. 6+ of the above, and stated requirements for user efficiency are strong enough to require 0. No special operational considerations other than the normal back-up procedures were stated
2. Distributed Data Processing: describes the degree to which the use of special tools and processes in order to demonstrate that the objectives have been by the user
application transfers data among physical components of the application. achieved. 1 - 4 One, some, or all of the following items apply to the application. Select all that apply. Each
item has a point value of one, except as noted otherwise.
0. Data is not transferred or processed on another component of the system 16 capabilities: • Start-up, back-up, and recovery processes were provided, but human intervention is
• Navigational aids (e.g., function keys, jumps, dynamically generated menus, hyper-links)
1. Data is prepared for transfer, then is transferred and processed on another component required
• Menus
of the system, for user processing • On-line help and documents • Start-up, back-up, and recovery processes were provided, but no human intervention is
2. Data is prepared for transfer, then is transferred and processed on another component • Automated cursor movement required (count as two items)
of the system ,not for user processing • Scrolling
• The application minimizes the need for tape mounts and/or remote data access
• Remote printing (via on-line transmissions)
3. Distributed processing and data transfer are on-line and in one direction only requiring human intervention
• Pre-assigned function keys (e.g., clear screen, request help, clone screen)
4. Distributed processing and data transfer are on-line and in both directions • Batch jobs submitted from on-line transactions • The application minimizes the need for paper handling
5. Distributed processing and data transfer are on-line and are dynamically performed on • Drop down List box 5. The application is designed for unattended operation. Unattended operation means no
the most appropriate component of the system • Heavy use of reverse video, highlighting, colours, underlining, and other indicators
human intervention is required to operate the system other than to start up or shut down
• Hard-copy documentation of on-line transactions (e.g., screen print)
• Mouse interface the application. Automatic error recovery is a feature of the application
3. Performance: describes the degree to which response time and throughput • Pop-up windows
performance considerations influenced the application development. •

Templates and/or defaults
Bilingual support (supports 2 languages: count as 4 items)
13. Multiple Sites: describes the degree to which the application has been
0. No special performance requirements were stated by the user • Multi-lingual support (supports more than two languages: count as 6items) developed for different hardware and software environments..
1. Performance and design requirements were stated and reviewed but no special actions were 0. The needs of only one installation site were considered in the design
required. 1. The needs of more than one installation were considered in the design, and the application
8. Online Update: describes the degree to which internal logical files are
2. Response time or throughput is critical during peak hours. No special design for CPU is designed to operate only under identical hardware and software environments
utilization was required. Processing deadline is for the next business cycle. updated on-line.
2. The needs of more than one installation site were considered in the design, and the
3. Response time or throughput is critical during all business hours. No special design for CPU 0. None. application is designed to operate only under similar hardware and/or software
utilization was required. Processing deadline requirements with interfacing systems are 1. On-line update of one to three control files is included. Volume of updating is low and environments.
constraining recovery is easy. 3. The needs of more than one installation site were considered in the design, and the
4. In addition, stated user performance requirements are stringent enough to require 2. On-line update of four or more control files is included. Volume of updating is low and application is designed to operate under different hardware and/or software environments
performance analysis tasks in the design phase recovery is easy. 4. Documentation and support plan are provided and tested to support the application at
5. In addition, performance analysis tools were used in the design, development, and/or 3. On-line update of major internal logical files is included. multiple installation sites and the application is as described by 2
implementation phases to meet the stated user performance requirements 4. In addition, protection against data loss is essential and has been specially designed and 5. Documentation and support plan are provided and tested to support the application at
programmed in the system. multiple installation sites and the application is as described by 3.
4. Heavily Used Configuration: describes the degree to which computer 5. In addition, high volumes bring cost considerations into the recovery process. Highly
resource restrictions influenced the development of the application. automated recovery procedures with minimum human intervention are included.
14. Facilitate Change: describes the degree to which the application has been
0. No explicit or implicit operational restrictions are included developed for easy modification of processing logic or data structure
1. Operational restrictions do exist, but are less restrictive than a typical application. No special 9. Complex Processing: describes the degree to which processing logic
influenced the development of the application. The following characteristics can apply for the application:
effort is needed to meet the restrictions • Flexible query and report facility is provided that can handle simple requests (count as 1
2. Operational restrictions do exist, but are typical for an application. Special effort through Possible issues to evaluate (1 point for each selected item): item)
controllers or control programs is needed to meet the restrictions • Sensitive control and/or application-specific security processing. • Flexible query and report facility is provided that can handle requests of average complexity.
3. Stated operational restrictions require special constraints on one piece of the application in • Extensive logical processing (count as 2 items)
the central processor or a dedicated processor • Extensive mathematical processing • Flexible query and report facility is provided that can handle complex requests. (count as 3
4. Stated operational restrictions require special constraints on the entire application in the • Much exception processing, resulting in incomplete transactions that must be processed items)
central processor or a dedicated processor again. • Business control data is kept in tables that are maintained by the user with on-line
5. In addition, there are special constraints on the application in the distributed components of • Complex processing to handle multiple input/output possibilities. interactive processes, but changes take effect only on the next business cycle. (count as 1
the system. item)
10. Reusability: describes the degree to which the application and the code in • Business control data is kept in tables that are maintained by the user with on-line
5. Transaction Rate: describes the degree to which the rate of business interactive processes, and the changes take effect immediately. (count as 2 items)
the application have been specifically designed, developed, and supported to be
transactions influenced the development of the application
usable in other applications
0. No peak transaction period is anticipated
0. No reusable code.
Formula – TDI, VAF, UFP
1. Low transaction rates have minimal effect on the design, development, and installation
phases 1. Reusable code is used within the application. 5
UFP = ∑ TE i * wi
14
2. Average transaction rates have some effect on the design, development, and installation 2. Less than 10% of the application code developed is intended for use in more than one TDI = ∑ GSCi VAF = TDI * 0.01 + 0.65
phases application. i =1
3. 10% or more of the application code developed is intended for use in more than one i =1
3. High transaction rates affect the design, development, and/or installation phases.
4. High transaction rate(s) stated by the user in the application requirements or service level application. Formula – DFPC, EFPC, AFCP
agreements are high enough to require performance analysis tasks in the design, 4. The application was specifically packaged and/or documented to ease reuse, and the
development, and/or installation phases. application is customized at the source code level. • Development: DFPC = (UFP + CFP) *VAF
5. High transaction rate(s) stated by the user in the application requirements or service level 5. The application was specifically packaged and/or documented to ease reuse, and the
agreements are high enough to require performance analysis tasks and, in addition, require application is customized for use by means of user parameter maintenance. • Enhancement: EFPC = [( ADD + CHGA + CFP) *VAFA] + (DEL *VAFB)
the use of performance analysis tools in the design, development, and/or installation phases • Application: AFPC = [(UFPB + ADD + CHGA ) − (CHGB + DEL )]* VAFA
11. Installation Ease: describes the degree to which conversion from previous
6. Online Data Entry: describes the degree to which data is entered or environments influenced the development of the application.
retrieved through interactive transactions
Legend
0. No special considerations were stated by the user, and no special setup is required for • ADD: UFP of those functions that were or will be added by the enhancement project
0. All transactions are processed in batch mode. installation • CFP: UFP of those functions added by the conversion
1. 1% to 7% of transactions are interactive. 1. No special considerations were stated by the user, but special setup is required for • CHGA: UFP of those functions that were/will be modified by the enhancement project
2. 8% to 15% of transactions are interactive. installation • CHGB: UFP of those functions that were changed by the enhancement project
3. 16% to 23% of transactions are interactive. 2. Conversion and installation requirements were stated by the user, and conversion and • DEL: UFP of those functions that were deleted by the enhancement project
4. 24% to 30% of transactions are interactive. installation guides were provided and tested. The impact of conversion on the project is not • VAF: Value Adjustment Factor
5. More than 30% of transactions are interactive. considered to be important • VAFA: VAF after the enhancement project is complete
3. Conversion and installation requirements were stated by the user, and conversion and • VAFB: VAF before the enhancement project begins
7. End-User Efficiency: describes the degree of consideration for human installation guides were provided and tested. The impact of conversion on the project is • UFP: Unadjusted Function Points
considered to be important. UFPB: UFP before the enhancement project begins
factors and ease of use for the user of the application measured 4. In addition to 2 above, automated conversion and installation tools were provided and

0. None of the above tested


1. 1-3 of the above. 5. In addition to 3 above, automated conversion and installation tools were provided and
2. 4-5 of the above. tested.
3. 6+ of the above, but there are no specific user requirements related efficiency. 12. Operational Ease: describes the degree to which the application attends
4. 6+ of the above, and stated requirements for user efficiency are strong enough to require to operational aspects, such as start-up, back-up, and recovery processes
design tasks for human factors to be included

You might also like