클래스의 직접 및 간접 결합도 메트릭을 이용한 소프트웨어 모듈화 방안

Modularizing Software using Direct and Indirect Class Coupling Metrics

초록

소프트웨어의 변경을 하나의 모듈에 국한시키는 것은 객체 지향 시스템을 유지보수하는데 있어서 중요한 품질 요소 이다. 메소드간의 직접적인 호출과 같은 클래스들간의 직접적인 관계를 기반으로 시스템을 모듈화 하는 연구가 많은 연구가 있다. 그러나 객체 지향 시스템은 시스템을 모듈화 하는데 반드시 고려되어야 하는 기능적 의미를 내포하는 많은 간접적인 클래스들간의 관계를 수반한다. 특히 클래스들간에 직접적인 관계가 없다고 하더라도, 많은 간접관계로 얽혀있는 클래스가 존재한다. 이러한 클래스들의 관계는 직접 관계 기반의 결합도만을 사용했을 때는 고려되지 않는다. 본 논문에서는 클래스들간의 직접적, 간접적인 관계 모두를 고려하여 클래스의 결합도를 측정할 수 있는 새로운 지표를 제시하였고, 이를 기반으로 소프트웨어를 군집화 하였다. 본 논문에서 제시되는 지표와 군집화 알고리즘은 세 개의 오픈소스 시스템(ArgoUML, JHotDraw, and JMeter)를 기반으로 검증되었고, 검증 결과는 기존의 클래스의 직접적인 결합도나 텍스트기반의 결합도를 기반으로 한 모듈화 방안과 비교하여 변경의 범위를 줄이는데 기여하는 것으로 나타났다.

키워드

software modularizationsoftware maintenanceobject-oriented programindirect coupling metricopen source소프트웨어 모듈화유지보수객체지향간접관계클래스 결합도 지표오픈 소스
제목
클래스의 직접 및 간접 결합도 메트릭을 이용한 소프트웨어 모듈화 방안
제목 (타언어)
Modularizing Software using Direct and Indirect Class Coupling Metrics
저자
이준하박의제박용범박수진박수용
발행일
2014-05
저널명
정보과학회논문지 : 소프트웨어 및 응용
41
5
페이지
327 ~ 339