Самоучитель UML
Добавить в закладки К обложке
- ГЛАВА 1 Введение - Страница 1
- 1.1. Методология процедурно-ориентированного программирования - Страница 2
- 1.2. Методология объектно-ориентированного программирования - Страница 4
- 1.3. Методология объектно-ориентированного анализа и проектирования - Страница 8
- 1.4. Методология системного анализа и системного моделирования - Страница 10
- ГЛАВА 2 Исторический обзор развития методологии объектно-ориентированного анализа и проектирования сложных систем - Страница 12
- Теория множеств - Страница 13
- Теория графов - Страница 16
- Семантические сети - Страница 18
- 2.2. Диаграммы структурного системного анализа - Страница 19
- Диаграммы «сущность-связь» - Страница 20
- Диаграммы функционального моделирования - Страница 22
- Диаграммы потоков данных - Страница 24
- 2.3. Основные этапы развития UML - Страница 26
- ГЛАВА 3 Основные компоненты языка UML - Страница 29
- 3.1. Назначение языка UML - Страница 30
- 3.2. Общая структура языка UML - Страница 32
- 3.3. Пакеты в языке UML - Страница 34
- 3.4. Основные пакеты метамодели языка UML - Страница 36
- Пакет Основные элементы - Страница 37
- Пакет Элементы ядра - Страница 38
- Пакет Вспомогательные элементы - Страница 39
- Пакет Механизмы расширения - Страница 40
- Пакет Типы данных - Страница 41
- Пакет Элементы поведения - Страница 42
- Пакет Общее поведение - Страница 43
- Пакет Кооперации - Страница 44
- Пакет Варианты использования - Страница 45
- Пакет Автоматы - Страница 46
- Пакет Общие механизмы - Страница 47
- Пакет Управление моделями - Страница 48
- 3.5. Специфика описания метамодели языка UML - Страница 49
- 3.6. Особенности изображения диаграмм языка UML - Страница 52
- ГЛАВА 4 Диаграмма вариантов использования (use case diagram) - Страница 54
- 4.1. Вариант использования - Страница 55
- 4.2. Актеры - Страница 56
- 4.3. Интерфейсы - Страница 57
- 4.4. Примечания - Страница 58
- 4.5. Отношения на диаграмме вариантов использования - Страница 59
- Отношение ассоциации - Страница 60
- Отношение расширения - Страница 62
- Отношение обобщения - Страница 63
- Отношение включения - Страница 64
- 4.6. Пример построения диаграммы вариантов использования - Страница 65
- 4.7. Рекомендации по разработке диаграмм вариантов использования - Страница 67
- ГЛАВА 5 Диаграмма классов (class diagram) - Страница 69
- 5.1. Класс - Страница 70
- Имя класса - Страница 71
- Атрибуты класса - Страница 72
- Операция - Страница 75
- 5.2. Отношения между классами - Страница 77
- Отношение зависимости - Страница 78
- Отношение ассоциации - Страница 79
- Отношение агрегации - Страница 81
- Отношение композиции - Страница 82
- Отношение обобщения - Страница 83
- 5.3. Интерфейсы . - Страница 85
- 5.4. Объекты - Страница 86
- 5.5. Шаблоны или параметризованные классы - Страница 87
- 5.6. Рекомендации по построению диаграмм классов - Страница 88
- ГЛАВА 6 Диаграмма состояний (statechart diagram) - Страница 89
- 6.1. Автоматы - Страница 90
- 6.2. Состояние - Страница 92
- Имя состояния - Страница 93
- Список внутренних действий - Страница 94
- Начальное состояние - Страница 95
- Конечное состояние - Страница 96
- 6.3. Переход - Страница 97
- Событие - Страница 98
- Сторожевое условие - Страница 99
- Выражение действия - Страница 101
- 6.4. Составное состояние и подсостояние - Страница 102
- Последовательные подсостояния - Страница 103
- Параллельные подсостояния - Страница 104
- 6.5. Историческое состояние - Страница 105
- 6.6. Сложные переходы - Страница 106
- Переходы между параллельными состояниями - Страница 107
- Переходы между составными состояниями - Страница 108
- Синхронизирующие состояния - Страница 109
- 6.7. Заключительные рекомендации по построению диаграмм состояний - Страница 111
- ГЛАВА 7 Диаграмма деятельности (activity diagram) - Страница 112
- 7.1. Состояние действия - Страница 113
- 7.2. Переходы - Страница 114
- 7.3. Дорожки - Страница 116
- 7.4. Объекты - Страница 117
- 7.5. Рекомендации по построению диаграмм деятельности - Страница 118
- ГЛАВА 8 Диаграмма последовательности (sequence diagram) - Страница 119
- 8.1. Объекты - Страница 120
- Линия жизни объекта - Страница 121
- Фокус управления - Страница 122
- 8.2. Сообщения - Страница 123
- Ветвление потока управления - Страница 125
- Стереотипы сообщений - Страница 126
- Временные ограничения на диаграммах последовательности - Страница 127
- Комментарии или примечания - Страница 128
- 8.3. Пример построения диаграммы последовательности - Страница 129
- 8.4. Заключительные рекомендации по построению диаграмм последовательности - Страница 130
- ГЛАВА 9 Диаграмма кооперации (collaboration diagram) - Страница 131
- 9.1. Кооперация - Страница 132
- Диаграмма кооперации уровня спецификации - Страница 133
- 9.2. Объекты - Страница 134
- Мультиобъект - Страница 135
- Активный объект - Страница 136
- Составной объект - Страница 137
- 9.3. Связи - Страница 138
- Стереотипы связей - Страница 139
- 9.4. Сообщения - Страница 140
- Формат записи сообщений - Страница 141
- 9.5. Пример построения диаграммы кооперации - Страница 143
- 9.6. Заключительные рекомендации по построению диаграмм кооперации - Страница 144
- ГЛАВА 10 Диаграмма компонентов (component diagram) - Страница 145
- 10.1. Компоненты - Страница 146
- Имя компонента - Страница 147
- Виды компонентов - Страница 148
- 10.2. Интерфейсы - Страница 149
- 10.3. Зависимости - Страница 150
- 10.4. Рекомендации по построению диаграммы компонентов - Страница 152
- ГЛАВА 11 Диаграмма развертывания (deployment diagram) - Страница 153
- 11.1. Узел - Страница 154
- 11.2. Соединения - Страница 155
- 11.3. Рекомендации по построению диаграммы развертывания - Страница 156
- ГЛАВА 12 Особенности реализации языка UML в CASE-инструментарии Rational Rose 98/2000 - Страница 157
- 12.1. Общая характеристика CASE-средства Rational Rose 98/2000 - Страница 158
- 12.2. Особенности рабочего интерфейса Rational Rose - Страница 159
- Главное меню программы - Страница 160
- Стандартная панель инструментов - Страница 161
- Окно браузера - Страница 162
- Специальная панель инструментов - Страница 163
- Окно диаграммы - Страница 164
- Окно документации - Страница 165
- Окно журнала - Страница 166
- 12.3. Начало работы над проектом в среде Rational Rose - Страница 167
- 12.4. Разработка диаграммы вариантов использования в среде Rational Rose - Страница 168
- 12.5. Разработка диаграммы классов в среде Rational Rose - Страница 169
- 12.6. Разработка диаграммы состояний в среде Rational Rose - Страница 170
- 12.7. Разработка диаграммы последовательности в среде Rational Rose - Страница 171
- 12.8. Разработка диаграммы кооперации в среде Rational Rose - Страница 172
- 12.9. Разработка диаграммы компонентов в среде Rational Rose - Страница 173
- 12.10. Разработка диаграммы развертывания в среде Rational Rose - Страница 174
- Заключение - Страница 175
7.1. Состояние действия
Состояние действия (action state) является специальным случаем состояния с некоторым входным действием и по крайней мере одним выходящим из состояния переходом. Этот переход неявно предполагает, что входное действие уже завершилось. Состояние действия не может иметь внутренних переходов, поскольку оно является элементарным. Обычное использование состояния действия заключается в моделировании одного шага выполнения алгоритма (процедуры) или потока управления.
Графически состояние действия изображается фигурой, напоминающей прямоугольник, боковые стороны которого заменены выпуклыми дугами (рис. 7.1). Внутри этой фигуры записывается выражение действия (action-expression), которое должно быть уникальным в пределах одной диаграммы деятельности.
Рис. 7.1. Графическое изображение состояния действия
Действие может быть записано на естественном языке, некотором псевдокоде или языке программирования. Никаких дополнительных или неявных ограничений при записи действий не накладывается. Рекомендуется в качестве имени простого действия использовать глагол с пояснительными словами (рис. 7.1, а). Если же действие может быть представлено в некотором формальном виде, то целесообразно записать его на том языке программирования, на котором предполагается реализовывать конкретный проект (рис. 7.1, б).
Иногда возникает необходимость представить на диаграмме деятельности некоторое сложное действие, которое, в свою очередь, состоит из нескольких более простых действий. В этом случае можно использовать специальное обозначение так называемого состояния под-деятельности (subactivity state). Такое состояние является графом деятельности и обозначается специальной пиктограммой в правом нижнем углу символа состояния действия (рис. 7.2). Эта конструкция может применяться к любому элементу языка UML, который поддерживает «вложенность» своей структуры. При этом пиктограмма может быть дополнительно помечена типом вложенной структуры.
Рис. 7.2. Графическое изображение состояния под-деятельности
Каждая диаграмма деятельности должна иметь единственное начальное и единственное конечное состояния. Они имеют такие же обозначения, как и на диаграмме состояний (см. рис. 6.4). При этом каждая деятельность начинается в начальном состоянии и заканчивается в конечном состоянии. Саму диаграмму деятельности принято располагать таким образом, чтобы действия следовали сверху вниз. В этом случае начальное состояние будет изображаться в верхней части диаграммы, а конечное – в ее нижней части.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176