Improvement of Component Design using Component Metrics

컴포넌트 메트릭스를 이용한 컴포넌트 설계 재정비

  • 고병선 (숙명여자대학교 정보과학부) ;
  • 박재년 (숙명여자대학교 정보과학부)
  • Published : 2004.08.01

Abstract

The component-based development methodology aims at the high state of abstraction and the reusability with components larger than classes. It is indispensible to measure the component so as to improve the quality of the component-based system and the individual component. And, the quality of the component should be improved through putting the results into the process of the development. So, it is necessary to study the component metric which can be applied in the stage of the component analysis and design. Hence, in this paper, we propose component cohesion, coupling, independence metrics reflecting the information extracted in the step of component analysis and design. The proposed component metric bases on the similarity information about behavior patterns of operations to offer the component's service. Also, we propose the redesigning process for the improvement of component design. That process uses the techniques of clustering and is for the thing that makes the component as the independent functional unit having the low complexity and easy maintenance. And, we examine that the component design model can be improved by the component metrics and the component redesigning process.

컴포넌트 기반 개발 방법론은 클래스보다 더 큰 단위인 컴포넌트를 통해 높은 추상화와 재사용을 목표로 하는 개발 방법론이다. 컴포넌트 기반 시스템과 개별 컴포넌트의 품질 향상을 위해서는 개발 이전에 측정하고, 그 결과를 컴포넌트 개발 과정에 반영할 수 있어야 한다. 그러므로 컴포넌트 분석 및 설계 단계에 적용 가능한 컴포넌트 메트릭에 대한 연구가 필요하다. 따라서 본 논문에서는 컴포넌트 설계 정보에 기반한 컴포넌트 응집도, 결합도, 독립도 메트릭을 제안한다. 제안한 메트릭은 컴포넌트의 서비스를 제공하기 위한 오퍼레이션들의 동작 유형의 유사도에 기반 한다. 또한, 기능적으로 응집도가 높으며 복잡도가 낮고 유지 보수가 용이한 컴포넌트 설계가 되도록 하기 위한 클러스터링 기법을 사용한 컴포넌트 재설계 과정을 제안한다. 그리고 개발 이전에 컴포넌트 측정과 컴포넌트 재설계 과정을 통해 바람직한 컴포넌트 설계가 되도록 할 수 있음을 사례 연구를 통해 확인했다.

Keywords

References

  1. The Software Engineering Institute(SEI) in Carnegie Mellon University, 'Component-Based Software Development/COTS Integration,' http://www.sei.cmu.edu/str/descriptions/cdsd_body.html, January 1997
  2. Colin Atkinson, Joachim Bayer, Christian Bunse, Erik Kamsties, Oliver Laitenberger, Roland Laqua, Dirk Muthig, Barbara Peach, Jurgen Wust, Jorg Zettel, Component-Based Product Line Engineering with UML, pp.372-408, Addison-Wesley, 2002
  3. Clemens Szyperski, Dominik Gruntz, Stephan Murer, Component Software: Beyond Object-Oriented Programming, 2nd Edition, pp. 35-82
  4. John Cheesman, John Daniels, UML Components: A Simple Process for Specifying Component-Based Software, pp. 25-36, 103-146, Addison-Wesley, 2001
  5. H.H. Kim and D.H. Bae, 'Component Identification via Concept Analysis,' Journal of Object Oriented Programming, 2001
  6. E.S. Cho, M.S. Kim, S.D. Kim, 'Component Metrics to Measure Component Quality,' pp.419-426, Eighth Asia-Pacific Software Engineering Conference (APSEC'01), 2001
  7. 최미숙, 분석 클래스 기반의 컴포넌트 식별 메트릭스와 컴포넌트 식별 방법에 관한 연구, 숙명여자대학교 박사학위논문, 2002년 8월
  8. 차석빈 외 5인, 다변량 분석의 이론과 실제, pp. 253-282, 학현사, 2001
  9. 성웅현, 경영통계 자료 분석, pp. 405-428, 무역경영사, 1997
  10. Hind Kabaili, Rudolf K. Keller, Francois Lustman, Class Cohesion as Predictor of Changeability: An Empirical Study, Hermes Science Publications, Paris, France, 2001
  11. Bindu Mehra, A Critique of Cohesion Measures in the object-Oriented Paradigm, Master Thesis, Department of Computer Science, Michigan Technological University, 1997
  12. George T. Heineman, William T. Council, Component-Based Software Engineering : Putting the Pieces Together, pp. 307-320, Addison-Wesley, 2001
  13. Desmond F. D'Souza, Alan C. Wills, Object, Component and Framework with UML : The Catalysis Approach, pp. 45-184, Addison-Wesley, 1999
  14. Lionel Briand, Sandro Morasca, Victor Basili, 'Property-based Software Engineering Measurement,' IEEE Transactions on Software Engineering, Vol.22, No.1, pp.68-86, January 1996 https://doi.org/10.1109/32.481535