통합 프로세스
Unified Process| 시리즈의 일부 |
| 소프트웨어 개발 |
|---|
통합 소프트웨어 개발 프로세스 또는 통합 프로세스는 반복적이고 증분적인 소프트웨어 개발 프로세스 프레임워크입니다.유니파이드 프로세스의 가장 잘 알려져 있고 광범위하게 문서화된 개선사항은 Rational Unified Process(RUP)입니다.기타 예로는 Open이 있습니다.UP 및 신속한 변화를 위한 통합 프로세스.
개요
통합 프로세스는 단순한 프로세스가 아니라 특정 조직 또는 프로젝트에 맞게 커스터마이즈해야 하는 확장 가능한 프레임워크입니다.Rational Unified Process도 마찬가지로 맞춤형 프레임워크입니다.그 결과 프로세스의 미세화가 UP에서 파생된 것인지 RUP에서 파생된 것인지 알 수 없는 경우가 많기 때문에 이름은 서로 바꿔서 사용되는 경향이 있습니다.
Rational Unified Process가 아닌 Unified Process라는 이름은 일반적으로 일반적인 프로세스(대부분의 개선사항에 공통적인 요소 포함)를 나타내기 위해 사용됩니다.Rational Unified Process 및 RUP는 IBM의 상표이기 때문에 Unified Process 이름은 잠재적인 상표 침해 문제를 피하기 위해 사용됩니다.프로세스를 설명한 최초의 책은 통합 소프트웨어 개발 프로세스(The Unified Software Development Process)였습니다. ISBN0-201-57169-2) 및 Ivar Jacobson, Grady Boch 및 James Rumbaugh에 의해 1999년에 발행되었습니다.그 후 Rational Software에 소속되지 않은 다양한 저자들이 Unified Process라는 이름으로 서적과 기사를 출판한 반면 Rational Software에 소속된 저자들은 Rational Unified Process라는 이름을 선호했습니다.
2012년에 Unified Process, Scrum, XP 및 기타 방법에서 전략을 채택하고 확장하는 하이브리드 프레임워크인 규율된 신속한 변화를 위한 제공 프레임워크가 출시되었습니다.
통합 프로세스의 특징
반복 및 증분
통합 프로세스는 반복적이고 증분적인 개발 프로세스입니다.상세, 시공 및 전환 단계는 일련의 타임박스 반복으로 나뉩니다.(인셉션 단계는 대규모 프로젝트의 반복으로 나눌 수도 있습니다.)반복할 때마다 증분됩니다.이는 이전 릴리스에 비해 기능이 추가 또는 개선된 시스템의 릴리스입니다.
대부분의 반복 작업에는 대부분의 프로세스 분야(예: 요건, 설계, 구현, 테스트)가 포함됩니다만, 상대적인 노력과 강조는 프로젝트 진행에 따라 달라집니다.
아키텍처 중심
통합 프로세스는 시스템 형성을 위한 프로젝트 팀의 노력의 핵심이 아키텍처라고 주장합니다.단일 모델이 시스템의 모든 측면을 커버하기에 충분하지 않기 때문에 Unified Process는 여러 아키텍처 모델과 뷰를 지원합니다.
프로세스의 가장 중요한 성과물 중 하나는 Elvolation 단계에서 작성된 실행 가능한 아키텍처 기준입니다.이 시스템의 부분적인 실장은 아키텍처를 검증하고 남은 개발의 기초로서 기능합니다.
리스크에 초점을 맞춘
통합 프로세스에서는 프로젝트 팀이 프로젝트 라이프 사이클 초기에 가장 중요한 리스크를 해결하는 데 주력해야 합니다.각 반복의 성과물, 특히 Elvolation 단계에서 가장 큰 리스크가 먼저 해결되도록 선택해야 합니다.
프로젝트 라이프 사이클(통합 프로세스의 단계)
통합 프로세스에서는 프로젝트를 다음 4단계로 나눕니다.
- 인셉션
- 상세 (석면)
- 구성(릴리스)
- 이행(최종 프로덕션 릴리즈)
각 위상은 일반적으로 여러 번 반복됩니다(UP 위상의 그림에서는 I1, E1, E2, C1 등).각 단계의 정확한 반복 횟수는 프로젝트의 규모와 특성에 따라 달라집니다.이 UP 단계 그림에는 4단계에서 정확히 1, 2, 4, 2회 반복이 포함되어 있지만, 이는 특정 프로젝트가 어떻게 보일 수 있는지를 보여주는 예에 불과합니다.
개시 단계
도입은 프로젝트의 최소 단계이며, 이상적으로는 매우 짧아야 합니다.도입 단계가 길면 통합 프로세스의 정신에 반하는 과도한 선행 사양을 나타내는 것일 수 있습니다.
시스템의 대략적인 비전을 작성하고, 비즈니스 케이스를 작성하고, 범위를 정의하고, 대략적인 비용 견적과 프로젝트 일정을 작성합니다.
상세 단계
상세화 단계에서는 프로젝트 팀이 시스템 요건의 대부분을 파악해야 합니다.단, Enlaboration의 주요 목표는 알려진 위험 요소에 대처하고 시스템 아키텍처를 확립하고 검증하는 것입니다.이 단계에서 수행되는 일반적인 프로세스에는 사용 사례 다이어그램, 개념 다이어그램(기본 표기만 있는 클래스 다이어그램) 및 패키지 다이어그램(아키텍처 다이어그램)의 작성이 포함됩니다.
아키텍처는 주로 실행 가능한 아키텍처 기준의 구현을 통해 검증됩니다.이것은 구조적으로 가장 중요한 핵심 컴포넌트를 포함하는 시스템의 부분적인 구현입니다.그것은 일련의 작은 타임박스 반복으로 만들어졌다.상세화 단계가 끝날 때까지 시스템 아키텍처가 안정화되어야 하며 실행 가능한 아키텍처 기준선은 아키텍처가 주요 시스템 기능을 지원하며 성능, 확장성 및 비용 측면에서 올바른 동작을 보여야 합니다.
최종 Elvolation 단계의 성과물은 건설 단계의 계획(비용 및 스케줄 견적 포함)입니다.이 시점에서 계획은 Elvolation 단계 경험에 기초해야 하며 Elvolation 단계에서 중요한 위험 요소를 다루어야 하기 때문에 정확하고 신뢰할 수 있어야 한다.
건설 단계
건설은 프로젝트의 가장 큰 단계이다.이 단계에서 시스템의 나머지 부분은 Elaboration의 기초 위에 구축됩니다.시스템 기능은 일련의 짧은 타임박스 반복으로 구현됩니다.반복할 때마다 소프트웨어의 실행 가능한 릴리스가 생성됩니다.일반적으로 구축 단계에서는 전체 텍스트 사용 사례를 작성하여 각각이 새로운 반복 작업의 시작이 됩니다.이 단계에서 사용되는 일반적인 Unified Modeling Language(UML) 다이어그램에는 액티비티 다이어그램, 시퀀스 다이어그램, 콜라보레이션 다이어그램, 상태 전이 다이어그램 및 상호작용 개요 다이어그램이 포함됩니다.리스크가 낮고 쉬운 요소를 반복적으로 구현합니다.최종 구축 단계의 성과물은 이행 단계에 도입할 수 있는 소프트웨어입니다.
이행 단계
최종 프로젝트 단계는 Transition입니다.이 단계에서는 시스템이 대상 사용자에게 배포됩니다.초기 릴리스(또는 초기 릴리스)에서 받은 피드백에 따라 몇 번의 전환 단계 반복 과정에서 더욱 개선된 내용이 포함될 수 있습니다.이행 단계에는 시스템 전환과 사용자 훈련도 포함됩니다.
개량 및 변형
통합 프로세스의 개선 사항은 프로젝트 분야 또는 워크플로우를 분류하는 방식에 따라 다릅니다.Rational Unified Process는 다음 9가지 분야를 정의합니다.비즈니스 모델링, 요건, 분석 및 설계, 구현, 테스트, 도입, 구성 및 변경 관리, 프로젝트 관리 및 환경.엔터프라이즈 통합 프로세스는 8개의 "엔터프라이즈" 분야를 추가하여 RUP를 확장합니다.OpenUP/Basic 및 Agile Unified Process와 같은 민첩한 UP는 분야 수를 줄여 RUP를 단순화합니다.
프로젝트 아티팩트에 따라 강조되는 부분에서도 미세화가 달라집니다.민첩한 개선으로 워크플로우를 단순화하고 예상되는 아티팩트의 수를 줄임으로써 RUP를 간소화합니다.
또한 전환 단계 이후에 발생하는 작업에 대한 사양도 다양합니다.Rational Unified Process에서는 일반적으로 이행 단계 뒤에 새로운 Inception 단계가 이어집니다.엔터프라이즈 통합 프로세스에서는 이행 단계에 이어 운영 단계가 계속됩니다.
Unified Process의 개선과 변형은 셀 수 없을 정도로 많습니다.통합 프로세스를 사용하는 조직은 항상 자체 수정 및 확장을 사용합니다.다음은 더 잘 알려진 개선 및 변형 목록입니다.
- Scott W. Ambler가 개발한 경량 변종인 Agile Unified Process(AUP)
- IBM이 개발한 경량 변형으로 Open의 선구자인 BUP(Basic Unified Process)업
- Rational Unified Process의 확장판인 Enterprise Unified Process(EUP; 엔터프라이즈 통합 프로세스)
- Ivar Jacobson에 의해 개발된 경량 변종인 EssUP(Essential Unified Process)
- 개방형 통합 프로세스(OpenUP), Eclipse 프로세스 프레임워크 소프트웨어 개발 프로세스
- RUP(Rational Unified Process), IBM / Rational Software 개발 프로세스
- Oracle Unified Method(OUM), Oracle 개발 및 구현 프로세스
- Rational Unified Process-SE(RUP-SE) - Rational Software for System Engineering(RUP-SE)에 의해 맞춤형 RUP 버전
레퍼런스
- Kroll, Per; Kruchten, Philippe(2003)간편한 통합 프로세스: RUP 실무자 가이드ISBN 0-321-16609-4.
- 크루히텐, 필립(2004년).합리적인 통합 프로세스: 서론 (제3판)ISBN 0-321-19770-4.
- Ambler, Scott (2002). Agile Modeling: Effective Practices for EXtreme Programming and the Unified Process. J. Wiley. ISBN 0-471-20282-7.
- 스콧, 켄달(2002년).통합 프로세스 설명ISBN 0-201-74204-7.
- Bergstrom, Stefan; Laberg, Lotta(2004).합리적인 통합 프로세스 채택: RUP의 성공ISBN 0-321-20294-5.
- Ambler, Scott; Constantine, Larry (2002). The Unified Process Transition and Production Phases. CMP Books. ISBN 1-57820-092-X.
- 라먼, 크레이그(2004년).민첩하고 반복적인 개발: 관리자 가이드.ISBN 0-13-111155-8.
