This paper offers an overview of the state-of-the-art in OO metrics as well as some new contributions. The usefulness of metrics is reviewed. The inappropriateness of "traditional" metrics to encompass development under the OO paradigm is discussed. A framework for classifying metrics is suggested. Metrics are classified along two vectors: category and granularity. The usefulness and rationale behind each category are presented. Candidate metrics are suggested within the proposed framework. Finally, some research directions that require further effort are identified.
I -IntroductionObject-Oriented (OO) technology has been pointed out as being one of the keys for solving the software crisis problem. For the past few years we have witnessed a burst in the availability of OO analysis and design methodologies, languages, database management systems and tools. However, little work has been done in the area of management of OO software development.One of the key issues in the management of the development process is the capability to measure and record the relevant attributes of the software products and of the process itself in a structured, coherent framework. The availability of metrics helps managers in the staffing, costing, scheduling and controlling activities of the development life cycle and contributes to the overall objective of software quality. The need for software metrics is now fully recognized by the software engineering community and included in standards like the ISO 9000-3 (ISO, 1991a). This paper is organized as follows: section II reviews the reasons why metrics are needed within the software development process, when using the OO paradigm; section III introduces a classification framework for OO software metrics; section IV analyses the need for each category and introduces one possible selection of metrics; section V attempts to draw some conclusions and to suggest some research directions.