Sei sulla pagina 1di 10

Function Point Counting Guidelines

All the attributes involved in FP count should always be seen from the user point of view.

ILF/EIF Identification Rules ILF


An Internal Logical File (ILF) is a user identifiable group of logically related data or control information maintained within the boundary of the application. The primary intent of an ILF is to hold data maintained through one or more elementary processes of the application being counted.

EIF
An External Interface File (EIF) is a user identifiable group of logically related data or control information referenced by an application, but maintained within the boundary of another application. The primary intent of an EIF is to hold data referenced through one or more elementary processes within the boundary of the application counted. This means an EIF counted for an application must be in an ILF in another application.

Control Information
Control Information is the data that influences an elementary process of the application being counted. It specifies what, when, or how data is to be processed. In other words, the behavior of an application, when being executed, can be controlled by means of contorl information.

User Identifiable
The term User Identifiable refers to defined requirements for processes and/or groups of data that are agreed upon, and understood by, both the user(s) and software developer(s).

Logical
The basic definition of an ILF or EIF maps them to a logical implementation of a file. Do not confuse this with the physical implementation of an existing data model in an RDBMS system. You should identify an ILF or EIF based on user view and ensure it is a logical implementation only. Do not map an ILF or EIF to a table in an RDBMS system without checking the basic rule.

Maintained
The term maintained is the ability to modify data through an elementary process. Examples include, but are not limited to, adding, changing, deleting, populating, revising, updating, assigning, and creating data. Each of these terms (adding, changing, and so forth) requires a different set of elementary processes. Rule The group of data or control information is logical and user identifiable The group of data is maintained through an elementary process within the ILF Y Y EIF Y N

application boundary being counted The group of data is referenced by, and is external to, the application being counted The group of data is not maintained by the application being counted The group of data is maintained in an ILF of another application N N N Y Y Y

An ILF or EIF may appear repeatedly in multiple sections of the same application during the counting process. Ensure that once a specific, identified ILF or EIF is defined and recorded, any subsequent appearance of the same ILF or EIF should be ignored. Duplicate counting of the same ILF or EIF will lead to erroneous FP count. For example, an ILF for employee data may appear in the employee data update module as well as in the employee job maintenance module. Count the employee ILF only once. But if in the event of multiple occurrences of the same ILF you find that the data element information varies, take the maximum data element count.

ILFs that are generally included


Any application data that is maintained by an external transaction like employee, invoice, inventory, payroll, banking, accounts, etc. Online help data maintained within the application Control information maintained within the application Error logs and audit data maintained within the application All files that are identified and approved by the user

ILFs that are generally excluded


Sort files, temporary files, work files, indexes, and similar files that are purely envisioned by the programmer from the design perspective. They are intended to enhance the performance of the application View or join files introduced due to design/build requirements Files not maintained by the application being counted and those being used for reference only Files that are set up to track and monitor transactions from beginning to endS

RET/DET Identification Rules DET


Rule 1: Count a DET for each unique user recognizable, non-repeated field maintained in or retrieved from the ILF or EIF through the execution of an elementary process. In simple terms, it is a field within a record of a file or a column in a database table or file. But it should be recognized by the user. Rule 2: When tow applications maintain and/or reference the same ILF/EIF, but each maintains/references separate DETs, count only the DETs being used by each application to size the ILF or EIF. Rule 3: Count a DET for each piece of data required by the user to establish a relationship with another ILF or EIF.

RET
A record element type (RET) is a user-recognizable subgroup of data elements within an ILF or EIF. Rule 1: Count a RET for each optional or mandatory subgroup of the ILF or EIF Rule 2: If there are no subgroups, count the ILF or EIF as one RET

Elementary Process Identification Rules


Identification Rule The process is the smallest unit of activity that is meaningful to the user The proecess is self-contained and leaves the business of the application in a consistent state The primary intent of an elementary process is to maintain an ILF or alter the behavior of the system The processing logic of the elementary process contains at least mathematical formula or calculation The processing logic of the elementary process alters the behavior of the system The primary intent of the elementary process is to present information to the user Is the data moving in from outside to inside (or vice versa) the application boundary? An ILF is maintained by the elementary process EI Y Y Y NA Y N Y Y EO Y N N Y Y/N Y Y Y/N EQ Y N N N N Y Y N

DET and FTR Identification Rules


Identification Rule Count an FTR for each ILF maintained Count an FTR for each EIF referenced Count one DET for each user-recognizable, non-repeated field that enters or exits the application boundary and is required to complete the input/output/query process Count one DET for each message sent (Eg. Error/Confirmation message) Count one DET for each action button EI Y Y Y Y Y EO Y Y Y Y Y EQ NA Y Y Y Y

General System Considerations


GSC-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. Rule Application is pure batch processing or a stand-alone PC Application is batch but has remote data entry or remote printing Application is batch but has remote data entry and remote printing Application includes online data collection or TP (teleprocessing) front-end to a batch process or query system Application is more than a front-end, but supports only one type of TP communications protocol Application is more than a front-end, and supports more than one type of TP communications protocol Influence 0 1 2 3 4 5

GSC-2: Distributed Data Processing


Distributed Data Processing describes the degree to which the application transfers data among components of the application. Rule Application does not aid the transfer of data or processing functions between components of the system Application prepares data for user processing on another component of the system such as PC spreadsheets and PC DBMS Data is prepared for transfer; then it is transferred and processed on another component of the system (not for end-user processing) Distributed processing and data transfer are online and in one direction only Distributed processing and data transfer are online and in both directions Processing functions are dynamically performed on the most appropriate component of the system Influence 0 1 2 3 4 5

