Диаграмма классов. Обозначение классов. Отношение ассоциации.
Диаграмма классов. Обозначение интерфейсов. Отношение обобщения и зависимости.
Содержание класса
Обычно показывают: имя класса, ключевые атрибуты, ключевые операции, стереотипы
Обычно не показывают: параметры операций, видимость, исходные значения
Имя класса
- Существительное или именная группа
- Стиль: «UpperCamelCase»
- Избегать сокращений (DpstAccnt) и аббревиатур
- Имя абстрактного класса: курсив или свойство {abstract}
- Имя конечного класса: свойство {leaf}
Атрибуты
- Определяют состояние экземпляров
- Синтаксис: видимость имя: тип [кратность] = значение {свойства}
- Статические атрибуты подчеркиваются
Операции
- Характеризуют поведение экземпляров
- Синтаксис: видимость имя(параметры): результат {свойства}
- Статические операции подчеркиваются
- Абстрактные операции выделяются курсивом или помечаются свойством {abstract}
- Конечные операции — свойство {leaf}
Отношения:
Ассоциация
- Указывает, что между объектами классов могут устанавливаться связи
- Обозначает действие, производимое исходным объектом над целевым элементом
- Синтаксис:
имя (глагол)
имена ролей (существительное)
кратность (задается явно)
возможность навигации
- Указывается: имя или роли
- Возможность навигации — «сообщения могут посылаться только в том направлении, в котором указывает стрелка»
- Стили указания: абсолютно явная навигация, абсолютно скрытая навигация, явная навигация
|
|
Рефлексивные ассоциации
Класс ассоциации
Единственная уникальная связь
Квалифицированные ассоциации
Выбирает один объект из набора
Частные случаи ассоциации:
Агрегация
- Самое общее отношение типа «целое — часть»
- Не рекомендуется
Композиция
- Отношение типа «целое — часть»
- Части не могут существовать вне целого
- «Нет совместного владения»
- Целое может передавать свои части
Зависимость
Элемент-клиент обладает знаниями об элементе-поставщике, изменение в поставщике может повлиять на клиента
Рекомендуется использовать для обозначения:
- глобальных переменных
-переменных-параметров
- вызовов статических методов
Обобщение
Класс является частным случаем другого класса
Интерфейс
Нотации:
- класс (стереотип «interface»)
- «леденец на палочке»
Реализация интерфейса
Диаграмма классов, Class diagram — статическая структурная диаграмма, описывающая структуру системы, она демонстрирует классы системы, их атрибуты, методы и зависимости между классами.
Диаграмма объектов.
Диаграмма объектов, Object diagram — демонстрирует полный или частичный снимок моделируемой системы в заданный момент времени. На диаграмме объектов отображаются экземпляры классов (объекты) системы с указанием текущих значений их атрибутов и связей между объектами.
|
|
Назначение
«Снимок» объектов системы в какой-то момент времени
отображают один из вариантов конфигурации системы
Пример
Применение
- Демонстрация примера связанных объектов
- Прояснение ситуации в случае сложных связей между объектами
44.Диаграмма пакетов.
Назначение
Иллюстрирует логическую архитектуру приложения (уровни, подсистемы, пространства имен)
Показывает:пакеты и зависимости между ними
Пакет— механизм группировки элементов
Диаграмма пакетов, Package diagram — структурная диаграмма, основным содержанием которой являются пакеты и отношения между ними. Жёсткого разделения между разными структурными диаграммами не проводится, поэтому данное название предлагается исключительно для удобства и не имеет семантического значения (пакеты и диаграммы пакетов могут присутствовать на других структурных диаграммах). Диаграммы пакетов служат, в первую очередь, для организации элементов в группы по какому-либо признаку с целью упрощения структуры и организации работы с моделью системы.
|
|
Диаграмма состояний.
Назначение
Показывают:события и состояния объектов
Основные элементы
- Событие(event) — значимое происшествие; инициирует переход
- Состояние(state) — характеризует объект между событиями
- Переход(transition) — движение между состояниями trigger [guard] / activity
Применение
Моделирование зависимых от состояний типов со сложным поведением
- физические устройства с программным управлением
- транзакции и взаимосвязанные бизнес-объекты
- классы, изменяющие свою роль
Моделирование протоколов и допустимых последовательностей событий
- коммуникационные протоколы
- окна пользовательского интерфейса
- обработка событий отдельного окна
- контроллеры/сеансы
Диаграммы состояний чаще всего используются для описания поведения отдельных объектов, но также могут быть применены для спецификации функциональности других компонентов моделей, таких как варианты использования, актеры, подсистемы, операции и методы.
Диаграмма развертывания.
Назначение
Проецирует программную архитектуру на аппаратную архитектуру
Определяет:
- физическое оборудование, на котором будет выполняться система
|
|
- как ПО будет развертываться на это оборудование
Основные элементы
Узел(node) — тип вычислительного ресурса, на который могут быть развернуты артефакты для выполнения
- устройство (device)
- среда выполнения (execution environment) (операционная система, виртуальная машина, СУБД)
Коммуникационный путь(communication path) — канал связи узлов
- помечается названием протокола, реализующего взаимодействие
Артефакт(«artefact») — реальная сущность (файл)
(исходный код («source») и исполняемые файлы («executable», «library»), сценарии («script»), таблицы БД, документы («document»), файл («file»), «deployment spec»)
Диаграмма развёртывания, Deployment diagram — служит для моделирования работающих узлов (аппаратных средств, англ. node) и артефактов, развёрнутых на них. В UML 2 на узлах разворачиваются артефакты (англ. artifact), в то время как в UML 1 на узлах разворачивались компоненты. Между артефактом и логическим элементом (компонентом), который он реализует, устанавливается зависимость манифестации.
47.Диаграмма деятельности.
НазначениеДиаграммы деятельности (activity) — «объектно-ориентированные» блок-схемы
Отображают:
последовательные и параллельные бизнес-процессы
логику процедур
потоки работ
потоки данных
Пример
Основные элементы
система узлов, соединенных ребрами
Узлы (nodes):
узлы действия (action nodes) элементарные единицы работы
действие
посылка сигнала
принятие события
принятие события времени
объектные узлы (object nodes) — данные
узлы управления (control nodes) — управляют потоком деятельности
начальный и конечный узел деятельности
узел решения и узел слияния
узел ветвления и узел объединения
Ребра (edges):
ребра потоков управления (control flows)
ребра потоков объектов (object flows) — вместе с узлами объектов показывают поток данных
Разделы (partitions):
группа взаимосвязанных действий
семантику определяет разработчик
прецеденты, классы, компоненты, организационные единицы, роли
Применение
Моделирование бизнес-процессов
Моделирование потоков данных
Графическое моделирование потока прецедента
Блок-схемы — редко
Диаграмма деятельности, Activity diagram — диаграмма, на которой показано разложение некоторой деятельности на её составные части. Под деятельностью (англ. activity) понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий (англ. action), соединённых между собой потоками, которые идут от выходов одного узла ко входам другого.
Диаграммы деятельности используются при моделировании бизнес-процессов, технологических процессов, последовательных и параллельных вычислений.
48.Диаграмма последовательности.
Назначение
Показывают:объекты и то, как они обмениваются сообщениями в рамках одного сценария
Акцент:временная упорядоченность сообщений
Участник взаимодействия
Участник взаимодействия — экземпляр класса
Представлен линией жизни(lifeline)
Синтаксис: имя[селектор]: тип
Фокус управления
Фокус управления — активное состояние объекта (выполнение некоторых действий)
Новое название: Блок управления, описание
выполнения (execution specification bar)
Часто не указывается
Сообщение
Диаграмма последовательности, Sequence diagram — диаграмма, на которой изображено упорядоченное во времени взаимодействие объектов. В частности, на ней изображаются участвующие во взаимодействии объекты и последовательность сообщений, которыми они обмениваются.
Диаграмма коммуникации.
Назначение
Показывают:объекты и то, как они обмениваются сообщениями в рамках одного сценария
Акцент:
- обмен данными
- структурные аспекты взаимодействия
Обозначения
- Участники взаимодействия
- Связи — коммуникационные каналы для передачи сообщений
- Сообщения
номер (иерархический — вложенность вызовов)
сигнатура
направление
Применение
- Незаменимы при распределении обязанностей
- Диаграммы последовательности
ясно показывают последовательность
богатый набор обозначений
неудобно расширять
занимают много места по горизонтали
-Диаграммы коммуникации
экономия пространства
сложнее отследить последовательность
более бедная система обозначений
Сообщение— описывает взаимодействие объектов
вызов операции, создание или уничтожение экземпляра, отправка сигнала
Отображаются: стрелки между линиями жизни
Синхронные (отправитель ожидает завершения выполнения сообщения получателем
_______>(жирная стрелка)
Асинхронные отправитель посылает сообщение и продолжает исполнение — он не ожидает
возврата от получателя _________>
Возврат получатель сообщения возвращает управление отправителю
ß----------------------
Создание объекта отправитель создает экземпляр получателя
Уничтожение объекта отправитель уничтожает получателя
Найденное сообщение отправитель находится вне области видимости взаимодействия
Диаграммы коммуникации и последовательности транзитивны, выражают взаимодействие, но показывают его различными способами и с достаточной степенью точности могут быть преобразованы одна в другую.
Диаграмма коммуникации, Communication diagram (в UML 1.x — диаграмма кооперации, collaboration diagram) — диаграмма, на которой изображаются взаимодействия между частями композитной структуры или ролями кооперации. В отличие от диаграммы последовательности, на диаграмме коммуникации явно указываются отношения между элементами (объектами), а время как отдельное измерение не используется (применяются порядковые номера вызовов).
Дата добавления: 2018-05-13; просмотров: 813; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!