Практическая работа № 3 Тема. Разработка и создание UML диаграмм. Практическая работа 3 Тема. Разработка и создание uml диаграмм. Цель. Создание в среде Argouml диаграмм uml. Ход работы
Скачать 0.97 Mb.
|
Практическая работа № 3 Тема. Разработка и создание UML диаграмм. Цель. Создание в среде ArgoUML диаграмм UML. Ход работы Ознакомиться с теоретической частью. Выполнить практическое задание. Ответить на контрольные вопросы. Оформить отчет. Теоретическая часть После запуска ArgoUML появится окно. Окно ArgoUML состоит из следующих компонентов: меню, панели инструментов и четырех панелей. Вверху слева находится Explorer, затем идет панель редактирования, затем на нижней панель деталей и To-Do панель. В панели Explorer содержится список всех классов, интерфейсов и типов данных модели в виде дерева. На панели редактирования можно редактировать диаграммы. В панели To-Do отображаются элементы моделей. Описание пунктов меню: Файл (File) — позволяет создавать новые проекты, сохранять и открывать проекты, импортировать, импортировать источники из другого расположения, скачать и сохранить модель из/в базу данных, печать модель, сохранить модель, сохранять конфигурацию модели и выход из программы. Редактировать (Edit) -позволяет выбрать один или несколько UML элементов в диаграмме, а также повторить действия, перемещать элементы из диаграммы и так далее Вид (View) -позволяет переключаться между диаграммами, искать артефакты в модели, масштабировать диаграмму, выберите особенное представление диаграмм и т.п. Создать диаграмму (Create Diagram) -позволяет создавать любую диаграмму из семи UML диаграмм, поддерживаемых ARGOUML (class, use case, state, activity, collaboration, deployment и sequence). Расставить (Arrange) – позволяет выровнять, распределить, упорядочить артефакты в диаграмме. Генерация кода (Generation) -позволяет сгенерировать Java код для отдельных или всех классов. Критика (Critique) –переключать авторецензирование, устанавливать уровень важности проблемы дизайна и дизайн целей и увидеть критических изменения. Инструменты (Tools) Помощь (Help) Практическая часть Для создания диаграммы вариантов использования, выполните следующие действия: Дважды щелкните на значке untitledModel. Нажмите на значок Диаграмма вариантов использования в проводнике, чтобы открыть диаграмму Вариантов использования. С помощью кнопки Use Case (вариант использования) на панели инструментов поместите на диаграмму новый вариант использования. Назовите этот новый вариант «Ввести новый заказ», для этого вам нужно дважды нажать на варианте использования и ввести имя или активировать вкладку Свойства To-Do панели в поле Имя: введите имя. Повторите шаги 3 и 4, чтобы разместить на диаграмме остальные варианты. С помощью кнопки Actor (Действующее лицо) инструментов поместите на диаграмму новое действующее лицо Назовите его «Продавец», действия аналогичные вариантам использования. Повторите шаги 6 и 7, поставив на диаграмме остальных актеров. Для указания абстрактного варианта использования, выполните следующие действия: ЛКМ нажмите на вариант использования «Отклонить заказ» на диаграмме. В панели Свойств в области modifiers выберите контрольный переключатель isAbstract (Абстрактный), чтобы сделать этот вариант использования абстрактным. Для добавления ассоциации выполните следующие действия: Нажав на кнопку Association (Ассоциация), выберите UniAssociation (Однонаправленная Ассоциация), изобразите ассоциацию между актером Продавец и вариантом использования «Ввести новый заказ». Повторите этот шаг, чтобы разместить на диаграмме остальные ассоциации. Для добавления связи расширения выполните следующие действия: Нажав на кнопку Extend на панели инструментов нарисуйте связь между вариантом использования «Отклонить заказы» и вариантом использования «Оформить заказ». Стрелка должна быть протянута от первого варианта использования ко второму. Связь расширения означает, что вариант использования «Отклонить заказ», при необходимости, дополняет функциональные возможности варианта использования «Оформить заказ». Диаграмма должна иметь вид, как на рисунке 1. Рисунок 1 – Диаграмма вариантов использования для системы обработки заказов Создать главную диаграмму классов. Дважды щелкните на значке UntitledModel, отобразится содержимое пакета. Выберите Диаграмма классов. С помощью кнопки Новый пакет и панели инструментов разместите на диаграмме новый пакет. Во вкладке Свойства, укажите имя пакета Entities (Сущность). Создайте пакеты Boundaries (Границы) и Control (Управление). Рисунок 2 – Главная диаграмма классов системы обработки заказов Создание диаграммы классов для сценария «Ввести новый заказ» со всеми классами В меню Создать диаграмму, выберите Диаграмма классов. Во вкладке Свойства введите имя для новой диаграммы класса Add New Order (Ввод нового заказа). Щелкните в браузере на этой диаграмме, чтобы открыть ее. Создайте в окне диаграммы классов классы OrderOptions (Выбор заказа), OrderDetail (Детали заказа), Order (Заказ), OrderMgr (Менеджер заказов) и TransactionMgr (Менеджер транзакций). Имя класса вводится во вкладке Свойства. Добавьте операции, указанные на диаграмме классов (рис.3). Чтобы сделать это, выберите соответствующий класс, нажмите на кнопку Добавить операцию, здесь вы можете ввести видимость операции. Диаграмма классов должен выглядеть как на рисунке 3. Добавление стереотипов в классы Нажмите на класс OrderOptions. Введите в поле имя класса стереотип < В раскрывающемся списке стереотипов теперь будет стереотип Boundary . Укажите его. Нажмите с помощью мыши на классе OrderDetail. Из раскрывающегося списка Стереотип выберите стереотип Boundary. Свяжите классы OrderMgr и TransactionMgr со стереотипом Control, а класс Order – со стереотипом Entity. Теперь диаграмма классов должна выглядеть как на рисунке 3. Рисунок 3 – Стереотипы классов для варианта использования Ввести новый заказ Объединение классов в пакеты Перетащите в браузере класс OrderDetail на пакет Boundaries. Перетащите класс OrderOptions на пакет Boundaries. Перетащить классы OrderMgr и TransactionMgr на пакет Control. Перетащите класс Order на пакет Entities. Добавить диаграмму классов к каждому пакету Дважды щелкните левой кнопкой на пакете Boundaries в окне диаграмм. В появившемся окне выберите Да. Во вкладка Свойства, введите имя для новой диаграммы – MainB. Щелкните на диаграмму, чтобы открыть его. В браузере выделите класс OrderOptions (потом OrderDetail), щелкните ПКМ и выберите опцию Добавить в диаграмму, а затем нажмите мышью в поле диаграммы. Классы будут отображаться на диаграмме. Выполните эти же шаги, чтобы поместить классы OrderMgr и TransactionMgr на главную диаграмму классов пакета Control (MainC). Выполните эти же действия, чтобы поместить класс Order на главную диаграмму классов пакета Entities (MainE). Для того чтобы создать диаграммы кооперации выполните следующие действия: Нажмите на значок untitledModel в браузере. Из меню Создать диаграмму, чтобы выберите Диаграмму коопераций. Назовите эту диаграмму Ввод заказа. Нажмите на нее, чтобы открыть. Для добавления объектов к диаграмме коопераций, выполните следующие действия: Перетащите с диаграммы вариантов использования объект Продавец на рабочую область. На панели инструментов нажмите кнопку ClassifierRole. Щелкните в любом месте диаграммы, чтобы разместить там новый объект. Назовите объект «Order Options Form». Помести на диаграмме остальные объекты: Order Detail Form, Order Manager, Transaction Manager, Order #1234. Добавления сообщений на диаграмму коопераций: На панели инструментов нажмите кнопку Новая ассоциация. Свяжите Продавец с объектом Order Options Form. Соедините остальные объекты. Нажмите на связь между Продавцом и Order Options Form. На панели инструментов нажмите кнопку Добавить сообщение. Нажмите на связь между Продавцом и Order Options Form. Выбрав сообщение, введите его имя Create (). Поместите на диаграмме оставшиеся сообщения: Open (), SubmitInfo (), Save (), SaveOrder(), SetInfo (), GetInfo (). Нажмите на объекте для добавления к нему сообщения рефлесии. По бокам объекта будут показаны значки, среди которых необходимо выбрать . Нажмите на связь рефлексии Transaction Manager, чтобы ввести сообщение. На панели инструментов нажмите кнопку Добавить сообщение. Назовите новое сообщение Commit () (Сохранить информацию о заказе в базе данных) (рисунок 4). Рисунок 4 – Диаграмма коопераций Для создания схемы последовательностей, выполните следующие действия: щелкните ПКМ логическое представление браузера. В открывшемся меню нажмите Create Diagram → Диаграмма последовательности. Назовите новую диаграмму «Ввод заказ». Дважды щелкните на нем, чтобы открыть Для добавления на диаграмму актера и объектов, выполните следующие действия: Перетяните актера Продавец из браузера на диаграмму. Для панели панель инструментов, нажмите кнопку New Classifier Role. Имя объекта Order Options Form – Выбор варианта заказа. Таким же образом добавьте все элементы, описанные в пункте 11.5 (рисунок 5). Рисунок 5 – Диаграмма последовательности Для добавления сообщений на диаграмму, выполните следующие действия: На панели инструментов нажмите кнопку Действие отправки, перетащите от линии жизни актера к линии жизни объекта Order Options Form. В ArgoUML в данном виде диаграмм сообщения автоматически не нумеруются, поэтому нумерация переносится из диаграммы кооперации. Выбрав сообщение, введите имя 1: Create (). Добавьте оставшиеся сообщения, описанные в пункте 12.5 Сопоставление объектов с классами Нажмите на объекте Order Options Form. В панели Свойств раскройте список База. В открывшемся списке нажмите на кнопку с плюсом.. В открывшемся окне выберите класс OrderOptions и нажмите на кнопку со стрелкой для добавления в список. Нажмите кнопку ОК. Сопоставьте остальные объекты с классами: Order Detail Form - OrderDetail, Order Manager – OrderMgr, Transaction Manager - TransactionMgr, Order #1234 - Order. Соотношение сообщений с операциями. Нажмите на сообщение 1: Create () заказ. В окне Свойств дважды щелкните в поле Действие. В открывшемся окне введите Create (). Сопоставьте остальные сообщения. Добавление нового класса Найдите в дереве (браузере) диаграмму классов «Add New Order».Нажмите на нее дважды, чтобы открыть. Поместите на этой диаграмме новый класс OrderItem (Позиция заказа). Назначьте этому классу стереотип Entity. В дереве перетащите класса в пакет Entities. Добавление атрибутов Щелкните ПКМ на классе Order (Заказ). В открывшемся меню выберите Добавить Новый атрибут. Введите новый атрибут OrderNumber : Integer и нажмите Enter. Тип атрибута можно выбрать из раскрывающегося списка в поле Тип или ввести вручную. Введите следующий атрибут CustomerName : String. Добавьте атрибуты OrderDate : Date и OrderFillDate : Date. Щелкните ПКМ на классе OrderItem. В открывшемся меню выберите Добавить Новый атрибут. Введите новый атрибут ITEMID : Integer. Введите следующий атрибут ItemDescription : String. Добавления операций к классу OrderItem Щелкните ПКМ на классе OrderItem. В открывшемся меню выберите Добавить Новая операция. Введите новую операцию Create. Введите следующую операцию SetInfo. Введите следующую операцию GetInfo. Подробное описание операций с помощью диаграммы класса Нажмите на класс Order, выбрав его таким образом. Нажмите на этот класс в разделе операций. Отредактируйте операцию Create() так, чтобы она выглядела таким образом: Create () : Boolean. Для этого дважды нажмите на операцию Create в разделе операций класса. Отредактируйте операцию SetInfo(), чтобы она выглядела следующим образом: SetInfo(OrderNum : Integer, Customer : String, OrderDate : Date, FillDate : Date) : Boolean Отредактируйте операцию GetInfo (), чтобы она выглядела следующим образом: GetInfo () : String Подробное описание операций остальных классов C помощью браузера или диаграмм, введите следующую сигнатуру операций класса OrderDetail: Open () : Boolean, SubmitInfo() : Boolean, Save() : Boolean. C помощью браузера или диаграмм, введите следующую сигнатуру операций класса OrderOptions : Create () : Boolean . C помощью браузера или диаграмм, следующую сигнатуру операций класса OrderMgr: SaveOrder(ORDERID: Integer): Boolean. C помощью браузера или диаграмм, введите следующую сигнатуру операций класса TransactionMgr: SaveOrder (ORDERID: Integer): Boolean, Commit (): Integer. Добавление отношения между классами. Чтобы найти отношения, были изучены диаграммы последовательности. Все классы, которые там взаимодействуют, требовали определения соответствующих связей на диаграммах классов. После выявления связей их добавили в модель. Добавьте отношения, как показано на рисунке 6. Множественность указывается выбором из контекстного меню связи опции Multiplicity. После добавления связей диаграмма классов должна выглядеть следующим образом. Создание диаграммы состояний. Найдите в браузере класс Order. Выделите этот класс. В меню Создать диаграмму выберите Диаграмма состояний. Добавление начального и конечного состояний. На панели инструментов нажмите кнопку New Initial (Начальное состояние). Поместите это состояние на диаграмму. На панели инструментов нажмите Конечное состояние. Поместите на диаграмму. Рисунок 6 – Диаграмма классов Add New Order Добавление суперсостояния. На панели инструментов нажмите кнопку Композитное состояние. Поместите это состояние на диаграмму. Добавление оставшихся состояний. На панели инструментов нажмите кнопку Простое состояние. Поместите его на диаграмму. Назовите состояние Отменен. На панели инструментов нажмите кнопку Простое состояние. Поместите его на диаграмму. Назовите состояние Выполнен. На панели инструментов нажмите кнопку Простое состояние. Поместите это состояние внутрь суперсостояния. Назовите состояние Инициализация. На панели инструментов нажмите кнопку Простое состояние. Поместите это состояние внутрь суперсостояния. Назовите состояние Сборка заказа. Подробное описание состояний Для добавления в состояния действий на входе, выходе и деятельности исполнения на вкладке Свойства состояния выберите соответственно: действие при входе, действие при выходе, деятельность выполнения. Добавление переходов На панели инструментов нажмите кнопку New Transition (Переход). Нажмите на начальной точке. Проведите линию перехода к состоянию Инициализация. Повторить предыдущие шаги для добавления оставшихся переходов. Подробное описание переходов Нажмите на переход от состояния Инициализация к состоянию Сборка заказа, открывая окно его свойств. В поле Имя введите Выполнить заказ. Повторите этапы, добавив событие Отменить заказ для переключения между суперсостоянием и состоянием Отменен. Нажмите на переход от состояния Сборка заказа состояние Заполнены (Выполнено), открывая окно его свойств. В поле Имя введите фразу Добавить Порядок пункта (Добавить в заказ на новое место). Рисунок 7 – Диаграмма состояний Добавление компонентов и изображение зависимостей Выполните команду Создать диаграмму Диаграмма развертывания. Нажмите на название диаграммы в браузере. Введити имя Entities. На панели инструментов нажмите кнопку New Component (Компонент). Щелкните в поле диаграммы. Введите имя компонента. Добавить все компоненты. На панели инструментов нажмите кнопку New Dependency (Зависимость). Проведите необходимые зависимости. Аналогично создайте диаграммы Control и Boundaries. Рисунок 8 – Диаграмма компонентов Entities Рисунок 9 – Диаграмма компонентов Control Рисунок 10 – Диаграмма компонентов Boundaries Создание диаграммы компонентов системы Выполните команду Создать диаграмму Диаграмма развертывания. Нажмите на название диаграммы Диаграмма компонентов системы. Перетащите из дерева на рабочую область диаграммы компоненты OrderDetail.h, OrderOtions.s, OrderMgr.h, TransactionMgr.h, Order.h, OrderItem.h. Создайте дополнительные компоненты OrderClient.exe и OrderServer.exe. Создайте зависимости между компонентами, которые не были созданы автоматически. Добавление узлов на диаграмму размещения Выберите пункт меню Создать диаграмму Диаграмма развертывания. На панели инструментов нажмите кнопку New Node. Введите имя узла «Сервер базы данных». Добавьте оставшиеся узлы. Рисунок 12 – Диаграмма компонентов системы Добавление связей На панели инструментов нажмите кнопку New Link. Нажмите на «Сервер базы данных». Проведите линию до узла «Сервер приложений». Добавьте остальные связи. Рисунок 13 – Диаграмма размещений Добавление процессов и операций Щелкните ПКМ на «Сервер приложений». Из раскрывающегося списка выберите Apply Stereotypes < >. Выполните аналогичные действия для объектов Рабочая станция 1 и Рабочая станция 2. Выделите «Сервер приложений». На панели Свойств в поле Операции нажмите ПКМ и выберите Новая операция. В поле Имя введите OrderServerExe. Добавьте остальные процессы: Рабочая станция 1 – OrderClientExe, Рабочая станция 2 – ATMClientExe. Результаты выполнения практического задания запишите в отчет. Контрольные вопросы Для чего используется язык UML? Опишите основные диаграммы UML. Содержание отчета Тема. Цель. Оборудование. Результат выполнения практического задания. Ответы на контрольные вопросы. Вывод. Практическая работа № 3 |