AVC and 15 Cost Driver Atributes
AVC and 15 Cost Driver Atributes
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
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)
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.
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.