컴포넌트 기반 개발을 위한 CASE 도구의 기능적 요구사항 및 개발관리 도구 Functional Requirements about CASE Tools for Component Based Development and a Development Management Tool원문보기
컴포넌트 기반 개발에 사용되는 CASE 도구는 기본적으로 모델링 기능, 프로젝트 관리 기능, 그리고 구현 및 테스트 지원 기능 등이 필요하다. 본 논문에서는 컴포넌트 기반 개발 시에 사용되는 CASE 도구의 기능적 요구사항을 제시한다. 기 존재하는 컴포넌트 기반 개발 도구들로부터 도구의 기능적 요구사항을 도출하여 분석/설계, 프로젝트 관리, 구현 및 테스트, 기타 기능 지원 등으로 분류하여 제시하고, 개발관리 기능을 추가하여 컴포넌트 기반 개발을 위한 CASE 도구를 제안한다.
컴포넌트 기반 개발에 사용되는 CASE 도구는 기본적으로 모델링 기능, 프로젝트 관리 기능, 그리고 구현 및 테스트 지원 기능 등이 필요하다. 본 논문에서는 컴포넌트 기반 개발 시에 사용되는 CASE 도구의 기능적 요구사항을 제시한다. 기 존재하는 컴포넌트 기반 개발 도구들로부터 도구의 기능적 요구사항을 도출하여 분석/설계, 프로젝트 관리, 구현 및 테스트, 기타 기능 지원 등으로 분류하여 제시하고, 개발관리 기능을 추가하여 컴포넌트 기반 개발을 위한 CASE 도구를 제안한다.
CASE tools supporting component based development should include functions for modeling, project management, and supporting other phases activities of the development process. Functional requirements of CASE tools supporting component based development are proposed in this paper. Required functions ...
CASE tools supporting component based development should include functions for modeling, project management, and supporting other phases activities of the development process. Functional requirements of CASE tools supporting component based development are proposed in this paper. Required functions are identified by analyzing the existing CBD CASE tool, and are categorized into modeling, project management, and supporting other phases activities.
CASE tools supporting component based development should include functions for modeling, project management, and supporting other phases activities of the development process. Functional requirements of CASE tools supporting component based development are proposed in this paper. Required functions are identified by analyzing the existing CBD CASE tool, and are categorized into modeling, project management, and supporting other phases activities.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
또한, 이를 효과적으로 활용하기 위해서는 도구가 갖추지 못한 기능적 요구사항들을 포함하는 타 도구와 연동이 되며 사용하기 용이하게 개발하여야 한다. 본 논문에서는 이러한 기능적 요구를 수용하는 도구를 제시하였다. 이와 더불어 개발 프로세스 상에 사용되는 타 단계의 도구가 지원하는 기능과의 중복을 피하기 위해 도구가 지원하는 기능들의 명확한 경계를 설정하는 작업이 필요할 것이다.
본 논문에서는 컴포넌트 기반 개발 시에 사용되는 도구들로부터 도구의 요구사항을 추출하여 컴포넌트 기반 개발을 위한 도구의 기능을 분석 및 설계, 프로젝트 관리 지원, 구현 및 타 단계 지원, 그리고 기타 기능으로 구분하여 제시하였다. 또한 제안한 도구의 평가는 컴포넌트 기반 어플리케이션 개발에 비중을 두고 있는 국내에서 개발된 컴포넌트 기반 개발 방법론인 마르미-m의 산출물 생성 지원 정도로 평가하였다.
본 논문에서는 컴포넌트 기반 개발에 사용 되는 CASE 도구의 기능적 요구사항을 제시 한다. 기존의 컴포넌트 기반 개발에 사용되는 개발 프로세스를 분석하여 필수적인 활동 및 작업을 조사하고, 기존의 도구에서 지원하고 있는 개발 프로세스의 활동 및 작업을 분석한 다.
• 시스템 테스터(System Tester): 통합된 전체 시스템이 기대된 비즈니스 프로세스를 지원하는지 확인한다. 시스템이 요구된 성능을 만족하는지 검증한다. 테스트 케이스는 실제 운영 환경에서 사용되는 데이터를 사용해야한다.
기존의 컴포넌트 기반 개발에 사용되는 개발 프로세스를 분석하여 필수적인 활동 및 작업을 조사하고, 기존의 도구에서 지원하고 있는 개발 프로세스의 활동 및 작업을 분석한 다. 이를 기반으로 컴포넌트 기반의 개발 프로세스의 수행에 필요한 도구의 기능적 요구 사항을 제시하고. 이를 기반으로 하여 개발관리 측면의 요구사항을 추가한 컴포넌트 기반 개발 CASE 도구 모델을 제안한다.
제안 방법
UML 컴포넌트 방법론은 순수한 개발 프로세스로서 아키텍처 중심의 개발 방법론이 다. UML을 사용하여 컴포넌트 모델링을 수행하며, 컴포넌트 사이의 의존관계에 대한 명세를 중심으로 프로세스를 수행한다. 전체 개발 프로세스 상의 워크플로우는 먼저 요구분석단계에서 비즈니스 요구사항을 분석하여 비즈니스 개념모델을 작성하고, 명세단계에서 요구분석단계의 산출물과 사용사례모델 등을 사용하여 컴포넌트 명세 및 아키텍처를 작성하며, 공급단계를 통해 요구사항에 맞는 기존의 컴포넌트를 획득하고 어셈블리 단계를 통해 컴포넌트를 개발하고 획득한 컴포넌트와 조립한다.
컴포넌트 기반 어플리케이션 개발 CASE 도구는 2장에 나타낸 바와 같이 여러 가지가 있다. 기존 도구에서 지원하고 있는 개발 프로세스의 활동 및 작업을 분석하여 이 도구들 로부터 컴포넌트 기반 개발 도구가 지원해야 하는 요구사항을 도출하고 이를 기반으로 컴포넌트 기반 개발을 위한 CASE 도구가 가져야할 기능적 요구사항을 분석 및 설계, 프로 젝트관리, 구현 및 시험. 타 단계 활동의 지원 등으로 분류하여 제시하였다.
본 논문에서는 컴포넌트 기반 개발에 사용 되는 CASE 도구의 기능적 요구사항을 제시 한다. 기존의 컴포넌트 기반 개발에 사용되는 개발 프로세스를 분석하여 필수적인 활동 및 작업을 조사하고, 기존의 도구에서 지원하고 있는 개발 프로세스의 활동 및 작업을 분석한 다. 이를 기반으로 컴포넌트 기반의 개발 프로세스의 수행에 필요한 도구의 기능적 요구 사항을 제시하고.
마르미-III 방법론은 한국전자통신 연구원 에서 개발한 컴포넌트 기반 개발 방법론으로 어플리케이션 패밀리간의 공통성과 가변성을 통한 컴포넌트의 재사용성 증대에 초점을 맞 추고 있다. 사용사례를 기반으로 사용자 요구 사항 분석, 컴포넌트 식별, 점진적 개발단위 결정을 수행하고 구현 플랫폼은 EJB와 .NET 환경을 기반으로 하고 있다.
카탈리시스는 4개의 단계를 통해 각 단계별로 핵심적인 산출물을 개발한다. 요구사항분석 단계를 통해 도메인 모델과 시스템 문맥을 개발하고 시스템명세 단계를 통해 목표 시스템의 외부 행위를 기술한다. 아키텍처 설계 단계를 통해 물리적 아키텍처와 논리적 어플리케이션 아키텍처를 개발하고 컴포넌트 내부설계 단계를 통해 각 컴포넌트에 대한 상세 설계를 진행한다[4].
웹 서비스를 이용하여 컴포넌트 공급자를 선정하고 식별하여서 후보 컴포넌트 목록을 작성하고 컴포넌트의 기능과 요구사항 명세서의 기능 매핑 정도, 사용자 인터페이스와 조직의 비즈니스 부합정도, 컴포넌트에 의해 야기되는 이벤트, 관리 데이터, 환경 및 기술적인 특성 등의 평가를 고려하여 재사용할 컴포넌트를 획득한다.
이를 기반으로 컴포넌트 기반의 개발 프로세스의 수행에 필요한 도구의 기능적 요구 사항을 제시하고. 이를 기반으로 하여 개발관리 측면의 요구사항을 추가한 컴포넌트 기반 개발 CASE 도구 모델을 제안한다.
시스템 설계 시 반복적으로 나타나는 요구 사항을 해결하기 위한 방안으로 디자인 패턴 이 적용될 수 있다. 이를 위해 분석 및 설계 도구에서는 에릭 감마 등이 제시한 23개의 디자인 패턴[16] 이외에 도메인 별 디자인 패턴 (예 - 실시간 시스템 분산 시스템 등), 소프트웨어 아키텍처에 따른 디자인 패턴, 그리고 배포 환경에 따른 디자인 패턴 등을 설계에 적용할 수 있는 기능을 제공해야 한다. 다양 한 디자인 패턴을 적용 조건에 따라 검색할 수 있어야 하며, 선정된 패턴은 템플릿 형태 로 제공되어 설계자가 개발하는 시스템에 맞게 조정하여 사용할 수 있어야 한다.
UML을 사용하여 컴포넌트 모델링을 수행하며, 컴포넌트 사이의 의존관계에 대한 명세를 중심으로 프로세스를 수행한다. 전체 개발 프로세스 상의 워크플로우는 먼저 요구분석단계에서 비즈니스 요구사항을 분석하여 비즈니스 개념모델을 작성하고, 명세단계에서 요구분석단계의 산출물과 사용사례모델 등을 사용하여 컴포넌트 명세 및 아키텍처를 작성하며, 공급단계를 통해 요구사항에 맞는 기존의 컴포넌트를 획득하고 어셈블리 단계를 통해 컴포넌트를 개발하고 획득한 컴포넌트와 조립한다. 최종적으로 테스트 단계와 전개단계를 거친다[4].
제 안한 개발 관리 도구 모델은 컴포넌트 기반 개발 프로세스를 지원하고 이와 더불어 프로젝트관리 프로세스를 지원하도록 설계하였다. 영역 모델러, 아키텍처 모델러, 컴포넌트 모델러 등의 기능을 제어할 수 있도록 툴 관리자가 필요하며, 툴 관리자, 프로젝트관리 서포터와 문서 및 모델 정보 관리기들이 하나의 통합 GUI를 통해서 연결되어서 사용자가 도구를 쉽게 사용할 수 있도록 해야 한다.
영역 모델러, 아키텍처 모델러. 컴포넌트 모델러, 컴포넌트 명세 레포터, 코드 생성기, UI생성기 등의 작업을 수행하면서 문서화 작업이 병행되어야하는 경우가 있으므로 프로젝트관리 서포터를 사용하여 문서화를 행할 수 있도록 하고 문서 및 모델 정보 관리기를 통해서 저장하도록 하였다.
기존 도구에서 지원하고 있는 개발 프로세스의 활동 및 작업을 분석하여 이 도구들 로부터 컴포넌트 기반 개발 도구가 지원해야 하는 요구사항을 도출하고 이를 기반으로 컴포넌트 기반 개발을 위한 CASE 도구가 가져야할 기능적 요구사항을 분석 및 설계, 프로 젝트관리, 구현 및 시험. 타 단계 활동의 지원 등으로 분류하여 제시하였다.
대상 데이터
제안한 개발 관리 도구 모델에 대한 평가 항목은 컴포넌트 기반 개발 방법론들 중에서 컴포넌트 개발보다는 컴포넌트 기반 어플리 케이션 개발에 비중[17] 을 두며 국내의 실정 을 잘 반영하고 있는 마르미-m의 프로세스 에 따른 작업에 의해 생성되는 산출물들을 선 정하였으며, 비교 대상 도구들은 컴포넌트 기반 어플리케이션 개발에 많이 사용되는 ROSE, Advantage Joe 그리고 Together 도구들을 선정하였다. 산출물별 선정한 도구 및 제안한 개발 관리 도구의 지원 정도를〈표 2> 와 같이 비교하여 평가하였다[3, 6.
데이터처리
요구사항 분석에서 설계 단계까지의 작업에 필요한 산 출물을 개발하기 위한 도구와 전체 개발 프로세스 중 구현 초기까지의 작업을 수행할 수 있는 도구를 지원하고 있다. Advantage Joe는 J2EE 기반의 컴포넌트 어플리케이션 개발 시 CBD96에 기반하여 분석. 설계, 구현, 테스트 및 배포에 이르기까지 단계를 자동화하는 통합개발환경을 지원하고 있으며, 웹 어플리케이션 서버 환경의 프로그래밍을 지원하고 있다.
본 논문에서는 컴포넌트 기반 개발 시에 사용되는 도구들로부터 도구의 요구사항을 추출하여 컴포넌트 기반 개발을 위한 도구의 기능을 분석 및 설계, 프로젝트 관리 지원, 구현 및 타 단계 지원, 그리고 기타 기능으로 구분하여 제시하였다. 또한 제안한 도구의 평가는 컴포넌트 기반 어플리케이션 개발에 비중을 두고 있는 국내에서 개발된 컴포넌트 기반 개발 방법론인 마르미-m의 산출물 생성 지원 정도로 평가하였다. 컴포넌트 기반 개발 시 사용되는 도구가 필수적으로 가져야 할 기능 들을 나타내고 있으며, 이러한 기능적 요구사항 이외에 추가적으로 개발 관리 기능을 갖춘 도구는 컴포넌트 기반 개발의 각 단계의 산출물 생성을 적절히 지원할 수 있으며 웹 서비스를 이용하여 컴포넌트를 획득하고 컴포넌트를 재사용함으로서 재사용을 높일 수 있을 것으로 기대된다.
제안한 개발 관리 도구 모델에 대한 평가 항목은 컴포넌트 기반 개발 방법론들 중에서 컴포넌트 개발보다는 컴포넌트 기반 어플리 케이션 개발에 비중[17] 을 두며 국내의 실정 을 잘 반영하고 있는 마르미-m의 프로세스 에 따른 작업에 의해 생성되는 산출물들을 선 정하였으며, 비교 대상 도구들은 컴포넌트 기반 어플리케이션 개발에 많이 사용되는 ROSE, Advantage Joe 그리고 Together 도구들을 선정하였다. 산출물별 선정한 도구 및 제안한 개발 관리 도구의 지원 정도를〈표 2> 와 같이 비교하여 평가하였다[3, 6. 8, 9].
성능/효과
프로토타입 생성, 요구사항 추적 등의 기 능은 제공하지 않는다. Advatage Joe는 형상 관리 기능이 없으며 제안한 도구는 버전관리 기능이 있고 ROSE는 버전관리와 첵크인, 첵크아웃 기능을 지원하며 형상관리 도구를 연결하여 사용할 수 있다. 다른 일반적인 CASE 도구들이 갖는 분석 및 설계에 활용되 는 컴포넌트 아키텍처, 컴포넌트 인터페이스 및 내부설계 기능, 생성된 다이어그램으로부터의 코드 생성은 도구들 모두 지원하고 있다.
다른 일반적인 CASE 도구들이 갖는 분석 및 설계에 활용되 는 컴포넌트 아키텍처, 컴포넌트 인터페이스 및 내부설계 기능, 생성된 다이어그램으로부터의 코드 생성은 도구들 모두 지원하고 있다. 그리고 작성된 모델의 문서화 기능을 ROSE와 Advantage Joe는 일부 지원하며 제안한 개발 관리 도구 모델과 Together는 문서 포맷 및 양식을 재정의 할 수 있는 스크립트 방식의 템플릿 디자이너를 제공한다. Together 는 사용자에 맞는 양식을 작성하여서 개발 전 단계에서 작성되는 다이어그램에 대한 정보, 소스를 통한 클래스 및 패키지, 함수와 속성 등의 모든 정보 추출이 가능하며 품질 결과 및 시험 결과의 문서화도 가능하다.
Together 는 사용자에 맞는 양식을 작성하여서 개발 전 단계에서 작성되는 다이어그램에 대한 정보, 소스를 통한 클래스 및 패키지, 함수와 속성 등의 모든 정보 추출이 가능하며 품질 결과 및 시험 결과의 문서화도 가능하다. 제안한 개발 관리 도구 모델, Together와 Advantage Joe는 웹 문서를 생성하고, 설계한 컴포넌트의 전개 및 시험을 도구 내에서 수행할 수 있 으며 설계한 모델의 통합 시험도 수행할 수 있다. 그러나 시험 정보의 관리 기능은 제공하지 않으므로 시험 정보를 관리하기 위해서는 별도의 작업이 요구된다.
데이터 모델링의 경우 Together를 제외한 나머지 도구들은 가장 보편적으로 사용되는 관계형 데이터베이스 모델의 생성 기능이 미약하므로 별도의 모델링 도구를 활용하기도 한다. 제안한 개발 관리 도구는 웹 서비스를 이용하여 컴포넌트를 획득하고 컴포넌트 프로시저를 호출하여서 결과를 반환 받을 수 있어서 컴포넌트의 재사용성을 높일 수 있다.
후속연구
이와 더불어 개발 프로세스 상에 사용되는 타 단계의 도구가 지원하는 기능과의 중복을 피하기 위해 도구가 지원하는 기능들의 명확한 경계를 설정하는 작업이 필요할 것이다. 제시한 도구를 토대로 컴포넌트 기반 개발을 위한 통합 프로젝트 지원 환경 수준의 통합 case 도구 개발의 연구가 요구된다.
또한 제안한 도구의 평가는 컴포넌트 기반 어플리케이션 개발에 비중을 두고 있는 국내에서 개발된 컴포넌트 기반 개발 방법론인 마르미-m의 산출물 생성 지원 정도로 평가하였다. 컴포넌트 기반 개발 시 사용되는 도구가 필수적으로 가져야 할 기능 들을 나타내고 있으며, 이러한 기능적 요구사항 이외에 추가적으로 개발 관리 기능을 갖춘 도구는 컴포넌트 기반 개발의 각 단계의 산출물 생성을 적절히 지원할 수 있으며 웹 서비스를 이용하여 컴포넌트를 획득하고 컴포넌트를 재사용함으로서 재사용을 높일 수 있을 것으로 기대된다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.