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)를 설계한다.