DOI QR코드

DOI QR Code

The Complexity of Object-Oriented Systems by Analyzing the Class Diagram of UML

UML 클래스 다이어그램 분석에 의한 객체지향 시스템의 복잡도 연구

  • 정홍 (계명대학교 정보통신대학 컴퓨터공학과) ;
  • 김태식 (계명대학교 정보통신대학 컴퓨터공학과)
  • Published : 2005.12.01

Abstract

Many researches and validations for the complexity metrics of the object-oriented systems have been studied. Most of them are aimed for the measurement of the partial aspects of the systems, for example, the coupling between objects, the complexity of inheritance structures, the cohesion of methods, and so on. But the software practitioners want to measure the complexity of overall system, not partial. We studied the complexity of the overall structures of object-oriented systems by analyzing the class diagram of UML. The class diagram is composed of classes and their relations. There are three kinds of relations, association, generalization, and aggregation, which are making the structure of object-oriented systems to be difficult to understand. We proposed a heuristic metric to measure the complexity of object-oriented systems by putting together the three kinds of the relations. Tn analyze the complexity of the structure of a object-oriented system for the maintainability of the system, we measured the degree of understandability of it, the reverse engineering time to draw a class diagram from the source codes, and the number of errors in the diagram. The results of this experiment shows that our proposed metric has a considerable relationship with the complexity of object-oriented systems. The metric will be helpful to the software developers for their designing tasks by evaluating the complexity of the structures of object-oriented systems and redesigning tasks , of them for the future maintainability.

객체지향 시스템의 복잡성 척도에 대하여 많은 연구와 검증이 이루어져 왔다. 대부분의 척도들은 시스템의 부분적 측면 예를 들어, 객체 간 결합도, 상속 구조의 복잡도, 메소드의 응집도 등에 대한 측정을 목표로 하고 있다. 그런데 소프트웨어 실무자들은 부분적이 아닌 시스템의 전반적인 복잡도를 측정할 수 있기를 바라고 있다. 본 논문은 UML의 클래스 다이어그램을 분석함으로써 객체지향 시스템의 전체적 구조에 대한 복잡도를 연구한 것이다. 클래스 다이어그램은 클래스와 클래스 간 관계로 구성되어 있다. 관계에는 연관 관계, 일반화 관계, 집합 관계 둥 세 가지가 있는데, 이 관계들이 객체지향 시스템의 구조를 이해하기 어렵게 하고 있다. 본 연구에서는 이 세 가지 관계를 통합하여 객체지향 시스템의 복잡도를 측정하는 경험적 척도를 제안하고 있다. 이 척도는 소프트웨어 개발자가 코딩하기 전에 객체지향 시스템의 복잡도를 평가해 보고 필요시 설계를 수정할 수 있도록 하게 함으로써 설계 업무에 많은 도움을 줄 것이다.

Keywords

References

  1. F. Abreu, 'The MOOD Metrics Set,' Proc. ECOOP'95 Workshop on Metrics, 1995
  2. V. Basili, L. Briand, and W. Melo, 'A Validation of Object-Oriented Design Metrics as Quality Indicators,' Technical Report, University of Maryland, Department of Computer Science, College Park MD, pp.1-24, 1995
  3. L. Briand, J. Daly and J. Wust, 'A Unified Framework for Coupling Measurement in Object-Oriented Systems,' IEEE Transactions on Software Engineering, Vol. 25, No. 1, pp.91-121, 1999 https://doi.org/10.1109/32.748920
  4. L. Briand, J. Wust, J. Daly, and D. Porter, 'Exploring the relationships between design measures and software quality in object-oriented systems,' The Journal of Systems and Software, Vol 65, No. 3, pp.245-273, 2000
  5. S. Chidamber and C. Kermerer, 'A Metrics Suite for Object-Oriented Design,' IEEE Transactions of Software Engineering, Vol. 20, No. 6, pp.476-493, 1994 https://doi.org/10.1109/32.295895
  6. I. Deligiannis, M. Shepperd, M. Roumeliotis and I. Stamelos,'An empirical investigation of an object- oriented design heuristic for maintainability,' The Journal of Systems and Software, Vol 65, pp.127-139, 2003 https://doi.org/10.1016/S0164-1212(02)00054-7
  7. K. Emam, W. Melo, and J. Machado,'The prediction of faulty classes using object-oriented design metrics,' The Journal of Systems and Software, Vol. 56, No. 1, pp.63-75, 2001 https://doi.org/10.1016/S0164-1212(00)00086-8
  8. E. Ferneley, 'Coupling and control flow measures in practice,' The Journal of Systems and Software, Vol. 51, pp.99-109, 2000 https://doi.org/10.1016/S0164-1212(99)00115-6
  9. Gursaran,'Viewpoint representation validation: a case study on two metrics from the Chidamber and Kemerer suite,'The Journal of Systems and Software, Vol. 59, No. 1, pp.83-97, 2001 https://doi.org/10.1016/S0164-1212(01)00050-4
  10. R. Harrison, S. Counsell, and R. Nithi, 'Experimental assessment of the effect of inheritance on the maintainability of object-oriented systems,' The Journal of Systems and Software, Vol. 52, No. 2-3, pp.173-179, 2000 https://doi.org/10.1016/S0164-1212(99)00144-2
  11. R. Harrison, S. Counsell, and R. Nithi,'An Evaluation of the MOOD Set of Object-Oriented Software Metrics,' IEEE Transactions on Software Engineering, Vol. 24, No. 6, pp.491-496, 1998 https://doi.org/10.1109/32.689404
  12. B. Henderson-Sellers, Object-Oriented metrics : measures of complexity, Prentice Hall PTR, 1996
  13. W. Li, 'Another metric suite for object-oriented programming,' The Journal of Systems and Software, Vol 44, No.2, pp.155-162, 1998 https://doi.org/10.1016/S0164-1212(98)10052-3
  14. F. Sheldon, K. Jerath and Hong Chung, 'Metrics for maintainability of class inheritance hierarchies,' Journal of Software Maintenance and Evolution, Vol 14, pp.147-160, 2002 https://doi.org/10.1002/smr.249
  15. G. Subramanian and W. Corbin, 'An empirical study of certain object-oriented software metrics,' The Journal of Systems and Software, Vol. 59, pp.57-63, 2001 https://doi.org/10.1016/S0164-1212(01)00048-6