가) 목적
구현 웍플로우는 다음과 같은 네가지 목표를 갖는다.
- 계층화된 서브시스템의 관점에서 코드의 체계를 정의
- 컴포넌트로 클래스와 객체를 구현
- 개발된 컴포넌트의 단위 테스트
- 개발된 컴포넌트를 하나의 실행 가능한 시스템으로 통합
구현 웍플로우의 영역은 개별적인 컴포넌트의 단위 테스트까지로 국한된다. 시스템 테스트와 통합 테스트는 테스트 웍플로우에서 이루어진다.
나) 작업자와 산출물
구현 웍플로우의 작업자와 산출물의 관계
구현 웍플로우에 포함된 주요 작업자는 다음과 같다.
- 구현 담당자(Implementer) : 컴포넌트와 연관된 산출물을 개발하고 단위 테스트를 수행
- 시스템 통합 담당자(System Integrator) : 빌드를 수행
기타 작업자는 다음과 같다.
- 아키텍트(Architect) : 구현 모델(계층화와 서브시스템)의 구조를 정의
- 코드 검토 담당자(Code Reviewer) : 코드의 품질 검사 및 프로젝트 규정의 준수 여부에 대한 검사
구현 웍플로우의 주요 산출물에는 다음과 같은 것이 있다.
- 구현된 서브시스템(Implementation Subsystem) : 컴포넌트와 다른 구현된 서브시스템의 콜렉션(collection); 이는 구현 모델을 작은 부분으로 나눔으로써 조직화하는 데 사용된다.
- 컴포넌트(Component) : 하나의 소프트웨어 코드(source, binary, executable), 또는 정보를 담고 있는 파일(start-up 파일, readme파일); 여러 컴포넌트를 묶어서(aggregate) 하나의 컴포넌트를 만들 수도 있다. 여러 개의 실행파일로 구성된 어플리케이션이 한 예가 될 수 있다.
- 통합 빌드 계획(Integration Build Plan) : 컴포넌트와 서브시스템을 구현하는 순서와 시스템을 통합할 때 생성될 빌드를 정의한 문서
다) 웍플로우
앞의 그림은 구현 웍플로우를 나타낸다. 구현 모델의 구조에 기반하여 시스템 통합 담당자는 어떻게 시스템을 통합할 것인가를 정의한다. 서브시스템이나 컴포넌트를 담당하는 구현 담당자는 마찬가지로 서브시스템과 컴포넌트의 수준에서 이를 어떻게 통합할 것인가를 정의하고 코드와 관련 산출물을 개발하고 필요에 따라 코드를 수정하는 등의 실제 구현 작업을 수행한다. 개발이 완료되면 구현 담당자는 단위 테스트를 수행하고 서브시스템의 통합 작업을 수행한다. 이후 시스템 통합 담당자는 서브시스템을 통합하는 작업을 수행한다.
구현과 설계는 밀접한 관련이 있으며 따라서 설계 요소와 구현 요소 사이에는 분명한 연결고리가 존재한다. 클래스와 코드가 한 예가 될 수 있을 것이다. 많은 경우에 라운드 트립 엔지니어링(round trip engineering)은 설계와 구현을 밀접하게 관련지어 준다. 설계자와 구현 담당자의 역할을 둘 다 수행하는 사람은 설계 모델을 변경하고 이에 맞게 코드를 다시 생성할 수 있으며 또한 구현 내역을 변경하고 다시 이러한 변경을 반영할 수 있도록 설계 모델을 변경할 수 있다. 이러한 방법은 프로세스에서 설계와 구현간의 갭을 없애 설계를 구현으로 변환하는 과정에서의 오류 발생을 피할 수 있게 한다.
라) 도구 지원
전통적으로 구현은 편집기, 컴파일러, 링커, 디버거와 같은 고전적인 소프트웨어 개발 도구를 사용하여 수행한다. 오늘날에는 이러한 도구들이 통합되어 하나의 통합개발환경을 제공하는 것이 일반적이다. Rational사도 UNIX환경에서 Ada와 C++ 개발환경을 제공하는 Rational Apex라는 도구를 제공한다.
Rational Rose는 라운드 트립 엔지니어링을 지원하여 설계와 구현 액티비티를 밀접하게 관련지어 준다. 또한 Purify나 Quantify같은 툴은 코드 상의 결함을 발견할 수 있게 한다. Rational의 형상관리 툴인 ClearCase은 개인별 작업공간(Workspace)을 제공하는 것 뿐만 아니라 동시에 컴포넌트와 서브시스템의 통합을 위한 작업공간도 제공한다. 변경 요구와 결함의 추적과 이로 인한 소스 코드의 변경을 관리하기 위해서는 Rational ClearQuest를 사용할 수 있다.
마) 요약
- 개발주기 동안 점증적인 통합을 하는 접근법은 Rational Unified Process의 주요 특징 중 하나이다.
- 라운드 트립 엔지니어링은 Rose와 같은 도구에서 지원하는 기법으로써 설계와 구현을 밀접하게 연결시켜 주는 역할을 한다.
본 글의 모든 저작권은 Rational에 있습니다.
'아키텍처와 공학' 카테고리의 다른 글
RUP Core workflows[7] 형상 및 변경 관리 웍플로우 (0) | 2009.10.26 |
---|---|
RUP Core workflows[6] 테스트 웍플로우 (0) | 2009.10.26 |
RUP Core workflows[4] 분석 & 설계 웍플로우 (0) | 2009.10.26 |
RUP Core workflows[3] 요구사항 웍플로우 (0) | 2009.10.26 |
RUP Core workflows[2] 비즈니스 모델링 웍플로우 (0) | 2009.10.26 |