Object-Oriented Metrics for Evaluating Software Complexity
Keywords:
Object-oriented metrics, software complexity, coupling, cohesion, inheritance depth, class complexity, maintainability, software quality.Abstract
Object-oriented metrics are important for evaluating software complexity because object-oriented systems often contain many interacting classes, methods, inheritance structures, interfaces, and dependency relationships. As software grows, excessive coupling, low cohesion, deep inheritance, large class size, and complex method behavior can make the system difficult to understand, test, modify, and maintain. Traditional complexity evaluation may focus mainly on lines of code or defect counts, but these measures do not fully capture design-level complexity in object-oriented applications. This article focuses on object-oriented metrics for evaluating software complexity by examining measures such as coupling between objects, lack of cohesion, depth of inheritance tree, number of children, weighted methods per class, and response for a class. The study discusses how these metrics can identify structurally complex modules, support refactoring decisions, and help developers control design degradation. The article concludes that object-oriented metrics provide a practical basis for measuring complexity, improving maintainability, reducing defect risk, and supporting long-term software quality.