
- •Задания к лабораторным работам по дисциплине "Технология проектирования программных систем" для студентов специальности "Экономическая кибернетика"
- •Лабораторная работа 1. Создание диаграммы вариантов использования и действующих лиц
- •Лабораторная работа 2. Создание диаграммы Последовательности
- •Этапы выполнения упражнения Настройка программной среды
- •Лабораторная работа 3. Создание Кооперативной диаграммы
- •Добавление на диаграмму дополнительных объектов
- •Лабораторная работа 4. Диаграмма Состояний для класса Заказ
- •Лабораторная работа 5. Построение диаграммы Активности для варианта использования «Выполнить поставку Заказа»
- •Лабораторная работа 6. Пакеты и классы
- •Создание диаграммы Классов
- •Этапы выполнения упражнения Создание пакетов
- •Объединение классов в пакеты
- •Лабораторная работа 7. Уточнение методов и свойств классов
- •Настройка0
- •Добавление атрибутов
- •Подробное описание операций с помощью диаграммы Классов
- •Подробное описание операций с помощью браузера
- •Подробное описание операций
- •Лабораторная 8. Описание связей между классами
- •Постановка задачи
- •Добавление ассоциаций
Задания к лабораторным работам по дисциплине "Технология проектирования программных систем" для студентов специальности "Экономическая кибернетика"
Порядок выполнения работы
1. Построить информационную модель (ИМ) системы, для чего:
Определить основные объекты (сущности), входящие в систему, и их атрибуты (идентификаторы, привилегированные идентификаторы и описательные атрибуты).
Определить или задать связи между объектами, их типы и условность.
Формализовать связи. С этой целью, в зависимости от типа связи,
Ввести вспомогательные атрибуты в соответствующие отношения;
Добавить ассоциативные объекты в ИМ.
2. Построить модели состояний каждого объекта с использованием графического представления диаграммы Мура. Для этого:
Определить возможные состояния объекта;
Определить события, переводящие объект из одного состояния в другое;
Задать действия, выполняемые объектом в каждом из состояний, в виде укрупненного алгоритма. •
Построить модель взаимодействия объектов и модель доступа к объектам и проконтролировать корректность порождения и приема событий, для чего, при необходимости построить схему канала управления.
Построить модели процессов для каждого действия каждого объекта системы в виде диаграммы потоков данных действий, для чего:
Определить процессы и их типы — аксессоры, генераторы событий, преобразователи, процессы проверки;
Определить условные и безусловные потоки данных и управления.
5. Построить диаграмму класса для каждого объекта системы, для чего:
Определить логические компоненты, исходя из атрибутов объектов;
На основе моделей состояний и моделей процессов определить общедоступные операции, разделив операции, базируемые на классах и базируемые на экземплярах;
Задать входы и выходы операций, исходя из данных, переносимых соответствующими событиями.
Для каждого объекта построить схему структуры класса, основываясь на моделях процессов.
Построить диаграмму наследования и диаграмму зависимостей, исходя из информационной модели, модели взаимодействия объектов и модели доступа к объектам.
Для каждого из заданий можно воспользоваться пакетами Rational Rose 2001 либо StarUML.
Варианты заданий
Система поликлиники
Система малого предприятия
Система организационного управления
Система парикмахерской
Система библиотеки
Система управления учебным процессом
Система "Клиент-Банк"
Универсальная система "Склад"
Система столовой
Система СТО
Система автозаправки
Система управления расписанием школы
Система питания детского садика
Система закупки товаров аптеки
Система швейного ателье
Система газетного киоска
Система оформления подписки на почте
Практическое руководство по выполнению лабораторных работ: CASE технологии проектирования информационных систем на основе языка UML в программной среде Rational Rose
На примере модельной задачи по автоматизации бизнес- процессов работы торгового предприятия показаны все этапы проектирования автоматизированной системы, включая кодогенерацию программного кода. Руководство состоит из 14 лабораторных работ, каждую из которых студент может выполнять самостоятельно, изредка консультируясь с преподавателем. На первых этапах (лаб. 1-7) строятся диаграммы логического проектирования, не имеющие прямого отношения к языку программирования. Для лучшего понимания диаграмм в работах используется кириллизованный текст. Затем (лаб.8), для подготовки модели к кодогенерации, кириллица в именах классов, атрибутах и методах заменяется на латинский шрифт. После этого производится построение физических моделей (Component Diagram) - затем кодогенерация программного кода. Для выполнения лабораторных работ на компьютере должен быть установлен пакет Rational Rose 2001 либо StarUML.
Однотипные элементы, встречающиеся в программах Rational Rose и StarUML:
|
Rational Rose |
StarUML |
Объект |
Object |
Classifier Role |
Связь объекта |
Object Link |
Association Role |
Сообщение связи |
Link Message |
Forward (reverse) Message |
Действующее лицо |
Actor |
|
Вариант использования |
Use Case |
|
Однонаправленная ассоциация |
Unidirectional Association |
Association |
Обобщение |
Generalization |
Преподаватель, обучающий студентов практике работы с языком UML, сталкивается с проблемой поиска методических материалов. Наиболее полезными и солидными по объему материала являются примеры из книги Богсс[1]. В ней представлено 8 лабораторных работ (называемых упражнениями), а также примеры кодогенерации на различных языках программирования. Используя опыт проведения практических работ в компьютерном классе, автор настоящего руководства обращает внимание на следующие недостатки примеров из этой книги.
Во-первых. Использование английского текста с первых упражнений не позволяет студентам хорошо понять постановку задач из диаграмм UML. И хотя русский текст нельзя использовать при кодогенерации, однако кодогенерация является необязательной при использовании UML для описания бизнес- процессов. В связи с чем, в настоящем пособии в 9 из 14 лабораторных работ используется русский текст.
Во-вторых. В [1] используется пакет Rational Rose 98. В более поздних версиях появилась новая диаграмма- Activity. В связи с чем в пособии используется версия Rose 2001, все примеры отлажены для этой версии и разработан пример для диаграммы Activity.
Целью настоящего учебного пособия является оказание помощи преподавателю и студентам в освоении технологии проектирования информационных систем с позиции объектно-ориентированного проектирования (ООП) на основе языка UML. Пособие соответствует курсу СД.Ф.01 «Проектирование информационных систем» специальности 351400 и аналогичному курсу СД. 07 специальности 071900.
Предполагается, что студент владеет основными понятиями UML в объеме книги Фаулера и Скотта [2] или Боггс [1].
Для выполнения лабораторных работ 1-8, 14 необходим пакет программ Ratonal Rose версии 2001.
Последовательность работ следующая. На первых этапах (лаб. 1- 7) строятся диаграммы логического проектирования, не имеющие прямого отношения к языку программирования. Это диаграммы концептуального моделирования, они используются для общения с постановщиками задач. Для лучшего понимания диаграмм в работах используется кириллизованный текст. Затем (лаб.8), для подготовки модели к кодогенерации, кириллица в именах классов, атрибутах и методах заменяется на латинский шрифт. После этого производится кодогенерация. Далее предлагается загрузить сгенерированный проект в IDE и добавить в него новые визуальные компоненты. Далее выполнить реинжениринг проекта в Rose, исследовать модель, описать законы кодогенерации.
Постановка задачи (описание предметной области)
Магазин осуществляет продажу товаров клиенту путем оформления документов «Заказ». Директор магазина Антон, принял решение автоматизировать документооборот продаж товара и пригласил для выполнения работ программиста Павла. Поговорив с Антоном, в соответствие с концепцией жизненного цикла (ЖЦ) программы Павел приступил к описанию бизнес процессов, сопровождающих продажу товара. Взяв за основу язык UML, он начал с построения контекстной диаграммы процессов- Use Case diagram. Диаграмма должна ответить на вопрос-«что должно делаться в системе и кто участник этих процессов».