Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

5008

.pdf
Скачиваний:
1
Добавлен:
21.11.2023
Размер:
542.67 Кб
Скачать

Лабораторная работа № 3

Цель работы: научиться создавать диаграммы классов (Class diagram) средствами StarUML.

Выделим классы для сценария «Оформление заказа».

ОформлениеЗаказа (PlaceOrder) - осуществляет связь между актором «Покупатель» и сценарием «Оформить заказ». Этот класс знает, какие товары и в каком количестве были в корзине покупателя, их нужно перенести в заказ. Также этот класс может знать, пуста корзина покупателя или нет, и, если пуста, то вывести об этом соответствующее сообщение. Для того, чтобы сделать заказ, покупатель должен ввести свои личные данные, электронный адрес, телефон и данные кредитной карты. Для этих целей введем еще один класс ВводЛичныхДанных (EnterPersonalInformation). После того, как выбраны товары и введена личная информация покупателя, остается только проверить детали заказа и согласиться с ними или нет – для этого действия введем класс ПроверкаДеталейЗаказа (ConfirmOrder). Наконец, когда покупатель завершит оформление заказа, то на экране он видит номер заказа и подтверждение заказа отправляется покупателю на электронный адрес, для выполнения этих обязанностей выделим класс ПодтверждениеЗаказа (OrderConfirmation). МенеджерОформленияЗаказа (PlaceOrderManager) - класс, который будет распределять обязанности других классов и вызывать их операции при выполнении данного сценария. В сценарии «Оформление заказа» речь идет о покупателе, заказе и товарах, поэтому выделим также классы Покупатель

(Customer), Заказ (Order), Товар (Item).

Задание 1. Сгруппировать классы по стереотипам: граничные классы, управляющие классы, классы-сущности.

Задание 2. Построить диаграмму пакетов, куда войдут граничные классы, управляющие классы, классы-сущности, и добавить в пакеты соответствующие классы.

Задание 3. Построить диаграмму классов для сценария «Оформить заказ» с учетом стереотипов.

Контрольные вопросы

1.Что описывает диаграмма классов?

2.Какие элементы включает диаграмма классов?

3.Чем объект отличается от класса?

4.Каково назначение пакета?

5.Для чего нужны граничные классы, управляющие классы и классы-сущности?

Лабораторная работа № 4

Цель работы: научиться создавать диаграммы взаимодействия:

последовательности (Sequence diagram) и коммуникации (Communication diagram)

средствами StarUML.

Задание 1. На основе диаграммы деятельности и выделенных классов для сценария «Оформление заказа» разместить на диаграмме последовательности соответствующие объекты (экземпляры классов). Представьте объект «Товар» в виде множественного экземпляра класса.

Задание 2. На основе диаграммы деятельности добавьте в созданные объекты операции (процедуры) и стрелками сообщений (вызовов) свяжите объекты между собой. При необходимости отразите на диаграмме ветвление потока управления.

Задание 3. На основе диаграммы последовательности для сценария «Оформление заказа» построить диаграмму коммуникации.

Задание 4. На основе диаграммы деятельности добавьте в созданные объекты операции (процедуры) и стрелками сообщений (вызовов) свяжите объекты между собой. При необходимости отразите на диаграмме ветвление потока управления.

Контрольные вопросы

1.Что описывает диаграмма последовательности?

2.Что такое линия жизни объекта?

3.Что такое фокус управления?

4.Какие виды сообщений Вы знаете?

5.Что такое множественный экземпляр класса?

6.Что описывает диаграмма коммуникации?

7.Чем диаграмма коммуникации отличается от диаграммы последовательности?

Лабораторная работа № 5

Цель работы: научиться добавлять атрибуты и операции в классы, а также отношения между классами на диаграмме классов средствами StarUML.

Задание 1. Добавить в классы «Заказ» и «Товар» сценария «Оформление заказа» атрибуты и определите их квантор видимости, тип атрибута и кратность. Класс «Заказ»:

номерЗаказа (code),

имяПокупателя (firstName),

фамилияПокупателя (lastName),

телефон (phoneNumber),

электронныйАдрес (e-mail),

товар (item),

суммаЗаказа (total). Класс «Товар»:

артикул (productCode),

название (productName),

размер (size),

цвет (color),

цена (price).

Задание 2. Добавить во все классы сценария «Оформление заказа» операции

иопределите их квантор видимости, список параметров и тип возвращаемого значения.

Задание 3. Добавить на диаграмму отношения зависимости между классами сценария «Оформление заказа».

Проанализировав диаграмму последовательности можно увидеть, что класс

PlaceOrder связан с EnterPersonalInformation, а объект ConfirmOrder посылает сообщения объекту класса PlaceOrderManager. PlaceOrderManager связан с объектами классов Order и OrderConfirmation. Для всех перечисленных связей определим отношения ассоциации. Класс OrderConfirmation использует класс Order как параметр своей операции: между ними определим отношение зависимости. Экземпляры класса Order состоят из экземпляров класса Item. Между ними создадим отношение агрегации. Для того чтобы класс ConfirmOrder мог выполнять операцию подтверждения заказа, он должен быть связан с классом EnterPersonalInformation, поэтому создадим между ними отношение ассоциации.

Контрольные вопросы

1.Что такое атрибут класса?

2.Чем характеризуется атрибут класса?

3.Что такое операция класса?

4.Чем характеризуется операция класса?

5.Что такое квантор видимости?

6.Какие отношения между классами Вы знаете?

Лабораторная работа № 6

Цель работы: научиться создавать диаграммы состояний (State machine diagram) средствами StarUML.

Задание 1. Создать диаграмму состояний объекта класса «Заказ» и отобразить на ней все возможные состояния (статусы) заказа и переходы между ними.

Задание 2. Добавить в состояния деятельности. Так при оформлении заказа он должен быть оплачен (входное действие «Оплатить заказ»), обработка заказа подразумевает проверку оплаты и наличия товаров (деятельность «Проверить оплату и наличие»), переход в одно из состояний «На комплектации», «Укомплектован», «Выдан» означает смену статуса заказа (соответствует действию выхода «Изменить статус»).

Задание 3. Добавить на диаграмму состояний события и условия, вызывающие переходы из одного состояния в другое. Так, если покупатель получил заказ, то это событие вызывает переход из состояния «Укомплектован» в состояние «Выдан». Если же покупатель не получил свой заказ в течение двух недель, то заказ расформировывается, а деньги возвращаются покупателю на банковскую карту. Условие [Покупатель не забрал заказ в течение 2 недель] вызывает переход в состояние «Расформирован» при этом выполняется действие «Вернуть деньги на карту».

Контрольные вопросы

1.Что описывает диаграмма состояний?

2.Какие элементы включает диаграмма состояний?

3.Для каких классов обычно строят диаграмму состояний?

4.Что такое псевдосостояние и какие виды псевдосостояний Вы знаете?

5.Чем различаются входное действие, выходное действие и внутренняя деятельность?

6.Чем событие отличается от перехода?

Кислицын Дмитрий Игоревич

АРХИТЕКТУРА ИНФОРМАЦИОННЫХ СИСТЕМ

Учебно-методическое пособие

по выполнению лабораторных работ для обучающихся по дисциплине «Архитектура информационных систем»

по направлению подготовки 09.03.02 Информационные системы и технологии, без профиля

Федеральное государственное бюджетное образовательное учреждение высшего образования «Нижегородский государственный архитектурно-строительный университет»

603950, Нижний Новгород, ул. Ильинская, 65. http://www.nngasu.ru, srec@nngasu.ru

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]