December 1992 | Shyam R. Chidamber, Chris F. Kemerer
This paper presents a suite of metrics for Object-Oriented (OO) design, developed to address the need for process improvement in software development. The metrics are designed to manage the complexity and improve the quality of OO design, particularly in the context of new technologies with limited established practices. The research draws on the ontology of Bunge and evaluates the metrics against Weyuker's principles of measurement. Six design metrics are developed and evaluated, including Weighted Methods Per Class (WMC), Depth of Inheritance Tree (DIT), Number of Children (NOC), Coupling Between Objects (CBO), and Response For a Class (RFC). An automated data collection tool is used to collect empirical data from two field sites, demonstrating the feasibility and suggesting ways for managers to use these metrics for process improvement. The results show that the metrics can provide valuable insights into the complexity and design choices in OO systems, helping to identify areas for optimization and improvement.This paper presents a suite of metrics for Object-Oriented (OO) design, developed to address the need for process improvement in software development. The metrics are designed to manage the complexity and improve the quality of OO design, particularly in the context of new technologies with limited established practices. The research draws on the ontology of Bunge and evaluates the metrics against Weyuker's principles of measurement. Six design metrics are developed and evaluated, including Weighted Methods Per Class (WMC), Depth of Inheritance Tree (DIT), Number of Children (NOC), Coupling Between Objects (CBO), and Response For a Class (RFC). An automated data collection tool is used to collect empirical data from two field sites, demonstrating the feasibility and suggesting ways for managers to use these metrics for process improvement. The results show that the metrics can provide valuable insights into the complexity and design choices in OO systems, helping to identify areas for optimization and improvement.