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