컴포넌트 개발을 위한 UML 기반의 계층형 메타 모델 설계 및 적용기법

A Design and Adaptation Technique of UML-based Layered Meta-Model for Component Development

  • 이숙희 (서경대학교 인터넷정보학과) ;
  • 김철진 (삼성전자 디지털솔루션센터) ;
  • 조은숙 (서일대학 소프트웨어학과)
  • 발행 : 2006.06.30

초록

새로운 개발 패러다임으로 컴포넌트 기반 소프트웨어 개발이 소개되었다. 이 접근방식은 재사용 가능하면서 독립적인 단위의 컴포넌트들을 기반으로 소프트웨어를 개발하기 때문에 기존의 소프트웨어 개발 방식과는 차이가 있다. 따라서, 컴포넌트 기반 개발(CBD)은 크게 두 단계인 컴포넌트 개발 프로세스와 컴포넌트 조립 프로세스 즉, 어플리케이션 개발 프로세스로 구분된다. 컴포넌트 개발 프로세스는 컴포넌트가 품질 좋은 소프트웨어를 위한 열쇠이기 때문에 컴포넌트 기반 소프트웨어 개발에서 핵심적인 부분이라고 할 수 있다. 현재 이와 관련하여 학계 및 산업체에서 많은 방법론이나 도구들이 소개되고 있다. 그러나, 이러한 방법론이나 도구들은 실제 컴포넌트 개발 프로젝트에 손쉽게 적용할 수 있을 정도의 체계적이면서 유연한 모델링 기법들을 제시하고 있지 못하고 있다. 또한 현존 기법들은 컴포넌트 모델링에 있어서 독단적인 기법을 갖고 있거나 혹은 경험적 지침 정도만을 제공하고 있는 수준이다. 그 결과 많은 컴포넌트 개발자들이 컴포넌트 모델을 어떻게 개발해야 할지, 언제 어떠한 다이어그램을 개발해야 할지 등에 대한 어려움을 직면하고 있다. 본 논문에서는 이러한 문제를 해결하기 위해 메타 모델 기반의 접근법을 제시하고자 한다. 특히 계층과 개발 단계에 따른 메타 모델들을 제시하고자 한다. 이로써 개발자들은 적절한 시기에 적합한 모델들을 개발할 수 있게 된다.

Component-based software development is introduced as a new development paradigm in software development method. This approach is different from existing software development approach because it is based on reusable and autonomous unit, component. Therefore, component-based development(CBD)is divided into two stages; component development process and component assembly process; application development process. Component development process is the core of CBD because component has a key for good software. Currently many methodologies or tools have been introduced by various academies or industries. However, those don't suggest systematic and flexible modeling techniques adaptable easily into component development project. Existing approaches have a unique orarbitrary modeling technique or provide heuristic guidelines for component modeling. As a result, many component developers are faced with a difficult problems; how to developcomponent models, when develop which diagrams, and so on. In order to address this problem, we suggest a meta-model driven approach for component development in this paper. We provide meta-models according to both layer and development phase. We expect that suggested meta-models allow component developers to develop appropriate models of the time.

키워드