Software Component Reusability Metrics

소프트웨어 컴포넌트 재사용성 측정 메트릭

  • 박인근 ((주)CJ Systems 소프트웨어 공학연구소) ;
  • 김수동 (숭실대학교 컴퓨터학과)
  • Published : 2004.06.01

Abstract

Component Based Development(CBD) Methodology is widely used in software development lifecycle to improve software quality. The Component Based Development(CBD) results to improve software reusability and reduce development term and cost. For this reason, lots of Enterprises are trying to make their processes to components. But, there has been few quality assurance or reusability testing action to those components. Most software component users can not know how their components are reusable and what extent their components satisfy to th eir quality requirements. For this reason, this paper suggests that software components can be measured their reusability by metrics proposed by this paper. We propose that in measuring software component reusability, there are direct metrics and indirect metrics. The results made by direct metrics are suggested to measure indirect metrics, so results to obtain reusability metrics.

소프트웨어의 개발 생산성 향상과 고품질의 소프트웨어 생산을 위해서 현재 컴포넌트 기반 개발(CBD)이 보편화되고 있다. 이러한 CBD는 소프트웨어의 재사용성을 높여 주며 개발기간 단축과 개발비용의 절감을 가져오고 있다. 이러한 장점 때문에 산업계에서는 맡은 부분을 컴포넌트로 만들려고 노력하고 있다. 그러나, 만들어진 소프트웨어 컴포넌트에 대해서 얼마나 품질이 좋은지, 또한 얼마나 재사용성이 있는가에 대한 검증은 아직 미흡한 상태이다. 본 논문에서는 만들어진 소프트웨어 컴포넌트에 대한 품질 중 재사용성을 측정하는데 필요한 측정 방법을 제공한다. 재사용성의 측정 방법은 크게 간접적인 측정 기준과 직접적인 측정 기준으로 구분한다. 직접적인 측정 기준은 컴포넌트를 구성하는 클래스들과 컴포넌트의 인터페이스들을 조사해서 얻을 수 있는 방법을 말하는 것으로 컴포넌트의 크기, 복잡도, 결합도, 응집도 등을 측정한다. 간접적인 측정 기준은 이러한 직접적인 측정기준을 가지고 측정이 되는 기준으로서 이해도, 적용가능성, 수정가능성, 모듈화가능성이 있다. 이러한 간접적인 측정은 궁극적으로 재사용성의 측정에 사용이 된다. 이러한 직접적인 측정기준과 간접적인 측정을 이용해서 재사용성에 대한 측정을 해본 결과 소프트웨어 컴포넌트의 품질이 향상되면서 측정값이 재사용성에 도움을 주는 방향으로 변화하는 것을 확인하였다.

Keywords

References

  1. Jeffrey S. Poulin, 'Measuring Software Reusability,' Proceeding of the Third International Conference on Software Reuse, Rio de Janeiro, Brazil, 1-4 November 1994, pp.1-5 https://doi.org/10.1109/ICSR.1994.365803
  2. Prieto- Diaz, Ruben and Peter Freeman, 'Classifying Software for Reusability,' IEEE Software, Vol. 4, No. 1, January 1987, pp.6-16 https://doi.org/10.1109/MS.1987.229789
  3. Caldiera, Gianluigi and Victor R Basili, 'Indentifying and Qualifying Reusable Software Components,' IEEE Software, Vol. 24, No.2, Febuary 1991, pp.61-70 https://doi.org/10.1109/2.67210
  4. Pressman, R.S., Software Engineering: A Practitioner's Approach, McGraw-Hill, 2002
  5. STARS, 'Repository Guidelines for the Software Technology for Adaptable, Reliable Systems (STARS) Program,' CDRL Sequence Number 0460, 15 March 1989
  6. ISO/IEC, FCD 9126-1.2 Information Technology-Software product quality-Part 1:Quality model, 1998
  7. Katherine Whitehead, Component-based Development: Principles and Planning for Business Systems, Addison Wesley, 2002
  8. Elaine J. Weyuker, 'Evaluating Software Complexity Measures,' IEEE Transactions on Software Engineering. vol. 14. NO.9, September 1988, pp.1357-1365 https://doi.org/10.1109/32.6178
  9. Atkinson C., Bayer J., Bunse C., Kamsties E., Laitenberger O., Laqua R., Muthig D., Paech B., Wiist J., Zettel J., Component-based Product Line Engineering with UML, Addison Wesley, 2001
  10. Shyam R. Chidamber, Chris F. Kemerer, 'A Metrics Suit for Object Oriented Design,' IEEE Transactions on Software Engineering. vol. 20. NO.6, June 1994, pp.476-493 https://doi.org/10.1109/32.295895
  11. John Cheesman, John Daniels, 'UML Components: A Simple Process for Specifying Component-Based software,' Addison-Wesley, 2001
  12. lionel C. Briand, Sandro Morasca, Victor R. Basili, 'Property-Based Software Engineering Measurement,' IEEE Transactions on Software Engineering, vol 22. NO.1, January 1996, pp.68-86 https://doi.org/10.1109/32.481535