목차
시작하기 전에 = 25
PART Ⅰ UML 입문
1 UML을 소개합니다
복잡한 세상 바로 잡기 = 36
UML의 탄생 배경 = 37
UML을 이루는 것들 = 38
클래스 다이어그램 = 39
객체 다이어그램 = 40
쓰임새 다이어그램 = 40
상태 다이어그램 = 41
시퀀스 다이어그램 = 42
활동 다이어그램 = 43
협력 다이어그램 = 44
컴포넌트 다이어그램 = 44
배치 다이어그램 = 44
이외의 것들 = 45
패키지 = 45
노트 = 46
스테레오타입 = 46
왜 이렇게 다이어그램이 많을까? = 47
요약 = 47
Q & A = 48
실습해 보기 = 48
퀴즈 = 49
연습 문제 = 49
2 객체 지향을 이해합시다
객체_ 어디에서나 볼 수 있는 객체 = 52
객체 지향을 이루는 몇 가지 개념들 = 54
추상화 = 55
상속 = 55
다형성 = 57
캡슐화 = 58
메시지 전송 = 59
연관 = 60
집합연관 = 61
결론은? = 63
요약 = 63
Q & A = 64
실습해 보기 = 64
퀴즈 = 65
연습 문제 = 65
3 객체 지향 개념을 적용해 봅시다
클래스를 그림으로 나타내기 = 68
속성 = 69
오퍼레이션 = 70
조금 더 실용적인 클래스 표기 = 71
책임과 제약 = 73
노트 붙이기 = 74
클래스 모델링은 이렇게 시작하자 = 75
요약 = 78
Q & A = 78
실습해 보기 = 79
퀴즈 = 79
연습 문제 = 79
4 관계를 지어 봅시다
연관 = 82
연관에 대한 제약 = 83
연관 클래스 = 84
링크 = 85
다중성 = 85
수식 연관 = 86
반사 연관 = 87
상속과 일반화 = 88
상속 관계는 이렇게 정할 수 있다 = 89
추상 클래스 = 90
의존 관계 = 91
요약 = 92
Q & A = 93
실습해 보기 = 93
퀴즈 = 93
연습 문제 = 93
5 집합연관, 복합연관, 인터페이스 그리고 실체화
집합연관 = 96
집합연관에 대한 제약 = 97
복합연관 = 97
문맥 = 98
인터페이스와 실체화 = 99
가시성 = 102
스코프 = 102
요약 = 102
Q & A = 103
실습해 보기 = 103
퀴즈 = 104
연습 문제 = 104
6 쓰임새(Use Case)와의 만남은 우연이 아니다?
너희가 쓰임새를 아느냐? = 106
왜 쓰임새가 중요한가? = 107
이해가 늦으신 분을 위하여 준비한 쓰임새의 예제 = 107
"소다 사기(Buy Soda)" 쓰임새 = 108
또다른 쓰임새가 추가된다 = 109
쓰임새 포함하기 = 110
쓰임새 확장하기 = 111
쓰임새 분석은 이렇게 시작한다 = 112
요약 = 112
Q & A = 113
실습해 보기 = 113
퀴즈 = 114
연습 문제 = 114
7 쓰임새 다이어그램을 그려 봅시다
쓰임새 모델 나타내기 = 116
다시 보는 소다 자동 판매기 = 117
시나리오의 진행 단계 나타내기 = 117
쓰임새 사이의 관계 나타내기 = 118
포함 = 119
확장 = 120
일반화 = 120
그룹화 = 121
시스템 분석 단계에서의 쓰임새 다이어그램 = 122
쓰임새 모델의 적용 예 = 122
분야를 이해하자 = 123
사용자를 이해하자 = 123
쓰임새를 이해하자 = 124
조금 더 자세히 = 125
우리는 지금 어디까지 배웠을까? = 127
구조 요소(Structural Element) = 127
관계(Relationship) = 128
그룹화(Grouping) = 128
주해(Annotation) = 128
확장(Extension) = 128
...그리고 기타 = 128
UML의 조직 구성도 = 128
요약 = 129
Q & A = 130
실습해 보기 = 131
퀴즈 = 131
연습 문제 = 131
8 상태 다이어그램을 그려 봅시다
상태 다이어그램이란? = 134
상태 다이어그램을구성하는 기호들 = 135
상태 아이콘을 넣는 정보들 = 135
상태 전이선에 추가되는 정보 : 사건과 동작 = 137
상태 전이선에 추가되는 정보 : 전이 조건 = 137
하위 상태 = 138
순차적 하위 상태 = 139
동시적 하위 상태 = 139
이력 상태 = 140
메시지와 신호 = 141
상태 다이어그램은 왜 중요할까 = 142
UML의 조직 구성도 = 142
요약 = 143
Q & A = 144
실습해 보기 = 145
퀴즈 = 145
연습 문제 = 145
9 시퀀스 다이어그램을 그려 봅시다
시퀀스 다이어그램이란? = 148
객체 = 148
메시지 = 148
시간 = 149
8장의 GUI와 시퀀스 다이어그램이 만나다 = 150
시퀀스 = 150
시퀀스 다이어그램 = 151
쓰임새 = 152
6, 7장의 소다 자동판매기와 시퀀스 다이어그램 = 153
인스턴스 시퀀스 다이어그램 = 153
일반 시퀀스 다이어그램 = 154
시퀀스 내에서 객체 생성하기 = 157
되부름 나타내기 = 159
하나 더 추가된 UML의 조직 구성도 = 160
요약 = 161
Q & A = 162
실습해 보기 = 162
퀴즈 = 162
연습 문제 = 162
10 협력 다이어그램을 그려 봅시다
협력 다이어그램이란? = 166
바로 그 GUI = 167
상태 변화의 추가 = 168
그때 그 소다 자동 판매기 = 169
객체의 생성 = 171
그외의 개념들 = 172
여러 객체로 메시지 전송하기 = 173
반환된 결과 나타내기 = 173
활성 객체 = 174
동기화 = 174
점점 불어나는 UML의 조직 구성도 = 176
요약 = 176
Q & A = 177
실습해 보기 = 177
퀴즈 = 177
연습 문제 = 178
11 활동 다이어그램을 그려 봅시다
활동 다이어그램이란? = 180
결정, 결정, 또 결정 = 181
동시 경로 = 182
신호 = 182
활동 다이어그램의 적용 = 183
오퍼레이션에 대한 다이어그램의 예 : 피보나치 수 = 183
처리 과정을 나타내는 활동 다이어그램의 예 : 문서 만들기 = 184
구획면 = 186
혼합 다이어드램 = 188
또다시 불어나는 UML 조직 구성도 = 190
요약 = 191
Q & A = 192
실습해 보기 = 192
퀴즈 = 193
연습 문제 = 193
12 컴포넌트 다이어그램을 그려 봅시다
컴포넌트란? = 196
컴포넌트와 인터페이스 = 197
대체와 재사용 = 198
컴포넌트의 타입 = 198
컴포넌트의 다이어그램이란? = 199
컴포넌트 나타내기 = 199
인터페이스 나타내기 = 200
컴포넌트 다이어그램 적용하기 = 201
자바 애플릿이 들어있는 웹 페이지 = 201
ActiveX 컨트롤이 들어있는 웹 페이지 = 203
파워토이 = 205
점점 커지는 UML 조직 구성도 = 205
요약 = 206
Q & A = 207
실습해 보기 = 207
퀴즈 = 207
연습 문제 = 208
13 배치 다이어그램을 그려 봅시다
배치 다이어그램이란? = 210
배치 다이어그램의 적용 = 212
가정용 컴퓨터 시스템 = 212
토큰 - 링 네트워크 = 213
ARCnet = 214
씬 이더넷(Thin Ethernet) = 215
메트리콤의 리코쳇 무선 네트워크 = 216
배치 다이어그램을 마지막으로 UML 조직 구성도가 완성되었다 = 217
요약 = 218
Q & A = 219
실습해 보기 = 219
퀴즈 = 219
연습 문제 = 220
14 UML의 근본 구조를 확실히 익혀 둡시다
UML의 근본 구조 = 222
메타모델 계층 : 업 클로스 앤 퍼스널 = 224
기초(Foundation) 패키지 = 225
행동 요소(Behavioral Element) = 227
모델 관리(Model Management) = 228
UML 확장하기 = 228
스테레오타입 = 229
의존 관계(dependecy) = 239
분류자(classifier) = 230
클래스(class) = 231
일반화(Generalization) = 231
패키지(Package) = 231
컴포넌트(Component) = 232
이외의 스테레오타입 = 232
그래픽 스테레오타입 = 232
제약(Constraint) = 233
꼬리표 값(Tagged Value) = 234
요약 = 235
Q & A = 235
실습해 보기 = 236
퀴즈 = 236
15 시스템 개발 과정에 UML 적용을 위한 돋움 닫기
방법론의 어제와 오늘 = 238
시스템 개발 과정의 어제 = 239
시스템 개발의 현재 = 240
바람직한 개발 과정이란? = 240
GRAPPLE = 242
RAD^3 : GRAPPLE의 구조 = 243
요구사항 수집 = 244
분석 = 247
설계 = 248
개발 = 250
배치 = 251
정리! GRAPPLE = 251
요약 = 252
Q & A = 253
실습해 보기 = 253
퀴즈 = 254
PART Ⅱ 사례 연구
16 저는 사례 연구를 처음 해보는데요
문제 해결은 GRAPPLE로 시작한다 = 258
업무 과정 파악 = 259
고객에 대한 서빙 = 260
음식 준비하기 = 271
테이블 치우기 = 273
배운 것 정리! = 274
요약 = 275
Q & A = 276
실습해 보기 = 277
퀴즈 = 277
연습 문제 = 277
17 도메인 분석
업무 과정 인터뷰 분석하기 = 280
초기 클래스 다이어그램 작성하기 = 281
클래스를 그룹화하기 = 284
연관 관계 짓기 = 286
Customer 클래스에 대한 연관 = 286
Server 클래스에 대한 연관 = 290
Chef 클래스에 대한 연관 = 292
Busser 클래스에 대한 연관 = 292
Manager 클래스에 대한 연관 = 293
여담으로... = 294
집한 연관과 복합연관 찾아내기 = 295
클래스 다이어그램에 살 붙이기 = 296
Customer 클래스 = 297
Employee 클래스 = 297
Check 클래스 = 299
모델에 관한 일반적인 이야기들 = 300
모델 사전 = 300
다이어그램의 조직화 = 300
배운 것 정리! = 301
요약 = 301
Q & A = 302
실습해 보기 = 302
퀴즈 = 302
연습 문제 = 302
18 시스템 요구사항의 수집
시스템 계획하기 - 개발팀 회의 = 306
요구사항 수집을 위한 준비 = 317
요구사항 수집을 위한 JAD 모임 = 318
JAD 모임 결과 = 322
이제는 무엇을? = 325
요약 = 326
Q & A = 326
실습해 보기 = 326
퀴즈 = 326
연습 문제 = 327
19 쓰임새 만들기
쓰임새 상세화하기 = 330
쓰임새 분석 = 331
Server 패키지 = 332
"주문을 받는다(Take an order)" 쓰임새 분석 = 333
"주문을 주방으로 보낸다(Transmit the order to the kitchen)" - 쓰임새의 분석 = 334
"주문을 변경한다(Change an order)" - 쓰임새의 분석 = 335
"주문 상태를 점검한다(Track order status)" - 쓰임새의 분석 = 336
"손님들의 상태를 주방장에게 알린다(Notify chef about party status)" - 쓰임새의 분석 = 337
"음식값을 계산한다(Total up a check)" - 쓰임새의 분석 = 338
"계산서를 뽑는다(Print a check)" - 쓰임새의 분석 = 339
"보조를 부른다(Summon an assistant)" - 쓰임새의 분석 = 340
나머지 쓰임새들 = 341
시스템을 이루는 컴포넌트 = 342
요약 = 342
Q & A = 343
실습해 보기 = 343
퀴즈 = 343
연습 문제 = 344
20 시스템 컴포넌트 간의 교류와 상태 변경
시스템의 컴포넌트를 알아내자 = 346
Server 패키지 = 346
Chef 패키지 = 347
Busser 패키지 = 348
Assistant Server 패키지 = 348
Assistant Chef 패키지 = 348
Bartender 패키지 = 348
Coat - Check Clerk 패키지 = 349
시스템 컴포넌트 사이의 교류 = 350
"주문을 받는다(Take an order)" - 쓰임새에 대한 컴포넌트 간 교류 = 350
"주문을 변경한다(Change an order)" - 쓰임새에 대한 컴포넌트 간 교류 = 353
"주문 상태를 점검한다(Track order status)" - 쓰임새에 대한 컴포넌트 간 교류 = 355
사장실에서 벌어질 일 = 356
요약 = 357
Q & A = 358
실습해 보기 = 358
퀴즈 = 358
연습 문제 = 359
21 룩 앤 필 꾸미기와 시스템 배치 설계하기
GUI 설계의 일반적인 법칙 몇 가지 = 362
GUI 설계를 위한 JAD 모임 = 364
쓰임새에서 사용자 인터페이스로의 변신 = 365
GUI 설계를 위한 UML 다이어그램 = 368
시스템 배치 계획하기 = 369
네트워크 = 370
노드와 배치 다이어그램 = 370
다음 단계 = 372
그리고 스폰서들로부터 한 마디가 있었다 = 373
판매 업계로의 확장 = 374
요식업 확장 계획 = 374
요약 = 376
Q & A = 376
실습해 보기 = 377
퀴즈 = 377
연습 문제 = 378
22 디자인 패턴을 이해합시다
매개변수화 = 380
디자인 패턴 = 382
책임 연쇄(Chain of Responsibility) = 384
책임 연쇄의 적용 예 : 식당 도메인 = 386
책임 연쇄의 적용 예 : 웹 브라우저 이벤트 모델 = 387
디자인 패턴은 도련님들만 만드는 것이 아니다 = 389
디자인 패턴이 왜 좋은가? = 391
요약 = 391
Q & A = 392
실습해 보기 = 392
퀴즈 = 393
연습 문제 = 393
PART Ⅲ 한단계 앞서보기
23 임베디드 시스템의 모델링
필요는 발명의 어머니 = 399
그리하여 GetAGrip이 만들어진다 = 400
임베디드 시스템(Embedded System)이란? = 402
임베디드 시스템의 개념 = 403
시간 = 403
쓰레드 = 404
인터럽트 = 405
운영체제 = 406
GetAGrip의 모델링 = 408
클래스 = 408
쓰임새 = 410
교류 = 411
일반적인 상태 변화 = 414
배치 = 415
이리하여 인류의 근육은 탄탄해 진다 = 415
요약 = 416
Q & A = 417
실습해 보기 = 417
퀴즈 = 417
연습 문제 = 418
24 UML은 넓고 할 일은 많다
업무 모델링을 위한 UML = 420
업무용 UML 확장에서 얻은 교훈 = 421
GUI = 421
쓰임새와의 연계 = 422
GUI의 모델링 = 422
전문가 시스템 = 424
전문가 시스템을 이루는 구성요소 = 424
전문가 시스템의 예 = 426
지식 베이스의 모델링 = 428
진짜로 맺는 말 = 430
요약 = 431
Q & A = 431
실습해 보기 = 432
퀴즈 = 432
PART Ⅳ 부록
찾아보기 = 467