Лабораторная работа 1 Структурно-функциональное моделирование Создание функциональной модели с помощью BPwin 4.0 Цель работы: изучить методологию функционального моделирования IDEF0. 1. Создание контекстной диаграммы Цель упражнений – приобрести навык проектирования функциональных моделей в BPwin 4.O. Для выполнения последующего упражнения необходимо иметь результат выполнения предыдущего, поэтому рекомендуется сохранять модель, полученную в конце каждого упражнения. В качестве примера рассматривается деятельность вымышленной компании. Компания занимается в основном сборкой и продажей настольных компьютеров и ноутбуков. Компания не производит компоненты самостоятельно, а только собирает и тестирует компьютеры. Основные процедуры в компании таковы: • продавцы принимают заказы клиентов; • операторы группируют заказы по типам компьютеров; • операторы собирают и тестируют компьютеры; • операторы упаковывают компьютеры согласно заказам; • кладовщик отгружает клиентам заказы. Компания использует купленную бухгалтерскую информационную систему, которая позволяет оформить заказ, счет и отследить платеж по счетам. Порядок выполнения работы 1. Запустите BPwin. {Кнопка Stari/BPwin). 2. Если появляется диалог ModelMart Connection Manager, нажми на кнопку Cancel. 3. Щелкните по кнопке Появляется диалог I would like to. Внесите имя модели "Деятельность компании" и выберите Туре - IDEFO. Нажмите ОК. 4. Автоматически создается контекстная диаграмма. 5. Обратите внимание на кнопку на панели инструментов. Эта кнопка включает и выключает инструмент просмотра и навигации - Model Explorer (появляется слева). Model Explorer имеет три вкладки -Activities, Diagrams и Objects. Во вкладке Activities щелчок правой кнопкой по объекту позволяет редактировать его свойства. 6. |Если вам непонятно, как выполнить то или иное действие, вы можете вызвать помощь клавиша F1 или меню Help. 7. Перейдите в меню Model/Model Properties. Во вкладке General диалога Model Properties следует внести имя модели "Деятельность компании", имя проекта "Модель деятельности компании", имя автора и тип модели - Time Frame: AS-IS. 8. Во вкладке Purpose внесите цель - "Purpose: Моделировать текущие (AS-1S) бизнес-процессы компании" и точку зрения - "Viewpoint: Директор". 9. Во вкладке Definition внесите определение "Это учебная модель, описывающая деятельность компании" и цель "Scope: Общее управление бизнесом компании: исследование рынка, закупка компонентов, сборка, тестирование и продажа продуктов". 10.Перейдите на контекстную диаграмму и правой кнопкой мыши щелкните по работе. В контекстном меню выберите Name. Во вкладке Name внесите имя "Деятельность компании". 11.Во вкладке Definition внесите определение "Текущие бизнес-процессы компании". 12.Создайте стрелки на контекстной диаграмме (табл. 1.1). Таблица 1.1. Стрелки контекстной диаграммы Arrow Name Arrow Definition Оформление счетов, оплата Бухгалтерская счетов, работа с заказами система Звонки клиентов Правила и процедуры Проданные продукты Arrow Type Mechanism Запросы информации, заказы, Input техподдержка и т. д. Правила продаж, инструкции по Control сборке, процедуры тестирования, критерии производительности и т. д. Настольные и портативные Output компьютеры 13. С помощью кнопки внесите текст в поле диаграммы - точку зрен и цель (рис. 1.1).' Результат выполнения упражнения 1 показан на рис. 1.1. Рис.1.1. Контекстная диаграмма 13.Создайте отчет по модели. Меню Tools/Reports/Model Report (рис. 1.2,1.3) Рис.1.2-Отчет Model Report Рис.1.3 2. Создание диаграммы декомпозиции 1 Выберите кнопку перехода на нижний уровень в палитре инструментов и в диалоге Activity Box Count установите число работ на диаграмме нижнего уровня - 3 - и нажмите ОК. Рис.2.1. Диалог Activity Box Count Автоматически будет создана диаграмма декомпозиции. Правой кнопкой мыши щелкните по работе, выберите Name и внесите имя работы. Повторите операцию для всех трех работ. Затем внесите определение, статус и источник для каждой работы согласно табл. 2.1. Таблица 2.1.Работы диаграммы декомпозиции^ Activity Name Definition Продажи и маркетинг Телемаркетинг и презентации, выставки Сборка и тестирование компьютеров Отгрузка и получение Сборка и тестирование настольных и портативных компьютеров Отгрузка заказов клиентам и получение компонентов от поставщиков Для изменения свойств работ после их внесения в диаграмму можно воспользоваться словарем работ. Вызов словаря - меню Dictionarv /Activity. Если описать имя и свойства работы в словаре, ее можно будет внести в диаграмму позже с помощью кнопки в палитре инструментов. Невозможно удалить работу из словаря, если она используется на какой-либо диаграмме. Если работа удаляется из диаграммы, из словаря она не удаляется. Имя и описание такой работы может быть использовано в дальнейшем. Для добавления работы в словарь необходимо перейти в конец списка и щелкнуть правой кнопкой по последней строке. Возникает новая строка, в которой нужно внести имя и свойства работы Для удаления всех имен работ, не использующихся в модели, щелкните по кнопке (Purge). 3. Перейдите в режим рисования стрелок. Свяжите граничные стрелки (кнопка на палитре инструментов) так, как показано на рис. 2.2. 2 Рис. 2.2. Связанные граничные стрелки на диаграмме АО 4. Правой кнопкой мыши щелкните по ветви стрелки управления работы "Сборка и тестирование компьютеров" и переименуйте ее в "Правила сборки и тестирования" (рис.2.3). Рис. 2.3. Стрелка "Правила сборки и тестирования" Внесите определение для новой ветви: "Инструкции по сборке, процедуры тестирования, критерии производительности и т. д." Правой кнопкой мыши щелкните по ветви стрелки механизма работы "Продажи и маркетинг" и переименуйте ее в "Систему оформления заказов". 5. Альтернативный метод внесения имен и свойств стрелок использование словаря стрелок (вызов словами —. меню Dictiоnагу/Arrow). Если внести имя и свойства стрелки в словарь, ее можно будет внести в диаграмму позже. Стрелку нельзя удалить из словаря, если она используется на какой-либо диаграмме. Если удалить стрелку из диаграммы, из словаря она не удаляется. Имя и описание такой стрелки может быть использовано в дальнейшем. Для добавления стрелки необходимо перейти в конец списка и щелкнуть правой кнопкой по последней строке. Возникает новая строка, в которой нужно внести имя и свойства стрелки. 6. Создайте новые внутренние стрелки так, как показано на рис. 2.5. Рис. 2.4.Внутренние стрелки диаграммы АО 7. Создайте стрелку обратной связи (по управлению) "Результаты сборьи и тестирования", идущую, от. работы "Сборка и тестирование компьютеров" к работе "Продажи и маркетинг". Измените стиль стрелки (толщина линий) и установите опцию Extra Arrowhead (из контекстного меню). Методом drag&drop перенесите имена стрелок так, чтобы их было удобнее читать. Если необходимо, установите Squiggle (из контекстного меню). Результат изменений показан на рис. 2.5. Рис. 2.5. Результат редактирования стрелок на диаграмме АО 8. Создайте новую граничную стрелку выхода "Маркетинговые материалы", выходящую из работы "Продажи и маркетинг". Эта стрелка автоматически не попадает на диаграмму верхнего уровня и имеет квадратные скобки на наконечнике: . Щелкните правой кнопкой мыши по квадратным скобкам и выберите пункт меню Arrow Tunnel. В диалоге Border Arrow Editor выберите опцию Resolve it to Border Arrow. Для стрелки "Маркетинговые материалы" выберите опцию Trim из контекстного меню. Результат выполнения упражнения 2 показан на рис.2.6. Рис.2.6. Результат выполнения упражнения 2-диаграмма АО 3. Создание диаграммы декомпозиции А2 В результате проведения экспертизы получена следующая информация. Производственный отдел получает заказы клиентов от отдела продаж по мере их поступления. Диспетчер координирует работу сборщиков, сортирует заказы, группирует их и дает указание на отгрузку компьютеров, когда они готовы. Каждые 2 часа диспетчер группирует заказы отдельно для настольных компьютеров и ноутбуков - и направляет на участок сборки. Сотрудники участка сборки собирают компьютеры согласно спецификациям заказа и инструкциям по сборке. Когда группа компьютеров, cooтветствующая группе заказов, собрана, она направляется на тестирование. Тестировщики тестируют каждый компьютер и в случае необходимости заменяют неисправные компоненты. Тестировщики направляют результаты тестирования диспетчеру который на основании этой информации принимает решение о передаче компьютеров, соответствующих группе заказов, на отгрузку. Самостоятельно Декомпозируем работу "Сборка и тестирование компьютеров". На основе информации экспертизы внесите новые работы и стрелки (таб.3.1. и таб.3.2.) Таблица 3.1. Работы диаграммы декомпозиции А2 Activity Name Отслеживание расписания и управление сборкой и тестированием Сборка настольных компьютеров Сборка ноутбуков Тестирование компьютеров Activity Definition Просмотр заказов, установка расписания выполнения заказов, просмотр результатов тестирования, формирование групп заказов на сборку и отгрузку Сборка настольных компьютеров в соответствии с инструкциями и указаниями диспетчера Сборка ноутбуков в соответствии с инструкциями и указаниями диспетчера Тестирование компьютеров и компонентов. Замена неработающих компонентов Таблица 3.2. Стрелки диаграммы декомпозиции А2 Arrow Arrow Name Arrow Source Arrow Dest. Source Type Персонал Диспетчер : Отслеживание производственного расписания и отдела управление сборкой и тестированием Arrow Dest.Type Mechanism Заказы клиентов Граница диаграммы Control Заказы на настольные Отслеживание Output расписания и компьютеры управление сборкой и тестированием Отслеживание Заказы на ноутбуки Output расписания и управление сборкой и тестированием Компоненты "Tunnel" Input Настольные компьютеры Ноутбуки Сборка настольных компьютеров Сборка ноутбуков Персонал производственного отдела "Tunnel" Правила сборки и тестирования Output Output Output Результаты тестирования Сборка ноутбуков Тестирование компьютеров Тестирование компьютеров Тестирование компьютеров Персонал производственного отдела Отслеживание расписания и управление сборкой и тестированием Output Указание передать компьютеры на отгрузку Сборка настольных компьютеров Сборка ноутбуков Input Сборка настольных компьютеров Сборка ноутбуков Сборка настольных компьютеров Output Output Control' Control' Сборка ноутбуков Граница диаграммы Control Сборка ноутбуков' Тестирование компьютеров Тестирование Output компьютеров Тестирование Output компьютеров Сборка настольных Mechanism компьютеров Результаты сборки и тестирования Собранные компьютеры Тестировщик Отслеживание расписания и управление сборкой и тестированием Сборка настольных компьютеров Input Input Input Input Mechanism Mechanism Cont rol Control ^ Тестирование компьютеров Граница диаграммы Control Отслеживание расписания и управление сборкой и тестированием Граница диаграммы Тестирование компьютеров Тестирование компьютеров Input Output Output Mechanism Control 2.Туннелируйте и свяжите на верхнем уровне граничные стрелки если это необходимо. Результат выполнения упражнения 3 показан на рис.3.1. Рис. 3.1. Результат выполнения упражнения 3 4. Создание диаграммы узлов 1. Выберите меню Diagram/Add Node Tree. В первом диалоге вида Node Tree Wizard внесите имя диаграммы, укажите диаграмму корня дерева и количество уровней (рис.4.1). Рис. 4.1. Первый диалог гида Node Tree Wizard 2.Во втором диалоге установите опции, как на рис.4.2 Рис.4.2. Второй диалог гида Node Tree Wizard 1. Щелкните по Finish. Создается диаграмма дерева узлов. Результат можно посмотреть на рис.4.3. Рис. 4.3. Диаграмма дерева узлов 2. Диаграмму дерева узлов можно модифицировать. Нижний уровень может быть отображен не в виде списка, а в виде прямоугольников, так же как и верхние уровни. Для модификации диаграммы правой кнопкой мыши щелкните по свободному месту, не занятому объектами, выберите меню Node tree Diagram Properties и во вкладке Style диалога Node Tree Properties отключите опцию Bullet Last Level. Щелкните по ОК. Результат показан на рис.4.4. Рис.4.4. Результат выполнения упражнения 4 5.Расщепление и слияние модели 5.1. Расщепление модели 1. Перейдите на диаграмму А0. Правой кнопкой мыши щелкните по работе «Сборка и тестирование компьютеров» и выберите Split model. 2. В диалоге SplitOption внесите имя новой модели»Сборка и тестирование компьютеров», установите опции, как на рисунке, и щелкните по ОК (рис.6.1.) Рис.6.1. Результат выполнения упражнения 4 3. Посмотрите на результат: в Model Explorer появилась новая модель, а на диаграмме АО модели "Деятельность компании" появилась стрелка вызова "Сборка и тестирование компьютеров". 4. Создайте в модели "Сборка и тестирование компьютеров" новую стрелку "Неисправные компоненты". На диаграмме АО это будет граничная стрелка выхода, на диаграмме АО - граничная стрелка выхода от работ "Сборка настольных компьютеров ", "Тестирование компьютеров" и "Сборка ноутбуков". 5.2. Слияние модели 1. Перейдите на диаграмму АО модели "Деятельность компании". 2. Правой кнопкой мыши щелкните по работе "Сборка и тестирование компьютеров" и выберите Merge model. 3. В диалоге Merge Model включите опцию Cut/Paste entire dictionaries и щелкните по ОК. Посмотрите на результат. В Model Explorer видно, что две модели слились. Модель "Сборка и тестирование компьютеров" осталась и может быть сохранена в отдельном файле. На диаграмме АО модели "Деятельность компании" исчезла стрелка вызова "Сборка и тестирование компьютеров". Появилась неразрешенная граничная стрелка "Неисправные компоненты". Направьте эту стрелку к входу работы "Отгрузка и получение". Лабораторная работа 2 Предпроектное исследование предметной области. Моделирование бизнес-процессов предприятия Цель работы: изучить методологию функционального моделирования IDEF0 и получить практические навыки в моделировании предметной области. 1. Построить модель предметной области, согласно выбранного варианта (Приложение А) с помощью нотации IDEF0: Модель должна отражать бизнес-процессы предметной области (Приложение А) Наличие в модели не менее 3 уровней: контекстная диаграмма и 2 уровня декомпозиции. Контекстная диаграмма должна включать не менее 3 функциональных блоков Лабораторная работа 3 Проектирование программных средств. Моделирование архитектуры программного средства Цель работы: научиться создавать формальные модели и на их основе определять спецификации разрабатываемого программного обеспечения. 1. Построить модель архитектуры проектируемого программного средства (Приложение А) с помощью нотации потоков данных (DFD). 2. При построении диаграммы потоков данных (DFD) учитывать следующие правила: Размещать на каждой диаграмме от 3 до 7 процессов. Избегать несущественных на данном уровне деталей. Декомпозицию потоков данных выполнять одновременно с декомпозицией процессов (т.е., параллельно!). Избегать аббревиатур, имена подбирать по существу. Имена процессов должны быть глаголами или глагольными существительными. Имена подсистем должны быть существительными. Имена потоков должны быть названиями документов или групп документов. Не дублировать определения функционально идентичных процессов, ссылаться на имеющееся на более высоком уровне определение. 3. Определить диаграммы «сущность—связь» для моделирования структур данных, согласно разработанной архитектуры системы. Приложение А Варианты заданий 1. Опишите процесс учета посещения студентов учебных занятий и успеваемости студентов с точки зрения работника деканата. Разработать программный модуль «Учет успеваемости студентов». Программный модуль предназначен для оперативного учета успеваемости студентов в сессию деканом, заместителями декана и сотрудниками деканата. Сведения об успеваемости студентов должны храниться в течение всего срока их обучения и использоваться при составлении справок о прослушанных курсах и приложений к диплому. 2. Опишите процесс учета студентов, обучающихся в институте от процесса зачисления студента до получения диплома с точки зрения работника деканата. Разработать программный модуль «Личные дела студентов». Программный модуль предназначен для получения сведений о студентах сотрудниками деканата, профкома и отдела кадров. Сведения должны храниться в течение всего срока обучения студентов и использоваться при составлении справок и отчетов. 3. Опишите процесс организации рабочего дня руководителя с точки зрения его секретаря. Разработать приложение «Органайзер». Приложение предназначено для записи, хранения и поиска адресов и телефонов физических лиц и организаций, а также расписания, встреч и др. Приложение предназначено для организации рабочего дня руководителя. 4. Опишите процесс работы кафедры вуза с точки зрения преподавателя. Разработать программный модуль «Кафедра», содержащий сведения о сотрудниках кафедры (ФИО, должность, ученая степень, дисциплины, нагрузка, общественная работа, совместительство и др.). Модуль предназначен для использования сотрудниками отдела кадров и деканата. 5. Опишите процесс работы лаборатории с точки зрения ее служащего. Разработать программный модуль «Лаборатория», содержащий сведения о сотрудниках лаборатории (ФИО, пол, возраст, семейное положение, наличие детей, должность, ученая степень). Модуль предназначен для использования сотрудниками профкома и отдела кадров. 6. Опишите процесс работы химчистки с точки зрения ее служащего. Разработать программный модуль «Химчистка». При записи на обслуживание заполняется заявка, в которой указываются ФИО владельца, описание изделия, вид услуги, дата приема заказа и стоимость услуги. После выполнения работ распечатывается квитанция. 7. Опишите процесс организации работы с нарушителями правил дорожного движения с точки зрения работника милиции. Разработать программный модуль «Учет нарушений правил дорожного движения». Для каждой автомашины (и ее владельца) в базе хранится список нарушений. Для каждого нарушения фиксируется дата, время, вид нарушения и размер штрафа. При оплате всех штрафов машина удаляется из базы. 8. Опишите процесс работы автомагазина с точки зрения его служащего. Разработать программный модуль «Картотека автомагазина», предназначенный для использования работниками магазина. В базе содержатся сведения об автомобилях (марка, объем двигателя, дата выпуска и др.). При поступлении заявки на покупку производится поиск подходящего варианта. Если такого нет, клиент заносится в клиентскую базу и оповещается, когда вариант появляется. 9. Опишите процесс работы АТС с точки зрения ее служащего. Разработать программный модуль «Картотека абонентов АТС». Картотека содержит сведения о телефонах и их владельцах. Фиксирует задолженности по оплате (абонентской и повременной). Считается, что повременная оплата местных телефонных разговоров уже введена. 10. Опишите процесс организации работы автостанции с точки зрения ее служащего. Разработать программный модуль «Автокасса», содержащий сведения о наличии свободных мест на автобусные маршруты. В базе должны содержаться сведения о номере рейса, маршруте, водителе, типе автобуса, дате и времени отправления, а также стоимости билетов. При поступлении заявки на билеты программа производит поиск подходящего рейса. 11. Опишите процесс работы книжного магазина с точки зрения его служащего. Разработать программный модуль «Книжный магазин», содержащий сведения о книгах (автор, название, издательство, год издания, цена). Покупатель оформляет заявку на нужные ему книги, если таковых нет, он заносится в базу и оповещается, когда нужные книги поступают в магазин. 12. Опишите процесс работы автостоянки с точки зрения ее служащего. Разработать программный модуль «Автостоянка». В программе содержится информация о марке автомобиля, его владельце, дате и времени въезда, стоимости стоянки, скидках, задолженности по оплате и др. 13. Опишите процесс организации работы гостиницы с точки зрения администратора. Разработать программный модуль «Гостиница», содержащий сведения о наличии свободных мест и о проживающих в гостинице. Программный модуль предназначен для бронирования мест в гостинице и оформления проживающих. 14. Опишите процесс организации работы детективного агентства с точки зрения ее работников. Разработать программный модуль «Детективное агентство», содержащий сведения о клиентах агентства и об оказанных услугах. Программный модуль предназначен для учета средств за оказанные услуги. 15. Опишите процесс работы музея с точки зрения его служащего. Разработать программный модуль «Музей», предназначенный для использования работниками музея. В базе содержатся сведения об экспонатах музея и вносятся данные при поступлении новых экземпляров. При выполнении инвентаризации данные заносятся в базу, проводится сверка и выдаются отчеты по учету экспонатов в музее.