소프트웨어 개발은 구조적기법에서 객체지향기법으로 전환되고 있다. 객체지향 소프트웨어 개발은 폭포수 프로세스가 아닌 반본적 프로세스 적용을 보다 선호하고 있으며, 유스케이스에 기반하여 요구사항을 도출하고, 이에 기반하여 분석, 설계와 코딩이 이루어지고 있다. 따라서, 유스케이스에 기반하여 개발될 소프트웨어의 규모가 추정되고 이에 기반한 개발노력, 비용과 개발기간이 추정되어야만 프로젝트 성공을 위한 관리가 가능해진다. 기존의 유스케이스 점수 관련 개발노력 추정 모델들은 겉형과 비선형 모델들이 제안되었지만 유스케이스 점수의 규모에 따른 개발노력을 적절히 추정할 수 있는 모델이 없는 실정이다. 본 논문은 성장곡선을 적용해 유스케이스 점수에 대한 개발노력을 추정하는 모델을 적용한 결과 기존의 통계적 모델들보다 월등한 성능향상을 보였다. 따라서, 본 모델을 적용하여 개발노력을 추정함으로서 프로젝트 개발관리를 적절히 수행할 수 있을 것이다.
소프트웨어 개발은 구조적기법에서 객체지향기법으로 전환되고 있다. 객체지향 소프트웨어 개발은 폭포수 프로세스가 아닌 반본적 프로세스 적용을 보다 선호하고 있으며, 유스케이스에 기반하여 요구사항을 도출하고, 이에 기반하여 분석, 설계와 코딩이 이루어지고 있다. 따라서, 유스케이스에 기반하여 개발될 소프트웨어의 규모가 추정되고 이에 기반한 개발노력, 비용과 개발기간이 추정되어야만 프로젝트 성공을 위한 관리가 가능해진다. 기존의 유스케이스 점수 관련 개발노력 추정 모델들은 겉형과 비선형 모델들이 제안되었지만 유스케이스 점수의 규모에 따른 개발노력을 적절히 추정할 수 있는 모델이 없는 실정이다. 본 논문은 성장곡선을 적용해 유스케이스 점수에 대한 개발노력을 추정하는 모델을 적용한 결과 기존의 통계적 모델들보다 월등한 성능향상을 보였다. 따라서, 본 모델을 적용하여 개발노력을 추정함으로서 프로젝트 개발관리를 적절히 수행할 수 있을 것이다.
Software Development is converting from structural to object oriented method. The later software development prefers the iterative process applications, not aterfall process and based on use case model, the requirements are expressed and based on this, analysis, design and coding are accomplished. T...
Software Development is converting from structural to object oriented method. The later software development prefers the iterative process applications, not aterfall process and based on use case model, the requirements are expressed and based on this, analysis, design and coding are accomplished. Therefore, size of the software to be developed is estimated basing on use case and it is only possible to maintain the project success by estimating development effort, cost and development period. Even though development effort estimation models related current use case point. there is no appropriate development effort estimating. This paper shows, as a result of applying the development effort estimating model about UCP to the growth curve, a superior performance improvement to current statistical models. Therefore, estimation of development effort by applying this model, project development maintenance can be appropriately carried out.
Software Development is converting from structural to object oriented method. The later software development prefers the iterative process applications, not aterfall process and based on use case model, the requirements are expressed and based on this, analysis, design and coding are accomplished. Therefore, size of the software to be developed is estimated basing on use case and it is only possible to maintain the project success by estimating development effort, cost and development period. Even though development effort estimation models related current use case point. there is no appropriate development effort estimating. This paper shows, as a result of applying the development effort estimating model about UCP to the growth curve, a superior performance improvement to current statistical models. Therefore, estimation of development effort by applying this model, project development maintenance can be appropriately carried out.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
따라서 본 논문은 소프트웨어 개발에 소요되는 노력을 추정함에 있어, 객체지향 개발방법론에 적합한 유스케이스 점수로 측정된 소프트웨어 규모에 따른 개발노력을 추정할 수 있는 통계적 모델을 제시한다.
본 논문에서는 유스케이스 점수 계산 방법을 살펴보고, 유스케이스 점수를 기반으로 하여 개발노력을 추정하는 기존의 선형과 비선형 모델의 문제점을 제기하였다 다양한 실측 데이터를 획득하여 이에 적합한 모델을 고찰하였다. 다양한 성장곡선을 살펴보고 유스케이스 점수와 소프트웨어 개발노력 관계를 적절히 표현할 수 있는 성장곡선을 선택하고, 모델의 모수를 추정하는 방법을 고찰하였다.
본 장에서는 기존의 통계적 회귀모델들 보다 성능이 우수한 S자형 성장곡선을 제시하고자 한다.
그러나 이 분야에 대한 연구가 거의 수행되지 않고 있다. 이러한 추세에 부응하고자 본 논문은 유스케이스 점수에 기반한 소프트웨어 노력추정 모델을 제시하였다.
제안 방법
Kamer⑻는 Albrecht[6]의 기능점수 계산방법을 수정(Modify)하여 유스케이스 점수(Use Case Point, UCP)를 계산하는 방법을 제시하였다. 이후에도 유스케이스 점수에 대한 연구는 계속되고 있으나 유스케이스 점수에 기반하여 개발노력을 추정할 수 있는 모델 연구는 미미한 수준이다.
본 논문에서는 유스케이스 점수 계산 방법을 살펴보고, 유스케이스 점수를 기반으로 하여 개발노력을 추정하는 기존의 선형과 비선형 모델의 문제점을 제기하였다 다양한 실측 데이터를 획득하여 이에 적합한 모델을 고찰하였다. 다양한 성장곡선을 살펴보고 유스케이스 점수와 소프트웨어 개발노력 관계를 적절히 표현할 수 있는 성장곡선을 선택하고, 모델의 모수를 추정하는 방법을 고찰하였다. 선택된 표준 Gompertz 성장곡선 모델은 유스케이스 점수와 개발노력 관계를 적절히 표현하는 능력과 더불어 상대오차도 기존 모델들보다 작은 결과를 나타내 좋은 모델로 선택이 가능함을 보였다.
대상 데이터
따라서, 이 부분을 고찰하여 보자. 국내 개발업체들로부터 [표 3]의 데이터를 추가로 획득하였다.
이론/모형
적합한 통계적 회귀모델을 선정하기 위해 결정계수(Coefficient of determination, TV)[14]를 적용하며, 모델의 성능을 평가하기 위해 Briand et al.[l]이 적용한 MMRE (Mean Magnitude of Relative Error)를 적용하였다. 종속변수의 값(E)은 독립변수(UUCP)에 의해 결정되는 부분과 미지의 오차의 합으로 나타나며, 총 변동을 설명하는데 있어서 회귀 직선에 의해 설명되는 변동 비율을 결정계수라 하며, 값이 클수록 쓸모 있는 회귀직선이 되지만 좋은 모델로 선정하기 위한 기준은 없는 실정이다.
모수 a의 값을 결정한 이후에는 모수 仞 c는 통계 패키지를 이용한 선형회귀분석으로 얻을 수 있다. 결론적으로 본 논문에서는 개발노력을 추정함에 있어 식 (7)의 표준 Gompertz 성장곡선을 적용한다.
성장곡선 들 중 대칭 로지스틱과 일반화된 로지스틱 곡선은 일반적으로 생명체 성장 분야에 적용하는데 비해 기술 예측 분야에는 Pearl 곡선과 Gompertz 곡선을 많이 적용한다. 본 논문의 주제는 기술예측분야에 속하므로 Pearl 과 Gompertz 곡선에 한정하고자 한다. 이 두 곡선 중에서 적절한 것을 선택하는 기준은 다음 조건에 기반한다.
비선형 회귀 분석방법의 초기 값 선택은 쉬운 작업이 아니다[18]. 초기 값을 설정한 훅 다시 Gauss-Newton 방법으로 모수를 조절하여 적절한 값을 얻을 수 있다. 이와 같은 이유로 인해 본 논문에서는 식 (6)의 Gompertz 성장곡선을 적용하지 않기로 한다.
성능/효과
모델의 성능 분석 결과는 [표 2]에 제시되어 있다. Project A를 포함한 경우 누승 함수형 모델이 가장 적합한 모델로 선정되었고, Project A를 제거시 지수 함수형 모델이 MMRE가 가장 적은 결과를 나타내었다.
기존 연구들이 수행한 AUCP에 상수를 곱한 형태의 모델들과 비교한 결과 비선형 모델이 월등한 성능향상을 보였다. 따라서 이 연구 결과로부터 소프트웨어 규모와 개발 노력간의 관계는 일반적인 개발노력 추정 모델과 같이 선형보다 비선형 형태가 보다 적합함을 알 수 있다.
기존 연구들이 수행한 AUCP에 상수를 곱한 형태의 모델들과 비교한 결과 비선형 모델이 월등한 성능향상을 보였다. 따라서 이 연구 결과로부터 소프트웨어 규모와 개발 노력간의 관계는 일반적인 개발노력 추정 모델과 같이 선형보다 비선형 형태가 보다 적합함을 알 수 있다.
지수모델은 소프트웨어 규모가 큰 부분에서는 실제 데이터를 잘 표현하지 못하는 단점을 보이고 있다. 반면에 다항식과 누승 모델은 실제 데이터를 비교적 잘 표현하는 성능을 보이고 있으며, 누승 모델의 MMRE가 가장 좋은 결과를 나타내고 있다.
다양한 성장곡선을 살펴보고 유스케이스 점수와 소프트웨어 개발노력 관계를 적절히 표현할 수 있는 성장곡선을 선택하고, 모델의 모수를 추정하는 방법을 고찰하였다. 선택된 표준 Gompertz 성장곡선 모델은 유스케이스 점수와 개발노력 관계를 적절히 표현하는 능력과 더불어 상대오차도 기존 모델들보다 작은 결과를 나타내 좋은 모델로 선택이 가능함을 보였다.
제안된 모델을 기존의 선형, 지수와 누승 모델들과 성능을 비교한 결과는 [표 6]에 제시되어 있다. 제안된 표준 Gompertz 성장곡선 모델은 소프트웨어 규모 전반에 걸친 개발노력을 잘 표현하는 능력과 더불어 모델의 성능(MMRE)도 가장 좋은 결과를 나타내고 있다.
후속연구
따라서, 개발될 소프트웨어 시스템의 UUCP를 계산한 후, 제안된 모델을 이용하여 노력을 추정하고 개발업체의 시간당 평균 소요 노력을 곱하면 개발에 소요되는 직접 노력을 구할 수 있을 것이다.
박주석 et 이 제안한 비선형 모델은 적용된 데이터의 개수가 매우 적고 소프트웨어 규모가 매우 작은 부분에 한정되어 일반화된 모델 제시로는 불충분하다. 소프트웨어 규모가 큰 부분들에서도 이들 제시된 모델들이 적합하다면 일반화된 모델로 적용될 수 있을 것이다. 따라서, 이 부분을 고찰하여 보자.
이러한 발전 추세까지도 반영하여 모든 소프트웨어 규모 정량화 방법에 적용할 수 있는 일반화된 소프트웨어 개발노력 추정 모델을 저]시할 필요가 있다. 추후에는 이 분야에 대한 연구가 수행될 것이다.
참고문헌 (18)
L. C. Briand K. E. Elmam, D. Surmann, I. Wieczork, and K. D. Maxwell, 'An Assessment and Comparison of Common Software Cost Estimation Modeling Techniques,' International Software Engineering Research Network, Technical Report, ISERN-98-27, 1998
L. C. Briand and I. Wieczorek, 'Resource Estimation in Software Engineering,' International Software Engineering Research Network, Technical Report, ISERN 00-05, 2000
K. Johnson, 'Software Cost Estimation: Metrics and Models,' Department of Computer Science University of Calgary, Albreta, Canada, http://sem.ucalgary.ca/courses/seng/621/W98/johnsonk/cost.htm, 1998
K. Ribu, 'Estimating Object-oriented Software Projects with Use Cases,' University of Oslo Department of Informatics, Master of Science Thesis, 2001
J. E. Matson, B. E. Barrett and J. M. Mellichamp, 'Software Development Cost Estimation Using Function Points,' IEEE Trans. on Software Eng., Vol.20, No.4, pp.275-287, 1994
A. J. Albrecht, 'Measuring Applications Development Productivity,' Proceedings of IBM Application Dev., Joint SHARE/GUIDE Symposium, Monterey, CA., pp.83-92, 1979
I. Jacobson. M. Christerson, et al., 'Object-oriented Software Engineering. A Use Case Driven Approach,' Addison-Wesley, 1992
G. Karner, 'Metrics for Objectory,' Diploma Thesis, University of Linkoping, Sweden, No. LiTH-IDA-Ex-934421, 1993
C. Larman, 'Applying UML and Patterns. An Introduction to Object-oriented Analysis and Design and the Unified Process,' Prentice-Hall, 2002
G. Banerjee, 'Use Case Points-An Estimation Approach,' http://java.isawix.com/whitepapers/1035194512861.pdf, 2001
L. Probasco, 'Dear Dr. Use Case: What About Function Points and Use Cases?,' http://www.therationaledge.com/content/aug_02/t_drUseCase_lp.jsp,Rational Soft ware Canada, 2002
S. Nageswaren, 'Test Effort Estimation Using Use Case Points,' Quality Week 2001, San Francisco, California, USA, 2001
A. Abran, C. Symons, and S. Oligny, 'An Overview of COSMIC-FFP Field Trial Results.' ESCOM 2001, London, England, 2001
C. Henry, 'The Growth Curve,' http://www.anzpug.org/jsp/index.jsp, PRIMAVERA Users Groups, Technology and Operations Management, California Polytechnic and State University
R. Pearl, 'The Biology of Population Growth,' New York: Knopf, 1978
B. Gompertz, 'On The Nature of The Function Expressive of The Law of Human Mortality, and on a New Mode of Determining the Value of Life Contingencies,' Phil. Trans. Roy. Soc. London. Vol.123, pp.513-585, 1832
※ AI-Helper는 부적절한 답변을 할 수 있습니다.