0% found this document useful (0 votes)
1 views9 pages

AVC and 15 Cost Driver Atributes

The document provides a comprehensive list of function point values for various programming languages, detailing the lines of code per function point (LOC/FP) for each language. It also outlines 15 cost driver attributes that assess various factors affecting software development, such as reliability, complexity, execution time constraints, and programmer capability. Each attribute is rated on a scale from Very Low to Extra High, helping to evaluate the overall effort and resources required for software projects.

Uploaded by

mis2021190009
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views9 pages

AVC and 15 Cost Driver Atributes

The document provides a comprehensive list of function point values for various programming languages, detailing the lines of code per function point (LOC/FP) for each language. It also outlines 15 cost driver attributes that assess various factors affecting software development, such as reliability, complexity, execution time constraints, and programmer capability. Each attribute is rated on a scale from Very Low to Extra High, helping to evaluate the overall effort and resources required for software projects.

Uploaded by

mis2021190009
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Function Point Values

Language Value(LOC/FP)
Ada 83 71
AI Shell 49
APL 32
Assembly, Basic 320
Assembly, Macro 213
Basic, ANSI 64
Basic, Compiled 49
Basic, Interpreted 32
C 128
Cobol 85, ANSI 91
First Generation 320
Forth 49
Fortran77 107
Fourth Generation 20
Fifth Generation 5
High Level 91
Lisp 64
Modula 2 80
Object Oriented 29
Pascal 91
Procedural 105
PowerBuilder 16
Prolog 64
Query Default 13
Report Generator 80
Second Generation 107
Spreadsheet Default 6
Third Generation 80
Machine Code 640
Access 38
Ada 95 49
C++ 53
Database Default 40
Fortran 95 71
HTML 3.0 15
Java 53
Perl 21
Visual Basic 5.0 29
Visual C++ 34
Simulation Default 46
UNIX Shell 21
USR_1 1
USR_2 1
USR_3 1
USR_4 1
USR_5 1

The 15 Cost Driver Attributes


1) Required Reliability
This reflects the extent that a software product can be expected to perform its
intended functions satisfactorily. The rating can be determined from the list below
or from a list of Software Development Activity Differences due to required
reliability.

 Very Low: The effect of a software failure is simply the inconvenience


incumbent on the developers to fix the fault.
 Low: The effect of a software failure is a low level, easily-recoverable loss to
users.
 Nominal: The effect of a software failure is a moderate loss to users, but a
situation for which one can recover without extreme penalty.
 High: The effect of a software failure can be a major financial loss or a
massive human inconvenience.
 Very High: The effect of a software failure can be the loss of human life.
 Extra High: No rating - defaults to Very High.

2) Database Size
This is the relative database size to be developed where size refers to the
amount of data to be assembled and stored in non-main storage:
D/P = (Database size in bytes or characters) / (Program size in SLOC)

 Very Low: No rating - defaults to Low.


 Low: D/P < 10
 Nominal: 10 <= D/P <= 100
 High: 100 <= D/P <= 1000
 Very High: D/P > 1000
 Extra High: No rating - defaults to Very High.

3) Product Complexity
Complexity is assessed as the subjective average of four types of control
functions: control, computation, device-dependent, or data management
operations.

- Control Operations
Very Low: Straight-line code with a few non-nested structured programming
operations: DOs, CASEs, IF-THEN-ELSEs. Simple predicates.
Low: Straight forward nesting of structured programming operators. Mostly
simple predicates.
Nominal: Mostly simple nesting. Some intermodule control. Decision tables.
High: Highly nested structured programming operators with many
compound predicates. Queue and stack control. Considerable intermodule
control.
Very High: Reentrant and recursive coding. Fixed-priority interrupt handling.
Extra High: Multiple resource scheduling with dynamically changing
priorities. Microcode-level control.
- Computational Operations:
Very Low: Evaluation of simple expressions: e.g. A = B + C x (D - E).
Low: Evaluation of moderate level expressions, e.g. D = sqrt(B^2 - 4.0 x A x
C).
Nominal: Use of standard math and statistical routines. Basic matrix and
vector operations.
High: Basic numerical analysis: multivariate interpolation, ordinary
differential equations. Basic truncation, roundoff concerns.
Very High: Difficult but structured numerical analysis: near-singular matrix
equations, partial differential equations.
Extra High: Difficult and unstructured numerical analysis: highly accurate
analysis of noisy, stochastic data.
- Device-Dependent Operations
Very Low: Simple read and write statements with simple formats.
Low: No cognizance needed of particular processor or I/O device
characteristics. I/O done at GET/PUT level. No cognizance of overlap.
Nominal: I/O processing includes device selection, status checking and error
processing.
High: Operations at the physical I/O level (physical storage address
translations; seeks, reads, etc). Optimized I/O overlap.
Very High: Routines for interrupt diagnosis, servicing, masking.
Communication line handling.
Extra High: Device timing-dependent coding, microprogrammed operations.
- Data Management Operations
Very Low: Simple arrays in main memory.
Low: Single file sub-setting with no data structure changes, no edits, no
intermediate files.
Nominal: Multi-file input and single file output. Simple structural changes,
simple edits.
High: Special purpose subroutines activated by data steam contents.
Complex data restructuring at the record level.
Very High: A generalized, parameter-driven file structuring routine. File
building, command processing, search optimization.
Extra High: Highly coupled, dynamic relational structures. Natural language
data management.
4) Execution Time Constraint
This reflects the degree of execution time constraint imposed upon a software
product. The rating is expressed in terms of available execution time expected to
be used.

 Very Low: No rating - defaults to Nominal.


 Low: No rating - defaults to Nominal.
 Nominal: <= 50% use of available execution time
 High: 70% use of available execution time
 Very High: 85% use of available execution time
 Extra High: 95% use of available execution time

