DOC

Function Point Counting

By Tracy Johnson,2014-11-26 11:58
8 views 0
Function Point Counting

Estimations and Metrics

    Project elements at inception

    Requirements (known/unknown)

    Problem definition

    Problem scope

    Project elements at delivery

    Code

    Documentation

    Installed COTS

    From Inception To Delivery:

    Effort -> Time -> Cost

There is a relationship between project elements at inception and

    project elements at delivery

We estimate because actuals are not available until delivery

    concludes

     1

    Inception vs. Delivery Estimation

Inception Estimation

Advantages

    Application/user oriented

    Results can be related to other projects “normalized”

Disadvantages

    Difficult to compute

    Open to interpretation

Delivery Estimation

Advantages

     Represents actual effort

     Tangible

Disadvantages

     Not normalized

     Not standardized

     Heterogeneous delivery artifacts

    Inception method: Function points Delivery method: LOC (Lines of code)

     2

Function Point Estimation

    Normalized software project metric

    Application domain rather than technical domain

    Application functions and data rather than code

International Function Point Users Group www.ifpug.org

References:

    Capers Jones: Applied Software Measurement (1997)

    Estimating Software Costs (1998)

Function Point Types

    Transaction Function Types

     External Inputs

     External Outputs

     External Inquiries

    Data Function Types

     Internal Logical Files

     External Interface Files

     3

    User Domain

    External External External Inquiry

    Output input

    External

    Interface

    File

    Internal Logical

    File External Input

    External Output

    External Inquiry

     4

Internal Logical File (ILF)

    Each major logical group of user data or application control information is one ILF. Include each logical file, or within a database, each logical group of data from the viewpoint of the user that is generated, used or maintained by the application. Count each logical group of data as viewed by the user and as defined by requirements analysis or data design rather than the actual physical files. Do not include files not accessible by the user through external output or inquiry and that are not independently maintained.

Description Count

    1. Logical entity or group of entities from the user viewpoint. (1 ILF) 2. Logical internal file generated or maintained by the application. (1 ILF) 3. User maintained table(s) or file(s) (1 ILF)

    4. File used by data or control by sequential (batch) application and maintained by the application (1 ILF)

    5. Attributive entity maintained only through main entity (0 ILF)

    6. Associative entity join or connection with only key attribute (0 ILF) 7. Intermediate or sort file (temporary file) (0 ILF)

    8. File created only because of technology used (e.g. index file) (0 ILF) 9. A master file only read by the application (0 ILF and 1 EIF)

External Interface File (EIF)

    Count each major logical group of user data or control information used by the application. This information must be maintained, however, by another application. Include each logical file or logical group of data from the viewpoint of the user. Count each major logical group of user data or control information that is extracted by the application from another application as an external interface file. The extract will not result in an update to any internal logical files. If an update occurs, count an EI not an EIF.

    1. File or records extracted from another application (used for reference only) 1 EIF 2. Data base read from other application 1 EIF

    3. Internal logical file from another application used as a transaction (0 EIF, 1 EI) 4. System HELP, security file, error file read/referenced by the application from another application where the files are actually maintained (2 EIFs)

     5

External Input (EI)

    Count each unique user data or user control input type that enters the external boundary of the application being measured, and adds, changes, deletes or otherwise alters data (e.g. assign, transfer, add, update) in an external logical file. Also count control information that enters the application boundary and assures compliance with business function specified by the user. An external input should be considered unique if the external logical design requires processing logic different from other external inputs.

1. Data screen with add, change and delete (3 EI)

    2. Multiple screens accumulated and processed as one transaction (1 EI) 3. Two data screens with different order of data, but with the same processing logic (1 EI) 4. Two data screens with the same format, but different processing logic (2 EI) 5. Data screen with multiple unique functions (1 EI per function)

    6. Automatic data or transactions from other applications (1 EI per transaction type) 7. User application control input (1 EI)

    8. Input forms (OCR) with one transaction (1 EI)

    9. An update function following a query (1 EI and 1 EQ)

    10. Individual selections on a menu screen (0 EI)

    11. Update of user maintained table or file (1 EI)

    12. PF Key duplicate of a screen already counted as input (0 EI)

    13. Light pen duplicate of a screen already counted as input (0 EI)

    14. External input types introduced only because of the technology used (0 EI) 15. Selection of a field in a list box (0 EI)

     6

External Output (EO)

    Count each unique user data or control data that leaves the external boundary of the application being measured. An external output should be considered unique if it has different data, or if the external design requires processing logic different from other external outputs. External outputs often consist of reports, outout files sent to other applications, or messages to the user.

1. Data screen output (1 EO)

    2. Batch report (1 EO)

    3,. Automatic data or transactions to other applications (1 EO)

    4. Error messages returned as a result of an input transaction (0 EO) 5. Backup files (0 EO)

    6. Output to the screen and to printer (2 EO)

    7. Output files created for technical reasons (0 EO)

    8. Bar chart as well as pie chart graphical output (2 EO)

    9. Inquiry with calculated information (1 EO, 0 EQ)

External Inquiry (EQ)

    Count each unique input/output combination, where an input causes and generates an output, as an external inquiry. An external inquiry should be considered unique if it has different data elements from other external inquiry types in its output part, or if the external design requires a processing logic different from other external inquiries.

    1. On-line input and on-line output with no update of data in files (1 EQ)

    2. Inquiry followed by an update input (1 EQ/1 EI)

    3. Help screen input and output (per level) (1 EQ)

    4. On-line input with immediate printed output of existing data and no data update

    (1 EQ)

    5. Pick list or Drop Down with dynamic data (1 EQ)

    6. Pick list or Drop Down with static data (0 EQ)

    7. Batch report request resulting in a report with no derived data (1 EQ)

     7

(Source: Jones: Estimating Software Costs)

8

(Source: Jones: Estimating Software Costs)

9

(Source: Jones: Estimating Software Costs)

10

Report this document

For any questions or suggestions please email
cust-service@docsford.com