목차
Part 1. Unified Process
1. Unified Process의 개요 = 21
1.1 프로세스 개요 = 21
1.2 유스 케이스 기반 = 22
1.3 아케텍처 중심 = 23
1.4 반복과 점증 = 23
1.5 프로세스 구조 = 24
2. Unified Process의 정적인 구조 = 27
2.1 모델링 요소 = 27
2.2 작업자 = 28
2.3 활동 = 30
2.4 산출물 = 31
2.4.1 모델 = 32
2.4.2 보고서 = 33
2.4.3 산출물 유형 = 33
2.5 워크플로우 = 37
2.5.1 코어 워크플로우 = 38
2.5.2 반복 워크플로우 = 39
2.5.3 워크플로우 세부사항 = 40
2.6 기타의 프로세스 요소 = 40
2.6.1 지침 = 41
2.6.2 템플릿 = 42
2.6.3 툴 멘터 = 42
2.6.4 개념 = 42
2.7 프로세스 프레임워크 = 42
3. 유스 케이스 위주 프로세스 = 43
3.1 유스 케이스와 모델 = 43
3.2 유스 케이스의 이벤트 흐름 = 44
3.3 유스 케이스 모델 = 45
3.4 개발 프로세스와 유스 케이스 = 46
3.5 유스 케이스의 범위 = 48
3.6 유스 케이스의 진화 = 49
3.7 유스 케이스의 구성 = 49
3.8 유스 케이스와 워크플로우 = 50
3.8.1 요구사항의 표현 = 51
3.8.2 분석 모델의 작성 = 52
3.8.3 설계 모델의 작성 = 52
3.8.4 구현 모델의 작성 = 52
3.8.5 유스 케이스의 테스팅 = 53
4. 반복 및 점증적 프로세스 = 55
4.1 반복 및 점증 = 55
4.2 단계와 이정표 = 56
4.2.1 시작 단계 = 59
4.2.2 상세 단계 = 60
4.2.3 구축 단계 = 62
4.2.4 전환 단계 = 63
4.3 반복과 생명주기 = 64
4.3.1 반복의 계획 = 65
4.3.2 반복의 순서 = 66
4.3.3 반복의 결과 = 66
4.3.4 생명주기 상의 반복 = 67
5. 아케텍스 중심 프로세스 = 69
5.1 모델 = 69
5.2 아케텍처 = 69
5.3 아케텍처의 필요성 = 70
5.3.1 프로젝트의 통제 = 71
5.3.2 시스템의 이해 = 71
5.3.3 개발 작업의 구성 = 71
5.3.4 재사용의 촉진 = 72
5.3.5 시스템의 진화 = 72
5.4 아키텍처와 유스 케이스 = 72
5.5 아키텍처의 표현 = 74
5.5.1 아키텍처 뷰 = 75
5.5.2 아키텍처의 4+1 뷰 모델 = 75
5.5.2.1 논리적 뷰 = 76
5.5.2.2 구현 뷰 = 76
5.5.2.3 프로세스 뷰 = 76
5.5.2.4 배치 뷰 = 77
5.5.2.5 유스 케이스 뷰 = 77
5.5.3 모델과 뷰 = 77
5.6 아키텍처 설계 프로세스 = 78
5.7 아키텍처 기준선과 아키텍처 패턴 = 79
5.7.1 아키텍처 기준선 = 79
5.7.2 아키텍처 패턴 = 80
5.8 컴포넌트 기반 개발 = 81
Part 2 프로세스 워크플로우
6. 프로젝트 관리 워크플로우 = 85
6.1 목적 = 85
6.2 반복적인 프로젝트의 계획 = 86
6.2.1 계획의 수준 = 86
6.2.2 단계 계획 = 87
6.2.3 반복 계획 = 88
6.3 위험과 매트릭스 = 88
6.3.1 위험 = 88
6.3.2 위험 극복 전략 = 89
6.3.3 매트릭스 = 89
6.4 작업자 및 산출물 = 91
6.5 워크플로우 = 92
6.5.1 단계 계획 구축 = 93
6.5.2 인력·스케줄·범위 트레이드오프 = 93
6.5.3 프로젝트 프로파일 = 94
6.5.4 반복의 기간 = 95
6.5.5 반복의 수 = 96
6.6 반복 계획 수립 = 97
6.6.1 상세 단계의 반복 = 97
6.6.2 구축 단계의 반복 = 98
6.6.3 전환 단계의 반복 = 98
6.6.4 반복에서의 작업 세부사항 = 98
7. 비즈니스 모델링 워크플로우 = 101
7.1 목적 = 101
7.2 시스템 컨텍스트 이해 = 101
7.2.1 도메인 모델을 이용한 시스템 컨텍스트 이해 = 102
7.2.1.1 도메인 모델 = 102
7.2.1.2 도메인 모델의 개발 = 102
7.2.1.3 도메인 모델의 사용 = 103
7.2.2 비즈니스 모델을 이용한 시스템 컨텍스트 이해 = 103
7.2.2.1 비즈니스 모델 = 103
7.2.2.2 비즈니스 모델의 개발 = 104
7.2.2.3 비즈니스 모델로부터 유스 케이스 식별 = 105
7.3 비즈니스 모델링 = 106
7.3.1 비즈니스 모델링을 위한 소프트웨어 공학 기법 사용 = 106
7.3.2 비즈니스 모델링의 다양한 수준 = 106
7.4 작업자 및 산출물 = 106
7.5 워크플로우 = 108
7.6 비즈니스 모델과 시스템 모델 = 109
8. 요구사항 워크플로우 = 111
8.1 목적 = 111
8.2 요구사항 = 111
8.2.1 기능적 요구사항 = 111
8.2.2 비기능적 요구사항 = 112
8.3 요구사항의 유형 = 112
8.3.1 이해 당사자 요구사항 = 113
8.3.2 시스템 특징 = 113
8.3.3 소프트웨어 요구사항 = 113
8.4 요구사항의 식별 = 114
8.5 사용자 인터페이스 설계 = 115
8.6 작업자 = 115
8.6.1 시스템 분석가(Worker : System Analyst) = 117
8.6.2 유스 케이스 명세자(Worker : Use-Case Specifier) = 117
8.6.3 아키텍처 개발자(Worker : Architect) = 117
8.6.4 사용자 인터페이스 설계자(Worker : User-Interface Designer) = 117
8.7 산출물 = 118
8.7.1 유스 케이스 모델(Artifact : Use-Case Model) = 118
8.7.2 액터(Artifact : Actor) = 119
8.7.3 유스 케이스(Artifact : Use Case) = 119
8.7.4 아키텍처 설명서(Artifact : Architecture Description) = 120
8.7.5 용어집(Artifact : Glossary) = 121
8.7.6 사용자 인터페이스 프로토타입(Artifact : User-Interface Prototype) = 121
8.8 워크플로우 = 121
8.8.1 액터 및 유스 케이스 식별 = 123
8.8.1.1 액터의 식별 = 124
8.8.1.2 유스 케이스의 식별 = 125
8.8.1.3 각 유스 케이스의 간략한 설명 = 126
8.8.1.4 전체로서의 유스 케이스 모델 설명 = 126
8.8.2 유스 케이스 우선 순위 부여 = 126
8.8.3 유스 케이스 상세화 = 127
8.8.3.1 유스 케이스 설명의 구조화 = 128
8.8.3.2 유스 케이스 설명의 형식화 = 130
8.8.4 사용자 인터페이스 프로토타이핑 = 130
8.8.4.1 논리적 사용자 인터페이스 설계 = 131
8.8.4.2 물리적 사용자 인터페이스 설계 및 프로토타입 = 132
8.8.5 유스 케이스 모델 구조화 = 133
8.8.5.1 공유 기능 설명의 식별 = 134
8.8.5.2 추가적인 혹은, 선택적인 기능 설명의 식별 = 134
8.8.5.3 유스 케이스간의 기타 관계 식별 = 135
9. 분석 워크플로우 = 137
9.1 목적 = 137
9.2 작업자 = 138
9.2.1 아키텍처 개발자(Worker : Architect) = 139
9.2.2 유스 케이스 공학자(Worker : Use-Case Engineer) = 139
9.2.3 컴포넌트 공학자(Worker : Component Engineer) = 139
9.3 산출물 = 140
9.3.1 분석 모델(Artifact : Analysis Model) = 140
9.3.2 분석 클래스(Artifact : Analysis Class) = 141
9.3.2.1 경계 클래스 = 143
9.3.2.2 엔티티 클래스 = 143
9.3.2.3 제어 클래스 = 144
9.3.3 유스 케이스 실현-분석(Artifact : Use-Case Realization-Analysis) = 144
9.3.3.1 클래스 다이어그램 = 145
9.3.3.2 상호작용 다이어그램 = 146
9.3.3.3 이벤트 흐름-분석 = 147
9.3.3.4 특수 요구사항 = 147
9.3.4 분석 패키지(Artifact : Analysis Package) = 147
9.3.5 아키텍처 설명서(Artifact : Architecture Description) = 148
9.4 워크플로우 = 149
9.4.1 아키텍처 분석 = 150
9.4.1.1 분석 패키지 식별 = 151
9.4.1.2 엔티티 클래스의 식별 = 151
9.4.1.3 공통적인 특수 요구사항의 식별 = 151
9.4.2 유스 케이스 분석 = 152
9.4.2.1 분석 클래스의 식별 = 153
9.4.2.2 분석 객체 상호작용의 설명 = 154
9.4.2.3 특수 요구사항의 도출 = 155
9.4.3 클래스 분석 = 155
9.4.3.1 책임 식별 = 156
9.4.3.2 애트리뷰트 식별 = 156
9.4.3.3 연관 관계 및 집단화 식별 = 157
9.4.3.4 일반화 식별 = 157
9.4.3.5 특수 요구사항의 도출 = 158
9.4.4 패키지 분석 = 158
10. 설계 워크플로우 = 161
10.1 목적 = 161
10.2 분석 대 설계 = 162
10.2.1 설계 모델 = 163
10.2.2 분석 모델 = 163
10.3 인터페이스의 역할 = 163
10.4 컴포넌트 기반 설계 = 164
10.5 작업자 = 164
10.5.1 아키젝처 개발자(Worker : Architect) = 165
10.5.2 유스 케이스 공학자(Worker : Use-Case Engineer) = 165
10.5.3 컴포넌트 공학자(Worker : Component Engineer) = 166
10.6 산출물 = 166
10.6.1 설계 모델(Artifact : Design Model) = 166
10.6.2 설계 클래스(Artifact : Design Class) = 167
10.6.3 유스 케이스 실현-설계(Artifact : Use-Case Realization-Design) = 168
10.6.3.1 클래스 다이어그램 = 169
10.6.3.2 상호작용 다이어그램 = 170
10.6.3.3 이벤트 흐름-설계 = 170
10.6.3.4 구현 요구사항 = 170
10.6.4 설계 서브시스템(Artifact : Design Subsystem) = 171
10.6.5 인터페이스(Artifact : Interface) = 172
10.6.6 아키텍처 설명서 : 설계 모델 뷰(Artifact : Architecture Description) = 173
10.6.7 배치 모델(Artifact : Deployment Model) = 173
10.6.8 아키텍처 설명서 : 배치 모델 뷰(Artifact : Deployment Description) = 174
10.7 워크플로우 = 175
10.7.1 아키텍처 설계 = 176
10.7.1.1 노드 및 네트워크 구성 식별 = 177
10.7.1.2 서브시스템 및 인터페이스 식별 = 178
10.7.1.3 설계 클래스의 식별 = 180
10.7.1.4 일반적인 설계 매커니즘의 식별 = 181
10.7.2 유스 케이스 설계 = 181
10.7.2.1 설계 클래스의 식별 = 182
10.7.2.2 설계 객체 상호작용의 설명 = 183
10.7.2.3 서브시스템 및 인터페이스 식별 = 184
10.7.2.4 서브시스템 상호작용 설명 = 184
10.7.2.5 구현 요구사항의 도출 = 184
10.7.3 클래스 설계 = 185
10.7.3.1 설계 클래스 개요 작성 = 186
10.7.3.2 오퍼레이셩 식별 = 186
10.7.3.3 애트리뷰트 식별 = 187
10.7.3.4 연관 관계 및 집단화 식별 = 187
10.7.3.5 일반화 식별 = 188
10.7.3.6 메소드 설명 = 188
10.7.3.7 상태 설명 = 188
10.7.3.8 특수 요구사항의 처리 = 189
10.7.4 서브시스템 설계 = 189
10.7.4.1 서브시스템 종속성 유지 = 190
10.7.4.2 서브시스템이 제공하는 인터페이스 유지 = 190
10.7.4.3 서브시스템 내용 유지 = 190
11. 구현 워크플로우 = 191
11.1 목적 = 191
11.2 빌드 = 192
11.3 통합 = 192
11.4 프로토타입 = 193
11.4.1 프로토타입의 유형 = 193
11.4.2 행위 프로토타입 = 194
11.4.3 구조 프로토타입 = 194
11.4.4 조사 프로토타입 = 194
11.4.5 진화 프로토타입 = 194
11.5 작업자 = 195
11.5.1 아키젝처 개발자(Worker : Architect) = 196
11.5.2 컴포넌트 공학자(Worker : Component Engineer) = 196
11.5.3 시스템 공학자(Worker : System Integrator) = 196
11.6 산출물 = 197
11.6.1 구현 모델(Artifact : Implementation Model) = 197
11.6.2 컴포넌트(Artifact : Component) = 198
11.6.3 구현 서브시스템(Artifact : Implementation Subsystem) = 198
11.6.4 인터페이스(Artifact : Interface) = 200
11.6.5 아키텍처 설명서 : 구현 모델 뷰(Artifact : Architecture Description) = 201
11.6.6 통합 빌드 계획(Artifact : Integration Build Plan) = 201
11.7 워크플로우 = 201
11.7.1 아키텍처 구현 = 203
11.7.1.1 컴포넌트 식별 = 203
11.7.1.2 실행 컴포넌트 식별 = 204
11.7.2 시스템 통합 = 204
11.7.2.1 후속 빌드의 계획 = 205
11.7.2.2 빌드의 통합 = 206
11.7.3 서브시스템 구현 = 206
11.7.3.1 서브시스템 내용 유지 = 207
11.7.4 클래스 구현 = 208
11.7.4.1 파일 컴포넌트 개요 작성 = 208
11.7.4.2 설계 클래스로부터 코드 작성 = 209
11.7.4.3 오퍼레이션 구현 = 209
11.7.4.4 올바른 인터페이스 제공 = 209
11.7.5 단위 테스트 수행 = 209
11.7.5.1 규격 테스팅 수행 = 210
11.7.5.2 구조 테스팅 수행 = 210
12. 테스트 워크플로우 = 213
12.1 목적 = 213
12.2 품질 = 214
12.3 테스팅의 분류 = 214
12.3.1 품질 차원 = 215
12.3.2 테스트 유형 = 215
12.3.3 회귀 테스팅 = 216
12.4 테스트 모델 = 217
12.5 작업자 = 218
12.5.1 테스트 설계자(Worker : Test Designer) = 219
12.5.2 컴포넌트 공학자(Worker : Component Engineer) = 219
12.5.3 통합 테스터(Worker : Integration Tester) = 219
12.5.4 시스템 테스터(Worker : System Tester) = 219
12.6 산출물 = 220
12.6.1 테스트 모델(Artifact : Test Model) = 220
12.6.2 테스트 케이스(Artifact : Test Case) = 221
12.6.3 테스트 절차(Artifact : Test Procedure) = 222
12.6.4 테스트 컴포넌트(Artifact : Test Component) = 222
12.6.5 테스트 계획(Artifact : Plan Test) = 222
12.6.6 결함(Artifact : Defect) = 222
12.6.7 테스트 평가(Artifact : Evaluate Test) = 222
12.7 워크플로우 = 223
12.7.1 테스트 계획 = 224
12.7.2 테스트 설계 = 225
12.7.2.1 통합 테스트 케이스 설계 = 226
12.7.2.2 시스템 테스트 케이스 설계 = 226
12.7.2.3 회귀 테스트 케이스 설계 = 226
12.7.2.4 테스트 절차의 식별 및 구조화 = 227
12.7.3 테스트 구현 = 227
12.7.4 테스트 실행 = 228
12.7.4.1 통합 테스트 실행 = 228
12.7.4.2 시스템 테스트 실행 = 229
12.7.5 테스트 평가 = 230
13. 구성 관리 및 변경 관리 워크플로우 = 231
13.1 목적 = 231
13.2 CCM 큐브 = 231
13.2.1 구성 관리 = 232
13.2.2 변경 요청 관리 = 233
13.2.3 상태 및 측정 = 234
13.3 작업자 및 산출물 = 235
13.4 워크플로우 = 237
14. 환경 워크플로우 = 239
14.1 목적 = 239
14.2 작업자 및 산출물 = 239
14.3 워크플로우 = 241
14.3.1 프로세스의 구성 정의 = 241
14.3.2 프로세스 구현 = 241
14.3.3 도구의 선택과 확보 = 241
14.3.4 도구 제작 = 242
14.3.5 개발 지원 = 242
14.3.6 훈련 = 242
15. 배치 워크플로우 = 243
15.1 목적 = 243
15.2 작업자 및 워크플로우 = 243
15.3 워크플로우 = 144
15.3.1 소프트웨어 개발 = 245
15.3.2 소프트웨어 패키징 = 245
15.3.3 소프트웨어 배포 = 245
15.3.4 소프트웨어 설치 = 245
15.3.5 전환 = 245
15.3.6 사용자 지원 = 246
15.3.7 승인 = 246
15.3.8 베타 테스트 계획 및 실행 = 246
16. 반복 워크플로우 = 247
16.1 목적 = 247
16.2 프로젝트 비전 및 비즈니스 케이스 정의 = 247
16.2.1 반복 과정 = 248
16.2.2 결과 = 249
16.3 아키텍처 프로토타입 구축 = 249
16.3.1 반복 과정 = 249
16.3.2 결과 = 253
16.4 시스템 구현 = 253
16.4.1 반복 과정 = 253
16.4.2 결과 = 256
17. Unified Process의 구성과 구현 = 257
17.1 구성과 구현 = 257
17.2.1 단계 1 : 현재 상태 평가 = 258
17.2.2 단계 2 : 목표 설정 = 259
17.2.3 단계 3 : 위험 식별 = 259
17.2.4 단계 4 : 프로세스 구현 계획 수립 = 260
17.2.5 단계 5 : 프로세스 구현 실행 = 262
17.2.6 단계 6 : 프로세스 구현 평가 = 262
17.3 Unified Process 구성 = 262
17.4 프로세스 구현 프로젝트 = 263
Part 3. 반복 및 점증적 개발
18. 일반적인 반복 워크플로우 = 267
18.1 계획과 평가 = 267
18.2 작업의 분할 = 268
18.2.1 시작 단계 : 타당성 조사 = 269
18.2.2 상세 단계 : 수행 능력 = 269
18.2.3 구축 단계 : 시스템 구현 = 270
18.2.4 전환 단계 : 사용자 환경으로의 이동 = 270
18.3 계획 수립 = 270
18.3.1 단계 계획 수립 = 271
18.3.2 반복 계획 수립 = 272
18.3.3 평가 기준 계획 수립 = 273
18.4 위험의 영향 = 273
18.5 유스 케이스 우선 순위 부여 = 274
18.6 반복 및 단계의 평가 = 275
19. 시작 단계 = 277
19.1 시작 단계 개요 = 277
19.2 시작 단계의 초기 = 277
19.3 전형적인 시작 반복 워크플로우 = 278
19.4 코어 워크플로우의 실행 = 280
19.4.1 요구사항 도출 = 281
19.4.2 분석 = 282
19.4.3 설계 = 282
19.4.4 구현 = 283
19.4.5 테스트 = 283
19.5 시작 단계의 반복 평가 = 283
19.6 상세 단계의 계획 수립 = 283
19.7 시작 단계의 산출물 = 284
20. 상세 단계 = 285
20.1 상세 단계 개요 = 285
20.2 상세 단계의 초기 = 285
20.3 전형적인 상세 반복 워크플로우 = 286
20.4 코어 워크플로우의 실행 = 287
20.4.1 요구 사항 도출 = 288
20.4.2 분석 = 289
20.4.3 설계 = 290
20.4.4 구현 = 291
20.4.5 테스트 = 292
20.5 상세 단계의 반복 평가 = 292
20.6 구축 단계의 계획 수립 = 293
20.7 상세 단계의 산출물 = 293
21. 구축 단계 = 295
21.1 구축 단계 개요 = 295
21.2 구축 단계의 초기 = 295
21.3 전형적인 구축 반복 워크플로우 = 296
21.4 코어 워크플로우의 실행 = 297
21.4.1 요구사항 = 298
21.4.2 분석 = 299
21.4.3 설계 = 300
21.4.4 구현 = 300
21.4.5 테스트 = 301
21.5 구축 단계의 반복 평가 = 302
21.6 전환 단계의 계획 수립 = 302
21.7 구축 단계의 산출물 = 303
22. 전환 단계 = 305
22.1 전환 단계 개요 = 305
22.2 전환 단계의 초기 = 305
22.3 코어 워크플로우 = 306
22.4 전환 단계의 작업 = 307
22.4.1 베타 릴리즈 제공 = 308
22.4.2 베타 릴리즈 설치 = 308
22.4.3 테스트 결과 처리 = 308
22.4.4 사용자 환경에 대한 제품 적응 = 308
22.4.5 산출물 완료 = 309
22.4.6 프로젝트 종료 시기 = 309
22.5 전환 단계의 평가 = 309
22.6 전환 단계의 산출물 = 309
용어정의 = 311
참고문헌 = 323
INDEX = 325