5) Main Storage Constraint


This reflects the percentage of main storage expected to be used by the
software product and any subsystems consuming the main storage resources. Main
storage refers to direct random access storage such as disks, tapes, or optical
drives.

 Very Low: No rating - defaults to Nominal.


 Low: No rating - defaults to Nominal.
 Nominal: <= 50% use of available storage
 High: 70% use of available storage
 Very High: 85% use of available storage
 Extra High: 95% use of available storage

6) Virtual Machine Volatility


This reflects the level of volatility of the virtual machine underlying the
software product to be developed. The virtual machine is defined as the complex
of hardware and software the product will call upon to accomplish its tasks. The
ratings are defined in terms of the relative frequency of major and minor changes:
Major change:
significantly affects roughly 10% of routines under development.
Minor change:
significantly affects roughly 1% of routines under development.
 Very Low: No rating - defaults to Low.
 Low: Major change every 12 months
 Nominal: Major change every 6 months; Minor: 2 weeks
 High: Major: 2 months; Minor: 1 week.
 Very High: Major: 2 weeks; Minor: 2 days.
 Extra High: No rating - defaults to Very High.

7) Computer Turnaround Time


This reflects the level of computer response time experienced by the project
team developing the software product. The response time is the average time from
when the developer submits a job to be run until the results are back in the
developer's hands (hey - quit laughing - that was important back then).

 Very Low: No rating - defaults to Low.


 Low: Interactive.
 Nominal: Avg turnaround time < 4 hours.
 High: 4 - 12 hours.
 Very High: > 12 hours.
 Extra High: No rating - defaults to Very High

8) Analyst Capability
Analysts participate in the development and validation of requirements and
preliminary design specifications. They consult on detailed design and code
activities. They are heavily involved in integration and test. The ratings for analyst
capability are expressed in terms of percentiles with respect to the overall
population of software analysts. The major attributes to be considered are ability,
efficiency, thoroughness, and the ability to communicate and cooperate. This
evaluation should not include experience (that is captured in other factors) and
should be based on the capability of the analysts as a team rather than individuals.

 Very Low: 15th percentile


 Low: 35th percentile
 Nominal: 55th percentile
 High: 75th percentile
 Very High: 90th percentile
 Extra High: No rating - defaults to Very High.
9) Applications Experience
This represents the level of equivalent applications experience of the project
team developing the software product.

 Very Low: <= 4 month experience.


 Low: 1 year of experience.
 Nominal: 3 years of experience.
 High: 6 years of experience.
 Very High: 12 years of experience
 Extra High: No rating - defaults to Very High.

10) Programmer Capability


This represents the capability of the programmers who will be working on the
software product. The ratings are expressed in terms of percentiles with respect to
the overall population of programmers. The major factors which should be
considered in the rating are ability, efficiency, thoroughness, and the ability to
communicate and cooperate. The evaluation should not consider the level of
experience of the programmers (it is covered by other factors) and it should be
based on the capability of the programmers as a team rather than as individuals.

 Very Low: 15th percentile


 Low: 35th percentile
 Nominal: 55th percentile
 High: 75th percentile
 Very High: 90th percentile
 Extra High: No rating - defaults to Very High.

11) Virtual Machine Experience


This represents the experience the project team with the complex of hardware
and software that the software product calls upon to accomplish its tasks, e.g.
computer, operating system, and/or database management system (the
programming language is not considered as part of the virtual machine).

 Very Low: <= 1 month experience.


 Low: 4 months of experience.
 Nominal: 1 year of experience.
 High: 3 years of experience.
 Very High: No rating - defaults to High.
 Extra High: No rating - defaults to High.

12) Programming Language Experience


This represents the level of programming language experience of the project
team developing the software project. The ratings are defined in terms of the
project team's equivalent duration of experience with the programming language
to be used.

 Very Low: <= 1 month experience.


 Low: 4 months of experience.
 Nominal: 1 year of experience.
 High: 3 years of experience.
 Very High: No rating - defaults to High.
 Extra High: No rating - defaults to High.

13) Use of Modern Programming Practices


This represents the degree to which modern programming practices are used in
developing the software. Specific practices included here are:

1. Top-down requirements analysis and design


2. Structured design notation
3. Top-down incremental development
4. Design and code walkthroughs or inspections
5. Structured code
6. Program librarian

 Very Low: No use.


 Low: Beginning use.
 Nominal: Some use.
 High: General use.
 Very High: Routine use.
 Extra High: No rating - defaults to Very High.

14) Use of Software Tools


This represents the degree to which software tools are used in developing the
software product.
 Very Low: Basic tools, e.g. assembler, linker, monitor, debug aids.
 Low: Beginning use of more productive tools, e.g. High-Order Language
compiler, macro assembler, source editor, basic library aids, database aids.
 Nominal: Some use tools such as real-time operating systems, database
management system, interactive debuggers, interactive source editor.
 High: General use of tools such as virtual operating systems, database design
aids, program design language, performance measurement and analysis aids,
and program flow and test analyzer.
 Very High: General user of advanced tools such as full programming support
library with configuration management aids, integrated documentation
system, project control system, extended design tools, automated
verification system.
 Extra High: No rating - defaults to Very High.

15) Schedule Constraint


This represents the level of constraint imposed on the project team developing
a software product. Ratings are defined in terms of the percentage of schedule
stretch-out or acceleration with respect to a nominal schedule for a project
requiring a given amount of effort.

 Very Low: 75% of Nominal.


 Low: 85% of Nominal.
 Nominal: 100%
 High: 130% of Nominal.
 Very High: 160% of Nominal.
 Extra High: No rating - defaults to Very High.

You might also like