(Domain Design Method to Support Effective Reuse in Component-Based Software Development)

컴포넌트 기반 소프트웨어 개발의 효율적인 재사용성을 지원하기 위한 도메인 설계 방법

  • 문미경 (부산대학교 컴퓨터공학과) ;
  • 박준석 (부산대학교 컴퓨터공학과) ;
  • 염근혁 (부산대학교 컴퓨터공학과)
  • Published : 2003.06.01

Abstract

Component-based Software Development(CBSD) supported by both component and reusability can reduce development time and cost, and also can achieve high productivity. To support component reusability systematically domain analysis and design in parallel with CBSD-process is needed. And also it is needed to suggest objective analysis process to fine out commonality and variability in domain, which is lacked in current domain analysis and design method. And to abstract domain component from the information which is well reflected in domain model, and to express it in domain architecture is needed. In this paper, we suggest the method to define, analyze and design domain systematically for enhancing reusability effectively in Component-base Software Development. We abstract components which can be reusable in domain, in other word, which have commonality from requirement analysis level. We sustain and refine them. And we reflect them to the products of each level. From these process, we can produce the domain component which have commonality. On this basis, we can design domain architecture. In this paper, to produce reusable software we investigate new systematic approach to domain analysis and design from the view point of software reusability.

컴포넌트와 재사용의 개념을 함께 가지는 컴포넌트 기반 소프트웨어 개발 방법은 소프트웨어 개발시간과 비용을 줄이고, 생산성을 향상시키는 등의 장점을 가진다 이때 컴포넌트들의 재사용을 체계적으로 지원하기 위해 컴포넌트 기반 소프트웨어 개발 프로세스와 병행한 도메인 분석과 설계 방법이 필요하다. 또한 현재의 도메인 분석, 설계 방법에서 부족한 도메인 내의 공통성과 다양성을 인식하는 과정에 대해 객관적인 분석 제시가 필요하다. 그리고 그 정보를 도메인 모델에 잘 반영시켜 그로부터 도메인 컴포넌트를 추출하고 이를 도메인 아키텍쳐에 명시적으로 나타내는 방법이 필요하다 본 논문에서는 컴포넌트 기반 소프트웨어 개발 시 효율적인 재사용 방안으로 도메인을 체계적으로 정의하고 분석, 설계하는 방법을 제안한다. 도메인 내에서 다시 사용될 수 있는 부분, 즉 공통성을 가진 요소들을 요구사항 분석 단계에서부터 추출하여 이를 계속 유지, 정제시켜가며 각 단계의 산출물에 반영시킨다. 이 과정을 통해 공통성을 가진 형태의 도메인 컴포넌트를 생성해 낼 수 있으며 이를 기반으로 도메인 아키텍처를 설계할 수 있다. 본 논문에서 제시하는 도메인 분석, 설계를 통해 소프트웨어를 재사용(software reuse)할 수 있도록 해 주는 동시에, 재사용 가능한 소프트웨어(reusable software)를 생산할 수 있도록 함으로써 체계적인 재사용의 선순환 관계를 지원하게 된다.

Keywords

References

  1. Creps D., Klingler, C, Levine, L., and Allemang, D., 'Organization Domain Modeling(ODM) Guidebook Version 2.0', Software Technology for Adaptable, Reliable Systems (STARS), 1996
  2. Frank, S., 'The Three 'R's' of Mature System Development: Reuse, Reengineering, and Architecture', In The Fifth Systems Reengineering Technology Workshop 1995. URL: http://source.asset.com/ stars/lm-tds/Papers/sysdev/nswc-95.html
  3. Klingler, C. D., 'DAGAR: A Process for Domain Architecture Definition and Asset Implementation.', In: Proceedings of ACM TriAda, 1996 https://doi.org/10.1145/240678.240723
  4. Kang, K. C, 'Feature-Oriented Domain Analysis for Software Reuse', Joint Conference on Software Engineering, pp. 389-395, 1993
  5. SEI in Carnegie Mellon University, 'Feature-Oriented Domain Analysis', URL:http://www.sei.cmu.edu/str/ descriptions/foda_body.html
  6. Kang, K. C, Kim, S, Lee J.,and Kim, K., 'FORM: A Feature-Oriented Reuse Method with Domain Specific Reference Architectures', Pohang University of Science and Technology(POSTECH), 1998
  7. Griss, M. L., Favaro, J., and d'Alessandro, M., 'Integrating Feature Modeling with the RSEB', in Proceedings of 5th International Conference on Software Reuse, Victoria Canada, June, IEEE, pp. 76-85, 1998 https://doi.org/10.1109/ICSR.1998.685732
  8. van Gurp, J., Bosch, J., and Svahnberg, M., 'On the notion of variability in software product lines', Proceedings on Working IEEE/IFIP Conference on Software Architecture, pp. 45-54, 2001 https://doi.org/10.1109/WICSA.2001.948406
  9. Frakes, W., Prieto-Diaz, R., and Fox, C, 'DARE-COTS: A Domain Analysis Support Tool', Proceedings on XVII International Conference of the Chilean Computer Science Society (Valparaiso, Nov, 1997), pp. 73-77, 1997
  10. SEI in Carnegie Mellon University, 'Component-Based Software Development/COTS Integration', http://www.sei.cmu.edu/str/descriptions/cbsd_body. html
  11. D'souza, D. F. and Wills, A. C., 'Objects, Components, and Frameworks with UML', Addison-Wesley, 1998
  12. Harmon, P., 'Visual Modeling Tools, Case Vendors, and Component Methods', Component Development Strategies, Volume IX, No. 5, 1999
  13. Short, K., 'Component Based Development and Object Modeling', Sterling Software, 1997
  14. Jacobson, I., Booch, G., and Rumbaugh, J., 'The Unified Software Development Process', Addison-Wesley, January 1999
  15. John, C. and John, D., 'UML Components', Addison-Wesley, October 2000
  16. 한국전자통신연구원, '마르미-III 방법론', URL:http.//www.component.or.kr
  17. Digre T., 'Business Object Component Architecture', IEEE software Vol.15, No.5, September/October, pp. 60-69, 1998.1. https://doi.org/10.1109/52.714818