Рис. 1.L Фрагмент метамодели UML............................................. 37
Рис. 1.2. Классификация типов диаграмм UML........................... 39
Рис. 1.3. Неформальная диаграмма потока экранов..................... 42
Рис. 3.1. Простая диаграмма класса............................................... 63
Рис. 3.2. Представление свойств заказа в виде атрибутов.......... 64
Рис. 3.3. Представление свойств заказа в виде ассоциаций........ 64
Рис. 3.4. Двунаправленная ассоциация......................................... 68
Рис. 3.5. Использование глаголав имени ассоциации................. 69
Рис. 3.6. Примечание используется как комментарий
к одному или более элементам диаграммы................................... 73
Рис. 3.7. Пример зависимостей....................................................... 74
Рис. 4.1. Диаграмма последовательности централизованного
управления........................................................................................ 81
Рис. 4.2. Диаграмма последовательности распределенного
управления........................................................................................ 82
Рис. 4.3. Создание и удаление участников.................................... 84
Рис. 4.4. Фреймы взаимодействия.................................................. 85
|
|
Рис. 4.5. Старые соглашения для условной логики...................... 87
Рис. 4.6. Пример CRC-карточки..................................................... 90
Рис. 5.1. Представление обязанностей на диаграмме классов.... 94
Рис. 5.2. Статическая нотация......................................................... 94
Рис. 5.3. Агрегация........................................................................... 95
Рис. 5.4. Композиция....................................................................... 95
Рис. 5.5. Производный атрибут для временного интервала........ 96
Рис. 5.6. Пример интерфейсов и абстрактного класса
на языке Java..................................................................................... 97
Рис. 5.7. Шарово-гнездовая нотация.............................................. 98
Рис. 5.8. Более старое обозначение зависимостей с помощью
«леденцов на палочке».................................................................... 99
Рис. 5.9. Представление полиморфизма на диаграммах
последовательности с помощью нотации леденцов..................... 99
Рис. 5.10. Квалифицированная ассоциация.......................................... 102
Рис. 5.11. Множественная классификация............................................ 104
Рис. 5.12. Класс-ассоциация................................................................... 105
Рис. 5.13. Развитие класса-ассоциации до обычного класса............... 105
Рис. 5.14. Хитрости класса-ассоциации................................................ 106
Рис. 5.15. Использование класса для временного отношения............ 107
Рис. 5.16. Ключевое слово «temporal» для ассоциаций....................... 107
Рис. 5.17. Класс-шаблон.......................................................................... 108
Рис. 5.18. Связанный элемент (вариант 1)............................................ 108
Рис. 5.19. Связанный элемент (вариант 2)............................................ 109
Рис. 5.20. Перечисление.......................................................................... 109
Рис. 5.21. Активный класс...................................................................... 110
|
|
Рис. 5.22. Классы с сообщениями.......................................................... 111
Рис. 6.1. Диаграмма классов, показывающая структуру
класса Party............................................................................................... 112
Рис. 6.2. Диаграмма объектов с примером экземпляра
класса Party............................................................................................... 113
Рис. 7.1. Способы изображения пакетов на диаграммах..................... 115
Рис. 7.2. Диаграмма пакетов для промышленного предприятия........ 117
Рис. 7.3. Разделение рис. 7.2 на два аспекта.......................................... 118
Рис. 7.4. Пакет, реализованный другими пакетами............................. 119
Рис. 7.5. Определение затребованного интерфейса
в клиентском пакете................................................................................ 120
Рис. 8.1. Пример диаграммы развертывания......................................... 122
Рис. 9.1. Пример текста прецедента....................................................... 125
Рис. 9.2. Диаграмма прецедентов........................................................... 127
Рис. 10.1. Простая диаграмма состояний............................................... 131
Рис. 10.2. Внутренние события, показанные в состоянии
набора текста в текстовом поле 132
Рис. 10.3. Состояние с активностью....................................................... 133
Рис. 10.4. Суперсостояние с вложенными подсостояниями............... 134
Рис. 10.5. Параллельные состояния........................................................ 134
Рис. 10.6. Вложенный оператор switch на языке С#
для обработки перехода состояний 135
Рис. 10.7. Паттерн «Состояние*, реализующий диаграмму
на рис. 10.1 136
Рис. 11.1. Простая диаграмма деятельности.......................................... 140
Рис. 11.2. Дополнительная диаграмма деятельности........................... 142
Рис. 11.3. Деятельность из рис. 11.1 модифицирована
для вызова деятельности из рис. 11.2 142
Рис.11.4. Разбиение диаграммы деятельности на разделы.................. 143
Рис. 11.5. Сигналы в диаграмме деятельности..................................... 144
Рис. 11.6. Отправка и прием сигналов.................................................. 145
Рис. 11.7. Четыре способа представления ребер................................... 146
Рис. 11.8. Преобразование потока.......................................................... 147
Рис. 11.9. Область расширения............................................................... 148
Рис. 11.10. Нотация для единственной процедуры
в области расширения 148
Рис. 11.11. Окончание потока в активности......................................... 149
Рис. 11.12. Описание объединения........................................................ 150
Рис. 12.1. Коммуникационная диаграмма системы
централизованного управления 153
Рис. 12.2. Коммуникационная диаграмма с вложенной
десятичной нумерацией 153
Рис. 13.1. Два способа представления объекта TV Viewer
и его интерфейсов 155
Рис. 13.2. Внутренний вид компонента (пример, предложенный
Джимом Рамбо) 156
Рис. 13.3. Компонент с несколькими портами..................................... 156
Рис. 14.1. Нотация для компонентов..................................................... 158
Рис. 14.2. Пример диаграммы компонентов......................................... 159
Рис.15.1. Кооперация вместе с ее классами и ролями.......................... 161
Рис. 15.2. Диаграмма последовательности для аукционной
кооперации 162
Рис. 15.3. Наличие кооперации.............................................................. 163
Рис. 15.4. Необычный способ показа применения паттерна в JUnit..163
Рис. 16.1. Диаграмма обзора взаимодействий...................................... 165
Рис. 17.1. Временная диаграмма, на которой состояния
представлены в виде линий 167
Рис. 17.2. Временная диаграмма, на которой состояния
представлены в виде областей................................................................ 167
Отзывы
«Книга UML Distilled остается лучшим введением в нотации UML. Живой и прагматичный стиль Мартина прекрасно воспринимается, и я искренне рекомендую эту книгу».
- Крэйг Ларман (Craig Larman),
автор книги «Applying UML and Patterns»
«Фаулер пробивает путь сквозь сложности UML, помогая пользователям быстро познакомиться с UML».
- Джим Рамбо (Jim Rambaugh),
автор и один из создателей UML
«UML Distilled Мартина Фаулера - это прекрасный способ познакомиться с UML. Большинство пользователей найдут в этой книге все необходимое для успешного применения UML. С точки зрения Мартина, UML можно использовать различными путями, но наибольшее признание он получил как инструмент эскизного моделирования. Эта книга прекрасно выполняет работу по выявлению сущности UML. Настоятельно рекомендую».
|
|
- Стив Кук (Steve Cook), разработчик ПО, Microsoft
«Небольшие книги по UML лучше, чем большие. До сих пор эта книга остается лучшим кратким изданием по UML. Фактически это лучшая небольшая книга по многим темам».
- Алистер Кокборн (Alistair Cockburn), автор и президент Humans and Technology
«Эта книга исключительно полезна, легко читается и - одно из главных ее достоинств - в восхитительно краткой манере охватывает значительное количество тем. Если вы собираетесь приобрести только одну книгу по UML, то должны купить именно эту».
- Энди Кармайкл (Andy Carmichael), BetterSoftwareFaster, Ltd.
«Если вы используете UML, то эта книга всегда должна быть рядом».
- Джон Крупи (John Crupi), Sun Microsystems, соавтор книги «Core J2EE Patterns»
«Все, кто занимается моделированием с применением UML, изучает UML, читает про UML или разрабатывает UML-инструменты, должны иметь последнее издание этой книги (у меня есть все издания). В ней много хорошей, полезной информации. В общем, информации достаточно, чтобы быть полезной, но не слишком много, чтобы стать скучной».
- Джон Керн (Jon Kern), разработчик моделей
«Это прекрасная отправная точка для изучения основ UML».
- Скотт В. Амблер (Scott W. Ambler),
автор книги «Agile Modeling»
«В высшей степени практичное описание языка UML и его применения, с достаточной степенью юмора, позволяющего удерживать внимание читателя. Воистину, «В плавательной метафоре больше нет воды».
- Стефан Меллор (Stephen J. Mellor),
соавтор книги «Executable UML»
«Это идеальная книга для тех, кто хочет использовать UML, но не желает читать толстые справочники по UML и исследовательские статьи. Мартин Фау-лер отбирает все важные технологии, необходимые для использования UML при разработке эскизов, освобождая читателя от сложных и редко используемых возможностей UML. У читателей не будет недостатка в предложениях по дальнейшему изучению. Читатель получает советы, основанные на опыте. Это краткая и легко читаемая книга, посвященная основным аспектам UML и связанным с ними понятиями объектно-ориентированных технологий».
|
|
- Павел Хруби (Pavel Hruby), Microsoft Business Solutions
«Подобно всем хорошим разработчикам программного обеспечения, Фаулер улучшает свой продукт с каждой итерацией. Это единственная книга, которой я пользуюсь, когда даю уроки UML, и которую рекомендую для изучения».
- Чарльз Ашбахер (Charles Ashbacher), президент/CEO, Charles Ashbacher Technologies
«Должно быть больше книг, подобных UML Distilled, - кратких и легко читаемых. Мартин Фаулер выбирает разделы UML, которые вам нужны, и представляет их в удобной для чтения форме. Авторский опыт применения языка моделирования для документирования проекта имеет большую ценность, чем простое описание этой технологии».
- Роб Персер (Rob Purser), Purser Consulting, LLC.