DOI QR코드

DOI QR Code

Improving Estimation Ability of Software Development Effort Using Principle Component Analysis

주성분분석을 이용한 소프트웨어 개발노력 추정능력 향상


Abstract

Putnam develops SLIM (Software LIfecycle Management) model based upon the assumption that the manpower utilization during software project development is followed by a Rayleigh distribution. To obtain the manpower distribution, we have to be estimate the total development effort and difficulty ratio parameter. We need a way to accurately estimate these parameters early in the requirements and specification phase before investment decisions have to be made. Statistical tests show that system attributes are highly correlation (redundant) so that Putnam discards one and get a parameter estimator from the other attributes. But, different statistical method has different system attributes and presents different performance. To select the principle system attributes, this paper uses the principle component analysis (PCA) instead of Putnam's method. The PCA's results improve a 9.85 percent performance more than the Putnam's result. Also, this model seems to be simple and easily realize.

Putnam은 소프트웨어 프로젝트에 참여하는 인력이 Rayleigh 분포를 따르는 SLIM 모델을 제시하였다. 이 모델에서 인력분포를 얻기 위해서는 총 개발노력과 개발 난이도를 추정해야 한다. 프로젝트 개발에 참여할 것인지 여부를 결정하기 위해서는 소프트웨어 생명주기의 초기단계에서 이 모수들을 보다 적확히 추정하는 것이 필요하다. Putnam은 시스템 속성들 중 강한 상관관계가 있는 변량을 제거하고 나머지 변량들만으로 총 개발노력과 개발 난이도를 추정하였다. 그러나 통계적 방법에 따라 변량들이 다르게 선택되며 모델의 성능에 차이가 발생한다. 본 논문은 Putnam 방법 대신 주성분분석을 이용하여 최적의 시스템 속성을 선택하였다. 모델의 성능분석 결과 주성분분석 방법이 Putnam의 방법보다 9.85% 성능향상을 보였다. 또한, 제안된 모델은 단순하고 쉽게 구현할 수 있다.

Keywords

References

  1. L. H. Putnam, 'A General Empirical Solution to the Macro Software Sizing and Estimating Problem,' IEEE Trans. on Software Eng., Vol.SE-4, No.4, 1978 https://doi.org/10.1109/TSE.1978.231521
  2. K. Pillai and V. S. S. Nair, 'A Model for Software Development Effort and Cost Estimation,' IEEE Trans. on Software Eng., Vol.23, No.8, pp.485-497, 1997 https://doi.org/10.1109/32.624305
  3. 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 https://doi.org/10.1109/32.277575
  4. A. J. Albrecht and J. E. Gaffney, 'Software Function, Source Line of Code and Development Effort Prediction : A Software Science Validation,' IEEE Trans. on Software Eng., Vol.SE-9, No.6, pp.639-648, 1983 https://doi.org/10.1109/TSE.1983.235271
  5. B. W. Boehm, 'Software Engineering Economics,' Prentice Hall, 1981
  6. B. W. Boehm, 'Software Engineering Economics,' IEEE Trans. on Software Eng., Vol.10, No.1, pp.7-19, 1984
  7. A. J. Albrecht, 'Measuring Application Development Productivity,' in Programming Productivity : Issues for the Eighties, C. Jones, ed. Washington, DC : IEEE Computer Society Press, 1981
  8. C. F. Kemerer, 'An Empirical Validation of Software Cost Estimation Models,' Communication ACM, Vol.30, No.5, pp.416-429, 1987 https://doi.org/10.1145/22899.22906
  9. W. F. Massy, 'Principle Component Regression in Exploratory Statistical Research,' Journal of the American Statistical Association, Vol.60, pp.234-246, 1965 https://doi.org/10.2307/2283149
  10. P. V. Norden, 'Curve Fitting for a Model of Applied Research and Development Scheduling,' IBM J. Research and Development, Vol.3, No.2, pp.232-248, 1958
  11. P. V. Norden, 'Project Life Cycle Modeling : Background and Application of the Life Cycle Curves,' U. S. Army Computer System Command, 1977
  12. ISBSG, 'Worldwide Software Development - The Benchmark Release 6,' Victoria, Australia International Software Benchmarking Standards Group, 2000