1. Сущности.
2. Связи.
3. Диаграммы.
Сущности – это абстракции,
которые являются основными элементами
модели, связи соединяют их между собой, а диаграммы группируют представляющие
интерес наборы сущностей.
9. Язык UML. Типы сущностей.
Сущности:
1. Структурные
-
Класс - описание совокупности объектов
с общими атрибутами, отношениями и семантикой.
Имя класса - обязательный элемент.
-
Интерфейс - совокупность операций
(только их сигнатуры), которые определяют
набор действий (услуг класса).
- Кооперация - определяет взаимодействие и является совокупностью других элементов и ролей, которые производят коллективное
действие.
-
Прецедент - описание последовательности
действий системы, приводящих к наблюдаемому
результату в интересах определённого
актёра.
- Актёр - любая внешняя по отношению к системе сущность.
-
Активный класс - класс, объекты которого
имеют один или несколько процессов, инициирующих
управляющие воздействия (ограничивается
жирной линией).
-
Компонент - физическая заменяемая
часть системы, обеспечивающая реализацию
набора интерфейсов.
-
Узел - элемент реальной физической
системы, как правило, вычислительный
ресурс.
Все структурные сущности могут
иметь разновидности.
2. Поведенческие
Описывают поведение модели во времени
и пространстве.
-
Взаимодействие - поведение, связанное
с обменом сообщением.
- Автомат - алгоритм поведения, выраженный в последовательности состояний.
3. Группирующие
-
Пакет - универсальный механизм организации
элементов в группы. В пакет можно поместить
структурные и поведенческие сущности,
а также другие группирующие сущности.
В отличие от компонента, существующего
во время работы, пакет носит чисто концептуальный
характер для этапа разработки. Это блоки,
на которые можно разложить модель.
4. Аннотационные
- Комментарии - пояснительные части моделей.
10. Язык UML. Типы отношений.
Отношения:
-
Зависимость - семантическое отношение
между двумя сущностями.
- Ассоциация - структурное отношение.
-
Обобщение - отношение наследования,
соотношение с более общим
вариантом.
-
Реализация - отношение реализации,
например, интерфейса или прецедентов
и их коопераций.
11. Язык UML. Диаграмма прецедентов
(использования). Вид диаграммы. Назначение
диаграммы.
Диаграмма прецедентов отражает
функциональное назначение системы. Является
концептуальной моделью системы. Она же
диаграмма использования. Формализация
требований заказчика к системе.
Применение:
- моделирование контекста системы;
- охватывает внешнее окружение системы,
с которой она взаимодействует;
- вводит стереотипы их поведения,
связи с системой;
- моделирует требования к системе;
- устанавливает внешние связи;
- определяет поведение системы;
- определяет функциональные требования
к системе.
Актёры – действующие лица, любая
внешняя по отношению к системе сущность,
которая взаимодействует с системой.
Прецеденты – варианты использования.
На диаграмме могут быть показаны
интерфейсы. Подробно они никогда
не расписываются, реализация не показывается,
потому что диаграмма нужна только для
понимания функционирования системы в
целом.
Взаимодействия между прецедентами
и актёрами:
- ассоциация;
- расширение;
- обобщение;
12. Язык UML. Диаграмма классов.
Вид диаграммы. Назначение диаграммы.
Диаграммы классов – статическая
структура модели системы в терминологии
классов. Включает классы, интерфейсы,
объекты и кооперации, а также
их отношения. Не указываются временные
аспекты функционирования системы.
Применение:
- моделирования словаря системы – предполагает принятие решения
о том, какие абстракции являются частью
системы, а какие - нет
- моделирования простых коопераций – сообществ классов, интерфейсов
и других элементов, работающих совместно
для обеспечения некоторого кооперативного
поведения, более значимого, чем сумма
составляющих его элементов
- визуализировать и специфицировать классы и отношения между ними
- моделирование логической схемы базы данных
Структура класса:
- имя класса (уникальное);
- атрибуты;
- операции (методы);
- интерфейсы.
Отношения:
- ассоциация;
- агрегация;
- обобщение.
13. Язык UML. Диаграмма объектов.
Вид диаграммы. Назначение диаграммы.
Диаграммы объектов (Object diagram) – представляет
объекты и отношения между ними. Является
«фотографией» сущностей, показанных
на диаграмме классов.
На диаграмме объектов отображаются
экземпляры классов (объекты) системы
с указанием текущих значений
их атрибутов и связей между объектами.
Диаграммы объектов удобны для показа
примеров связанных друг с другом
объектов. Во многих ситуациях точную
структуру можно определить с помощью
диаграммы классов, но при этом структура
остается трудной для понимания. В таких
случаях пара примеров диаграммы объектов
может прояснить ситуацию.
14. Язык UML. Диаграммы взаимодействий.
Диаграмма последовательностей. Вид диаграммы.
Назначение диаграммы.
Диаграммы взаимодействия – отражают
динамическое поведение системы. Реализуются
в двух изоморфных диаграммах: последовательностей
и кооперации
Диаграмма последовательностей –
диаграмма взаимодействий, акцентирующая
внимание на временной упорядоченности
сообщений. При этом внимание акцентируется
на передаче сообщений во времени, что
бывает особенно полезно для визуализации
динамического поведения в контексте
прецедентов. Простые итерации и ветвления
на диаграммах последовательностей отображать
удобнее, чем на диаграммах кооперации.
- Отображаются только те объекты, которые участвуют во временном взаимодействии
- Каждый объект имеет линию жизни
- На линии жизни отражается фокус управления, когда данный объект является активным
- Объекты обмениваются между собой сообщениями
- Объекты должны быть соотнесены классам
15. Язык UML. Диаграммы взаимодействий.
Диаграмма коопераций. Вид диаграммы.
Назначение диаграммы.
Диаграммы взаимодействия – отражают
динамическое поведение системы.
Реализуются в двух изоморфных диаграммах:
последовательностей и кооперации
Диаграмма кооперации – диаграмма
взаимодействий, основное внимание в которой
уделяется структурной организации объектов,
принимающих и отправляющих сообщения.
Основное внимание при этом уделяется
моделированию структурных отношений
между взаимодействующими экземплярами,
вдоль которых передаются сообщения. Для
визуализации сложных итераций, ветвлений
и параллельных потоков управления диаграммы
кооперации подходят лучше, чем диаграммы
последовательностей.
- Моделируется структурная организация взаимодействующих объектов
- Основное – потоки сообщений между объектами
- Последовательность сообщений задается номером сообщения
- Сообщения передаются по связям между объектами
16. Язык UML. Диаграмма состояний.
Вид диаграммы. Назначение диаграммы.
Диаграмма состояний – моделирует
динамическое поведение сущностей
в виде автоматных схем. Описывают
возможные последовательности состояний
и переходов.
Диаграмма состояний показывает автомат,
фокусируя внимание на потоке управления
от состояния к состоянию.
- Автомат – описание последовательности
состояний, через которые проходит объект
на протяжении своего жизненного цикла,
реагируя на события, в том числе описание
реакций на эти события.
- Состояние - это ситуация в жизни объекта,
протяжении которой он удовлетворяет
некоторому условию, осуществляет определенную
деятельность или ожидает какого-то события.
Состояние может содержать список внутренних
действий: <метка> / <выражение действия>
Начальное (конечное) состояние не содержит
внутренних действий. В этом состоянии
находится объект в начальный (конечный)
момент времени.
- Событие - это спецификация существенного факта, который происходит во времени и пространстве.
В контексте автоматов событие - это стимул,
вызывающий срабатывание перехода.
- Переход - это отношение между двумя состояниями показывающее, что объект, находящийся в первом состоянии, должен выполнять некоторые действия и перейти во второе состояние
как только произойдет определенное событие
и будут выполнены заданные условия.
- Деятельность - это продолжающееся неатомарное вычисление внутри автомата.
- Действие - это атомарное вычисление, которое приводит к смене состояния или возврату значения
17. Язык UML. Диаграмма деятельности.
Вид диаграммы. Назначение диаграммы.
Диаграмма деятельности – динамическая
модель системы. Описывает процесс
выполнения операций (описание алгоритма).
- Моделирует динамическое поведение системы
- Показывает поток переходов от одной
деятельности к другой
- Используется для любых видов абстракций
Диаграмма деятельности — диаграмма,
на которой показано разложение некоторой
деятельности на её составные части.
Под деятельностью понимается спецификация
исполняемого поведения в виде координированного
последовательного и параллельного выполнения
подчинённых элементов — вложенных видов
деятельности и отдельных действий, соединённых
между собой потоками, которые идут от
выходов одного узла к входам другого.
Диаграммы деятельности используются
при моделировании бизнес-процессов, технологических
процессов, последовательных и параллельных
вычислений.
18. Язык UML. Диаграмма компонентов.
Вид диаграммы. Назначение диаграммы.
Диаграмма компонентов – описание
организации компонентов и зависимостей
между ними. Статическое описание системы.
Представляет физическое представление
системы.
Компонент – это физическая заменяемая
часть системы, совместимая с одним набором
интерфейсов. Компонент изображается
в виде прямоугольника с вкладками.
- классы представляют собой логические абстракции, а компоненты - физические сущности. Таким образом, компоненты могут размещаться в узлах, a классы нет
- компоненты представляют собой физическую упаковку логических сущностей и, следовательно, находятся на другом уровне абстракции
- классы могут обладать атрибутами и операциями. Компоненты обладают только операциями, доступными через их интерфейсы
Интерфейс – это набор операций,
которые описывают услуги, доставляемые
классом или компонентом.
Стандартные стереотипы компонентов:
- executable (исполнимый) – определяеткомпонент, который
может использоваться в узле
- library (библиотека) – определяет статическую или динамическую
проектную библиотеку
- table (таблица) – определяет компонент, представляющий
таблицу базы данных
- file (файл) – определяет компонент, представляющий
документ, который содержит исходный текст
или данные
- document (документ) – определяет компонент, представляющий
документ
19. Язык UML. Диаграмма развертывания.
Вид диаграммы. Назначение диаграммы.
Диаграмма развертывания (Deployment diagram)
– представляет конфигурацию обрабатывающих
узлов системы и размещенных в них компонентов.
Статическое описание системы.
Узел – это физический элемент, который
существует во время выполнения и представляет
вычислительный ресурс, обычно обладающий
как минимум некоторым объемом памяти,
а зачастую также и процессором.
В UML диаграммы развертывания используются
для визуализации статических аспектов
физических узлов и их взаимосвязей,
а также для описания их деталей,
которые имеют отношения к конструированию
систем.
20. Язык UML. Понятие прямого и
обратного проектирования.
Проектирование с использованием
UML может быть:
- прямое – из модели UML можно получить готовый
код описания проекта: все классы и объявления
переменных и методов;
- обратное – из кода можно получить диаграмму
классов.