초록
본 연구는 웹 소프트웨어의 복잡도와 객체지향 프로그래밍 측정자인 클래스 수(NOC), 메서드 수(NOM)와의 상관관계를 통하여 순환복잡도를 정량적으로 분석하고자 한다. 웹 환경에서 소프트웨어의 복잡도, NOC, NOM의 빈도분포를 근거로 복잡도한계값과 NOC한계값, 복잡도 한계값과 NOM한계값의 상관관계를 파악하기 위하여 실제 사용되는 10개의 웹 프로젝트에서 4,000여개의 ASP 파일이 표본으로 사용되었다. 실험 결과 NOC한계값은 21, NOM한계값은 40이었고 복잡도는 68의 높은 값을 보였으며 10개의 프로젝트 중 NOC, NOM이 특히 높은 빈도를 보이는 2개의 프로젝트를 제외한 8개의 프로젝트는 NOC한계값은 12, NOM한계값은 21이었고 복잡도 한계값도 52의 상대적으로 낮은 값을 나타내 상관관계가 있는 것으로 판명이 되었다. 또한 복잡도, NOC, NOM의 한계값이 낮은 8개의 프로젝트는 내부 관리 소프트웨어이었고 나머지 2개의 프로젝트는 외부 매매 서비스 소프트웨어임이 밝혀져 업무 특성에 따라 설계 단계에서 클래스 수, 메서드 수가 결정됨에 따라 복잡도도 미리 추정할 수 있어 품질 향상에 기여할 수 있을 것이다.
In this study Cyclomatic Complexity of Web Software has been analyzed quantitatively by correlation between complexity and Number of Classes(NOC), and Number of Methods(NOM) which are object oriented programming measures. Based on the frequency distribution of complexity, NOC and NOM of software at the Web environment, correlation between complexity threshold and NOC threshold, and NOM threshold has been measured and more than 4,000 ASP files of 10 Web real projects have been used as the sample. The empirical result shows that NOC threshold is 21, NOM threshold is 40 and complexity threshold is 68 as high value, and 8 projects among of 10 except 2 projects with especially high frequency distribution shows that NOC threshold is 12, NOM threshold is 21 and complexity threshold is 52 with relatively low value, so correlation has been found out as exists. And also 8 projects with low threshold of complexity, NOC and NOM were internal management software, and the other 2 projects were external sales service software, Number of Classes and Number of Methods can be defined at the design stage according to business properties, and also the complexity can be estimated in order to improve the software quality.