7 Measuring internal product attributes: size


A. Törn - Contents - - Previous chapter - Next chapter - - Previous page - Next page

7.4 Functionality, COCCOMO 2.0 object points

To compute object points, an initial size measure is generated by counting the number of screens, reports, and third-generation language components, defined in a standard way (ICASE), that will be involved in the application. Next, each object is classified as simple, medium, or difficult, see Table 7.8 and Table 7.9.

As with function points, the weighted instances are summed to yield a single object-point number. Then, assuming that r % of the objects will be rused from previous projects, the number of new object points is obtained as

New op = op (100 - r )/100

7.4 Functionality, specification weight

Specification weight, formerly bang metrics, involve two metrics; for function strong and for data strong systems. The function bang metric is based on the number of functional primitives (that is the number of lowest level bubbles) in a data flow diagram. The basic functional-primitive count is weighted according to the type of functional primitive and the number of data tokens used by the primitive. The data bang measure is based on the number of entities in the entity-relationship model. The basic entity count is weighted according to the number of relationships involving each entity.

The measures have not been subjected to any independent validation. However, they are likely to become more important now that CASE tools can generate the values automatically.

7.5 Complexity, problem and algorithmic

Problem complexity and algorithmic complexity measures the use of resources (time and space) needed to solve some class of problems, eg. sorting n records. For sorting, the time complexity of the problem is O(n logn), which means that no algorithm can have lower time complexity than O(n logn). Heapsort is an example of a sorting algorithm that is optimal in the sense of meting this lowest bound.