Traditionally, software has been designed using a top-down hierarchy of functional units. The emphasis of measurement for functionally developed software has centered around the four common categories of size, coupling, cohesion, and complexity.
In the last decade, object-oriented development has become the predominant methodology for developing software. Here software systems are developed as structured collections of abstract data type implementations. Though certain aspects of traditional software measures can be applied to object-oriented software, by and large the measurements lose their original intent and are therefore no longer applicable. The chief reason being that the properties and relationships among object-oriented software are fundamentally different from those of functionally developed software. Object-oriented software utilizes the principles of localization, encapsulation, information hiding, inheritance, and abstraction. The fundamental module in object-oriented systems is the class. These classes may inherit state information and relevant operations from other classes, enabling designers to extend the definition of a class to form a new, related class.
This presentation will describe measures that can be used during development of object-oriented modules to help identify those that may be error-prone or may require additional testing to achieve quality goals needed by an organization.
Created Feb 5, 2001