다양한 이유로 소프트웨어는 변경이 될 수 있으며 이는 유지보수 비용의 상승을 초래한다. 소프트웨어 메트릭은 클래스의 특성에 대한 정량적인 값으로서 유지보수 비용, 결함의 가능성 여부 등을 예측하는데 사용되고 있다. 본 논문에서는 대표적인 객체지향 메트릭과 산업체의 실제 소프트웨어 개발 과정에서 발생하는 변경 발생 횟수와의 관계를 제시한다. 규모, 복잡도, 결합도, 상속과 다형성 측면에서 7개의 메트릭이 사용되었으며, .NET 플랫폼 기반의 정보 시스템의 개발 과정에서 변경 발생 횟수에 대한 자료를 수집하였다. 본 논문에서는 다중회귀분석 기법을 이용하여 사용된 객체지향 메트릭으로부터 변경 발생횟수를 예측하는 모형을 제시한다.
다양한 이유로 소프트웨어는 변경이 될 수 있으며 이는 유지보수 비용의 상승을 초래한다. 소프트웨어 메트릭은 클래스의 특성에 대한 정량적인 값으로서 유지보수 비용, 결함의 가능성 여부 등을 예측하는데 사용되고 있다. 본 논문에서는 대표적인 객체지향 메트릭과 산업체의 실제 소프트웨어 개발 과정에서 발생하는 변경 발생 횟수와의 관계를 제시한다. 규모, 복잡도, 결합도, 상속과 다형성 측면에서 7개의 메트릭이 사용되었으며, .NET 플랫폼 기반의 정보 시스템의 개발 과정에서 변경 발생 횟수에 대한 자료를 수집하였다. 본 논문에서는 다중회귀분석 기법을 이용하여 사용된 객체지향 메트릭으로부터 변경 발생횟수를 예측하는 모형을 제시한다.
Software changes for various kinds of reasons and they increase maintenance cost. Software metrics, as quantitative values about attributes of software, have been adopted for predicting maintenance cost and fault-proneness. This paper proposes relationship between some typical object-oriented metric...
Software changes for various kinds of reasons and they increase maintenance cost. Software metrics, as quantitative values about attributes of software, have been adopted for predicting maintenance cost and fault-proneness. This paper proposes relationship between some typical object-oriented metrics and software changes in industrial settings. We used seven metrics which are concerned with size, complexity coupling, inheritance and polymorphism, and collected data about the number of changes during the development of an Information system on .NET platform. Based on them, this paper proposes a model for predicting the number of changes from the object-oriented metrics using multiple regression analysis technique.
Software changes for various kinds of reasons and they increase maintenance cost. Software metrics, as quantitative values about attributes of software, have been adopted for predicting maintenance cost and fault-proneness. This paper proposes relationship between some typical object-oriented metrics and software changes in industrial settings. We used seven metrics which are concerned with size, complexity coupling, inheritance and polymorphism, and collected data about the number of changes during the development of an Information system on .NET platform. Based on them, this paper proposes a model for predicting the number of changes from the object-oriented metrics using multiple regression analysis technique.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
표 3은 수집된 데이타의 일부를 보여 준다. 데이타의 모듈 명을 명시한 후 클래스 명을 작성하고, 변경이 발생한 날짜를 적고 어떤 내용으로 변경이 일어났는지 기술하였다.
소프트웨어 유지보수 작업에서 변경발생 횟수를 예측한 DagpinarJahnke는 perfective/adaptive 유지보수 노력에 관하여 예측 하였다[24]. 본 논문에서는 요구사항의 변경, 결함의 발견 및 수정, 개발자의 모듈 최적화에 의한 변경발생 횟수와 같이 좀 더 광범위한 범위에서의 변경발생 횟수를 예측하였다. 이전의 연구에서는 소프트웨어 유지보수 작업에 소요되는 유지보수 시간에 관하여 연구하였다[32].
본 논문에서는 우리나라 한 제조업체의 영업 및 구매관리 시스템에 유지 보수노력 예측을 실제적으로 적용해 봄으로써 단위 소프트웨어의 유지보수 변경 발생을 예측하고자 한다. 소프트웨어 사이클 동안 비용의 증가를 가져오는 변경 발생 횟수를 수집하여, 이에 영향을 미치는 객체지향 메트릭 중 어떤 것이 원인이고 어떤 것이 더 영향력이 큰 가를 분석한다면, 적절하게 비용을 사용 할 수 있다.
본 논문에서는 회귀분석기법을 적용한 변경 발생 예측 모형을 이용하여 객체지향 메트릭과 변경 발생 횟수 간의 관계를 실제 시스템의 개발 과정에서 수집된 데이타를 대상으로 조사하였다. 이번 실험적 연구에서 발견된 연구결과를 요약하면 다음과 같다.
본 실험은 인위적 환경 설정이 아니라 중소기업의 전산실에서 일상적인 실제 작업을 바탕으로 하고 있다. 개발 공정 중에서 통합 시험 단계에서 자료를 수집하였다.
본 절에서는 소프트웨어의 변경 발생과 관련성을 파악하기 위하여 사용될 객체지향 메트릭을 소개한다. 그리고 실험 대상 시스템의 규모와 역할 구조 등을 설명하고 그러한 시스템에서 데이타 수집은 어떠한 방법으로 하였으며 어떻게 메트릭을 계산하였는지 설명한다.
가설 설정
. Intranet 네임스페이스내의 클래스 수는 Smart-Serviced 같지만 변경발생이 일어난 횟수는 더 많다. 여기에 포함되는 클래스들은 프레젠테이션 부분을 같이 포함하고 있어서 웹페이지와 연동이 되기 때문에 소프트웨어 전체 클래스에서 차지하는 비중은 작지만 변경 발생 횟수는 SmartService 보다 더 많다.
제안 방법
Li와 Henry는 클래스당 변경된 라인의 수를 유지보수 노력으로 정의하였다[22]. Polo와 Piattinie 유지보수 노력을 긴급을 필요로 하는 수정요구와 긴급을 필요로 하지 않는 수정요구로 구분한 뒤 월별 변경요구건수의 평균값을 기준으로 문제가 있는 소프트웨어와 문제가 없는 소프트웨어로 분류하였다 [23] . Dagpinar와 Jahnke는 유지보수 활동을 perfective/ adaptive, corrective로 분류하여 각각의 유지보수에 소요되는 개인별 시간을 유지보수 노력으로 정의하였다 [24] .
Hayes와 Zhaoe 소프트웨어의 유지보수 노력을 쉽게 예측하기 위한 방안으로 RDCRatio 메트릭을 제안하였다[25]. RAD Ratio 값은 요구사항 변경에 소요된 시간에 디자인 변경에 소요된 시간을 더하여 계산된 총합에 코딩 변경에 소요된 시간을 나누어서 구하였다. 또한, 변경된 모듈의 비율을 사용하였다.
요약한 후에 둘 간의 관계를 살펴본다. 각 메트릭 들이 소프트웨어의 변경에 영향을 미치는가를 확인한 후, 상관관계를 바탕으로 다중회귀 모형을 구성한다.
변경 발생 횟수의 가능한 요인으로 소프트웨어의 규모, 복잡도, 결합도, 상속성, 다형성을 설명하는 객체지향 메트릭을 사용하여 정량적인 수치를 산출한 후 상관관계를 파악한다. 그리고 널리 이용되는 통계적 기법인 다중회귀분석을 통하여 변경발생 횟수에 대한 적절한 예측 모형을 제시한다.
000으로 나왔으므로 매우 유의하다. 그리고 아직 독립변수를 적용하지 않은 상태이며 회귀모형에 포함되지 않은 변수를 보면 독립변수들의 F값 유의수준의 p값도 구하였다.
소프트웨어 사이클 동안 비용의 증가를 가져오는 변경 발생 횟수를 수집하여, 이에 영향을 미치는 객체지향 메트릭 중 어떤 것이 원인이고 어떤 것이 더 영향력이 큰 가를 분석한다면, 적절하게 비용을 사용 할 수 있다. 변경 발생 횟수의 가능한 요인으로 소프트웨어의 규모, 복잡도, 결합도, 상속성, 다형성을 설명하는 객체지향 메트릭을 사용하여 정량적인 수치를 산출한 후 상관관계를 파악한다. 그리고 널리 이용되는 통계적 기법인 다중회귀분석을 통하여 변경발생 횟수에 대한 적절한 예측 모형을 제시한다.
상관관계가 있음이 위에서 밝혀졌다. 본 실험에서는 추가적으로 다중회귀 분석기법을 이용해서 각 메트릭이 변경 발생 횟수에 미치는 영향을 분석하고 객체지향 메트릭을 이용한 변경 발생 횟수 예측모형을 제시한다.
수집된 자료는 사용자에 의해서 요청된 요구사항의 변경과 결함의 발견으로 인한 수정, 개발자의 모듈 최적화를 위한 변경을 포함한다. 시스템 개발자 5명이 2달의 기간 동안에 발생한 각 변경에 대하여 클래스 단위로 기록하였다. 표 3은 수집된 데이타의 일부를 보여 준다.
표 2는 실험 대상 시스템의 기본정보를 나타낸다. 실험 대상 시스템을 구성하는 총 94개의 클래스에 대하여 클래스의 인스턴스 변수와 연산의 수를 파악하였다.
유지보수 노력과의 관계 및 추정을 위하여 다양한 객체지향 메트릭이 사용되었다 동일한 메트릭들이 사용된 것이 아니며 각 실험에서는 자체적으로 판단하여 유지보수 비용에 영향을 미칠 것으로 예상되는 메트릭들을 선택하여 실험을 수행하였다. 이는 유지보수 노력과 관계가 있다고 모든 연구자들이 인정하고 있는 메트릭이 아직 정의가 되지 않았으며 실험적 환경에 따라서 수집 가능한 메트릭을 선택한 것에 기인한다.
메트릭을 산출하였다. 이 실험에서는 클래스의 규모, 복잡도, 결합도, 상속성, 다형성 측면을 나타내는 1개 또는 2개의 메트릭을 사용하였다.
이 절에서는 수행된 실험결과와 분석 결과를 소개한다 먼저 계산된 각 메트릭 값과 수집된 변경 발생 횟수를 요약한 후에 둘 간의 관계를 살펴본다. 각 메트릭 들이 소프트웨어의 변경에 영향을 미치는가를 확인한 후, 상관관계를 바탕으로 다중회귀 모형을 구성한다.
각 실험적 연구에 대한 비교 기준으로는 실험에서 사용된 구체적인 유지보수 비용 산정 방법, 예측을 위하여 사용된 메트릭의 종류, . 통계적 분석 기법, 분석을 통하여 파악된 영향력있는 메트릭, 실험 대상 시스템의 특성을 사용하였다.
사이클로메틱 복잡도(Cyclomatic Complexity)는 메소드 등의 제어흐름에 대한 복잡도에 대한 척도로서, 메시지의 개수와 가중치에 의해서 정의된다. 하나의 메소드 안에서 사용되어진 메시지를 가중치에 따라 계산하는데, 과학적인 근거가 클래스 자체의 메트릭으로서 Chidamber와 Kemerer는 WMC (Weighted Methods per Class)를 구하는데 필요한 가중치를 정의하지 않고 메트릭의 적용 시에 정의하도록 남겨두었다. 여기서는 메소드의 가중치에 따라 WMPC 로 정의하였다.
대상 데이터
.본 실험은 우리나라 중소기업의 전산실에서 실제적으로 수행된 소프트웨어 유지보수 작업에서 데이타를 수집하였다. 또, 현재 현업에서 많이 사용하고 있는 .
또, 현재 현업에서 많이 사용하고 있는 .NET 기반의 3-tier 웹 환경에서 운용되는 시스템을 대상으로 실험을 진행하였다. 따라서 실험의 환경과 동일한 소프트웨어 개발 환경인 중소기업의 소프트웨어 유지보수 작업에 실험결과를 직접적으로 이용할 수 있을 것이다.
개발 공정 중에서 통합 시험 단계에서 자료를 수집하였다. 수집된 자료는 사용자에 의해서 요청된 요구사항의 변경과 결함의 발견으로 인한 수정, 개발자의 모듈 최적화를 위한 변경을 포함한다.
객체지향 메트릭과 변경 발생에 관한 연구를 위하여 사용된 대상 시스템은 한 제조업체에서 구축하고 있는 영업 및 구매 관리 시스템이며, 운영체제는 Windows 2003이고 IIS 웹서버가 설치되어 있다. 그림 1은 실험대상 시스템의 아키텍처를 보여준다, 이 시스템은 고객으로부터 견적요청이 들어오면 기업내부의 사용자가 견적을 입력하고, 입력된 견적에 의하여 계약정보가 생성돤다.
그리고 구매 관리 시스템은 계약에 맞는 자재를 구매하기 위해 협력업체에게 구매 요청 정보를 보낸다. 그림 1에서 ERP 서버 중 영업 관리/구매 관리로 명기된 부분이 실험 수행 대상이다.
세부 구성이다. 실험대상 시스템은 3-Tiei■형태로 아래의 그림과 같이 구성되어 있다.
NET4 UI Object가 C# 으로되어 있다. 이 소프트웨어는 구현된 기능에 따라 6개의 네임스페이스 (intranet, mm, myclass, myDev, sd, SmartService)를 가지고 있으며, 총 94개의 클래스로 이루어져 있다. 표 2는 실험 대상 시스템의 기본정보를 나타낸다.
이 실험의 대상인 소프트웨어는 객체지향언어 C#으로개발되었고, C#코드의 메트릭을 계산하기 위해서 객체지향 소프트웨어 설계도구인 Together를 이용하여 가장 적합한 메트릭을 산출하였다. 이 실험에서는 클래스의 규모, 복잡도, 결합도, 상속성, 다형성 측면을 나타내는 1개 또는 2개의 메트릭을 사용하였다.
데이터처리
국내 중소기업의 전산실에서 실제적으로 수행된 소프트웨어 유지보수 작업을 소프트웨어의 규모, 복잡도, 결합도, 상속성, 다형성을 설명하는 객체지향 메트릭을 사용하여 정량적인 수치를 산출한 후 다중 회귀분석을 수행하였다. 그 결과 소프트웨어의 규모를 측정한 LOC, 복잡도를 측정한 CC, 다형성을 측정한 NOOM 메트릭이 변경 발생 횟수와 상관관계를 가졌다.
즉 각 객체지향 메트릭을 후보 변수로 두고 이 중에서 회귀모형절차에 따라 독립변수를 선택한다. 다중 회귀분석은 변수가 많고 복잡하기 때문에 국내의 통계 소프트웨어인 S-Link라는 통계 툴올 이용하여 계산하였다[3이. 회귀 추정치는 95% 신뢰구간에서 의미를 갖는다.
사용된 메트릭의 개수에 따라서 단일 회귀분 석과 다중 회귀분석이 사용되고 있으며, 메트릭의 값의 분포에 따라서 로지스틱회귀분석이 사용되기도 한다. 본 논문에서 비교 분석한 논문 4편은 모두 다중회귀분석을 사용하였다. Li와 Henry, Hayes와 Zhao는 다중회귀분석을 사용하였다[22, 25].
본 실험에서는 각 객체지향 메트릭과 변경 발생의 상호연관성을 파악하기 위해서 상관계수를 계산하였다 [28], 표 7은 클래스별 변경 발생 횟수와 각 메트릭과의 상관계수이다.
Li와 Henry, Hayes와 Zhao는 다중회귀분석을 사용하였다[22, 25]. Pol。와 Piattinie 로지스틱 회귀분석을 사용하였다[23]. Dagpinar와 Jahnke는 다중 회귀분석을 사용하였고 단계적 방법을 적용하였다[24丄 유지보수 노력을 소프트웨어 메트릭을 이용하여 정량화 하여 예측하기 위한 분석방법은 다양하며 다중회귀분석이 많이 사용되고 있다[27].
이론/모형
본 실험에서는 다중공선성의 문제를 해결하기 위하여가장 많이 사용되고 있는 단계적 방법을 사용하였다[29]. 즉 각 객체지향 메트릭을 후보 변수로 두고 이 중에서 회귀모형절차에 따라 독립변수를 선택한다.
성능/효과
것으로 드러났다. DOIH 메트릭, NOAM 메트릭, WMPC 메트릭은 변경 발생 횟수의 예측에 영향을 미쳤다. 그러나 단계적 회귀분석에서 해당 메트릭과 높은 상관관계를 가지는 메트릭 중 가장 높은 상관관계를 가지는 NOOM, LOC, CC 메트릭에 그 영향이 반영되었다.
다중선형회귀모형에서 변수로 선택되지 않은 DAC 메트릭은 표 7에서와 같이 비교적 낮은 상관관계를 보이므로 다증회귀식의 변수로는 적합하지 않았다. DOIH, NOAM, WMPC 메트릭은 변경 발생과 비교적 높은 상관관계를 보였으나, 독립변수 간에도 높은 상관을 나타냈다. 즉 다중공선성의 문제를 야기하므로 두 개 이상의 변수가 높은 상관관계를 가질 때는 수치가 높은 하나를 선택하고 하나는 제외시켜야 한다.
상관관계가 있었다. 객체지향 메트릭은 소프트웨어의 특성을 나타내는 값으로 규모, 결합도, 복잡도, 상속성, 다형성의 5가지 범주에서 계산하였을 때 선택된 7개의 메트릭은 모두 변경 발생 횟수와 순방향의 상관관계를 보여 주었다.
수행하였다. 그 결과 소프트웨어의 규모를 측정한 LOC, 복잡도를 측정한 CC, 다형성을 측정한 NOOM 메트릭이 변경 발생 횟수와 상관관계를 가졌다. 다중선형회귀모형에서 변수로 선택되지 않은 DAC 메트릭은 표 7에서와 같이 비교적 낮은 상관관계를 보이므로 다증회귀식의 변수로는 적합하지 않았다.
DOIH 메트릭, NOAM 메트릭, WMPC 메트릭은 변경 발생 횟수의 예측에 영향을 미쳤다. 그러나 단계적 회귀분석에서 해당 메트릭과 높은 상관관계를 가지는 메트릭 중 가장 높은 상관관계를 가지는 NOOM, LOC, CC 메트릭에 그 영향이 반영되었다. DAC 메트릭은 변경 발생 횟수와 낮은 상관관계를 가지므로 회귀분석모델에서 제외 하였다.
둘째, 변경발생횟수를 추정하기 위한 모형에서는 5가지 범주의 7개 페트릭 중 NOOM 메트릭, CC 메트릭, LOC 메트릭이 변경 발생 횟수의 예측에 큰 영향을 미치는 것으로 드러났다. DOIH 메트릭, NOAM 메트릭, WMPC 메트릭은 변경 발생 횟수의 예측에 영향을 미쳤다.
다형성과 관련 있는 또다른 메트릭인 NOAM의 경우는 메소드의 추가가 소프트웨어의 크기를 증가시키므로 LOC와 비례관계이다. 따라서 독립변수인 NOAM과 LOC는 높은 상관관계를 가지므로 종속변수와 더 높은 상관관계를 가지는 LOC에 그 영향이 반영되었다
표 8에서 NOAM, WMPC 메트릭은 LOC 메트릭과 DOIH는 NOOM과 높은 상관관계를 나타낸다. 따라서, 독립변수가 여러 개인 다중 선형 회귀식을 이용한 예측 모델에서는 그 영향이 중복 발생되므로유의 수준을 만족하면서 상관계수가 좀 더 높은 NOOM, CC, LOC 메트릭만이 영향을 끼치는 변수로 선택되었다.
연산의 수의 경우에는 5개 미만이 38%를 차지하고, 6개 이상 10개 미만이 14%, 11개 이상 15개 미만이 20%를 나타낸다. 요약하면 클래스들이 전체분포에서 많은 수보다는 적은 수의 변수와 연산을 가지고 있는 비율이 높다.
Hayes와 Zhaoe 유지보수에 소요한 시간 예측모델(MainPredMo)을 제안하였다 [25]. 이 모델에서 사용된 RDCRatio 페트릭은 percevied maintainability(PM)과 비교하여 변경에 소요되는 노력을 객관적 방법으로 측정하였으며 PM 순위와 80% 정도의 유사성올 보여주었다
첫째, 객체지향 메트릭과 소프트웨어의 변경 발생 횟수는 상관관계가 있었다. 객체지향 메트릭은 소프트웨어의 특성을 나타내는 값으로 규모, 결합도, 복잡도, 상속성, 다형성의 5가지 범주에서 계산하였을 때 선택된 7개의 메트릭은 모두 변경 발생 횟수와 순방향의 상관관계를 보여 주었다.
유의성 검정의 결과는 상관계수행렬에서 각 모집단상관계수가 '0'이라는 가설검정에 대한 결과를 기본적으로 p값이 5% 유의수준으로 귀무가설이 기각되면 '*' 로, 1% 유의수준에서 기각되면, **, 이다. 표 8에서 각 메트릭간의 상관계수를 살펴보았을 때 CC 메트릭의 경우 LOC, NO AM 과는 매우 높은 상관으로 0.9이상을 보이며, DOIH의 경우도 NOOM 과 0.9이상의 매우 높은 상관관계를 나타내고 있으며, NOAM과 WMPC간에도 0.9이상으로 매우 높은 상관관계가 파악되었다.
후속연구
NET 기반의 3-tier 웹 환경에서 운용되는 시스템을 대상으로 실험을 진행하였다. 따라서 실험의 환경과 동일한 소프트웨어 개발 환경인 중소기업의 소프트웨어 유지보수 작업에 실험결과를 직접적으로 이용할 수 있을 것이다. 소프트웨어 유지보수 작업에서 변경발생 횟수를 예측한 DagpinarJahnke는 perfective/adaptive 유지보수 노력에 관하여 예측 하였다[24].
현재는 유지 보수에 소요될 비용은 구체적인 근거 보다는 과거에 수행된 유지보수에 대한 경험올 바탕으로 산정하고 있다. 만약 유지보수에 대비한 변경발생 예측모델이 있다면 합리적인 소프트웨어 유지보수 비용을 산정하고 이를 바탕으로 체계적인 유지보수 활동에 대한 관리가 가능할 것이다.
DAC 메트릭은 변경 발생 횟수와 낮은 상관관계를 가지므로 회귀분석모델에서 제외 하였다. 실험대상에 적용 가능한 변경 발생 예측 모형을 설정함으로써 소프트웨어의 유지보수 비용 산정 예측에 관한 토대를 마련할 것으로 기대된다.
추측된다. 이러한 한계점을 보완하기 위해서는 표본 소프트웨어의 크기와 유형을 다양하게 하여 추가적인 실험을 수행할 필요가 있다. 또한, 변경 발생은 요구사항의 변경/추가/삭제, 플랫폼의 변화, 품질의 개선 등과 같은 다양한 이유로 시작된다.
또한, 변경 발생은 요구사항의 변경/추가/삭제, 플랫폼의 변화, 품질의 개선 등과 같은 다양한 이유로 시작된다. 향후에는 변경 발생의 원인을 구분하여 메트릭과의 관계를 조사할 계획이다.
참고문헌 (32)
N. F. Schneidewind, 'The State of Software Maintenance,' IEEE Trans. Software Eng., Vol. 13, No 3, pp. 303-310, Mar., 1987
이병정, 객체지향 설계 행위를 보존하는 메트릭 기반 재구조화 기법, 정보과학회논문지: 소프트웨어 및 응용 제 30권 제10호, 2003
T. J. McCabe, A Complexity Measure, IEEE Trans, Software Eng. 2, 308-320, 1976
S. Henry and D. Kafura, Software Structure Metrics Based on Information Flow, IEEE Trans, Software Eng. 7, 510-518, 1981
M. H. Halstead, Elements of Software Projects: Management, Measurement and Estimation, Yourdon Press, New Jersey, 1982
W. G. Bail and M. V. Zelkowitz, Program Complexity Using Hierarchical Abstraction Computers, Comp. Lang. 13, 109-123, 1988
R. Adamov and L. Richter, A Proposal for Measuring the Structural Complexity of Programs, J. Syst, Software 55-77, 1990
V. Basili, L. C. Briand, and W. Melo, 'A Validation of Object Oriented Design Metrics as Quality Indicators,' IEEE Trans. Software Eng., Vol. 22, pp. 751-761, 1996
A. Binkley and S. Schach, 'Validation of the Coupling Dependency Metric as a Predictor of Run-Time Failures and Maintenance Measures,' In Proc. 20th Int'l Conf. Software Eng., pp. 452-455, 1998
S. R. Chidamber, D. P. Darcy, and C. F. Kemerer, 'Managerial Use of Metrics for Object Oriented Software: An Exploratory Analysis,' IEEE Trans. Software Eng., Vol. 24, pp. 629-639, 1998
L. C. Briand, J. Wuest, S.Ikonomovski, and H. Louis, 'Investigation of Quality Factors in Object-Oriented Designs: An Industrial Case Study,' In Proc. Int'l Conf. Software Eng, pp. 345-354, 1999
M.H. Tang, M.H. Kao, and M.H. Chen, 'An Empirical Study on Object Oriented Metrics,' In Proc. Sixth Int'l Software Metrics Symp., pp. 242-249, 1999
L.C. Briand, J. Wuest, J.W. Daly, and D.V. Porter, 'Exploring the Relationship between Design Measures and Software Quality in Object Oriented System,' J. systems and Software, Vol. 51, No. 3, pp. 245-273, 2000
M. Cartwright and M. Shepperd, 'An Empirical Investigation of an Object-Oriented Software System,' IEEE Trans, Software Eng., Vol. 26, No. 7, pp. 786-796, 2000
K. El Eman, W. Melo, and J.C. Machado, 'The Prediction of Faulty Classes Using Object-Oriented Design Metrics,' J. Systems and Software, Vol. 56, pp. 63-75, 2001
R. Subramanyam and M. S. Krishnan, 'Empirical Analysis of CK Metrics for Software Defects,' IEEE Trans. Software Eng., Vol. 29, pp. 297-310, April, 2003
Nikolaos Tsantalis, Alexander Chatzigeorgiou, 'Predicting the Probability of Change in Object- Oriented Systems,' IEEE Trans. Software Eng., Vol. 31, pp. 601-614, July, 2005
H. D. Rombach, A Controlled Experiment on the Impact of Software Structure on Maintainability, IEEE Trans. Software Eng. SE-13, 89-94, 1987
S. Wake and S. Henry, A model based on software quality factors which predicts maintainability, in Proceedings: Conference on Software Maintenance, pp. 382-387, 1988
H. D. Rombach, Design Measurement: Some Lessons Learned, IEEE Software 17-25, 1990
W. Li and S. Henry, 'Object Oriented Metrics that Predict Maintainability,' J of Systems and Software, Vol. 23, pp. 111-122, 1993
M. Polo, M. Piattini and F. Ruiz, Using code metrics to predict maintenance of legacy programs : a case study, Proceedings of the IEEE International Conference on Software Maintenance, 2001
M. Dagpinar and J. H. Jahnke, Predicting Maintainability with Object-Oriented Metrics - An Empirical Comparison, Proceedings of the 10th Working Conference on Reverse Engineering, 2003
J.H. Hayes and L. Zhao, Maintainability Prediction : A Regression Analysis of Measures of Evolving Systems, Software Maintenance, ICSM'05, Proceedings of the 21st IEEE International Conference, 601-604, Sept. 2005
S. R. Chidamber and C. F. Kemerer, 'A Metric Suite for Object Oriented Software System,' IEEE Trans. Software Eng., Vol. 20, No. 6, pp. 476-493, 1994
Ghosheh, E., Qaddour, J., Kuofie, M., Black, S, A Comparative Analysis of Maintainability Approaches for Web Application, Computer Systems and Applications, IEEE International Conference, 2006
강현철, 한상태, 이은수, SPSS 데이타 분석과 활용, 자유아카데미, 2002
姜金植, EXCEL활용 현대 통계학, 博英社, 2005
신봉섭, S-Link와 함께 배우는 통계자료의 분석, 도서출판그린, 2004
Welker, K.D. and Oman, P.W. Software Maintainability Metrics Models in Practice, Journal of Defense Software Engineering, Volume 8, Number 11, November/December 19-23, 1995
정우성, 채흥석, '객체지향 메트릭과 유지보수성과의 관계에 대한 실험적 연구', 정보처리학회논문지 D, 제13권-D권 제 2호, 2006
※ AI-Helper는 부적절한 답변을 할 수 있습니다.