목차 일부
한국어판 출간에 부쳐 ... ⅳ
이 책에 쏟아진 찬사 ... ⅳ
표지 그림에 대해 ... ⅹ
추천의 글 ... xiii
저자 소개 ... xvi
저자 서문 ... xvii
감사의 글 ... xx
옮긴이 소개 ... xxii
옮긴이의 말 ... xxiv
들어가며 ... xxxv
서장 소프트웨어 아키텍처와 문서화 ... 1
P.1 아키텍처의 역할 ... ...
더보기
목차 전체
한국어판 출간에 부쳐 ... ⅳ
이 책에 쏟아진 찬사 ... ⅳ
표지 그림에 대해 ... ⅹ
추천의 글 ... xiii
저자 소개 ... xvi
저자 서문 ... xvii
감사의 글 ... xx
옮긴이 소개 ... xxii
옮긴이의 말 ... xxiv
들어가며 ... xxxv
서장 소프트웨어 아키텍처와 문서화 ... 1
P.1 아키텍처의 역할 ... 1
용어 설명 : 소프트웨어 아키텍처 ... 2
견해 소개 : 아키텍처는 설계와 어떻게 다른가? ... 4
용어 설명 : 문서화, 설명, 표현, 명세 ... 8
P.2 아키텍처 문서 활용방안 ... 10
P.3 인터페이스 ... 12
P.4 뷰 ... 13
용어 설명 : 아키텍처 뷰 ... 15
P.5 뷰타입과 스타일 ... 18
P.5.1 뷰타입 ... 18
P.5.2 스타일 ... 18
P.5.3 뷰타입, 스타일, 뷰에 대한 요약 ... 21
용어 설명 : 모듈과 컴포넌트 ... 22
P.6 좋은 문서를 만드는 7가지 규칙 ... 24
P.6.1 규칙 1. 읽는 사람의 관점에서 문서를 작성한다 ... 24
P.6.2 규칙 2. 불필요한 반복을 피한다 ... 25
P.6.3 규칙 3. 모호함을 피한다 ... 26
P.6.4 규칙 4. 표준 체계를 따른다 ... 27
P.6.5 규칙 5. 근거를 남겨둔다 ... 28
P.6.6 규칙 6. 문서를 항상 최신 내용을 담되 너무 앞서나가지 않는다 ... 28
P.6.7 규칙 7. 목적에 맞게 작성됐는지 사후 검토한다 ... 28
견해 소개 : 화살표에 대한 고민 ... 29
P.7 정리 ... 30
P.8 생각해볼 문제 ... 31
P.9 더 읽을거리 ... 33
1부 소프트웨어 아키텍처 뷰타입과 스타일 ... 35
1.1 뷰타입과 스타일 목록 ... 35
I.1.1 모듈 뷰타입 ... 35
I.1.2 컴포넌트와 커넥터 뷰타입 ... 36
I.1.3 할당 뷰타입 ... 38
I.2 스타일 지침 : 스타일 문서화를 위한 표준 문서체계 ... 39
1장 모듈 뷰타입 ... 41
1.1 개요 ... 41
1.2 모듈 뷰타입의 요소, 관계, 속성 ... 42
1.2.1 요소 ... 43
1.2.2 관계 ... 43
1.2.3 속성 ... 44
용어 설명 : 교체가능성 ... 46
1.3 모듈 뷰타입이 적합한 상황 ... 47
1.4 모듈 뷰타입 표기법 ... 48
1.4.1 비공식 표기법 ... 48
1.4.2 UML ... 48
1.5 다른 뷰타입과의 관계 ... 49
1.6 정리 ... 50
1.7 생각해볼 문제 ... 50
1.8 더 읽을거리 ... 51
2장 모듈 뷰타입 스타일 ... 53
2.1 분할 스타일 ... 53
2.1.1 개요 ... 53
2.1.2 요소, 관계, 속성 ... 54
2.1.3 용도 ... 55
2.1.4 표기법 ... 56
2.1.5 다른 스타일과의 관계 ... 57
2.1.6 사례 ... 57
용어 설명 : 하위시스템 ... 62
2.2 사용 스타일 ... 64
2.2.1 개요 ... 64
2.2.2 요소, 관계, 속성 ... 64
2.2.3 용도 ... 65
2.2.4 표기법 ... 65
2.2.5 다른 스타일과의 관계 ... 67
2.2.6 사례 ... 67
용어 설명 : 사용 ... 68
2.3 일반화 스타일 ... 71
2.3.1 개요 ... 71
2.3.2 요소, 관계, 속성 ... 72
2.3.3 용도 ... 73
2.3.4 표기법 ... 74
2.3.5 다른 스타일과의 관계 ... 74
용어 설명 : 일반화 ... 76
2.3.6 사례 ... 77
2.4 계층 스타일 ... 77
2.4.1 개요 ... 77
2.4.2 요소, 관계, 속성 ... 80
2.4.3 용도 ... 82
2.4.4 표기법 ... 83
2.4.5 다른 스타일과의 관계 ... 89
2.4.6 사례 ... 92
용어 설명 : 가상 기계 ... 93
견해 소개 : 거슬러 올라가는 소프트웨어 ... 94
견해 소개 : '수준' 때문에 생기는 혼란 ... 95
견해 소개 : UML 클래스 다이어그램 남용금지! ... 97
2.5 정리 ... 99
2.6 생각해볼 문제 ... 100
2.7 더 읽을거리 ... 100
3장 컴포넌트와 커넥터 뷰타입 ... 103
3.1 개요 ... 103
3.2 C&C 뷰타입의 요소, 관계, 속성 ... 106
3.2.1 요소 ... 107
3.2.2 관계 ... 110
3.2.3 속성 ... 111
견해 소개 : 커넥터는 정말 필요한가? ... 112
견해 소개 : 커넥터 추상화 ... 114
3.3 C&C 뷰타입의 용도 ... 116
견해 소개 : 데이터 흐름과 제어 흐름 투영 ... 117
3.4 C&C 뷰타입 표기법 ... 118
3.5 다른 뷰타입과의 관계 ... 118
3.6 정리 ... 120
3.7 생각해볼 문제 ... 122
3.8 더 읽을거리 ... 123
4장 컴포넌트와 커넥터 뷰타입 스타일 ... 125
4.1 파이프와 필터 스타일 ... 126
4.1.1 개요 ... 126
4.1.2 요소, 관계, 속성 ... 126
4.1.3 용도 ... 127
4.1.4 다른 스타일과의 관계 ... 128
4.1.5 사례 ... 128
4.2 공유 데이터 스타일 ... 129
4.2.1 개요 ... 129
4.2.2 요소, 관계, 속성 ... 129
4.2.3 용도 ... 131
4.2.4 다른 스타일과의 관계 ... 132
4.2.5 사례 ... 132
4.3 발행 구독 스타일 ... 133
4.3.1 개요 ... 133
4.3.2 요소, 관계, 속성 ... 133
4.3.3 용도 ... 134
4.3.4 다른 스타일과의 관계 ... 135
4.3.5 사례 ... 135
4.4 클라이언트/서버 스타일 ... 136
4.4.1 개요 ... 136
4.4.2 요소, 관계, 속성 ... 136
4.4.3 용도 ... 138
4.4.4 다른 스타일과의 관계 ... 138
4.4.5 사례 ... 139
4.5 피어 투 피어 스타일 ... 139
4.5.1 개요 ... 139
4.5.2 요소, 관계, 속성 ... 140
4.5.3 용도 ... 141
4.5.4 다른 스타일과의 관계 ... 141
4.5.5 사례 ... 141
4.6 프로세스 간 통신 스타일 ... 142
4.6.1 개요 ... 142
4.6.2 요소, 관계, 속성 ... 142
4.6.3 용도 ... 143
4.6.4 다른 스타일과의 관계 ... 143
4.6.5 사례 ... 144
4.6 C&C 스타일 표기법 ... 145
4.7.1 비공식적 표기법 ... 145
4.7.2 정형적 표기법 ... 145
견해 소개 : 클래스로 컴포넌트 타입과 인스턴스 표현하기 ... 160
용어 설명 : 컴포넌트와 UML컴포넌트의 비교 ... 162
4.8 정리 ... 164
4.9 생각해볼 문제 ... 165
4.10 더 읽을거리 ... 166
5장 할당 뷰타입과 스타일 ... 167
5.1 개요 ... 167
5.2 요소, 관계, 속성 ... 168
5.3 배치 스타일 ... 169
5.3.1 개요 ... 169
5.3.2 요소, 관계, 속성 ... 170
5.3.3 용도 ... 172
5.3.4 표기법 ... 173
5.3.5 다른 스타일과의 관계 ... 175
5.3.6 사례 ... 175
5.4 구현 스타일 ... 175
5.4.1 개요 ... 175
5.4.2 요소, 관계, 속성 ... 177
5.4.3 용도 ... 178
5.4.4 표기법 ... 178
5.4.5 다른 스타일과의 관계 ... 178
5.4.6 사례 ... 179
5.5 작업할당 스타일 ... 179
5.5.1 요소, 관계, 속성 ... 179
5.5.2 용도 ... 180
5.5.3 표기법 ... 181
5.5.4 다른 스타일과의 관계 ... 181
5.5.5 사례 ... 182
5.6 정리 ... 183
5.7 생각해볼 문제 ... 183
5.8 더 읽을거리 ... 184
2부 실전 <B><FONT color ... #0000
6장 고급 개념 ... 187
6.1 정보 분할과 뷰 패킷, 정제, 설명적 완결성 ... 188
6.1.1 뷰 패킷 ... 188
6.1.2 정제 ... 191
6.1.3 설명적 완결성 ... 192
6.2 컨텍스트 다이어그램 ... 195
6.2.1 최상위 수준 컨텍스트 다이어그램 ... 196
6.2.2 내용 ... 197
6.2.3 그 밖의 보조 문서 ... 197
6.2.4 표기법 ... 198
6.2.5 사례 ... 200
6.3 결합 뷰 ... 200
6.3.1 결합 뷰를 사용해야 하는 경우 ... 201
6.3.2 대응의 유형 ... 203
6.3.3 요소, 관계, 속성 ... 205
6.3.4 결합 뷰 문서화 ... 206
6.3.5 결합 뷰 예제 ... 207
6.3.6 그 밖의 예제 ... 208
6.4 가변성과 역동성 문서화 ... 209
6.4.1 가변성 ... 209
6.4.2 역동성 ... 210
6.4.3 정보 기록 ... 211
6.4.4 표기법 ... 212
견해 소개 : 시점이란 무엇인가? ... 213
6.5 새로운 스타일 작성과 문서화 ... 215
용어 설명 : 스타일과 패턴 ... 217
6.6 정리 ... 219
6.7 생각해볼 문제 ... 220
6.8 더 읽을거리 ... 221
7장 소프트웨어 인터페이스 문서화 ... 223
7.1 개요 ... 223
7.2 인터페이스 명세 ... 226
7.3 인터페이스 문서 표준 체계 ... 228
용어 설명 : 예외와 오류 처리 ... 233
7.4 인터페이스 문서와 관련된 이해관계자 ... 237
7.5 인터페이스 문서 표기법 ... 239
7.5.1 인터페이스의 존재 제시 ... 239
7.5.2 형태정보 전달 ... 241
7.5.3 의미정보 전달 ... 242
7.5.4 요약 ... 242
견해 소개 : 다중 인터페이스 ... 242
용어 설명 : 호출규약, 인터페이스, API ... 245
7.6 인터페이스 문서화 예제 ... 246
7.6.1 SCR 스타일의 인터페이스 ... 246
7.6.2 IDL ... 252
7.6.3 맞춤형 표기법 ... 252
7.6.4 XML ... 255
7.7 정리 ... 257
7.8 생각해볼 문제 ... 258
7.9 더 읽을거리 ... 258
8장 행위 문서화 ... 259
8.1 구조를 넘어서 ... 259
8.2 행위 문서화 위치 ... 260
8.3 행위 문서화 필요성 ... 260
8.3.1 시스템 분석 ... 261
8.3.2 개발 작업 추진 ... 262
8.4 문서화 내용 ... 263
8.4.1 통신 방식 ... 264
8.4.2 순서 제약사항 ... 264
8.4.3 시간에 따라 발생하는 자극 ... 265
8.5 행위 문서화에 쓰이는 언어와 표기법 ... 266
8.5.1 추적 ... 268
8.5.2 정적 모델 ... 276
8.6 정리 ... 284
8.7 생각해볼 문제 ... 285
8.8 더 읽을거리 ... 285
9장 뷰 선택 ... 289
9.1 이해관계자들에게 필요한 문서 ... 290
견해 소개 : 아키텍처 트레이드오프 분석 방법 ... 302
9.2 선택하기 ... 305
9.3 두 가지 예제 ... 306
9.3.1 소규모 프로젝트 A-7E ... 306
9.3.2 대규모 프로젝트 ECS ... 308
9.4 정리 ... 312
9.5 생각해볼 문제 ... 312
9.6 더 읽을거리 ... 313
10장 문서 패키지 작성 ... 315
10.1 문서를 하나로? 여러 개로? ... 315
견해 소개 : 'is'의 의미 ... 316
10.2 뷰 문서화 ... 317
견해 소개 : 표현 방법도 중요하다! ... 321
10.3 뷰 개괄 문서 ... 323
10.3.1 어떻게 문서가 구성됐는가 : 구성 정보 ... 324
10.3.2 무엇을 아키텍처로 봤는가 : 구성 내용 ... 326
10.3.3 왜 아키텍처가 현재의 모습을 하고 있는가 : 배경, 근거, 설계 제약사항 ... 328
견해 소개 : 전역 분석 ... 332
10.4 소프트웨어 아키텍처 문서의 검증 ... 335
견해 소개 : 용어집을 만들면 좋았을 텐데 ... 339
10.5 정리 ... 340
10.6 생각해볼 문제 ... 340
10.7 더 읽을거리 ... 341
11장 그 밖의 문서화 기법 ... 343
11.1 개요 ... 343
11.2 래셔널 통합 프로세스(RUP)/크루첸 4+1 ... 344
11.3 UML ... 348
11.3.1 클래스 다이어그램과 객체 다이어그램 ... 348
11.3.2 컴포넌트 다이어그램 ... 350
11.3.3 배치 다이어그램 ... 350
11.3.4 행위 다이어그램 ... 351
11.4 지멘스 4뷰 ... 352
11.4.1 전역 분석 ... 352
11.4.2 개념적 아키텍처 뷰 ... 353
11.4.3 모듈 아키텍처 뷰 ... 353
11.4.4 실행 아키텍처 뷰 ... 354
11.4.5 코드 아키텍처 뷰 ... 355
11.4.6 요약 ... 355
11.5 C4ISR 아키텍처 프레임워크 ... 356
11.5.1 C4ISR 프레임워크의 공통 아키텍처 뷰 ... 357
11.5.2 공통 산출물 ... 358
11.6 ANSI/IEEE-1471-2000 ... 360
11.7 데이터 흐름과 제어 흐름 ... 363
11.7.1 데이터 흐름 뷰 ... 363
11.7.2 제어 흐름 뷰 ... 365
견해 소개 : 그거 전부 다 추측이잖아요! ... 366
11.8 RM-ODP ... 371
11.9 아키텍처 문서화의 정리 ... 373
11.9.1 아키텍처 설명 언어 ... 374
11.9.2 상용 컴포넌트 ... 375
11.9.3 하이퍼텍스트 문서 ... 378
11.9.4 형상관리 ... 378
11.10 당부의 말 ... 379
11.11 더 읽을거리 ... 380
부록A 소프트웨어 아키텍처 문서 패키지 사례 ... 381
1권 ECS 소프트웨어 아키텍쳐 뷰 개괄 문서 ... 383
2권 ECS 소프트웨어 아키텍쳐 뷰 ... 410
용어 정리 ... 469
참고 자료 ... 473
찾아보기 ... 483
더보기 닫기