- •Государственное образовательное учреждение высшего профессионального образования
- •Лабораторная работа № 1 Построение модели вариантов использования
- •Заказчик
- •Упражнение 1 . Создание диаграммы вариантов использования
- •Этапы выполнения упражнения
- •Создать действующие лица (актанты), варианты использования и определить отношения между ними.
- •Добавить ассоциации
- •Добавить расширения
- •Добавить включения
- •Указать абстрактные варианты использования
- •Вид диаграммы вариантов использования Main показан на рисунке 1. Добавить описания к действующим лицам (актантам)
- •Бухгалтер: "Вводит и редактирует данные об оплате счетов или о возврате оплаты при аннулировании клиентом просроченного заказа";
- •Добавить описания к вариантам использования
- •Создать файлы сценариев и прикрепить их к вариантам использования
- •Лабораторная работа № 2 Построение модели анализа
- •Поставщик
- •Окно программы
- •Заголовок
- •Подклассы
- •Геометрическая фигура
- •Подклассы
- •Упражнение 2. Создание структуры модели анализа, пакетов реализаций, диаграмм трассировок и классов реализаций
- •Этапы выполнения упражнения
- •Создать кооперации и осуществить трассировку реализаций
- •Создать диаграммы классов анализа для реализации вариантов использования
- •Упражнение 3 . Создание диаграмм взаимодействия
- •Создание диаграмм Взаимодействия
- •Этапы выполнения упражнения
- •Добавление на диаграмму дополнительных объектов
- •Назначение ответственностей объектам
- •Соотнесение объектов с классами
- •Соотнесение сообщений с операциями
- •Создание Кооперативной диаграммы
- •Добавление действующего лица и объектов на диаграмму
- •Добавление сообщений на диаграмму
- •Добавление на диаграмму дополнительных объектов
- •Назначение ответственностей объектам
- •Соотнесение объектов с классами (если при разработке описанной выше диаграммы Последовательности сами классы вы уже создали)
- •Соотнесение объектов с классами (если вы не создавали описанную выше диаграмму Последовательности)
- •Соотнесение сообщений с операциями (если при разработке описанной выше диаграммы Последовательности сами операции вы уже создали)
- •Соотнесение сообщений с операциями (если вы не создавали описанную выше диаграмму Последовательности)
- •Упражнение 3 . Создание диаграмм классов
- •Создание диаграммы Классов
- •Этапы выполнения упражнения Настройка
- •Создание пакетов
- •Создание Главной диаграммы Классов
- •Создание диаграммы Классов для сценария "Ввести новый заказ" со всеми классами.
- •Добавление стереотипов к классам
- •Объединение классов в пакеты
- •Добавление диаграмм Классов к каждому пакету
- •Упражнение 4 . Создание диаграмм классов (учет новых требований)
- •Добавление атрибутов и операций
- •Этапы выполнения упражнения Настройка
- •Добавление нового класса
- •Добавление атрибутов
- •Добавление операций к классу OrderItem
- •Подробное описание операций с помощью диаграммы Классов
- •Подробное описание операций с помощью броузера
- •Подробное описание операций с помощью любого из описанных методов
- •Упражнение 5 . Создание диаграмм классов (добавление связей между классами)
- •Добавление связей
- •Этапы выполнения упражнения Настройка
- •Добавление ассоциаций
- •Упражнение 6 . Создание диаграммы состояний
- •Подробное описание состояний
- •Добавление переходов
- •Подробное описание переходов
- •Упражнение 7 . Создание диаграммы компонентов
- •Этапы выполнения упражнения
- •Создание диаграммы Компонентов системы
- •Размещение компонентов на диаграмме Компонентов системы
- •Добавление оставшихся зависимостей на диаграмму Компонентов системы
- •Соотнесение классов с компонентами
- •Упражнение 8 . Создание диаграммы размещения
- •Создание диаграммы Размещения
- •Этапы выполнения упражнения Добавление узлов к диаграмме Размещения
- •Добавление связей
- •Добавление процессов
- •Показ процессов на диаграмме
- •Этапы выполнения упражнения Ввод тел пакетов на диаграмму Компонентов системы
- •1 . Основы методологии объектно-ориентированного
- •1.1 Методология объектно-ориентированного программирования
- •1.4. Этапы создания аис с использованием uml. Унифицированный процесс разработки программного обеспечения
- •Компоненты языка uml
- •Концептуальный уровень. Модель вариантов использования
- •Заказчик
- •Множество ассоциаций - агрегация
- •Бинарная ассоциация
- •Ас «Продажа товаров по каталогу»
- •Ас тепличного хозяйства
- •Класс в
- •Сотрудник
- •Работает в
- •Лекция №9
- •Лекция № 10 отношение реализации (Realization relationship)
- •Объекты (objects)
- •Шаблоны (параметризованные классы)
- •Рекомендации по построению диаграмм классов
- •Фрагмент диаграммы классов для Асу тепличного хозяйства
- •1.8. Диаграмма состояний
- •Обязательные условия для конечного автомата:
- •Лекция №12
- •Анализ предметной области и разработка концепции построения системы
- •Заказчики
<actor>Заказчик
Более стандартно: “человек” с надписью (символ человека)
Актант находится вне системы и его внутренняя структура не определяется. Он является источником/приемником сообщений.
Заказчик
Вариант использования (прецедент,usecase) – абстрактное описание класса сервиса (сервисных функций), предоставляемого актанту в ответ на его запросы.
Сервис могут предоставлять система в целом, подсистема или класс. Таким образом, вариант использования означает моделирование некоторой части функциональности или поведения системы. Вариант использования имеет имя и означает некоторую последовательность действий, видимых внешнему источнику/приемнику (актанту). Внутренний способ реализации варианта при этом скрывается и на более низких уровнях детализации раскрывается диаграммой кооперации. Как и всякий класс, вариант использования имеет атрибуты и операции, реализация которых раскрывается на физическом уровне.
Вариант использования включает всю последовательность сообщений, которую начинает актант и заканчивает система (подсистема, класс). Поэтому любой экземпляр реализации варианта использования всегда имеет начало во времени и окончание, когда уже никакой актант не посылает сообщений по этому варианту. Сюда же относятся сообщения об ошибках, варианты выполнения функции обслуживания при различных параметрах настройки (альтернативы).
Экземпляр варианта использования – это выполнение варианта использования, которое начинается после первого получения сообщения от экземпляра актанта. В качестве реакции на данное сообщение вариант использования выполняет определенную последовательность действий, например, отправляет сообщение другим экземплярам актанта (а не только тому, кто инициировал). В свою очередь, эти актанты отправляют сообщения данному экземпляру варианта использования, и взаимодействие продолжается до тех пор, пока больше таких сообщений не поступает. Это означает окончание варианта использования.
Связь между актантом и вариантом использования показывается ассоциацией.
На диаграмме вариант использования изображается двумя способами:
1) эллипсом, внутри ставится имя
2) прямоугольником - как и любой класс
<use
case>
Принять
заказ
Ассоциация показывается линией:
Заказчик
Датчик
Между актантами и вариантами использования ассоциация – единственный вид связи. При этом он имеет семантику коммутативной связи, то есть передачи сообщений, поэтому обычно не помечается, так как контекст ясен из обозначений актанта и варианта использования. Но можно ее пометить, а также указать кратность связи:
1 *
Клиент банка
Кратность(multiplicity) характеризует количество конкретных экземпляров класса, участвующих в данной связи (один клиент может оформить неограниченное число кредитов).
Имя ассоциации, если оно есть, должно быть уникальным.
М
В отношении расширениявариант использования – клиент вносит дополнительную последовательность действий, начиная с некоторой точки основной последовательности, при этом таких “вставок” может быть несколько. Все эти точки называютсяточками расширения.
<extend>
Направление стрелки имеет смысл: вариант “Запросить каталог” знает, в какие точки расширения варианта “Принять заказ” он включается (он может включаться неоднократно). Для правильного определения направления стрелки следует задать вопрос по данному варианту: «Расширяет что?». Каждая точка расширения имеет уникальное имя в рамках варианта “Принять заказ”. Имена точек расширения можно указать в специальном разделе в обозначении варианта использования.
Практические рекомендации по применению расширения.
Зафиксировать в начале обычный, “нормальный” вариант использования
Анализировать каждый шаг этого варианта идти и задавать вопрос “Что в этом варианте может идти не так? Как иначе можно выполнить этот шаг?”
Определить все отклонения как расширения данного варианта использования.
Количество таких расширений может быть довольно большим, но их отделение способствует лучшему пониманию проблемы.
Таким образом, все альтернативные отклонения от обычного хода протекания процесса использования системы могут быть оформлены как расширения.
П
1 *
Оптовый
торговец
«extend»
В точке расширения такого вида проверяется условие О>=Оmax, гдеО– объём сделки, если оно истинно (превышение лимитов по объему сделок), активизируется вариант использования “Учесть превышение лимитов по объёму сделок”. Проверяемое условие называетсясторожевым.
Один и тот же вариант использования может использоваться как расширение для нескольких других вариантов. Наоборот, для одной точки может быть несколько различных вариантов расширений, в этом случае они выбираются для выполнения случайно, либо их использование должно оговариваться сторожевым условием.
В отношении включенияодин вариант использования включается в базовый вариант использования, начиная сточки включения. Управление безусловное, выполнение включения длится до полного его завершения. После этого продолжается выполнение базового варианта, начиная с операции, следующей за точкой включения.
В отличие от расширения, меняющего характер протекания основного процесса и не обязательно передающего ему управление, включение является часто повторяемым фрагментом, выполняющим некоторый типовой сервис. Точек включения может быть несколько, причем в разных вариантах.
Таким образом, включение выгодно использовать, когда имеется какой-либо фрагмент поведения системы, который повторяется многократно и обязательно в вариантах использования и который не хотелось бы копировать в каждом из вариантов.
Пример.
«include»
«include»
Направление стрелки имеет смысл: варианты “Проанализировать риск” и «Договориться о цене покупки» знают, что в точках включения они должны выполнить вариант «Оценить стоимость» (он может включаться неоднократно). Для правильного определения направления стрелки следует задать вопрос по основным вариантам: «Включают что?». Каждая точка включения имеет уникальное имя в рамках варианта использования. Имена точек включения можно указать в специальном разделе в обозначении варианта использования.
Третье отношение между вариантами использования –обобщение(usecasegeneralization) в обычном смысле. Прямой предок может иметь одного или нескольких прямых потомков:
Потомки наследуют все атрибуты и операции родителя. Однако, потомки могут вносить в последовательность действий родителей свою специфику: дополнительное поведение. Потомок имеет доступ к атрибутам предка и может их менять. Однако, изменение действий предка не должно быть кардинальным, полностью изменяющим поведение родителя.
Вариант-потомок является частным примером родительского варианта и участвует во всех его отношениях.
Допускается множественное наследование: потомок может иметь несколько родителей, соответственно он наследует все их атрибуты, связи и участвует во всех их отношениях. Потомок в обобщении имеет свои собственные атрибуты и операции и осуществляет вставки своих последовательностей действий, изменяя поведение родителя. Однако, необходимо делать это достаточно осторожно, так как полное изменение поведения родителя ликвидирует саму идею обобщения и делает использование обобщения неэффективным.