- •Минобрнауки россии
- •Оглавление
- •Введение
- •1 Требования к оформлению и содержанию курсовой работы
- •Методические аспекты автоматизированного проектирования ис
- •2.1 Автоматизированные информационные системы
- •2.2 Назначение case-технологий
- •Понятие о структурном анализе
- •Средства структурного анализа и их взаимоотношения
- •3 Проектирование информационной системы с использованием структурного подхода
- •3.1 Функциональная модель idef0
- •Моделирование потоков данных
- •3.3 Workrflow-модели
- •3.4 Поведенческие модели
- •Проектирование информационной системы с использованием объектно-ориентированного подхода
- •4.1 Структура Унифицированного языка моделирования
- •4.2 Семантика и синтаксис uml
- •4.3 Нотация uml
- •5 Моделирование использования
- •6 Моделирование структуры
- •6.1 Диаграммы классов
- •6.2 Диаграммы реализации
- •7 Моделирование поведения
- •7.1 Диаграмма автомата
- •7.2 Диаграмма деятельности
- •7.3 Диаграммы взаимодействия
- •Заключение
- •Библиографический список
- •Приложение а «Задания к курсовой работе»
- •1 Информационная система конструкторского бюро
- •2 Информационная система завуча школы
- •3 Информационная система выставки собак
- •4 Информационная система птицефабрики
- •5 Информационная система почты
- •6 Информационная система футбольных соревнований
- •Информационная система методиста
- •8 Информационная система диспетчера техобслуживания
- •9 Информационная система технического архива
- •10 Информационная система менеджера музыкальной групп
- •Приложение б «Примеры библиографических описаний»
- •1 Однотомные издания
- •1.1 Книги одного, двух и трех авторов
- •1.2 Книги четырех авторов
- •1.3 Книги более четырех авторов
- •5.2 Материалы, подготовленные составителями. Сборники с общим названием. Словари, справочники.
- •5.3 Сборники научных трудов. Тезисы докладов
- •5.4 Официальные документальные материалы. Материалы съездов, пленумов, конференций
- •6 Нормативно-технические и технические документы (госТы, стандарты, нормативы, нормы, инструкции, типовые проекты, чертежи, прейскуранты, каталоги и др.)
- •7 Патентные документы
- •Краткое описание
- •8 Депонированные работы и препринты
- •9 Неопубликованные документы
- •9.1 Отчет о научно-исследовательской работе
- •10.3 Статьи из сериального (периодического) издания (журнала, газеты)
- •10.4 ... Из трудов, ученых записок
- •10.5 Из материалов конференций, семинаров и т.Д.
- •Приложение в «Шаблон технического задания на разработку по» Техническое задание
7.3 Диаграммы взаимодействия
Реализация отдельного варианта использования требует участия и взаимодействия определенных экземпляров актеров и классов. Наиболее подходящий инструмент для описания такого взаимодействия – это диаграммы кооперации и последовательности, которые, по сути, отображают одну и ту же информацию. В связи с этим большинство Case-средства позволяют после построения одной из них автоматически получить другую, а также выполнять синхронизацию этих диаграмм между собой.
Диаграмма кооперации, прежде всего, отображает структуру взаимодействия и содержит следующие элементы:
экземпляры актеров и классов, участвующих в реализации варианта использования
ассоциации между экземплярами актеров и классов
сообщения, передаваемые между экземплярами актеров и классов
На диаграмме эти элементы отображаются стандартно (экземпляр актера – человечком, экземпляр класса (объект) – прямоугольником или графическим стереотипом класса анализа). В то же время следует помнить, что экземпляр – это конкретная реализация соответствующей сущности (актера, класса, узла и т.д.). Чтобы учесть этот нюанс на диаграммах имя экземпляра подчеркивается и может отображаться в следующих вариантах:
Имя объекта : Имя класса (например, Вася : Программист)
: Имя класса (например, : Программист) – анонимный объект
Имя объекта (например, Вася) – предполагается, что имя класса известно
Имя объекта : (например, Вася :) – объект-сирота. Считается, что имя класса неизвестно.
Для объектов, кроме имени, могут указываться также некоторые важные для данной кооперации атрибуты и их значения.
Взаимодействие между экземплярами актеров и объектами моделируется посредством сообщений, отображаемых над ассоциациями. Сообщение (message, англ.) – это спецификация факта передачи информации между сущностями с ожиданием выполнения определенных действий со стороны принимающей сущности. Сущность, отправляющую сообщение, называют клиентом, а принимающую – сервером. Таким образом, сообщения не только передают некоторую информацию, но и требуют или предполагают выполнения сервером определенных действий или передачу (возврату) клиенту необходимой информации. Если принимающей сообщение сущностью является объект, то оно представляет собой операцию (метод) объекта-сервера. Прием сообщения обычно трактуется, как возникновения события на сервере.
Сообщения изображаются стрелкой с обязательным указанием направления (остриё стрелки указывает на сервер) и его спецификации.
Сообщения могут быть следующих видов:
- синхронное
сообщение (передача управления). Клиент
посылает сообщение серверу и ждет пока
тот не примет и не обработает сообщение.
Как правило, в кооперации один объект
передает синхронное сообщение второму,
второй - третьему и т.д., образуя вложенный
поток сообщений. В любом случае клиент,
инициирующий поток сообщений, должен
дождаться завершения вложенного потока,
т.е. возврата управления. Самый
распространенный тип сообщений
- асинхронное
сообщение. Клиент посылает сообщение
серверу и, не дожидаясь ответа, продолжает
выполнять свою работу дальше
- возвращающее
сообщение (возврат управления),
обозначающее возврат значения или
управления от сервера обратно клиенту.
Стрелки этого вида зачастую отсутствуют
на диаграммах кооперации, поскольку
неявно предполагается их существование
после окончания процесса выполнения
операции
В отдельных случаях объект может посылать сообщения самому себе (вызывать собственные методы и действия), инициируя так называемые рефлексивные сообщения.
Спецификация сообщения может указываться в двух форматах:
предшествующие сообщения / [сторожевое условие] номер сообщения : стереотип;
предшествующие сообщения / [сторожевое условие] номер сообщения : переменная := имя сообщения (список аргументов)
Предшествующие сообщения (их номера или идентификаторы) записываются через запятые и указывают, что данное сообщение не может быть передано, пока не будут посланы все предшествующие сообщения своим адресатам.
Сторожевое условие – обычное булевское выражение, означающее возможность посылки сообщения. Используется для ветвления потока сообщений.
Порядковый номер указывает на последовательность посылки сообщений. Например, {1, 2, 3, 3.1, 3.2, 3.3, 4, 5}. Сообщения с номерами {1, 2, 3, 4, 5} посылаются объектом, инициализирующим взаимодействие, а сообщения {3.1, 3.2, 3.3} – другим объектом, после получения им сообщения с номером 3.
В UML предусмотрены некоторые стандартные действия, выполняемые в ответ на получение соответствующего сообщения. Они могут быть явно указаны на диаграмме в виде стереотипа рядом с сообщением, к которому они относятся. Стандартными стереотипами, определенными в UML, являются следующие:
«call» (вызвать, англ.) – синхронное сообщение, требующее выполнения операции принимающего объекта
«create» (создать, англ.) – синхронное сообщение, требующее создания объекта
«destroy» (уничтожить, англ.) – синхронное сообщение с требованием уничтожить соответствующий объект
«send» (послать, англ.) – асинхронное сообщение, обозначающее посылку сигнала серверу
«return» (возвратить, англ.) – возвращающее сообщение
Переменная (атрибут), которая будет содержать значение, возвращаемое в результате обработки сообщения.
Имя сообщения (обязательный параметр) – имя вызываемой операции объекта-получателя.
Список аргументов – список аргументов, разделенных запятыми и передаваемых для выполнения операции.
Порядковый номер, а также стереотип или имя сообщения, являются обязательными параметрами спецификации.
Примеры сообщений:
1, 2, 3.2 / 5 : звук(частота) – сообщение с номером 5 должно посылаться при условии предшествующей посылки сообщений с номерами 1, 2, 3.2 и требующее подачи звукового сигнала с заданной частотой
[x = 0] 5 : ошибка(‘деление на ноль’) – сообщение с номером 5 должно посылаться при условии x = 0 и требует обработки ошибки;
5 : «create» – сообщение, предписывающее создание объекта
5 : properties := getProperties() – вызов метода, возвращающего системные параметры компьютера в переменную properties.
Пример диаграммы кооперации, моделирующий разговор по телефону, представлен на рисунке 82.
Рисунок 82 – Диаграмма кооперации «Разговор по телефону»
Диаграмма последовательности вместо структуры взаимодействия более наглядно показывается его временной аспект. Она имеет два измерения.
Первое измерение – слева направо в виде вертикальных линий, каждая из которых представляет линию жизни отдельного экземпляра актера или объекта, участвующего во взаимодействии. Крайним слева на диаграмме изображается экземпляр актера или объект, который является инициатором взаимодействия. Правее изображается другой объект, который непосредственно взаимодействует с первым и т.д. Таким образом, все сущности на диаграмме образуют некоторый порядок, определяемый временной активностью экземпляров актеров и объектов при взаимодействии друг с другом.
Второе измерение – вертикальная временная ось, направленная сверху вниз. Начальному моменту времени соответствует самая верхняя часть диаграммы. При этом масштаб на оси времени не указывается, поскольку диаграмма последовательности моделирует лишь временную упорядоченность взаимодействий типа «раньше-позже».
На диаграмме последовательности отображаются те же элементы, что и на диаграмме кооперации (экземпляры актеров, объекты и сообщения), а также ряд специфичных элементов, перечисленных ниже.
Линия жизни (lifeline, англ.) отображается пунктирной вертикальной линией, ассоциированной с соответствующим объектом. Линия жизни служит для обозначения периода времени, в течение которого объект может потенциально участвовать во взаимодействии. Если он существует в течение всего взаимодействия, то и его линия жизни должна продолжаться от самой верхней части диаграммы до самой нижней.
Не обязательно создавать все объекты в начальный момент времени. Отдельные объекты в системе могут создаваться по мере необходимости, существенно экономя ресурсы системы и повышая ее производительность. В этом случае объект изображается не в верхней части диаграммы, а в том месте, где он создается. Для обозначения факта уничтожения объекта в UML используется специальный символ – «X».
Р
исунок
83 - Обозначение линии жизни и символа
уничтожения объекта
В процессе взаимодействия объекты на диаграмме последовательности могут находиться в активном состоянии, непосредственно выполняя определенные действия, или в состоянии пассивного ожидания сообщений от других объектов.
Чтобы явно выделить подобную активность объектов, на диаграмме можно использовать элемент фокус управления (focus of control, англ.). Он изображается в форме вытянутого узкого прямоугольника, верхняя сторона которого обозначает начало получения фокуса управления объекта (начало активности), а ее нижняя сторона – окончание фокуса управления (окончание активности).
Условные операторы, циклы, рекурсия и вызов собственных методов (отправка рефлексивных сообщений) инициируют вложенные потоки управления у одного и того же объекта, что можно отобразить на диаграмме с помощью вложенных фокусов управления.
Рисунок 84 - Способы отображения фокуса управления
На диаграмме последовательности более наглядно, чем на диаграмме кооперации, можно показать ветвление потока управления.
Рисунок 85 - Пример ветвления потока управления
В качестве примера диаграммы последовательности можно привести аналог диаграммы кооперации «Разговор по телефону» (рисунка 86).
Как видно, основное отличие между диаграммой последовательности и кооперации состоит в следующем.
На диаграмме кооперации изображаются только такие отношения между объектами, которые играют роль информационных каналов при взаимодействии.
На диаграмме кооперации не указывается время в виде дополнительного измерения.
Таким образом, в диаграмме последовательности делается акцент на временной аспект, в диаграмме кооперации – на статическое взаимодействие объектов системы.
Рисунок 86 – Диаграмма последовательности «Разговор по телефону»
