Metrics Measuring a Quality based on Object-Oriented Design Characteristics

객체지향 설계의 특성을 고려한 품질 평가 메트릭스

  • 김유경 (숙명여자대학교 대학원 전산학과) ;
  • 박재년 (숙명여자대학교 정보과학부)
  • Published : 2000.02.01

Abstract

There are many researches about metrics to measure a quality of Object-Oriented(OO) software. However, most of them have only discussed a concept or properties of metrics, and have not shown the detailed procedure for measuring them. They also define a measurement indicator as a threshold, but it has been influenced on a project size or application domains. In this paper, we propose metrics based on characteristics of OO design such as size, complexity, coupling and cohesion, and use a propotion to an average as the measurement indicator. It is easy to classify classes which have a result above the average, and to predict classes which reduced the quality of OO design. They will be modified to hold the average. Proposed metrics are analytically evaluated by Weyuker's nine properties. They are satisfied with seven properties except two properties co not apply to OO metrics. Also, we design a quality assessment system, ASSOD(ASsessment System of Object oriented Design), to measure the quality of the OO design independent of the platform.

지금까지의 객체지향 메트릭스에 대한 연구는 단순히 품질의 일부 요소만을 다루고 있으며, 대부분의 메트릭스는 클래스 사이의 관계 정보만을 기반으로 제안되어 왔다. 이로써 객체지향 설계의 특성을 충분히 반영하지 못하고 있다. 또한 기존의 객체지향 메트릭스는 각 메트릭의 계산 결과를 평가하기 위하여 제한값(threshold)을 제공하고 있으며, 형식적으로 정의되지 않은 것이 대부분이다. 이들의 문제점은 계산 과정이 복잡하여 쉽게 적용할 수 없고 프로젝트의 성격이나 소프트웨어의 특성에 따라 제한 값이 달라질 수 있다는 것이다. 이에 본 논문에서는 객체지향 설계의 특성인 크기, 복잡도, 결합도 및 응집도를 고려하여 설계의 품질을 평가하기 위한 메트릭 집합을 제시한다. 제시된 메트릭 집합은 평균값에 대한 비율(proportion)을 사용하여 평균값을 상회하는 클래스 및 설계 요소들을 쉽게 파악할 수 있도록 하였다. 이것은 설계 품질을 저하시키고 있는 클래스를 찾아내어 평균값에 근접한 수준을 h다시 설계할 수 있도록 함으로써, 구현하는 동안 직면하는 설계 결점을 개발 초기에 발견할 수 있도록 하였다. 본 논문에서 정의한 메트릭 집합은 측정원칙에 의하여 분석적으로 평가된다. 그 결과로서 메트릭에 대하여 요구되는 성질의 대부분을 만족하고 있음을 알 수 있다. 도한 플랫폼과 무관하게 사용할 수 있도록 웹 브라우저 및 자바 애플릿으로 개발되어 분산 인트라넷 환경을 지원하는 평가 도구 ASSOD(ASsessment System of Object oriented Design)를 설계한다.

Keywords

References

  1. 최은만, '소프트웨어 공학', 사이텍미디어, 1999
  2. 김유경, 고병선, 고현희, 박재년, '객체지향 소프트웨어의 품질 메트릭스 및 품질 평가 도구의 설계에 관한 연구', 정보처리학회 학술발표 논문집, 제5권 제2호, 1998
  3. 김유경, 고병선, 고현희, 박재년, '객체지향 소프트웨어의 품질 메트릭스에 관한 연구', 정보과학회 학술발표 논문집, 제26권 제1호, 1999
  4. 최은만, 남윤석, '재사용 소프트웨어 품질 평가 도구 개발', 정보처리학회 논문지, 제4권, 제8호, pp.1948-1960, 1997
  5. Scott A. Whitmire, 'Object-Oriented Design measurement,' Wiley Computer Publishing, 1997
  6. Weyuker E. J., 'Evaluating software complexity measures,' IEEE Transactions on Software Engineering, Vol.14, No.9, pp.1357-1365, 1988 https://doi.org/10.1109/32.6178
  7. Roger S. Pressman, 'Software Engineering, A Practitioner's Approach,' 4th Ed., McGraw-Hill, 1998
  8. Shyam R. Chidamber, Chris F. Kemerer, 'A Metrics suite for Object-Oriented Design,' IEEE Transactions on Software Engineering, Vol.20, No.6, pp.476-493, June, 1994 https://doi.org/10.1109/32.295895
  9. M. Lorenz, J. Kidd, 'Object-Oriented Software Metrics: A Practical Guide,' Prentice-Hall, 1994
  10. Li W., Henry S., 'Object-oriented metric that predict maintainability,' The Journal of Systems and Software, Vol.23, pp.111-122, 1993 https://doi.org/10.1016/0164-1212(93)90077-B
  11. Cohen S. S., Sharble R. C., 'The object oriented brewery : comparison of two object-orientied development methods,' ACM SIGSOFT Software Engineering Notes, Vol.18 No.2, pp.60-73, 1993
  12. 박성희, 홍의석, 우치수, 김태균, '객체지향 프로그램에서 응집도, 결합도 측정 메트릭 집합', 정보과학회논문지, 제25권 제12호, pp.1779-1787, 1998
  13. Grady Booch, James Rumbaugh, Ivar Jacobson, 'The Unified Software Development Process,' Addison-Wesley, 1999
  14. H. E. Eriksson, M. Penker, 'UML Toolkit,' Wiley Computer Publishing, 1998
  15. 박현철, '객체지향 분석 설계 Visual C++ 프로그래밍', 비앤씨, 1999