ЛАБОРАТОРНАЯ РАБОТА №8 Тема. Построение диаграммы деятельности в среде Rational Rose Цель работы: изучение инструментария программного средства Rational Rose, формирование умений построения диаграммы деятельности и редактирование свойств ее элементов. Задачи работы: изучить инструментарий программного средства Rational Rose; освоить приемы построения диаграммы деятельности; построить диаграмму деятельности в среде IBM Rational Rose 2003. Теоретическая часть В контексте языка UML деятельность (activity) представляет собой некоторую совокупность отдельных вычислений, выполняемых автоматом. При этом отдельные элементарные вычисления могут приводить к некоторому результату или действию (action). На диаграмме деятельности отображается логика или последовательность перехода от одной деятельности к другой, при этом внимание фиксируется на результате деятельности. Сам же результат может привести к изменению состояния системы или возвращению некоторого значения. Деятельностью (activity) называется поведение, реализуемое объектом, пока он находится в данном состоянии. Деятельность – это прерываемое поведение. Оно может выполняться до своего завершения, пока объект находится в данном состоянии, или может быть прервано переходом объекта в другое состояние. Деятельность изображают внутри самого состояния, ей должно предшествовать слово do (делать) и двоеточие. Деятельность может содержатьвходящие и/или исходящие дуги деятельности, показывающие потоки управления и потоки данных. Если поток соединяет две деятельности, он является потоком управления. Если поток заканчивается объектом, он является потоком данных. Деятельность выполняется, только тогда, когда готовы все его «входы», после выполнения, деятельность передает управление и(или) данные на свои «выходы». Саму диаграмму деятельности принято располагать таким образом, чтобы действия следовали слева направо или сверху вниз. Чтобы указать, где именно находится процесс, используется абстрактная точка «маркер» (или «токен»). Визуально на диаграмме маркер не показывается, данное понятие вводится только для удобства описания динамического процесса. Переход маркера осуществляется между узлами. Маркер может не содержать никакой дополнительной информации (пустой маркер) и тогда он называется маркером управления (control flow token) или же может содержать ссылку на объект или структуру данных, и тогда маркер называется маркером данных (data flow token). Для создания диаграммы приведенные в таблице 7. деятельности используются узлы, Таблица 7 - Узлы для создания диаграммы деятельности. Начальный узел деятельности (или начальное состояние деятельности) (activity initial node) является узлом управления, в котором начинается поток (или потоки) при вызове данной деятельности извне Конечный узел деятельности (или конечное состояние деятельности) (activity final node) является узлом управления, который останавливает (stop) все потоки данной диаграммы деятельности. На диаграмме может быть более одного конечного узла Конечный узел потока (или конечное состояние потока) (flow final node) является узлом управления, который завершает данный поток. На другие потоки и деятельность данной диаграммы это не влияет Объект, над которым выполняются действия. Это не обязательный элемент диаграммы, но в некоторых случаях необходимо показать объект инициирующий выполнение действий, или являющийся результатом его Для отображения расширений сценария на диаграмме деятельности используются, так называемые узлы решения. Узел решения предназначен для определения правила ветвления и различных вариантов дальнейшего развития сценария. Пример представлен на рисунке 8.1 Рисунок 8.1 – Пример узла решения В точку ветвления входит ровно один переход, а выходит - два или более. Для каждого исходящего перехода задается булевское выражение, которое вычисляется только один раз при входе в точку ветвления. Ни для каких двух исходящих переходов эти сторожевые условия не должны одновременно принимать значение "истина", иначе поток управления окажется неоднозначным. Желательно чтобы условия покрывали все возможные варианты, иначе поток остановится. Для пометки исходящего перехода, который должен быть выбран в случае, если условия, заданные для всех остальных переходов не выполнены, разрешается использовать ключевое слово else. Далее следует обратить внимание на такой элемент, как узел объединение. Узел объединения имеет два и более входящих узла и один исходящий. Узлырешения объединения аналогичны логическому выражению «строгое или», т.е. для узла объединения - только при выполнении того или иного действия осуществляется переход к следующему узлу управления. Соответственно для узла решения – только при выполнении того или иного условия становится доступна возможность перехода к одному из следующих действий. Для отображения условий соответствующих логическому оператору «и» на диаграмме используются синхронизационная черта. Пример представлен на рисунке 8.2. Рисунок 8.2 – Пример узла ветвления Точка разделения обеспечивает разделение одного потока на несколько параллельных потоков: входит ровно один поток; выходит два и более потока, каждый из которых далее выполняется параллельно с другими. Точка слияния обеспечивает синхронизацию нескольких параллельных потоков. входят два или более потока, причем эти потоки выполняются параллельно; выходит ровно один поток, причем в точке слияния входящие параллельные потоки синхронизируются, то есть каждый из них ждет, пока все остальные достигнут этой точки, после чего выполнение продолжается в рамках одного потока. Также диаграмма действия может описывать поведение, на которое оказывают влияние внешние события, происходящие за пределами данной Системы. В таблице 8 приведен список кнопок панели инструментов диаграммы деятельностии их назначение. Таблица 8 - Назначение кнопок специальной панели инструментов диаграммы деятельности Графическое Всплывающая Назначение кнопки изображение подсказка Selection Tool Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме Text Box Добавляет на диаграмму текстовую область Note Добавляет на диаграмму примечание Anchor Note to Добавляет на диаграмму связь примечания Item с соответствующим графическим элементом диаграммы State Добавляет на диаграмму состояние Activity Добавляет на диаграмму деятельность Start State Добавляет на диаграмму начальное состояние End State Добавляет на диаграмму конечное состояние State Transition Добавляет на диаграмму переход Transition to Self Добавляет на диаграмму рефлексивный переход Horizontal Добавляет на диаграмму горизонтально Synchronization расположенный символ синхронизации Vertical Добавляет на диаграмму вертикально Synchronization расположенный символ синхронизации Decision Добавляет на диаграмму символ принятия решения для альтернативных переходов Swimlane Добавляет на диаграмму дорожку Object Добавляет на диаграмму объект (по умолчанию отсутствует) Object Flow Добавляет на диаграмму стрелку потока объектов (по умолчанию отсутствует) Business Activity Добавляет на диаграмму бизнесдеятельность (по умолчанию отсутствует) Business Добавляет на диаграмму бизнесTransaction транзакцию (по умолчанию отсутствует) Описание предметной области Вы являетесь руководителем библиотеки. Библиотека зарабатывает деньги, выдавая напрокат некоторые книги, имеющиеся в небольшом количестве экземпляров. У каждой книги, выдаваемой в прокат, есть название, автор, жанр. В зависимости от ценности книги вы определили для каждой из них залоговую стоимость (сумма, вносимая клиентом при взятии книги напрокат) и стоимость проката (сумма, которую клиент платит при возврате книги, получая назад залог). В библиотеку обращаются читатели. Все читатели регистрируются в картотеке, которая содержит стандартные анкетные данные (фамилия, имя, отчество, адрес, телефон). Каждый читатель может обращаться в библиотеку несколько раз. Все обращения читателей фиксируются, при этом по каждому факту выдачи книги запоминаются дата выдачи и ожидаемая дата возврата. Методические рекомендации Диаграммадеятельности в среде IBM Rational Rose 2003, так же, как и диаграмма состояний, может относиться к отдельному классу, операции класса, варианту использования, пакету или представлению. Начать построение диаграммы деятельности для выбранного элемента модели или моделируемой системы в целом можно одним из следующих способов: Щелкнуть на кнопке с изображением диаграммы состояний на стандартной панели инструментов, после чего следует выбрать представление и тип разрабатываемой диаграммы - диаграмма деятельности. Выделить логическое представление (Logical View) или представление вариантов использования (Use Case View) в браузере проекта и выполнить операцию контекстного меню: New Activity Diagram (Новая Диаграмма деятельности ). Раскрыть логическое представление (Logical View) в браузере проекта и выделить рассматриваемый класс, операцию класса, пакет, или раскрыть представление вариантов использования (Use Case View) и выбрать вариант использования, после чего выполнить операцию контекстного меню: New Activity Diagram (Новая Диаграмма деятельности ). Выполнить операцию главного меню: Browse State Machine Diagram (Обзор Диаграмма состояний), после следует чего выбрать представление и тип разрабатываемой диаграммы - диаграмма деятельности. В результате выполнения этих действий появляется новое окно с чистым рабочим листом диаграммы деятельности и специальная панель инструментов, содержащая кнопки с изображением графических элементов, необходимых для разработки диаграммы деятельности. Назначение отдельных кнопок панели можно узнать из всплывающих подсказок. Для разрабатываемого проекта системы управления библиотекой диаграммадеятельности описывает последовательность действий библиотекаря. Для удобства можно включить эту диаграмму в логическое представление, для чего необходимо в браузере проекта выделить логическое представление (Logical View) и выполнить операцию контекстного меню: New Activity Diagram (Новая Диаграммадеятельности). Продолжая разработку проекта по моделированию системы управления библиотекой, можно приступить к разработке новой диаграммы деятельности. С этой целью для диаграммы деятельности модели библиотека зададим имя Библиотека, а в секцию ее документации введем текст "Диаграмма деятельности описывает последовательность действий библиотекаря ". Добавление деятельности на диаграмму деятельности и редактирование ее свойств Для добавления деятельности на диаграмму деятельности нужно с помощью левой кнопки мыши нажать кнопку с изображением пиктограммы деятельности на специальной панели инструментов, отпустить левую кнопку мыши и щелкнуть левой кнопкой мыши на свободном месте рабочего листа диаграммы. На диаграмме появится изображение деятельности с маркерами изменения его геометрических размеров и предложенным средой именем по умолчанию, которое разработчику следует изменить. Добавить деятельность на диаграмму можно также с помощью операции главного меню: Tools Create Activity или с помощью операции контекстного меню: New Activity, предварительно выделив диаграмму деятельности в браузере проекта. В результате этих действий на диаграмме появится изображение деятельности с именем NewActivity, предложенное программой по умолчанию. Начиная построение диаграммы деятельности модели библиотеки, для первой добавленной деятельности зададим имя Обращение читателя. Окно диаграммы приведено на рисунке 8.3. Рисунок 8.3 - Диаграмма деятельности после добавления на нее деятельности Обращение читателя После добавления деятельности на диаграмму деятельности можно открыть диалоговое окно спецификации ее свойств и определить дополнительные свойства деятельности, доступные на соответствующих вкладках. При этом для деятельности становятся доступными для выбора два стереотипа: Business Activity (Бизнес-деятельность) и Business Transaction (Бизнес-транзакция), которые имеют собственное графическое изображение На вкладке Transitions (Переходы) окна спецификации свойств деятельности можно определять и редактировать переходы, которые входят и выходят из рассматриваемой деятельности. Последняя вкладка Swimlanes (Дорожки) служит для спецификации дорожки, на которую помещается рассматриваемая деятельность. Хотя программаIBM Rational Rose 2003 позволяет определить свойства деятельности, доступные на вкладке Actions (Действия), следует помнить, что внутренние действия являются свойствами общего понятия состояния, а внутренняя деятельность служит именем собственно деятельности, помещаемой на диаграмму деятельности. Поэтому для деятельности во избежание недоразумений лучше оставить эту вкладку пустой. Добавление перехода и редактирование его свойств Добавление перехода на диаграмму деятельности полностью аналогично диаграмме состояний. А именно, для добавления перехода между двумя деятельностями нужно с помощью левой кнопки мыши нажать кнопку с изображением перехода на специальной панели инструментов, отпустить левую кнопку мыши, щелкнуть левой кнопкой мыши на изображении исходной деятельности на диаграмме и отпустить ее на изображении целевой деятельности. В результате этих действий на диаграмме появится изображение перехода, соединяющего две выбранных деятельности. Если в качестве одной из деятельностей является символ ветвления или соединения, то порядок добавления перехода сохраняется прежним. Следует заметить, что при наличии в проекте законченной диаграммы состояний попытка добавить начальное состояние на диаграмму деятельности с помощью кнопки специальной панели инструментов окажется безуспешной. В этом случае программаIBM Rational Rose 2003 фиксирует наличие в модели начального состояния и не позволит добавить его с помощью соответствующей кнопки на разрабатываемые диаграммы состояний или деятельности. Решить данную проблему можно посредством перетаскивания с помощью мыши начального состояния из браузера проекта на любую из вновь разрабатываемых диаграмм. После добавления перехода на диаграмму деятельности становятся доступными для редактирования его свойства в специальном диалоговом окне, которое можно открыть по двойному щелчку левой кнопкой мыши на изображении перехода. При спецификации свойств переходов следует помнить, что все переходы на диаграмме деятельности является нетриггерными, т.е. не имеют имен событий. По этой причине поле ввода с именем Event (Событие) для всех переходов должно оставаться пустым. Но все переходы, выходящие из символов ветвления (решения), должны иметь сторожевые условия, которые специфицируются на вкладке Detail (Подробно) диалогового окна спецификации свойств перехода. Задания для самостоятельной работы Для завершения построения диаграммы деятельности рассматриваемого примера следует описанным выше способом добавить оставшиеся деятельности и переходы. Диаграмма деятельности на вариант использования Обращение читателя приведена на рисунке 8.4. Рисунок 8.4. - Диаграмма деятельности на вариант использования Обращение читателя Оформление отчета Результатом выполнения лабораторной работы является отчет, включающий: предметную область, цель и точку зрения; диаграмму деятельности. Лабораторная работа выполняется в среде Rational Rose и сдаётся в электронном виде. Преподаватель проверяет логическую правильность диаграмм. При защите лабораторной работы преподаватель вправе задать вопросы по теоретической части. Контрольные вопросы 1. 2. Опишите основные компоненты диаграммы деятельности. Перечислите виды узлов и их назначение. Список используемых источников Национальный Открытый Университет «ИНТУИТ» Курс: Визуальное моделирование в среде IBM Rational Rose 2003. – [Режим доступа]: http://www.intuit.ru/studies/courses/14/14/lecture/434Дата доступа: 21.11.2017