GSC-3: Performance
Performance describes the degree to which response time and throughput performance considerations influenced the application development. 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. Rule No special performance requirements were stated by the user Performance and design requirements were stated and reviewed but no special actions were required 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. 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 Stated user requirements are stringent enough to require performance analysis tasks in the design phase Performance analysis tools were used in the design, development, and/or implementation phases to meet the stated user performance requirements Influence 0 1 2 3 4 5

GSC-4: Heavily Used Configuration


Heavily Used Configuration describes the degree to which computer resource restrictions influenced the development of the application. Rule No explicit or implicit operational restrictions are included Operational restrictions do exist, but are less restrictive than a typical application. No special effort is needed to meet the restrictions Some security or timing considerations are included Specific processor requirements for a specific piece of the application are included Stated operation restrictions require special constraints on the application in the central processor or a dedicated processor There are specail constraints on the application in the distributed components of the system Influence 0 1 2 3 4 5

GSC-5: Transaction Rate


Transaction Rate describes the degree to which the rate of business transactions influenced the development of the application. Rule No peak transaction period is anticipated Peak transaction period (for example, monthly, quarterly, seasonally, annually) is anticipated Weekly peak transaction period is anticipated Daily peak transaction period is anticipated 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 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 Influence 0 1 2 3 4

GSC-6: Online Data Entry


Online Data Entry describes the degree to which data is entered through interactive transactions. Rule All transactions are processed in batch mode 1% to 7% of transactions are interactive data entry 8% to 15% of transactions are interactive data entry 16% to 23% of transactions are interactive data entry 24% to 30% of transactions are interactive data entry More than 30% of transactions are interactive data entry Influence 0 1 2 3 4 5

GSC-7: End-user Efficiency


End-User Efficiency describes the degree of consideration for human factors and ease of use for the user of the application measured. Navigational aids (for example, function keys, jumps, and dynamically generated menus) Menus Online help and documents Automated cursor movement Scrolling Remote printing via online transactions Pre-assigned 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 of 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) Rule Influence 0 1 2 3 4

None of the 16 activities 1 to 3 of the activities 4 to 5 of the activities 6 or more of the activities, but there are no specific user requirements related to efficiency 6 or more the activities, 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) 6 or more of the activities, 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

GSC-8: Online Update


Online Update describes the degree to which internal logical files are updated online. Rule None Online update of 1 to 3 control files is included. Volume of updating is low and recovery is easy Oneline update of 4 or more controls files included. Volume of updating is low and recovery is easy Online update of major internal logical files is included Protection against data loss is essential and has been specially designed and programmed in the system High volumes bring cost consideration into the recovery process. Highly automated recovery procedures with minimum operator intervention are included Influence 0 1 2 3 4 5

GSC-9: Complex processing


Complex processing describes the degree to which processing logic influenced the development of the application. Sensitive control (for example, 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 (for example, incomplete ATM transactions caused by TP interruption, missing data values, or failed validations) Complex processing to handle multiple input/output possibilities (for example, multimedia or device indepedence) Rule None Any one of the components Any 2 of the components Any 3 Any 4 Any 5 Influence 0 1 2 3 4 5

GSC-10: Reusability
Reusability describes the degree to which the application and the code in the application have been specifically designed, developed, and supported to be usable in other applications. Rule No reusable code Reusable code is used within the application Less than 10% of the application considered more than one user's needs 10% or more of the application considered more than one user's needs The application was specifically packaged and/or documented to ease reuse, and the application is customized by the user at source code level The application was specifically package and/or documented to ease reuse and the application is customized for use by means or user parameter maintenance Influence 0 1 2 3 4 5

GSC-11: Installation Ease


Installation Ease describes the degree to which conversion from previous environments influenced the development of the application. Rule No special consideration were stated by the user, and no special setup is required for installation No special considerations were stated by the user but special setup is required for installation 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 Conversiona dn installation requirements were stated by the user, and conversion and installation guides were provided and tested. The impact of conversion the project is considered to be important In addition to item 2, automated conversion and installation tools were provided and tested In addition to item 3, automated conversion and installation tools were provided and tested Influence 0 1 2

3 4 5

GSC-12: Operational Ease


Operational Ease describes the degree to which the application attends to operational aspects, such as start-up, back-up, and recovery processes. Rule No special operational considerations other than the normal backup procedures were stated by the user 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. Effective startup, backup, and recovery processes were provided, but operator intervention is required Effective startup, backup, 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 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 Influence 0

14

GSC-13: Multiple Sites


Multiple Sites describes the degree to which the application has been developed for multiple locations and user organizations. Rule User requirements do not require considering the needs of more than one user/installation site Needs of multiple sites were considered in the design, and the application is designed to operate only under identical hardware and/or software environments Needs of multiple sites were considered in the design, and the application is designed to operate only under similar hardware and/or software environments Needs of multiple sites were considered in the design, and the application is designed to operate under different hardware and/or software environments Documentation and support plan are provided and tested to support the application at multiple sites, and the application is as described by item 1 or item 2 Documentation and support plan are provided and tested to support the application at multiple sites and the application is as described by 3 Influence 0 1 2 3 4 5

GSC-14: Flexibility
Facilitate Change describes the degree to which the application has been developed for easy modification of processing logic or data structure. 1. Flexible query and report facility is provided that can handle simple requests; for example, and/or logic applied to only one internal logical file (count as one item). 2. Flexible query and report facility is provided that can handle requests of average complexity; for example, and/or logic applied to more than one internal logical file (count as two items) 3. Flexible query and report facility is provided that can handle complex requests; for example, and/or logic combinations on one or more internal logical files (count as three items) 4. 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 (count as one item) 5. 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). Rule None of the five characteristics A total of 1 item A total of 2 items A total of 3 items A total of 4 items A total of 5 items Influence 0 1 2 3 4 5

Potrebbero piacerti anche