통합 프로세스

IT 위키
(RUP에서 넘어옴)
UP; Unified Process; RUP(Rational Unified Process)
UML 을 만든 부치·럼바우·야콥슨이 정리한 반복적·점진적 객체지향 소프트웨어 개발 프로세스

래셔널사가 상용화한 버전이 RUP 이고, 그 골격을 공개한 것이 UP 다. 폭포수 모델처럼 단계를 한 번씩 밟고 지나가는 것이 아니라, 네 개의 단계를 여러 번의 반복(iteration)으로 나누어 각 반복마다 실행 가능한 산출물을 낸다.

네 가지 단계(Phase)

[편집 | 원본 편집]
단계 영문 목표 끝나는 시점(마일스톤)
도입 (개시) Inception 프로젝트 범위와 사업 타당성을 정한다. 핵심 유스케이스를 식별한다 생명주기 목표 확정
상세 (정련) Elaboration 요구사항을 구체화하고 아키텍처를 확정한다. 위험 요소를 해소한다 생명주기 아키텍처 확정
구축 Construction 남은 기능을 구현하고 통합한다. 산출물의 대부분이 여기서 나온다 초기 운영 능력 확보
이행 (전이) Transition 사용자 환경에 배포하고 인수 시험·교육·이관을 수행한다 제품 출시

각 단계는 다시 여러 번의 반복으로 나뉘고, 반복마다 요구·분석·설계·구현·시험을 모두 거친다. 단계가 곧 작업 종류가 아니라는 점이 핵심이다.

작업 분야(Discipline)

[편집 | 원본 편집]

반복 안에서 수행하는 작업의 종류다. 단계가 진행되면서 각 분야에 들이는 비중이 달라진다.

  • 비즈니스 모델링 / 요구사항 / 분석 및 설계 / 구현 / 테스트 / 배포
  • 형상 및 변경 관리 / 프로젝트 관리 / 환경

여섯 가지 모범 실무

[편집 | 원본 편집]

RUP 가 내세운 원칙이다.

  1. 반복적으로 개발한다
  2. 요구사항을 관리한다
  3. 컴포넌트 기반 아키텍처를 사용한다
  4. 소프트웨어를 시각적으로 모델링한다(UML)
  5. 품질을 지속적으로 검증한다
  6. 변경을 통제한다
  • 유스케이스 주도(Use-case driven) : 요구를 유스케이스로 표현하고 이것이 설계·구현·시험을 관통한다.
  • 아키텍처 중심(Architecture-centric) : 상세 단계에서 아키텍처를 먼저 안정화한다. RUP 4+1 뷰로 아키텍처를 여러 관점에서 기술한다.
  • 반복적·점진적 : 위험이 큰 요소를 앞쪽 반복에서 처리한다.

비슷한 것과의 구분

[편집 | 원본 편집]
  • XP 는 개발 실천법 중심의 경량 애자일 방법론이고, UP 는 산출물과 역할을 체계화한 비교적 무거운 프로세스다. UP 를 가볍게 재단한 것이 Agile UP, OpenUP 다.
  • CMMiSPICE 는 개발 프로세스 자체가 아니라 프로세스의 성숙도를 평가하는 모델이다. UP 와 층위가 다르다.

같이 보기

[편집 | 원본 편집]