A Two-Phase Component Identification Method using Static and Dynamic Relationship between Classes

클래스들 간의 정적ㆍ동적 관계에 의한 2단계 컴포넌트 식별방법

  • 최미숙 (우석대학교 컴퓨터공학과) ;
  • 조은숙 (동덕여자대학교 컴퓨터정보과학부) ;
  • 박재년 (숙명여자대학교 정보과학부) ;
  • 하종성 (우석대학교 컴퓨터공학과)
  • Published : 2005.02.01

Abstract

It is difficult to identify reusable and independent components in component-based development(CBD) process. Therefore existing methodologies have dealt the problem of component identification based on only developer's intuition and heuristics. As a result, it is difficult to identify the business components by common developers. Therefore, in this paper, we propose a new baseline and technique to identify the business components based on domain model such as use case diagrams, class diagrams, and sequence diagrams. proposed method identifies components through two phases; system component identification and business component identification. Especially, we consider structural characteristics as well as dependency characteristics according to methods call types and directions in identifying components. We also present a case study and comparative analysis and assessment to prove the practical use of our technique.

컨포넌트 개발 프로세스에서 재사용 가능한 독립적인 컴포넌트의 식별은 가장 중요한 작업이면서 어려운 작업이다. 따라서 현존하는 컴포넌트 개발 방법론들에서는 컴포넌트 식별을 위해서 체계적이고 명확한 기준이 제시되지 않아 대다수 개발자의 직관과 경험에 의존하고 있다. 그 결과 평이한 개발자에 의해서 소프트웨어의 재사용 단위인 컴포넌트를 식별하기가 쉽지 않다. 따라서 본 논문에서는 컴포넌트를 용이하게 식별할 수 있도록 유스케이스 다이어그램, 클래스 다이어그램 그리고 시퀀스 다이어그램 등 도메인 모델을 기반으로 컨포넌트를 식별하는 기준과 방법을 제시한다. 본 논문에서는 2단계 즉, 시스템 컨포넌트 식별과 비즈니스 컴포넌트 식별을 통하여 컴포넌트론 식별하는 방법을 제시한다. 특히, 제안된 기법에서는 컴포넌트 식별에 있어서 구조적 특성뿐만 아니라 메소드 호출 유형과 방향에 따른 의존성 특성을 함께 괴려하고 있다 이러한 제안된 기법의 실용성을 검증하기 위해 사례 연구와 기존 식별 방법과의 비교 분석 및 평가를 제시한다.

Keywords

References

  1. Desmond Francis Dsouza and Alan Cameran wills, Objects, Component, and Frameworks with UML: the Catalysis approach, Addison Wesley, 1999
  2. Compuware, About Unitace, http://www.compuware.com/products/uniface/about.htm, 2001
  3. Computer Associates, COOL:Joe 2.0, http:/www.- cai.com/products/cool/joe/ cooljoe_pd.pdf, 2001
  4. John Cheesman and John Daniels, UML Components: A Simple Process for Specifying Component-Based Software, Addison-Wesley, 2001
  5. Ivar Jacobson, Grady Booch and James Rumbaugh, The Unified Software Development Process, Addison Wesley, 1999
  6. ETRI, 컴포넌트 개발방법론 마르미 III, Technical Report, 2002
  7. Hyung Ho Kim and Doo Whan Bae, Component Identification via Concept Analysis, Journal of Object Oriented Programming, 2001
  8. Jong Kook Lee, Seung Jae Jung and Soo Dong Kim, Component Identification Method with Coupling and Cohesion, Proceedings of Asia Pacific Software Engineering Conference, pp. 79-88, 2001 https://doi.org/10.1109/APSEC.2001.991462
  9. Eun Sook Cho, Soo Dong Kim and Sung Yul Rhew, A Domain Analysis and Modeling Methodology for Component Development, International Journal of Software Engineering and Knowledge Engineering, Vol.14, No.2, April, 2004
  10. David C. Kung, Jerry. Gao, Pei Hsia, F. Wem, Y. Toyoshima and C. Chen, Change Impact Identification in Object Oriented Software Maintenance, Proceedings International Technical Conference on Ciecuit/Systems, Computers and Communications, 1999
  11. David C. Kung, Jerry Gao and Pei Hsia, Class Firewall, Test Order, and Regression Testing of Object-Oriented Programs, Journal of Object-Oriented Programming, pp. 51-65, 1995
  12. Henderson-Sellers, Brian, Object-Oriented Metrics, Prentice-Hall, 1996
  13. Clemens Szyperski, Dominik Gruntz and Stephan Murer, Component Software: Beyond ObjectOriented Programming, 2nd Edition, AddisonWesley, 2002
  14. George T. Heineman and William T. Council, Component Based Software Engineering : Putting the Pieces Together, Addison-Wesley, 2001
  15. S.R. Chidamber and C.F. Kemerer, A Metric Suite for Object-Oriented Design, IEEE Transactions on Software Engineering, vol. 17, No. 6, pp. 636-638, 1994 https://doi.org/10.1109/32.295895