DOI QR코드

DOI QR Code

Measuring cohesion of a component

컴포넌트의 응집성 측정

  • Published : 2002.08.01

Abstract

The component-based development methodology becomes famous as the new technology for reuse. That technology can help us easily develop a complex and large system by composing reusable components in short period with high-quality and low-cost. The component-based system nay be developed by composing more than one component. So, the quality of component-based system is determined by individual component duality. Therefore, it is necessary to measure individual component quality for the improvement in quality of component-based system. Hence, in this paper, we propose new component metrics for measuring the cohesion as relationship between classes and interfaces or among classes. Those can be applied in the early stage of software development life cycle. So, we can measure the functional cohesion of component which will be developed. Predicting functional independence of a component, we expect to reduce the software developing cost & effort and improve software quality by reusing a component.

이미 존재하는 기능의 조각인 컴포넌트를 조림함으로써 시스템의 개발 시간과 비용을 줄이고, 소프트웨어의 품질과 생산성을 향상시키고자 하는 컴포넌트 기반 개발 방법론이 새로운 재사용 기술로 나타나기 시작했다. 컴포넌트 기반 시스템은 컴포넌트의 조합으로 구성되기 때문에 개별 컴포넌트의 품질에 의해 영향을 받는다. 그러므로, 개발될 컴포넌트 시스템의 품질을 향상시키기 위해서는, 조림될 개별 컴포넌트의 품질에 대한 측정이 필요하다. 따라서, 본 논문에서는 컴포넌트 인터페이스와 내부의 클래스 또는 클래스들 사이의 관련성으로 컴포넌트 응집성을 측정하는 메트릭스를 제안한다. 이는 소프트웨어 개발 주기의 초기인 분석단계에 적용하여, 향후 개발될 컴포넌트의 기능적 응집 정도를 측정해 볼 수 있다. 컴포넌트의 기능 독립성을 예측 가능함으로써, 소프트웨어 개발에 대한 노력을 줄일 수 있으며 컴포넌트 재사용을 통한 시스템의 품질 향상을 가져올 수 있는 효과를 기대할 수 있다.

Keywords

References

  1. C. W. Krueger, 'Software Reuse,' ACM Computing Surveys, Vol.24, No.2, pp.131-184, Jun., 1992 https://doi.org/10.1145/130844.130856
  2. The Software Engineering Institute (SEI) in Carnegie Mellon University, 'Component-Based Software Development/COTS Integration,' URL:http://www.sei.cmu.edu/str/descriptions/cbsd_body.html
  3. Clemens Szyperski, 'Component Software : Beyond Object-Oriented Programming,' ACM Press and Addison-Wesley, 1998
  4. George T. Heineman, William T. Councill, 'Component-Based Software Engineering : Putting the Pieces Together,' Addison-wesley, 2001
  5. Roger S. Pressman, 'Software Engineering, A Practitioner's Approach,' 4th ed., McGrawHill, 1998
  6. Chidamber S. R., Kemerer C. F., A Metric Suit for Object Oriented Design, PP. 476-493, IEEE Transactions on Software Engineering, 20(6), 1994 https://doi.org/10.1109/32.295895
  7. W. Li, S. Henry, 'Object Oriented Metrics Which Predict Maintainability,' Journal of Systems and Software, Vol.23, No.2, pp.111-122, Nov., 1993 https://doi.org/10.1016/0164-1212(93)90077-B
  8. J. Bieman, B. K. Kang, 'Cohesion and reuse in an object-oriented system,' Proceedings of ACM Symposium on Software Reusability (SSR'95), pp.259-262, Apr., 1995 https://doi.org/10.1145/211782.211856
  9. R. Binder, 'Testing Object-Oriented Systems : A Status Report,' American Programmer, Vol.7, No.4, pp.22-29, Apr., 1994
  10. J. Cheesman, J. Daniels, 'UML Components : A Simple Process for Specifying Component-Based Software,' Addison-Wesley, 2001
  11. D. D'Souza, A. Wills, 'Catalysis : Component and Framework based development,' Addison-Wesley, 1999
  12. 김성애, 최완규, 이성주, '객체지향 패러다임에서 저해요인에 기반한 응집도 척도', 정보처리학회논문지, 제7권 제11호, pp.3372-3383, 2000
  13. 채흥석, 권용래, 배두환, '객체지향 시스템의 클래스에 대한 응집도', 한국정보과학회논문지(B), 제26권 제9호, pp.1095-1105, 1999
  14. M. H. Samadzadeh, S. J. Khan, 'Stability, Coupling, and Cohesion of Object-Oriented Software Systems,' Proceedings of the 22nd Annual ACM Computer Science Conference (CSC'94), pp.312-319, Mar., 1994 https://doi.org/10.1145/197530.197642
  15. E.J. Weyuker, 'Evaluating software complexity measures,' IEEE Transactions on Software Engineering, Vol.14, No.9, pp.1357-1365, 1988 https://doi.org/10.1109/32.6178
  16. L. Briand, S. Morasca, V. R. Basili, 'Property-based Software Engineering Measurement,' IEEE Transactions on Software Engineering, Vol.22, No.1, pp.68-85, 1996 https://doi.org/10.1109/32.481535
  17. Bindu Mehra, 'A Critique of Cohesion Measures in the object-Oriented Paradigm,' Master thesis, department of computer science, Michigan Technological university, 1997