Добавлен: 25.10.2018
Просмотров: 2227
Скачиваний: 19
Содержание отчета:
-
Титульный лист;
-
Цель работы;
-
Постановка задачи;
-
Описание выбранной исследуемой области
-
Диаграмму вариантов использования;
-
Диаграммы последовательности для каждого варианта использования;
-
Вывод.
Лабораторная работа №3
«Методология объектно-ориентированного моделирования
(кооперативная диаграмма, диаграмма состояний)
1. Цель работы:
Ознакомление с основными элементами определения, представления,
проектирования и моделирования программных систем с помощью языка
UML. Приобретения навыков проектирования кооперативных диаграмм и
диаграмм состояний.
2. Теоретический материал.
Кооперативная диаграмма
Диаграмма кооперации (диаграмма коммуникации) – передает ту же
информацию, что и диаграмма последовательности.
Основными символами в диаграммах кооперации являются
прямоугольник, называемый классификатором роли, и линия, обозначающая
сообщение и называемая связью.
Пример построения:
В качестве примера рассмотрим построение диаграммы кооперации для
моделирования процесса телефонного разговора с использованием обычной
телефонной сети. Напомним, что объектами в этом примере являются два
абонента а и b, два телефонных аппарата с и d, коммутатор и сам разговор как
объект моделирования.
На начальном этапе изобразим все объекты и связи между ними на
диаграмме кооперации при помощи соответствующих обозначений (рис. 1).
Рис. 1. Начальный фрагмент диаграммы кооперации для примера
моделирования обычного телефонного разговора.
В последующем необходимо специфицировать все связи на этой
диаграмме, указав на их концах необходимую информацию в форме ролей
связей. Дополненный таким образом вариант диаграммы кооперации
изображен ниже (рис. 2). Заметим, что для объекта «Разговор» указано
помеченное значение {transient}, которое означает, что этот объект создается
в процессе выполнения объемлющего процесса и уничтожается до его
завершения. Напомним, что помеченные значения (tagged values) являются
стандартными элементами языка UML.
Рис. 2. фрагмент диаграммы кооперации, дополненный стереотипами
ролей связей, именами ассоциаций и помеченным значением объекта
На диаграмму кооперации необходимо нанести все сообщения, указав
их порядок и семантические особенности. Окончательный фрагмент
диаграммы кооперации изображен на рис. 3 и содержит модель кооперации
только для начала разговора. Эта диаграмма может быть дополнена
сообщениями, необходимыми для окончания разговора.
Рис. 3. Окончательный вариант диаграммы кооперации для
моделирования телефонного разговора.
Диаграмма кооперации для примера с телефонным разговором не
содержит ни временных особенностей передачи сообщений, ни особенностей
жизненного цикла участвующих в данной кооперации объектов. Поэтому
может быть принято решение о том, что она является избыточной при
наличии построенной диаграммы последовательности. Этот факт не
вызывает сомнений в тех случаях, когда структура взаимодействующих
объектов является достаточно тривиальной.
Если же взаимодействующие объекты образуют между собой
различные типы отношений-ассоциаций (композиция, агрегация), то
диаграмма кооперации оказывается необходимым представлением модели на
всех ее уровнях.
Пример диаграммы кооперации
Диаграммы состояний
Диаграммы состояний определяют все возможные состояния, в которых
может находиться конкретный объект, а также процесс смены состояний
объекта в результате наступления некоторых событий.
Существует много форм диаграмм состояний, незначительно
отличающихся друг от друга семантикой.
На диаграмме имеются два специальных состояния – начальное (start) и
конечное (stop). Начальное состояние выделено черной точкой, оно
соответствует состоянию объекта, когда он только что был создан. Конечное
состояние обозначается черной точкой в белом кружке, оно соответствует
состоянию объекта непосредственно перед его уничтожением. На диаграмме
состояний может быть одно и только одно начальное состояние. В то же
время, может быть столько конечных состояний, сколько вам нужно, или их
может не быть вообще. Когда объект находится в каком-то конкретном
состоянии, могут выполняться различные процессы. Процессы,
происходящие, когда объект находится в определенном состоянии,
называются действиями (actions).
С состоянием можно связывать данные пяти типов: деятельность,
входное действие, выходное действие, событие и история состояния.
Деятельность
Деятельностью (activity) называется поведение, реализуемое объектом,
пока он находится в данном состоянии. Деятельность – это прерываемое
поведение. Оно может выполняться до своего завершения, пока объект
находится в данном состоянии, или может быть прервано переходом объекта
в другое состояние. Деятельность изображают внутри самого состояния, ей
должно предшествовать слово do (делать) и двоеточие.
Входное действие
Входным действием (entry action) называется поведение, которое
выполняется, когда объект переходит в данное состояние. Данное действие
осуществляется не после того, как объект перешел в это состояние, а, скорее,
как часть этого перехода. В отличие от деятельности, входное действие
рассматривается как непрерываемое. Входное действие также показывают
внутри состояния, ему предшествует слово entry (вход) и двоеточие.
Выходное действие
Выходное действие (exit action) подобно входному. Однако, оно
осуществляется как составная часть процесса выхода из данного состояния.
Оно является частью процесса такого перехода. Как и входное, выходное
действие является непрерываемым.
Выходное действие изображают внутри состояния, ему предшествует
слово exit (выход) и двоеточие.
Поведение объекта во время деятельности, при входных и выходных
действиях может включать отправку события другому объекту. В этом случае
описанию деятельности, входного действия или выходного действия
предшествует знак « ^ ».
Соответствующая строка на диаграмме выглядит как
Do: ^Цель.Событие (Аргументы)
Цель – это объект, получающий событие, Событие – это посылаемое