Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
CASE технологии проектирования информационных систем на основе языка UML в программной среде Rational Rose.
Лабораторная работа № 6 CASE технологии проектирования информационных систем на основе языка UML в программной среде Rational Rose. Цель: на примере модельной задачи по автоматизации бизнес-процессов работы торгового предприятия изучить все этапы проектирования автоматизированной системы. Для выполнения лабораторной работы на компьютере должен быть установлен пакет не ниже Rational Rose 2001. В заданиях строятся диаграммы логического проектирования, не имеющие прямого отношения к языку программирования. Для лучшего понимания диаграмм в работах используется кириллизованный текст, хотя для подготовки модели к кодогенерации, кириллица в именах классов, атрибутах и методах заменяется на латинский шрифт.
Перечень заданий: 1. Создание диаграммы вариантов использования и действующих лиц 2. Создание диаграммы Последовательности 3. Создание Кооперативной диаграммы 4. Диаграмма Состояний для класса Заказ 5. Построение диаграммы Активности для варианта использования «Выполнить поставку Заказа» 6. Пакеты и классы 7. Уточнение методов и свойств классов 8. Описание связей между классами Создание диаграммы вариантов использования и действующих лиц. Постановка задачи (описание предметной области). Магазин осуществляет продажу товаров клиенту путем оформления документов «Заказ». Директор магазина- Антон, принял решение автоматизировать документооборот продаж товара и пригласил для выполнения работ программиста Павла. Поговорив с Антоном, в соответствие с концепцией жизненного цикла (ЖЦ) программы програмист приступил к описанию бизнес процессов, сопровождающих продажу товара. Взяв за основу язык UML, он начал с построения контекстной диаграммы процессов- Use Case diagram. Диаграмма должна ответить на вопрос-«что должно делаться в системе и кто участник этих процессов». Окончательный вид диаграммы показан на рис. 1.
Рис. 1 Диаграмма вариантов использования задачи о заказе товара.
Этапы выполнения упражнения. 1. Дважды щелкнув мышью на Главной диаграмме Вариантов Использования (Main) в браузере, откройте ее. 2.С помощью кнопки Use Case (Вариант использования) панели инструментов поместите на диаграмму новый вариант использования. Назовите его " Ввести новый заказ". 3. Повторив этапы 2 и 3, поместите на диаграмму остальные варианты использования: Изменить существующий заказ Напечатать инвентарную опись Обновить инвентарную опись Оформить заказ Отклонить заказ Выполнить поставку заказа 4. С помощью кнопки Actor (Действующее лицо) панели инструментов поместите на диаграмму новое действующее лицо. 5. Назовите его " Продавец ". 6. Повторив шаги 4 и 5, поместите на диаграмму остальных действующих лиц: Управляющий магазином Клерк магазина Бухгалтерская система 7. Создание абстрактного варианта использования (не требующего дальнейшей декомпозиции). Щелкните правой кнопкой мыши на варианте использования " Отклонить заказ" на диаграмме. В открывшемся меню выберите пункт Open Specification (Открыть спецификацию). Установите флажок Abstract (Абстрактный), чтобы сделать этот вариант использования абстрактным. Добавление ассоциаций 1. С помощью кнопки Unidirectional Association (Однонаправленная ассоциация) панели инструменте нарисуйте ассоциацию между действующим лицом Продавец и вариантом использования " Ввести заказ". 2. Повторив шаг 1, поместите на диаграмму остальные ассоциации, согласно рис. 1. Добавление связи расширения С помощью кнопки Generalization (Обобщение) панели инструментов нарисуйте связь между вариантом использования " Отклонить заказ" и вариантом использования " Оформить заказ". Стрелка должна быть направлена от первого варианта использования ко второму. Связь расширения означает, что вариант использования " Отклонить заказ" при необходимости дополняет функциональные возможности варианта использования " Оформить заказ". Щелкните правой кнопкой мыши на новой связи между вариантами использования " Отклонить заказ" и " Оформить заказ". В открывшемся меню выберите пункт Open Specification (Открыть спецификацию). В раскрывающемся списке стереотипов введите слово extends (расширение), затем нажмите ОК. Надпись «extends» появится на линии данной связи. Добавление описаний к вариантам использования Выделите в браузере вариант использования " Ввести новый заказ". В окне документации введите следующее описание: " Этот вариант использования дает клиенту возможность ввести новый заказ в систему". С помощью окна документации добавьте описания ко всем остальным вариантам использования. Добавление описаний к действующему лицу Выделите в браузере действующее лицо Продавец. В окне документации введите следующее описание: " Продавец — это служащий, старающийся продать товар". С помощью окна документации добавьте описания к остальным действующим лицам. Этапы выполнения упражнения Настройка программной среды 1. В меню модели выберите пункт Tools > - Options (Инструменты > - Параметры). 2. Перейдите на вкладку Diagram (Диаграмма). 3. Установите флажки Sequence numbering, Collaboration numbering и Focus of control. 4. Нажмите OK, чтобы выйти из окна параметров. Создание диаграммы 1. Найдитев браузере класс Заказ. 2. Щелкните на классе правой кнопкоймыши и в открывшемся меню укажите пункт New > Statechart Diagram (Создать диаграмму состояний). Добавление начального и конечного состояний 1. Нажмите кнопку Start State (Начальное состояние) панели инструментов. 2. Поместите это состояние на диаграмму. 3. Нажмите кнопку End State (Конечное состояние) панели инструментов. 4. Поместите это состояние на диаграмму. Добавление суперсостояния 1. Нажмите кнопку State (Состояние) панели инструментов. 2. Поместите это состояние на диаграмму. Добавление переходов
1. Нажмите кнопку Transition(Переход) панели инструментов. 2. Щелкните мышью на начальном состоянии. 3. Проведите линию перехода к состояниюИнициализация. 4. Повторив шаги с первого по третий, создайте следующие переходы: - От состояния Инициализация к состояниюВыполнение заказа приостановлено - От состоянияВыполнение заказа приостановлено к состояниюВыполнен - От суперсостояния к состояниюОтменен - От состоянияОтменен к конечному состоянию - От состоянияВыполнен к конечному состоянию 5. На панели инструментов нажмите кнопку Transition to Self (Переход к себе). 6. Щелкните мышью на состоянии Выполнение заказа приостановлено Описание переходов 1. Дважды щелкнув мышью на переходеот состояния Инициализацияк состоянию Выполнение заказа приостановлено, откройте окно спецификации перехода. 2. В поле Event (Событие) введите фразуВыполнить заказ. 3. Щелкнув на кнопке ОК, закройте окно спецификации. 4. Повторив шаги с первого по третий, добавьте событиеОтменить заказ к переходу между суперсостоянием и состоянием Отменен. 5. Дважды щелкнув мышью на переходе от состояния Выполнение заказа приостановлено к состоянию Выполнен, откройте окно его спецификации. 6. В поле Event (Событие) введите фразуДобавить к заказу новую позицию. 7. Перейдите на вкладку Detail (Подробно). 8. В поле Guard Condition (Сторожевое Условие) введитеНе осталось незаполненных позиций. 9. Щелкнув на кнопке ОК, закройте окно спецификации. 10. Дважды щелкните мышью на рефлексивном переходе (Transition to Self) состояния Выполнение заказа приостановлено. 11. В поле Event (Событие) введите фразуДобавить к заказу новую позицию. 12. Перейдите на вкладку Detail (Подробно). 13. В поле Guard Condition (Сторожевое Условие) введитеОстаются незаполненные позиции. 14. Щелкнув на кнопке ОК, закройте окно спецификации.
Построение диаграммы Активности для варианта использования «Выполнить поставку Заказа». Побеседовав с Павлом, Антон понял, что необходимо согласовать логику реализации еще одного варианта использования «Выполнить поставку заказа». Стало ясно, что здесь возможны несколько альтернативных потоков управления. Для таких ситуаций более удобно использовать не диаграммы взаимодействия, приспособленные для единственного потока, а диаграмму активности. Описание варианта использования. При оформлении заказа проверяют каждую содержащуюся в нем позицию, чтобы убедиться в наличии соответствующих товаров на складе. После этого выписываются товары для реализации заказа. Во время выполнения этих процедур одновременно проверяется прохождение платежа. Если платеж прошел, и товары имеются на складе, то осуществляется их поставка. Если платеж прошел, но товары на складе отсутствуют, то заказ ставится в ожидание. Если платеж не прошел, то заказ аннулируется. Пакеты и классы В этом упражнении необходимо сгруппировать в пакеты классы, созданные при выполнении предыдущих работ. Затем нужно будет построить несколько диаграмм Классов и показать на них классы и пакеты системы. Создание диаграммы Классов Объедините обнаруженные классы в пакеты. Создайте диаграмму Классов для отображения пакетов, диаграммы Классов, для представления классов в каждом пакете и диаграмму Классов для представления всех классов варианта использования " Ввести новый заказ". Этапы выполнения упражнения Создание пакетов 1. Щелкните правой кнопкой мыши на Логическом представлении браузера. 2. В открывшемся меню выберите пункт New > Package (Создать > Пакет). 3. Назовите новый пакет Сущности. 4. Повторив шаги 1—3, создайте пакеты Границы и Управление. Создание Главной диаграммы Классов 1. Дважды щелкнув мышью на Главной диаграмме Классов, находящейся под Логическим представлением браузера, откройте ее. 2. Перетащите пакет Сущности из браузера на диаграмму. 3. Перетащите пакеты Границы и Управление из браузера на диаграмму. Главная диаграмма Классов должна выглядеть, как показано на рис. 7
Рис. 7 Главная диаграмма классов в логическом представлении браузера. Создание диаграммы Классов для сценария " Ввести новый заказ" с отображением всех классов 1. Щелкните правой кнопкой мыши на Логическом представлении браузера. 2. В открывшемся меню выберите пункт New > Class Diagram (Создать > Диаграмма Классов). 3. Назовите новую диаграмму Классов: Ввод нового заказа. 4. Дважды щелкнув мышью на этой диаграмме в браузере, откройте ее. 5. Перетащите из браузера все классы (Выбор_заказа, Заказ_деталей, упр_заказами, Заказ, Упр_транзакциями. Рис. 8 Представление пакетов и классов Добавление диаграмм Классов к каждому пакету 1. В браузере щелкните правой кнопкой мыши на пакете Границы. 2. В открывшемся меню выберите пункт New > Class Diagram (Создать > Диаграмма Классов). 3. Введите имя новой диаграммы — Main (Главная). 4. Дважды щелкнув мышью на этой диаграмме, откройте ее. 5. Перетащите на нее из браузера классы выбор_заказа и заказ_деталей. 6. Закройте диаграмму. В браузере щелкните правой кнопкой мыши на пакете Сущности. 8. В открывшемся меню выберите пункт New > Class Diagram (Создать > Диаграмма Классов). 9. Введите имя новой диаграммы — Main (Главная). 10. Дважды щелкнув мышью на этой диаграмме, откройте ее. 11. Перетащите на нее из браузера класс Заказ. 12. Закройте диаграмму 13. В браузере щелкните правой кнопкой мыши на пакете Управление 14. В открывшемся меню выберите пункт New > Class Diagram (Создать > Диаграмма Классов). 15. Введите имя новой диаграммы — Main (Главная). 16. Дважды щелкнув мышью на этой диаграмме, откройте ее. 17. Перетащите на нее из браузера классы Упр_заказами и Упр_транзакциями 18. Закройте диаграмму
Постановка проблемы Для определения атрибутов классов был проанализирован поток событий. В результате к классу Заказ диаграммы Классов были добавлены атрибуты Номер заказа и Имя клиента. Так как в одном заказе можно указать большое количество товаров и у каждого из них имеются свои собственные данные и поведение, было решено моделировать товары как самостоятельные классы, а не как атрибуты класса Заказ. Этапы выполнения упражнения Настройка 1. В меню модели выберите пункт Тооls > Options (Инструменты > Параметры). 2. Перейдите на вкладку Diagram. 3. Убедитесь, что флажок Show visibility (Показать видимость) установлен. 4. Убедитесь, что флажок Show stereotyps (Показать стереотипы) установлен. 5. Убедитесь, что флажок Show operation signatures (Показать сигнатуры операций) установлен. 6. Убедитесь, что флажки Show all attributes (Показать все атрибуты) и Show all operations (Показать вое операции) установлены. 7. Убедитесь, что флажки Suppress attributes (Подавить атрибуты) и Suppress operations (Подавить операции) сброшены. 8. Перейдите на вкладку Notation (Нотация). 9. Убедитесь, что флажок Visibility as icons (Отображать пиктограммы) сброшен. Добавление нового класса 1. Найдите в браузере диаграмму Классов варианта использования " Ввести новый заказ". 2. Дважды щелкнув мышью на диаграмме, откройте ее. 3. Нажмите кнопку С1аss панели инструментов. 4. Щелкните мышью внутри диаграммы, чтобыпоместить туда новый класс. 5. Назовите егоПозиц_заказа. 6. Назначьте этому классу стереотипEntity. 7. В браузере перетащите класс в пакет Сущности. Добавление атрибутов 1. Щелкните правой кнопкой мыши на классе Заказ. 2. В открывшемся меню выберите пункт New Attribute (Создать атрибут), 3. Введите новый атрибут: OrderNumber : Integer 4. Нажмите клавишу Enter 5. Введите следующий атрибут: CustomerName : String. 6. Повторив шаги 4 и 5, добавьте атрибуты: OrderDate : Date OrderFillDate : Date Если тип атрибута не появляется в выпадающем списке, то введите его от руки и он далее будет появляться. 7. Щелкните правой кнопкой мыши наклассеПозиц_заказа. 8. В открывшемся меню выберитепункт New Attribute (Создать атрибут). 9. Введите новый атрибут: ItemID: Integer. 10. НажмитеклавишуEnter. 11. Введите следующий атрибут: ItemDescription: String.
Добавление операций к классу Позиц_заказа 1. Щелкнитеправой кнопкой мыши на классе Позиц_заказа. 2. В открывшемсяменю выберите пункт New Opration (Создать операцию). 3. Введите новуюоперацию: Создать() 4. Нажмитеклавишу Enter. 5. Введите следующую операцию: Взять_информацию() 6. Нажмитеклавишу Enter. 7. Введите операцию: Дать_информацию() Создать(): Воо1еаn 4. Отредактируйте операцию Взять_информацию: Взять_информацию (OrderNum: Integer, Customer: String, OrderDate: Date, FillDate: Date): Boolean 5. Отредактируйте операцию Дать_информацию; Дать_информацию(): String Подробное описание операций 1. Используя браузер или диаграмму Классов, введите следующие сигнатуры операций класса Заказ_деталей: Открыть(): Boolean Сохранить заказ(): Boolean 2. Используя браузер или диаграмму Классов, введите сигнатуру операций классаВыбор_заказа: Создать(): Воо1еаn 3. Используя браузер или диаграмму Классов, введите сигнатуру операций класса Упр_заказами: Сохранить заказ(OrderID: Integer): Воо1еаn 4. Используя браузер или диаграмму Классов, введите сигнатуры операций класса Упр_транзакциями: Сохранить заказ(OrderID: Integer): Boolean Сохранить информацию(): Integer Описание связей между классами В этом упражнении определяются связи между классами, участвующими в варианте использования " Ввести новый заказ". Постановка задачи Чтобы найти связи, были просмотрены диаграммы Последовательности. Все взаимодействующие там классы нуждались в определении соответствующих связей на диаграммах Классов. После обнаружения связи были добавлены на диаграммы классов. Добавление связей Добавим связи к классам, принимающим участие в варианте использования " Ввести новый заказ". Этапы выполнения упражнения Настройка 1. Найдите в браузере диаграмму Классов " Ввод нового заказа", 2. Дважды щелкнув на диаграмме, откройте ее. 3. Проверьте, имеется ли в панели инструментов диаграммы кнопка Unidirectional Association (Однонаправленная ассоциация). Если ее нет, продолжите настройку, выполнив шаги 4 и 5. Если есть, приступайте к выполнению самого упражнения. 4. Щелкните правой кнопкой мыши на панели инструментов диаграммы и в открывшемся меню выберите пункт Customize(Настроить), 5. Добавьтена панель кнопку Creates A Unidirectional Association (Создать однонаправленную ассоциацию). Добавление ассоциаций 1. Нажмите кнопку Unidirectional Association панели инструментов. 2. Проведите ассоциацию от класса выбор_заказа к классу заказ_деталей. 3. Повторите шаги 1 и 2, создав ассоциации: • От класса заказ_деталей к классу упр_заказами • От класса упр_заказами к классу Заказ • Откласса упр_заказами к классу упр_транзакциями • От класса упр_транзакциями к классу Заказ • От класса упр_транзакциями к классу Позиц_заказа • От класса Заказ к классу Позиц_заказа 4. Щелкните правой кнопкой мыши на однонаправленной ассоциации между классами выбор_заказа и заказ_деталей класса выбор_заказа. 5. В открывшемся меню выберите пункт Multiplicity > Zero or One (Множественность > - Нуль или один), 6. Щелкните правой кнопкой мыши на другом конце однонаправленной ассоциации. 7. В открывшемся меню выберите пункт Multiplicity > Zero or One (Множественность > Нуль или один), 8. Повторите шаги 4—7, добавив на диаграмму значения множественности для остальных ассоциаций, как показано на рис. 10
Рис. 10 Ассоциации сценария " Ввести новый заказ"
Лабораторная работа № 6 CASE технологии проектирования информационных систем на основе языка UML в программной среде Rational Rose. Цель: на примере модельной задачи по автоматизации бизнес-процессов работы торгового предприятия изучить все этапы проектирования автоматизированной системы. Для выполнения лабораторной работы на компьютере должен быть установлен пакет не ниже Rational Rose 2001. В заданиях строятся диаграммы логического проектирования, не имеющие прямого отношения к языку программирования. Для лучшего понимания диаграмм в работах используется кириллизованный текст, хотя для подготовки модели к кодогенерации, кириллица в именах классов, атрибутах и методах заменяется на латинский шрифт.
Перечень заданий: 1. Создание диаграммы вариантов использования и действующих лиц 2. Создание диаграммы Последовательности 3. Создание Кооперативной диаграммы 4. Диаграмма Состояний для класса Заказ 5. Построение диаграммы Активности для варианта использования «Выполнить поставку Заказа» 6. Пакеты и классы 7. Уточнение методов и свойств классов 8. Описание связей между классами Создание диаграммы вариантов использования и действующих лиц. Постановка задачи (описание предметной области). Магазин осуществляет продажу товаров клиенту путем оформления документов «Заказ». Директор магазина- Антон, принял решение автоматизировать документооборот продаж товара и пригласил для выполнения работ программиста Павла. Поговорив с Антоном, в соответствие с концепцией жизненного цикла (ЖЦ) программы програмист приступил к описанию бизнес процессов, сопровождающих продажу товара. Взяв за основу язык UML, он начал с построения контекстной диаграммы процессов- Use Case diagram. Диаграмма должна ответить на вопрос-«что должно делаться в системе и кто участник этих процессов». Окончательный вид диаграммы показан на рис. 1.
Рис. 1 Диаграмма вариантов использования задачи о заказе товара.
Этапы выполнения упражнения. 1. Дважды щелкнув мышью на Главной диаграмме Вариантов Использования (Main) в браузере, откройте ее. 2.С помощью кнопки Use Case (Вариант использования) панели инструментов поместите на диаграмму новый вариант использования. Назовите его " Ввести новый заказ". 3. Повторив этапы 2 и 3, поместите на диаграмму остальные варианты использования: Изменить существующий заказ Напечатать инвентарную опись Обновить инвентарную опись Оформить заказ Отклонить заказ Выполнить поставку заказа 4. С помощью кнопки Actor (Действующее лицо) панели инструментов поместите на диаграмму новое действующее лицо. 5. Назовите его " Продавец ". 6. Повторив шаги 4 и 5, поместите на диаграмму остальных действующих лиц: Управляющий магазином Клерк магазина Бухгалтерская система 7. Создание абстрактного варианта использования (не требующего дальнейшей декомпозиции). Щелкните правой кнопкой мыши на варианте использования " Отклонить заказ" на диаграмме. В открывшемся меню выберите пункт Open Specification (Открыть спецификацию). Установите флажок Abstract (Абстрактный), чтобы сделать этот вариант использования абстрактным. Добавление ассоциаций 1. С помощью кнопки Unidirectional Association (Однонаправленная ассоциация) панели инструменте нарисуйте ассоциацию между действующим лицом Продавец и вариантом использования " Ввести заказ". 2. Повторив шаг 1, поместите на диаграмму остальные ассоциации, согласно рис. 1. Добавление связи расширения С помощью кнопки Generalization (Обобщение) панели инструментов нарисуйте связь между вариантом использования " Отклонить заказ" и вариантом использования " Оформить заказ". Стрелка должна быть направлена от первого варианта использования ко второму. Связь расширения означает, что вариант использования " Отклонить заказ" при необходимости дополняет функциональные возможности варианта использования " Оформить заказ". Щелкните правой кнопкой мыши на новой связи между вариантами использования " Отклонить заказ" и " Оформить заказ". В открывшемся меню выберите пункт Open Specification (Открыть спецификацию). В раскрывающемся списке стереотипов введите слово extends (расширение), затем нажмите ОК. Надпись «extends» появится на линии данной связи. Добавление описаний к вариантам использования Выделите в браузере вариант использования " Ввести новый заказ". В окне документации введите следующее описание: " Этот вариант использования дает клиенту возможность ввести новый заказ в систему". С помощью окна документации добавьте описания ко всем остальным вариантам использования. Популярное:
|
Последнее изменение этой страницы: 2016-08-31; Просмотров: 1416; Нарушение авторского права страницы