DOI QR코드

DOI QR Code

웹 소프트웨어의 순환복잡도에 대한 정량적 분석

A Quantitative Analysis of the Cyclomatic Complexity of the Web Software

  • 김지현 (서일대학교 컴퓨터소프트웨어과)
  • 투고 : 2014.02.03
  • 심사 : 2014.02.18
  • 발행 : 2014.02.28

초록

본 연구는 웹 소프트웨어의 복잡도와 객체지향 프로그래밍 측정자인 클래스 수(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.

키워드

참고문헌

  1. Habra, N., Abran A., Lopez, M. & Paulus, V., "Towards a framework for Measurement Lifecycle," University of Namur, Technical Report, TR37/ Apr. 2004
  2. Miguel Lopez, Naji Habra, "Relevance of the Cyclomatic Complexity Threshold for the Java Programming Language," In Proceedings of the Software Measurement European Forum(SMEF 2005), Mar. 2005
  3. JeeHyun Kim, "Relevance of the Cyclomatic Complexity Threshold for Web Programming," Journal of the Korea Society of Computer and Information, vol. 17, no. 6, Jun. 2012 https://doi.org/10.9708/jksci.2012.17.6.153
  4. Miguel Lopez, Gregory Seront, Naji Habra, "A Quantitative Analysis of the Cyclomatic Complexity of the Java Development Framework J2SDK," In Proceedings of SMEF2006, May 2006
  5. T. J. McCabe, , "A Complexity Measure," IEEE Transactions on Software Engineering, Vol. 2, No. 4, Dec. 1976
  6. JeeHyun Kim, HaeYoung Yoo, "A Study of Estimation for Web Software Size," Journal of the Korea Information Processing Society, vol. 12-D. no. 3, May 2005 https://doi.org/10.3745/KIPSTD.2005.12D.3.409
  7. JeeHyun Kim, Chel Park, "Implementation of the Module Risk Levels Measurement Tools for Web Application," Journal of the Korea Society of Computer and Information, vol. 7, no. 2, Jun. 2002
  8. V.B.Misic, D.N.Tesic, "Estimation of effort and complexity: An object-oriented case study," Journal of Systems and Software, Jan. 1999
  9. Chel Park, HaeYoung Yoo, "Analysis of Cyclomatic Complexity for Web Application", Journal of the Korea Information Processing Society, v.11-D, n.4, pp.865-872, Aug. 2004 https://doi.org/10.3745/KIPSTD.2004.11D.4.865
  10. V.R. Basili, L.C. Briand, and W.L. Melo, "A Validation of Object Oriented Design Metrics as Quality Indicators," IEEE Trans. Software Eng., vol. 22, no. 10, pp. 751-761, Oct. 1996 https://doi.org/10.1109/32.544352
  11. Stark G., Durst, R.C., " Using Metrics in Management Decision Making," Computer (IEEE), 1994
  12. Victor Laing and Charles Coleman, "Principal Components of Orthogonal Object-Oriented Metrics," www.gsfc.nasa..gov/support/OSMASA SMSEP01/,Oct. 2001
  13. Chidamber, S.R., D.P. Darcy, and C.F. Kemerer, "Managerial Use of Object-Oriented Software : An Explanatory Analysis," IEEE Transactions on Software Engineering, 24(8), Aug. 1998
  14. Marco Ronchetti, Giancarlo Succi, Witold Pedrycz, Barbara Russo, "Early estimation of software size in object-oriented environments : a case study in a CMM level 3 software firm, " www.unibz .it/web4archiv/objects/pdf/cs_library/1/, 2003
  15. Linda Rosenberg, Ph.D., Lawrence Hyatt, "Developing a successful metrics program," International Conference On Software Engineering(IASTED) SanFrancisco CA, Nov. 1997
  16. Britoe e Abreu, P., Poels, G., Sahraoui H.A., and Zuse, H., "Quantitative Approaches in Object-Oriented Software Engineering," Kogan Page Science, 2004
  17. Abran, A., Lopez, M., and Habra, N., "An Analysis of the McCabe Cyclomatic Complexity Number," in IWSM Proceedings, Berlin, 2004
  18. Thomas A. Powell , "WebSite Engineering," Prentice Hall PTR, 1998