
- •Введение
- •Управление моделью
- •Сноски (Note)
- •Общие механизмы расширения
- •Ограничение (constraint)
- •Комментарии (comment)
- •Свойства элементов
- •Стереотипы
- •Диаграммы статических структур
- •Диаграмма классов
- •Диаграмма объектов
- •Классификатор (Classifier)
- •Семантика
- •Нотация
- •Варианты представления
- •Рекомендации по оформлению
- •Секция названия Нотация
- •Секция список Нотация
- •Варианты представления
- •Атрибут
- •Семантика
- •Нотация
- •Варианты представления
- •Нотация
- •Интерфейсы Семантика
- •Нотация
- •Параметризованный класс (шаблон) Семантика
- •Нотация
- •Варианты представления
- •Связанный элемент Семантика
- •Нотация
- •Импортирование пакета Семантика
- •Нотация
- •Варианты представления
- •Варианты представления
- •Рекомендации по оформлению
- •Варианты
- •Варианты представления
- •Рекомендации по оформлению
- •Семантика
- •Нотация
- •Нотация
- •Рекомендации по проектированию
- •Варианты представления
- •Подробности
- •Нотация
- •Диаграммы последовательности Виды диаграмм взаимодействия
- •Диаграмма последовательности Семантика
- •Нотация
- •Варианты представления
- •Варианты представления
- •Время переходов Семантика
- •Нотация
- •Диаграммы сотрудничества
- •Сотрудничество Семантика
- •Нотация
- •Диаграмма сотрудничества Семантика
- •Нотация
- •Структура шаблона Семантика
- •Нотация
- •Взаимодействия
- •Семантика
- •Нотация
- •Активный объект
- •Варианты представления
- •Нотация
- •Составные состояния Семантика
- •Нотация
- •События Семантика
- •Нотация
- •Простые переходы Семантика
- •Нотация
- •Переходы во вложенные состояния Семантика
- •Нотация
- •Варианты представления
- •Внутренние переходы Семантика
- •Состояние действия Семантика
- •Нотация
- •Пиктограммы управления
- •Стереотипы
- •Диаграммы реализации
- •Компонентная диаграмма Семантика
- •Нотация
- •Диаграммы развертывания Семантика
- •Нотация
- •Узлы Семантика
- •Нотация
- •Компоненты Семантика
- •Нотация
Варианты представления
Группа путей обобщения для заданного суперкласса может показываться как дерево с общим сегментом (включающим треугольник) у суперкласса, переходящим во множество путей к каждому подклассу.
Если текстовая метка помещается на треугольнике обобщения, разделяемом несколькими путями обобщения к подклассам, метка применяется ко всем путям. Другими словами, все подклассы разделяют заданные свойства.
Подробности
Существование в модели дополнительных подклассов, которые не отображены на соответствующей диаграмме, может быть показано с помощью многоточия вместо подкласса. (Заметим: это не означает, что дополнительные классы могут быть добавлены в будущем. Это показывает, что дополнительные классы уже существуют, но сейчас не видимы. Это является описанием соглашения о подавлении вывода информации, а не семантическим утверждением.)
Для указания семантических ограничений среди подклассов могут использоваться предопределенные ограничения. Разделенный запятыми список ключевых слов помещается в скобки либо рядом с разделяемым треугольником (если несколько путей имеют один общий треугольник) либо рядом с пунктирной линией, которая пересекает все включаемые строки обобщения. Следующие ключевые слова (среди прочих) могут использоваться:
Предопределены следующие ограничения:
-
Overlapping перекрывающийся
Потомок может происходить более чем из одного подкласса.
disjoint непересекающийся
Потомок не может происходить более чем из одного подкласса.
complete завершенный
Все подклассы определены (во всяком случае, показаны). Дополнительных подклассов не ожидается.
incomplete незавершенный
Некоторые подклассы определены, но известно, что их список незавершен. Имеются дополнительные подклассы, которые пока отсутствуют в модели. Это утверждение непосредственно о модели. Заметим, что это не эквивалентно многоточию, которое констатирует, что дополнительные подклассы существуют в модели, но не показаны на текущей диаграмме.
Дискриминатор должен быть уникальным среди атрибутов и ролей ассоциации заданного суперкласса. Неоднократное использование одного и того же названия дискриминатора допускается и показывает, что подклассы принадлежат одному разделу.
Используя множественную классификацию, динамическая классификация воздействует на динамически исполняемую семантику языка, что обычно не очевидно при просмотре статической модели.
Пример
Рисунок 25. Стили отображения обобщения
Рисунок 26. Обобщение с дискриминаторами и ограничениями и раздельным представлением целей
Рисунок 27. Обобщение с совместным представлением цели
Зависимость (Dependency)
Семантика
Зависимость показывает семантическое отношение между двумя (или более) элементами модели. Она касается непосредственно элементом модели и не требует набора экземпляров для назначения. Она указывает ситуацию, в которой изменение целевого элемента может потребовать изменения элемента источника зависимости.
Нотация
Зависимость показывается пунктирной стрелкой между двумя элементами модели. Элемент модели на хвосте стрелки зависит от элемента модели на острие стрелки. Стрелка может быть помечена необязательным стереотипом и необязательным названием.
Следующие виды зависимости предопределены и могут обозначаться ключевыми словами:
-
trace - Trace следит - След
Историческое соединение между двумя элементами, которые представляют одинаковое понятие на разных уровнях значимости.
Refine - Refinement уточняет - Уточнение
Историческое или возникшее соединение между двумя элементами с отображением (не обязательно полным) между ними. Описание отображения может быть присоединено к зависимости в примечании. Были предложены различные виды уточнений, которые могут быть указаны дальнейшим стереотипированием.
Uses - Usage использует - Использование
Ситуация в которой элемент требует присутствия другого элемента для корректной реализации и функционирования. Может стереотипироваться дальше для указания точного характера зависимости, например, вызов операций другого класса, предоставление прав доступа, иллюстрирующий объект другого класса, и т.д.
Bind - Binding связывает - Связывание
Связывание параметров шаблона с действительными значениями для создания не параметризованного элемента.
Варианты представления
Если один из элементов комментарий или ограничение, то стрелка может быть опущена, так как направление понятно (комментарий или ограничение источник стрелки).
Пример
Рисунок 28. Варианты использования зависимостей между классами
Рисунок 29. Зависимости между пакетами
Производный элемент (derived element)
Семантика
Производный элемент - элемент, который может быть вычислен из другого, но который показывается из соображений ясности или включается для целей проектирования даже притом, что не добавляет никакой семантической информации.
Нотация
Производный элемент показывается помещением косой черты ( / ) перед названием производного элемента, такого как атрибут или название роли.
Рекомендации по оформлению
Подробности вычисления производного элемента могут описываться зависимостью со стереотипом . Обычно удобно опускать при описании стрелку зависимости и просто поместить строку ограничения рядом с производным элементом, хотя стрелка при необходимости может включаться.
Пример
Рисунок 30. Производный атрибут и производная ассоциация
Диаграммы случаев использования
Диаграмма случаев использования показывает отношение действующих лиц и случаев использования внутри системы.
Диаграмма случаев использования
Семантика
Диаграммы случаев использования показывают элементы модели случаев использования. Модель случаев использования представляет функциональные возможности системы или класса как они проявляются при внешнем взаимодействии с системой.
Нотация
Диаграмма случаев использования - это граф действующих лиц, набора случаев использования, заключенных в границы системы, ассоциаций связи (участия) между действующими лицами и случаями использования, и обобщений между случаями использования.
Пример
Рисунок 31. Диаграмма случаев использования
Случай использования
Семантика
Случай использования - это четкий блок функциональных возможностей обеспеченных системой или классом, которые проявляются при обмене сообщений между системой и одним или более внешними объектами (называемыми действующими лицами) одновременно с действиями выполняемыми системой.
Нотация
Случай использования изображается как эллипс, содержащий название случая использования.
Точка расширения - место в случае использования, в которое может быть вставлена последовательность действий из других случаев использования. Каждая точка использования должна иметь уникальное название внутри случая использования. Точки расширения могут быть перечислены в секции случая использования с заголовком extension points.
Варианты представления
Название случая использования может помещаться под эллипсом.
Рекомендации по оформлению
Названия случаев использования должны следовать правилам использования прописных букв и пунктуации, используемых в поведенческих элементах общей с ними модели.
Действующее лицо
Семантика
Действующее лицо является ролью объекта или объектов вне системы, которая напрямую взаимодействует с ним посредством четкого выполняемого блока (случай использования). Элемент действующее лицо характеризует роль, играемую внешним объектом; один физический объект может играть несколько ролей и, следовательно, моделируется несколькими действующими лицами.
Нотация
Действующее лицо может показываться как прямоугольник класса со стереотипом "actor". Стандартная картинка стереотипа для действующего лица рисунок человечка с названием действующего лица под рисунком.
Рекомендации по оформлению
Названия случаев использования должны следовать правилам использования прописных букв и пунктуации, используемым для типов и классов в общей для них модели.
Отношения случаев использования
Семантика
Имеются несколько стандартных отношений между случаями использования или действующими лицами и случаями использования.
Communicates (Общается) - Участие действующего лица в случае использования. Это отношение только между действующими лицами и случаями использования.
Extends (Расширяет) - Отношения расширяет от случая использования А к случаю использования Б показывает, что экземпляр случая использования Б может включать (подчиненное специфическим условиям определенным в расширении) поведение определяемое А. Поведение, определяемое несколькими расширителями одного целевого случая использования, может реализовываться одним экземпляром случая использования.
Uses (Использует) - Отношение использует от случая использования А к случаю использования Б показывает, что экземпляр случая использования А будет также включать поведение определяемое Б.