목차
제1장 UML의 기초 지식
   1.1 모델을 왜 작성하는가? ... 15
   1.2 모델링의 역사 ... 17
      1.2.1 UML 이전 ... 17
      1.2.2 UML의 등장 ... 23
   1.3 표기 방법을 바르게 알기 ... 26
      1.3.1 사양이라는 측면 ... 26
      1.3.2 표기 방법의 개요 ... 27
      1.3.3 9가지 다이어그램 ... 30
   컬럼 : DOA와 객체지향의 차이 ... 34
제2장 클래스 다이어그램 작성의 기법
   2.1 개념 다루기 ... 47
      2.1.1 개념을 파악한다 ... 47
      2.1.2 모델에는 시점이 있다 ... 51
      2.1.3 개념을 클래스로 기술한다 ... 52
   2.2 클래스 다이어그램의 기본 ... 53
      2.2.1 기본 요소 ... 53
      2.2.2 연관 클래스 ... 55
      2.2.3 역할(Role) ... 58
      2.2.4 일반화 구조 ... 63
      2.2.5 카테고리화 ... 66
      2.2.6 집합 관계 ... 68
      2.2.7 타입과 클래스의 차이 ... 69
   2.3 클래스 다이어그램의 작성 순서 ... 71
      2.3.1 개념 레벨의 모델링 순서 ... 72
      2.3.2 초기 클래스 다이어그램을 작성한다 ... 73
      2.3.3 테크니컬한 개량을 더한다 ... 76
   2.4 동적 측면을 검증해 클래스 다이어그램 완성하기 ... 83
      2.4.1 유스케이스 ... 83
      2.4.2 유스케이스의 기술 형식 ... 86
      2.4.3 유스케이스로 오브젝트의 대화를 검증한다 ... 90
      2.4.4 시퀀스 다이어그램을 작성해 클래스 다이어그램을 수정 ... 92
      2.4.5 바텀업으로부터 추출한 유스케이스 ... 92
   2.5 실제 사례를 통해 모델링 마스터하기 ... 95
      2.5.1 자동개찰 시스템 예제 ... 96
      2.5.2 모델을 더욱 다듬는다 ... 106
   컬럼: 카테고리회에 필요한 지식 레벨의 개념 ... 109
제3장 개념 레벨에서 구현 레벨로 변환
   3.1 개념 레벨의 클래스 다이어그램을 구현 레벨로 변환 ... 115
      3.1.1 기본적인 변환 ... 115
      3.1.2 인터페이스 관리 ... 121
      3.1.3 연관의 설계 ... 124
   3.2 인터페이스의 설계 ... 128
      3.2.1 책임 할당과 인터페이스 설계 ... 128
      3.2.2 아키텍처에 대응한다 ... 132
컬럼: MVC 모델은 Observer 패턴의 한 형태 ... 140
제4장 패턴과 리팩토링
   4.1 분석ㆍ설계에 도움이 되는 패턴 ... 145
      4.1.1 소프트웨어 패턴의 유래 ... 145
      4.1.2 패턴은 해결책이다 ... 147
   4.2 애널리시스 패턴 ... 149
      4.2.1 책임관계 패턴 ... 149
      4.2.2 계정 패턴 ... 153
   4.3 디자인 패턴 ... 158
      4.3.1 Composite 패턴 ... 158
      4.3.2 Observer 패턴 ... 162
      4.3.3 State 패턴 ... 165
      4.3.4 패턴은 활동이다 ... 167
   4.4 소프트웨어의 유연성을 높여주는 리팩토링 ... 169
      4.4.1 리팩토링의 개요 ... 169
      4.4.2 리팩토링의 실제 ... 171
제5장 비즈니스 모델링으로의 적용
   5.1 UML을 비즈니스 모델링에서 사용하기 ... 187
      5.1.1 마샬의 비즈니스 모델링 ... 188
      5.1.2 에릭슨과 펜커의 비즈니스 모델 ... 193
      5.1.3 UML에 의한 비즈니스 모델링 문제 ... 198
컬럼: 변화를 기술할 수 있는 인과루프 다이어그램의 가능성 ... 199
제6장 모델링의 실천 ①(주류 도매상의 재고관리)
   6.1 요구를 파악해 클래스 다이어그램을 작성하기 ... 203
      6.1.1 주류 도매상의 재고문제 ... 203
      6.1.2 요구를 파악한다 ... 206
      6.1.3 초기 클래스 다이어그램을 작성한다 ... 210
   6.2 흔들기로 모델 다듬기 ... 217
   6.3 OCL로 제약을 기술하기 ... 228
      6.3.1 세밀하게 제약을 기술한다 ... 228
      6.3.2 예제의 OCL ... 233
   6.4 구현 레벨로 변환하기 ... 237
제7장 모델링의 실천 ②(항공권 예약)
   7.1 이해하기 쉬운 클래스 다이어그램을 생성하기 ... 243
      7.1.1 대리점의 국내편 예약 시스템 ... 243
      7.1.2 해독의 실마리를 찾는다 ... 244
      7.1.3 다른 사람이 작성한 모델을 읽는다 ... 246
      7.1.4 알기 쉬운 클래스 다이어그램을 만들기 위한 노력 ... 251
   7.2 정석에 사로잡히지 말고 필요없는 부분 삭제하기 ... 254
      7.2.1 빈 클래스는 삭제한다 ... 254
      7.2.2 제약은 타당한가? ... 257
      7.2.3 흔들기로 유연성을 높인다 ... 258
   7.3 모호함과 모순을 개념 레벨에서 제거하기 ... 263
      7.3.1 제약을 OCL로 재작성 ... 263
      7.3.2 유스케이스에 기초한 재확인 ... 266
      7.3.3 패키지로 감싼다 ... 270
      7.3.4 모델 다이어그램을 음미하자 ... 273
제8장 모델링 스킬을 업그레이드 하려면?
   8.1 모델이란? ... 277
      8.1.1 애코프의 모델의 정의 ... 277
      8.1.2 개념 모델 ... 278
      8.1.3 기호와 코드 ... 278
      8.1.4 정보시스템의 모델 ... 279
   8.2 모델링 스킬 연마하기 ... 280
      8.2.1 좋은 모델을 많이 읽는 것 ... 280
      8.2.2 모델을 작성하고 피드백한다 ... 280
   8.3 모델링의 마음가짐 ... 282
부록 : UML 2.0을 어떻게 사용해야 하는가?
   다이어그램의 추가와 명칭의 변경 ... 285
   이것을 어떻게 사용할 것인가? ... 293
찾아보기 ... 295
닫기