- •Введение.
- •Лабораторная работа №1.
- •Теоретическая справка
- •Задание
- •Контрольные вопросы.
- •Лабораторная работа №2.
- •Теоретическая справка
- •Задание
- •Контрольные вопросы.
- •Лабораторная работа №3.
- •Теоретическая справка
- •Задание
- •Контрольные вопросы.
- •Лабораторная работа №4.
- •Теоретическая справка
- •Задание
- •Контрольные вопросы.
- •Лабораторная работа №5
- •Теоретическая справка
- •Диаграмма вариантов использования (use case diagram)
- •Диаграмма деятельности (activity diagram)
- •Диаграмма классов (class diagram)
- •Отношения между классами
- •Диаграмма компонентов (component diagram)
- •Рекомендации по построению диаграммы компонентов
- •Диаграмма кооперации (collaboration diagram)
- •Диаграмма последовательности (sequence diagram)
- •Ветвление потока управления
- •Стереотипы сообщений
- •Временные ограничения на диаграммах последовательности
- •Диаграмма развертывания (deployment diagram)
- •Рекомендации по построению диаграммы развертывания
- •Диаграмма состояний (statechart diagram)
- •Сложные переходы
- •Переходы между параллельными состояниями
- •Переходы между составными состояниями
- •Синхронизирующие состояния
- •Задание
- •1. Терминология
- •1.1 Рейтинг поставщика
- •1.2 Надежный и ненадежный поставщик
- •1.3 Дорогая и дешевая деталь
- •1.4 Высокотехнологичная деталь
- •1.5 Состояние поставки
- •1.6 Просроченная поставка
Ветвление потока управления
Для изображения ветвления потока управления рисуются две или более стрелки, выходящие из одной точки фокуса управления объекта. При этом соответствующие условия должны быть явно указаны рядом с каждой из стрелок в форме сторожевого условия. Сторожевые условия должны взаимно исключать одновременную передачу альтернативных сообщений.
Стереотипы сообщений
В языке UML предусмотрены некоторые стандартные действия, выполняемые в ответ на получение соответствующего сообщения. Эти действия могут быть явно указаны на диаграмме последовательности в форме стереотипа рядом с сообщением, к которому относятся. В этом случае они записываются в кавычках. Используются следующие стереотипы сообщений:
«call» (вызвать) - сообщение, требующее вызова операции или процедуры принимающего объекта. Если сообщение с этим стереотипом рефлексивное, то оно инициирует локальный вызов операции у самого пославшего это сообщение объекта;
«return» (возвратить) - сообщение, возвращающее значение выполненной операции или процедуры вызвавшему ее объекту. Значение результата может инициировать ветвление потока управления;
«create» (создать) - сообщение, требующее создания другого объекта для выполнения определенных действий. Созданный объект может получить фокус управления, а может и не получить его;
«destroy» (уничтожить) - сообщение с явным требованием уничтожить соответствующий объект. Посылается в том случае, когда необходимо прекратить нежелательные действия со стороны существующего в системе объекта, либо когда объект больше не нужен и должен освободить задействованные им системные ресурсы;
«send» (послать) - обозначает посылку другому объекту некоторого сигнала, который асинхронно инициируется одним объектом и принимается другим. Отличие сигнала от сообщения заключается в том, что сигнал должен быть явно описан в том классе, объект которого инициирует его передачу.
Кроме стереотипов, сообщения могут иметь собственное обозначение операции, вызов которой они инициируют у принимающего объекта. В этом случае рядом со стрелкой записывается имя операции с круглыми скобками, в которых могут указываться параметры или аргументы соответствующей операции. Если параметры отсутствуют, то скобки все равно должны присутствовать после имени операции. Примерами таких операций могут служить следующие: «выдать клиенту наличными сумму (n)», «установить соединение между абонентами (a, b)», «сделать вводимый текст невидимым ()», «подать звуковой сигнал тревоги ()».
Временные ограничения на диаграммах последовательности
В отдельных случаях выполнение тех или иных действий на диаграмме последовательности может потребовать явной спецификации временных ограничений, накладываемых на сам интервал выполнения операций или передачу сообщений. В языке UML для записи временных ограничений используются фигурные скобки. Временные ограничения могут относиться как к выполнению определенных действий объектами, так и к самим сообщениям, явно специфицируя условия их передачи или приема. В отличие от условий ветвления, которые должны выполняться альтернативно, временные ограничения имеют обязательный или директивный характер для ассоциированных с ними объектов.
Временные ограничения могут записываться рядом с началом стрелки соответствующего сообщения. Но наиболее часто они записываются слева от стрелки на одном уровне с ней. Если временная характеристика относится к конкретному объекту, то имя этого объекта записывается перед именем характеристики и отделяется от нее точкой.
Примерами таких ограничений на диаграмме последовательности могут служить ситуации, когда необходимо явно специфицировать время, в течение которого допускается передача сообщения от клиента к серверу или обработка запроса клиента сервером:
{время_приема_сообщения время_отправки_сообщения < 1 сек.};
{время_ожидания_ответа < 5 сек.};
{время_передачи_пакета < 10 сек.};
{объект_1. время_подачи_сигнала_тревоги > 30 сек.}.
Комментарии или примечания могут включаться в диаграммы последовательности, ассоциируясь с отдельными объектами или сообщениями. При этом используется стандартное обозначение для комментария в виде прямоугольника с загнутым правым верхним углом. Внутри прямоугольника записывается текст комментария на естественном языке.