
- •Часть 1. Введение в процесс моделирования 13
- •Глава 1. Зачем мы моделируем 13
- •Глава 2. Введение в язык uml 21
- •Часть 1. Введение в процесс моделирования Глава 1. Зачем мы моделируем
- •Значение моделирования
- •Принципы моделирования
- •Объектное моделирование
- •Глава 2. Введение в язык uml
- •Обзор uml
- •Где используется uml
- •Концептуальная модель uml
- •Строительные блоки uml
- •Правила языка uml
- •Общие механизмы языка uml
- •Архитектура
- •Жизненный цикл разработки по
- •Глава 3. Здравствуй, мир !
- •Ключевые абстракции
- •Механизмы
- •Компоненты
- •Часть II. Основы структурного моделирования Глава 4. Классы
- •Введение
- •Термины и понятия
- •Атрибуты
- •Операции
- •Организация атрибутов и операций
- •Обязанности
- •Другие свойства
- •Типичные приемы моделирования Словарь системы
- •Распределение обязанностей в системе
- •Непрограммные сущности
- •Примитивные типы
- •Глава 5. Отношения
- •Введение
- •Термины и понятия
- •Зависимости
- •Обобщения
- •Ассоциации
- •Другие свойства
- •Типичные приемы моделирования Простые зависимости
- •Одиночное наследование
- •Структурные отношения
- •Глава 6. Общие механизмы
- •Введение
- •Термины и понятия
- •Примечания
- •Другие дополнения
- •Стереотипы
- •Помеченные значения
- •Ограничения
- •Стандартные элементы
- •Типичные приемы моделирования Комментарии
- •Новые строительные блоки
- •Новые свойства
- •Новая семантика
- •Глава 7. Диаграммы
- •Введение
- •Термины и понятия
- •Структурные диаграммы
- •Диаграммы поведения
- •Типичные приемы моделирования
- •Различные уровни абстракции
- •Сложные представления
- •Глава 8. Диаграммы классов
- •Введение
- •Термины и понятия
- •Общие свойства
- •Содержание
- •Типичные примеры применения
- •Типичные приемы моделирования Простые кооперации
- •Логическая схема базы данных
- •Прямое и обратное проектирование
- •Часть III. Изучение структурного моделирования Глава 9. Углубленное изучение классов
- •Введение
- •Термины и понятия
- •Классификаторы
- •Видимость
- •Область действия
- •Абстрактные, корневые, листовые и полиморфные элементы
- •Кратность
- •Атрибуты
- •Операции
- •Шаблоны классов
- •Стандартные элементы
- •Типичные приемы моделирования Семантика класса
- •Глава 10. Углубленное изучение отношений
- •Введение
- •Термины и понятия
- •Зависимости
- •Обобщения
- •Ассоциации
- •Реализация
- •Типичные приемы моделирования Сети отношений
- •Глава 11. Интерфейсы, типы и роли
- •Введение
- •Термины и понятия
- •Операции
- •Отношения
- •Как разобраться в интерфейсе
- •Типы и роли
- •Типичные приемы моделирования Стыковочные узлы системы
- •Статические и динамические типы
- •Глава 12. Пакеты
- •Введение
- •Термины и понятия
- •Элементы, принадлежащие пакету
- •Видимость
- •Импорт и экспорт
- •Обобщения
- •Стандартные элементы
- •Типичные приемы моделирования Группы элементов
- •Архитектурные виды
- •Глава 13. Экземпляры
- •Введение
- •Термины и понятия
- •Абстракции и экземпляры
- •Операции
- •Состояние
- •Другие особенности
- •Стандартные элементы
- •Типичные приемы моделирования Конкретные экземпляры
- •Экземпляры-прототипы
- •Глава 14. Диаграммы объектов
- •Введение
- •Термины и понятия
- •Общие свойства
- •Содержание
- •Типичные примеры применения
- •Типичные приемы моделирования Объектные структуры
- •Прямое и обратное проектирование
- •Часть IV. Основы моделирования поведения Глава 15. Взаимодействия
- •Введение
- •Термины и понятия
- •Контекст
- •Объекты и роли
- •Сообщения
- •Последовательности
- •Представление
- •Типичные приемы моделирования Поток управления
- •Глава 16. Прецеденты
- •Введение
- •Термины и понятия
- •Прецеденты и актеры
- •Прецеденты и поток событий
- •Прецеденты и сценарии
- •Прецеденты и кооперации
- •Организация прецедентов
- •Другие возможности
- •Типичные приемы моделирования Поведение элемента
- •Глава 17. Диаграммы прецедентов
- •Введение
- •Термины и понятия
- •Общие свойства
- •Содержание
- •Типичные примеры применения
- •Типичные приемы моделирования Контекст системы
- •Требования к системе
- •Прямое и обратное проектирование
- •Глава 18. Диаграммы взаимодействий
- •Введение
- •Термины и понятия
- •Общие свойства
- •Содержание
- •Диаграммы последовательностей
- •Диаграммы кооперации
- •Семантическая эквивалентность
- •Типичные примеры применения
- •Типичные приемы моделирования Потоки управления во времени
- •Структура потоков управления
- •Прямое и обратное проектирование
- •Глава 19. Диаграммы деятельности
- •Введение
- •Термины и понятия
- •Общие свойства
- •Наполнение
- •Состояния действия и состояния деятельности
- •Переходы
- •Ветвление
- •Разделение и слияние
- •Дорожки
- •Траектория объекта
- •Типичные примеры применения
- •Типичные приемы моделирования Рабочий процесс
- •Операция
- •Прямое и обратное проектирование
- •Часть V. Более сложные аспекты поведения Глава 20. События и сигналы
- •Введение
- •Термины и понятия
- •Виды событий
- •Сигналы
- •События вызова
- •События времени и изменения
- •Посылка и получение событий
- •Типичные приемы моделирования Семейства сигналов
- •Исключения
- •Глава 21. Автоматы
- •Введение
- •Термины и понятия
- •Контекст
- •Состояния
- •Переходы
- •Более сложные аспекты состояний и переходов
- •Подсостояния
- •Типичные приемы моделирования Жизненный цикл объекта
- •Глава 22. Процессы и нити
- •Введение
- •Термины и понятия
- •Поток управления
- •Классы и события
- •Стандартные элементы
- •Коммуникация
- •Синхронизация
- •Представления с точки зрения процессов
- •Типичные приемы моделирования Несколько потоков управления
- •Межпроцессная коммуникация
- •Глава 23. Время и пространство
- •Введение
- •Термины и понятия
- •Местоположение
- •Типичные приемы моделирования Временные ограничения
- •Распределение объектов
- •Мигрирующие объекты
- •Глава 24. Диаграммы состояний
- •Введение
- •Термины и понятия
- •Общие свойства
- •Содержание
- •Типичные примеры использования
- •Типичные приемы моделирования Реактивные объекты
- •Прямое и обратное проектирование
- •Часть VI. Архитектурное моделирование Глава 25. Компоненты
- •Введение
- •Термины и понятия
- •Компоненты и классы
- •Компоненты и интерфейсы
- •Заменяемость двоичного кода
- •Виды компонентов
- •Организация компонентов
- •Стандартные элементы
- •Типичные приемы моделирования Исполняемые программы и библиотеки
- •Интерфейс прикладного программирования
- •Исходный код
- •Глава 26. Развертывание
- •Введение
- •Термины и понятия
- •Узлы и компоненты
- •Организация узлов
- •Соединения
- •Типичные приемы моделирования Процессоры и устройства
- •Распределение компонентов
- •Глава 27. Кооперации
- •Введение
- •Термины и понятия
- •Структуры
- •Поведение
- •Организация коопераций
- •Типичные приемы моделирования Реализация прецедента
- •Реализация операции
- •Механизм
- •Глава 28. Образцы и каркасы
- •Введение
- •Термины и понятия
- •Образцы и архитектура
- •Механизмы
- •Каркасы
- •Типичные приемы моделирования Образцы проектирования
- •Архитектурные образцы
- •Глава 29. Диаграммы компонентов
- •Введение
- •Термины и понятия
- •Общие свойства
- •Содержание
- •Типичные примеры применения
- •Типичные приемы моделирования Исходный код
- •Исполняемая версия
- •Физическая база данных
- •Адаптивные системы
- •Прямое и обратное проектирование
- •Глава 30. Диаграммы развертывания
- •Введение
- •Термины и понятия
- •Общие свойства
- •Содержание
- •Типичное применение
- •Типичные приемы моделирования Встроенная система
- •Клиент-серверная система
- •Полностью распределенная система
- •Прямое и обратное проектирование
- •Глава 31. Системы и модели
- •Введение
- •Термины и понятия
- •Системы и подсистемы
- •Модели и представления
- •Трассировка
- •Типичные приемы моделирования Архитектура системы
- •Системы систем
- •Часть VII. Подведем итоги Глава 32. Применение uml
- •Переход к uml
- •Рекомендуемая литература
- •Диаграммы
- •Приложение в Стандартные элементы uivil
- •Стереотипы
- •Помеченные значения
- •Ограничения
- •Приложение с. Рациональный Унифицированный Процесс
- •Характеристики процесса
- •Фазы и итерации
- •Итерации
- •Циклы разработки
- •Рабочие процессы
- •Артефакты
- •Другие артефакты
- •Глоссарий
Стереотипы
Следующие стереотипы определены в качестве стандартных элементов UML. В приведенной таблице для каждого стереотипа указываются имя, символ UML, к которому применим стереотип, и назначение.
Примечание Некоторые из элементов, представленных в таблице, являются, строго говоря, не стереотипами, а стандартными ключевыми словами. Различие между ними довольно тонкое. В метамодели UML некоторые элементы, например trace, имеют очевидную семантику, то есть являются явной частью метамодели, а не настоящими стереотипами. С точки зрения разработчика, однако, они все равно изображаются в нотации стереотипов. Такие элементы определены как стандартные ключевые слова, чтобы можно было зарезервировать их использование в согласии с метамоделью UML. В таблице ключевые слова выделены курсивом.
Обычно стереотипный элемент изображается следующим образом: имя стереотипа размещается над именем элемента и заключается в двойные кавычки, например "trace". Co стереотипом может быть ассоциирована пиктограмма, используемая как альтернативная форма визуализации данного элемента. Хотя в самом UML такие пиктограммы ни для одного стереотипа не заданы, в таблице все же приводятся некоторые общепринятые изображения.
Стереотип/ к которому он применим |
Символ, к которому он применим |
Назначение ключевое слово |
actor |
Класс (class) |
Определяет связанное множество ролей, которые играет пользователь прецедента при взаимодействии с ним |
access |
Зависимость(dependency) |
Сообщает, что открытое содержание целевого пакета доступно в пространстве имен исходного пакета |
association |
Концевая точка связи(link end) |
Указывает, что соответствующий объект видим ассоциацией |
become |
Сообщение (message) |
Целевой объект совпадает с исходным но в более поздний момент времени. При этом, возможно, у него будут другие значения, состояния или роли |
bind |
Зависимость (dependency) |
Исходный класс инстанцирует целевой шаблон с данными фактическими параметрами |
call |
Зависимость (dependency) |
Исходная операция вызывает целевую |
copy |
Сообщение (message) |
Целевой объект - это точная, но независимая копия исходного |
create |
Событие (event), сообщение (message) |
Целевой объект создан в результате события или сообщения |
derive |
Зависимость (dependency) |
Исходный объект может быть вычислен по целевому |
destroy |
Событие (event), сообщение (message) |
Целевой объект уничтожен в результате события или сообщения |
Document
|
Компонент (component) |
Компонент представляет документ |
enumeration |
Класс (class) |
Определяет перечислимый тип, включая его возможные значения как набор идентификаторов |
except/on |
Класс (class) |
Определяет событие, которое может быть возбуждено или перехвачено операцией |
Executable
|
Компонент (component)
|
Описывает компонент, который может быть выполнен в узле
|
extend |
Зависимость (dependency) |
Целевой вариант использования расширяет поведение исходного в данной точке расширения |
facade |
Пакет(package) |
Пакет, который является лишь представлением другого пакета |
File
|
Компонент (component) |
Компонент, который представляет документ, содержащий исходный код или данные |
framework |
Пакет(package) |
Пакет, состоящий в основном из образцов (паттернов) |
friend |
Зависимость (dependency) |
Исходный класс имеет специальные права видимости в целевом |
global |
Концевая точка связи (link end) |
Соответствующий объект видим, поскольку принадлежит объемлющей области действия |
import |
Зависимость (dependency) |
Открытое содержание целевого пакета становится частью плоского пространства имен исходного пакета, как если бы оно было объявлено непосредственно в нем |
implementation |
Обобщение (generalization) |
Потомок наследует реализацию родителя, но не открывает и не поддерживает его интерфейсов, вследствие чего не может быть подставлен вместо родителя |
implementationClass |
Класс (class) |
Реализация класса на некотором языке программирования |
include |
Зависимость (dependency) |
Исходный прецедент явно включает поведение другого прецедента в точке, определяемой исходным |
instanceOf |
Зависимость (dependency) |
Исходный объект является экземпляром целевого классификатора |
instantiate |
Зависимость (dependency) |
Операции над исходным классом создают экземпляры целевого класса |
Interface |
Класс (class) |
Описывает множество операций, определяющих, что может делать класс или компонент |
|
|
|
invariant |
Ограничение (constraint) |
Ограничение, которое всегда должно выполняться для ассоциированного элемента |
Library
|
Компонент (component) |
Статическая или динамическая объектная библиотека |
local |
Концевая точка связи (link end) |
Соответствующий объект видим, так как находится в локальной области действия |
metaclass |
Классификатор (classifier) |
Классификатор, все объекты которого являются классами |
model |
Пакет(package) |
Описывает семантически замкнутую абстракцию системы |
parameter |
Концевая точка связи (link end) |
Соответствующий объект видим, так как является параметром |
postcondition |
Ограничение (constraint) |
Ограничение, которое должно выполняться после выполнения операции |
powertype |
Класс (class) |
Классификатор, все объекты которого являются потомками данного родителя |
|
Зависимость (dependency) |
Говорит, что целевой классификатор связан с исходным отношением powertype |
precondition |
Ограничение (constraint) |
Ограничение, которое должно выполняться перед выполнением операции |
process |
Класс (class) |
Классификатор, экземпляр которого представляет ресурсоемкий поток управления |
refine |
Зависимость (dependency) |
Говорит, что исходный объект является более детальной абстракцией, чем целевой |
requirement |
Комментарий (comment) |
Описывает желаемое свойство или поведение системы |
responsibility |
Комментарий (comment) |
Описывает контракт или обязательство класса |
self |
Концевая точка связи (link end) |
Говорит, что соответствующий объект видим, так как является диспетчером сообщения |
send |
Зависимость (dependency) |
Исходная операция посылает целевое событие |
signal |
Класс (class) |
Асинхронный стимул, который передается одним экземпляром другому |
stereotype |
Класс (class) |
Классификатор - это стереотип, который может быть применен к другим элементам |
stub |
Пакет(package) |
Пакет выступает в роли заместителя для открытого содержимого другого пакета |
subsystem |
Пакет(package) |
Описывает группирование элементов, ряд которых составляет спецификацию поведения других элементов |
system |
Пакет(package) |
Описывает пакет, представляющий всю моделируемую систему |
Table
|
Компонент (component |
) Компонент, представляющий таблицу базы данных |
thread |
Класс (class) |
Классификатор, экземпляр которого представляет облегченный поток управления |
trace |
Зависимость (dependency) |
Целевой элемент - это исторический предок исходного |
type |
Класс (class) |
Абстрактный класс, который используется только для спецификации структуры и поведения (но не реализации) множества объектов |
use |
Зависимость (dependency) |
Семантика исходного элемента зависит от семантики открытого содержания целевого элемента |
utility |
Класс (class) |
Определяет класс, для которого область действия всех атрибутов и операций - класс |