Задание на лабораторную работу. При оформлении заказа важно проверить, существует ли такой клиент в базе данных и
При оформлении заказа важно проверить, существует ли такой клиент в базе данных и, если не существует, внести его в базу данных и затем оформить заказ. Оформление заказа начинается со звонка клиента. В процессе оформления заказа база данных клиентов может просматриваться и редактироваться. Заказ должен включать как информацию о клиенте, так и информацию о заказанных продуктах. Оформление заказа подразумевает чтение и запись информации о прочих заказах.
В процессе декомпозиции согласно правилам DFDнеобходимо преобразовать граничные стрелки во внутренние, начинающиеся и заканчивающиеся на внешних ссылках.
1. Декомпозируйте работу «Оформление заказов»на диаграмме А1 на две работы.
2. Для новых работ определите имена:
ии) «Формирование заказа»;
кк) «Проверка и ввод клиентов».
3. Добавьте на диаграмму следующие хранилищаданных:
лл) «Список клиентов»;
мм) «Список компонентов»;
нн) «Список заказов».
Работа «Проверка и ввод клиентов» взаимодействует с хранилищем данных «Список клиентов» для ввода в него информации о новых клиентах и для получения информации о зарегистрированных клиентах
Работа «Формирование заказа» взаимодействует с хранилищем данных «Список клиентов» для получения информации о зарегистрированных клиентах, с хранилищем данных «Список компонентов» для получения информации об имеющихся на складе компонентах для сборки компьютеров и с хранилищем данных «Список заказов», в котором хранятся существующие заказы клиентов и запоминаются вновь сформированные заказы.
4. Добавьте на диаграмму внешнюю сущность «Звонки клиентов», которая моделирует поступающую извне информацию на вход работ «Проверка и ввод клиентов» и «Формирование заказа». Для работы «Формирование заказа» входом являются «Заявки на заказ».
5. В результате формирования DFD диаграммы должна получиться диаграмма, представленная на рис. 5.4.
Рис. 5.4. Диаграмма декомпозиции DFD
Обратите внимание, что стрелки «Информация о клиентах»и «Заказы клиентов»двунаправленные. Кроме того, на родительской диаграмме А1стрелки, подходящие и исходящие из работы «Оформление заказов»станут туннелированными (рис. 5.5).
Рис. 5.5 – Работа «Оформление заказов» на диаграмме А1
Вопросы для самопроверки
1. Какое назначение имеют диаграммы DFD?
2. Что описывают диаграммы потоков данных DFD?
3. Что описывают внешние ссылки на диаграммах потоков данных DFD?
4. Для чего предназначены хранилища данныхна диаграммах потоков данных DFD?
5. Что представляют работы на диаграммах потоков данных DFD?
6. Что описывают стрелки на диаграммах потоков данных DFD?
7. Для чего в диаграммах DFDприменяются двунаправленные стрелки?
Лабораторная работа 6.
Созданной модели информационных потоков в виде диаграмм Workflow(IDEF3)
Цель работы: Изучить методы построения модели процессов (информационных потоков) в виде диаграмм Workflow(IDEF3).
Основные сведения
Метод описания процессов IDEF3
Наличие в диаграммах DFDэлементов для описания источников, приемников и хранилищ данных позволяет более эффективно и наглядно описать процесс документооборота. Однако для описания логики взаимодействия информационных потоков более подходит IDEF3, называемая также workflowdiagramming– методологией моделирования, использующая графическое описание информационных потоков, взаимоотношений между процессами обработки информации и объектов, являющихся частью этих процессов. Диаграммы Workflowмогут быть использованы в моделировании бизнес-процессов для анализа завершенности процедур обработки информации. С их помощью можно описывать сценарии действий сотрудников организации, например последовательность обработки заказа или события, которые необходимо обработать за конечное время. Каждый сценарий сопровождается описанием процесса и может быть использован для документирования каждой функции.
IDEF3– это метод, имеющий основной целью дать возможность аналитикам описать ситуацию, в которой процессы выполняются в определенной последовательности, а также описать объекты, участвующие совместно в одном процессе.
Техника описания набора данных IDEF3является частью структурного анализа. В отличие от некоторых методик описаний процессов IDEF3не ограничивает аналитика чрезмерно жесткими рамками синтаксиса, что может привести к созданию неполных или противоречивых моделей.
МодельIDEF3 может использоваться как метод создания процессов. Каждая работа в IDEF3описывает какой-либо сценарий бизнес-процесса и может являться составляющей другой работы. Поскольку сценарий описывает цель и рамки модели, важно, чтобы работы именовались отглагольным существительным, обозначающим процесс действия, или фразой, содержащей такое существительное.
Точка зрения на модель должна быть задокументирована. Обычно это точка зрения человека, ответственного за работу в целом. Также необходимо задокументировать цель модели − те вопросы, на которые призвана ответить модель.
ДиаграммыIDEF3
Диаграмма является основной единицей описания в IDEF3. Важно правильно построить диаграммы, поскольку они предназначены для чтения другими людьми (а не только автором).
Единицыработы − Unit of Work (UOW). UOW, также называемые работами (activity), являются центральными компонентами модели. В IDEF3 работы изображаются прямоугольниками с прямыми углами и имеют имя, выраженное отглагольным существительным, обозначающим процесс действия, одиночным или в составе фразы, и номер (идентификатор); другое имя существительное в составе той же фразы обычно отображает основной выход (результат) работы (например, «Изготовление изделия»). Часто имя существительное в имени работы меняется в процессе моделирования, поскольку модель может уточняться и редактироваться. Идентификатор работы присваивается при создании и не меняется никогда. Даже если работа будет удалена, ее идентификатор не будет вновь использоваться для других работ. Обычно номер работы состоит из номера родительской работы и порядкового номера на текущей диаграмме.
Работав IDEF3требует более подробного описания, чем работа в IDEF0. Каждая UOWдолжна иметь ассоциированный документ, который включает текстовое описание компонентов работы: объектов (Objects) и фактов (Facts), связанных с работой, ограничений (Constraints), накладываемых на работу, и дополнительное описание работы (Description). Эта информация заносится во вкладку UOWдиалога ActivityProperties(рисунок 5.1).
Рисунок6.1.ВкладкаUOWдиалогаActivityProperties
Пример значений свойств UOWприведен в таблице 6.1.
Таблица 6.1. Пример текстового описания компонентов UOW
Тип | Использование |
Name | Подготовка компонентов |
Definition | Подготавливаются все компоненты компьютера согласно спецификации заказа |
Objects | Компоненты: корпус, материнская плата, жесткий диск, гибкий диск, видеокарта, оперативная память, модем, программное обеспечение |
Constrains | Установка модема требует установки драйвера модема |
Связи.Связи показывают взаимоотношения работ. Все связи в IDEF3однонаправлены и могут быть направлены куда угодно, но обычно диаграммы IDEF3стараются построить так, чтобы связи были направлены слева направо. В IDEF3различают три типа стрелок, изображающих связи, стиль которых устанавливается во вкладке Style(рис. 6.2) диалога ArrowProperties(пункт контекстного меню Style).
Рис. 6.2.ВкладкаStyleдиалогаArrow Properties
Старшая стрелка(Precedence)– сплошная линия, связывающая единицы работ (UOW). Рисуется слева направо или сверху вниз. Показывает, что работа-источник должна закончиться прежде, чем работа-цель начнется.
Стрелка отношения(RelationalLink) – пунктирная линия, использующаяся для изображения связей между единицами работ (UOW), а также между единицами работ и объектами ссылок.
Потоки объектов(ObjectFlow) – стрелка с двумя наконечниками, применяется для описания того факта, что объект используется в двух или более единицах работы, например, когда объект порождается в одной работе и используется в другой.
Старшая связь и поток объектов. Старшая связь показывает, что работа-источник заканчивается ранее, чем начинается работа-цель. Часто результатом работы-источника становится объект, необходимый для запуска работы-цели. В этом случае стрелку, обозначающую объект, изображают с двойным наконечником. Имя стрелки должно ясно идентифицировать отображаемый объект. Поток объектов имеет ту же семантику, что и старшая стрелка.
Отношение показывает, что стрелка является альтернативой старшей стрелке или потоку объектов в смысле задания последовательности выполнения работ – работа-источник не обязательно должна закончиться прежде, чем работа-цель начнется. Более того, работа-цель может закончиться прежде, чем закончится работа-источник (рис. 6.3).
Рис. 6.3. Временная диаграмма выполнения работ
Перекрестки (Junction)
Окончание одной работы может служить сигналом к началу нескольких работ, или же одна работа для своего запуска может ожидать окончания нескольких работ. Перекрестки используются для отображения логики взаимодействия стрелок при слиянии и разветвлении или для отображения множества событий, которые могут или должны быть завершены перед началом следующей работы. Различают перекрестки для слияния (Fan-inJunction) и разветвления (Fan-outJunction) стрелок. Перекресток не может использоваться одновременно для слияния и для разветвления. Для внесения перекрестка служит кнопка (добавить в диаграмму перекресток – Junction) в палитре инструментов. Вдиалоге JunctionTypeEditorнеобходимо указать тип перекрестка. Смысл каждого типа приведен в табл. 6.2.
Таблица 6.2. Типы перекрестков
Обозначение | Наименование | Смысл в случае слияния стрелок (Fan-inJunction) | Смысл в случае разветвления стрелок (Fan-outJunction) |
Асинхронное "И" (Asynchronous AND) | Все предшествующие процессы должны быть завершены | Все следующие процессы должны быть запущены | |
Синхронное "И" (Synchronous AND) | Все предшествующие процессы завершены одновременно | Все следующие процессы запускаются одновременно | |
Асинхронное "ИЛИ" (Asynchronous OR) | Один или несколько предшествующих процессов должны быть завершены | Один или несколько следующих процессов должны быть запущены | |
Синхронное "ИЛИ" (Synchronous OR) | Один или несколько предшествующих процессов завершены одновременно | Один или несколько следующих процессов запускаются одновременно | |
Исключающее "ИЛИ" XOR (Exclusive OR) | Только один предшествующий процесс завершен | Только один следующий процесс запускается |
Все перекрестки на диаграмме нумеруются, каждый номер имеетпрефикс J. Можно редактировать свойства перекрестка при помощи диалога JunctionProperties(вызывается из контекстного меню). В отличие от IDEF0иDFDв IDEF3стрелки могут сливаться и разветвляться только через перекрестки. На рис. 6.4 представлен пример применения перекрестка синхронное «И».
Рис.6.4. Перекрестки для слияния и разветвления типа синхронного «И»
В данном случае после завершения работы 1 одновременно запускаютсяработы 2 и 4. Для запуска работы 5 требуется одновременноезавершение работ 3 и 4
На рис. 6.5 представлен пример применения перекрестка асинхронное «И». После завершения работы 1 запускаются работы 2 и 4(необязательно одновременно). Для запуска работы 5 требуется завершение работ 3 и 4 (не обязательно одновременное)
Рис.6.5. Перекрестки для слияния и разветвления типа асинхронного «И»
На рис. 6.6 представлен пример применения перекрестка асинхронное «ИЛИ». После завершения работы 1 запускается либо работа 2,либо работа 3, либо работа 4, либо их сочетание (не обязательно одновременно). Для запуска работы 5 требуется завершение любой из работ 2, 3 и4 или их сочетания (не обязательно одновременно).
Рис.6.6. Перекрестки для слияния и разветвления типа асинхронного«ИЛИ»
На рис. 6.7 представлен пример применения перекрестка синхронное «ИЛИ». После завершения работы 1 запускается либо работа 2,либо работа 3, либо работа 4, либо их сочетание. Если запускается более одной работы, требуется их одновременный запуск. Для запуска работы 5 требуется завершение любой из работ 2, 3 и 4 или их сочетания. Если завершается более чем одна работа, требуется их одновременное завершение.
Рис.6.7. Перекрестки для слияния и разветвления типа синхронного«ИЛИ»
На рис. 6.8 представлен пример применения перекрестка исключающее «ИЛИ». После завершения работы 1 запускается только однаработа — либо работа 2, либо работа 4. Для запуска работы 5 требуетсязавершение только одной из работ 3 или 4.
Рис.6.8. Перекрестки для слияния и разветвления типа исключающего «ИЛИ»
Правила создания перекрестков.На одной диаграмме IDEF3может быть создано несколько перекрестков различных типов. Определенные сочетания перекрестков для слияния и для разветвления могут приводить к логическим несоответствиям. Чтобы избежать конфликтов, необходимо соблюдать следующие правила:
1. Каждому перекрестку для слияния должен предшествовать перекресток для разветвления.
2. Перекресток для слияния «И» не может следовать за перекрестком для разветвления типа синхронного или асинхронного «ИЛИ» (рис. 6.9). Действительно, после работы 1 может запускаться только одна работа – 2 или 3, а для запуска работы 4 требуется окончание обеих работ – 2 и 3. Такой сценарий не может реализоваться.
Рис.6.9. Неверное размещение перекрестков типа «И» и «ИЛИ»
3. Перекресток для слияния «И» не может следовать за перекрестком для разветвления типа исключающего «ИЛИ» (рис. 6.10).
Рис.6.10. Неверное размещение перекрестков исключающего «ИЛИ» и «И»
4. Перекресток для слияния типа исключающего «ИЛИ» не может следовать за перекрестком для разветвления типа «И» (рис. 6.11). Здесь после завершения работы 1 запускаются обе работы – 2 и 3, а для запуска работы 4 требуется, чтобы завершилась одна и только одна работа – или 2, или 3.
Рис.6.11. Неверное размещение перекрестков типа «И» и исключающего «ИЛИ»
5. Перекресток, имеющий одну стрелку на одной стороне, должен иметь более одной стрелки на другой.
Объект ссылки
Объект ссылки в IDEF3выражает некую идею, концепцию или данные, которые нельзя связать со стрелкой, перекрестком или работой (рис. 6.12).
Рис. 6.12. Объект ссылки
Для внесения объекта ссылки служит кнопка (добавить в диаграмму объект ссылки − Referent) в палитре инструментов. Объект ссылки изображается в виде прямоугольника, похожего на прямоугольник работы. Имя объекта ссылки задается в диалоге ReferentProperties(пункт контекстного меню Name), в качестве имени можно использовать имя какой-либо стрелки с других диаграмм или имя сущности из модели данных (на рис. 5.15 – имя объекта «Бухгалтерская система»). Объекты ссылки должны быть связаны с единицами работ или перекрестками линиями без стрелок. Официальная спецификация IDEF3различает три стиля объектов ссылок:
оо) безусловные (unconditional);
пп) синхронные (synchronous);
рр) асинхронные (asynchronous).
BPwinподдерживает только безусловные объекты ссылок. Синхронные и асинхронные объекты ссылок, используемые в диаграммах переходов состояний объектов, не поддерживаются.
При внесении объектов ссылок помимо имени следует указывать тип объекта ссылки. Типы объектов ссылок приведены в таблице 6.3.
Декомпозиция работ. В IDEF3декомпозиция используется для детализации работ. Методология IDEF3позволяет декомпозировать работу многократно, т.е. работа может иметь множество дочерних работ. Это позволяет в одной модели описать альтернативные потоки. Декомпозиция может быть сценарием или описанием. Описание включает все возможные пути развития процесса. Сценарий является частным случаем описания и иллюстрирует только один путь реализации процесса. По умолчанию при декомпозиции на диаграмму IDEF3создается описание. Чтобы создать сценарий, необходимо перейти в меню Diagram/AddIDEF3 Scenario.
Таблица 6.3 – Типы объектов ссылок
Тип объекта ссылки | Цель описания | |
OBJECT | Описывает участие важного объекта в работе | |
GOTO | Инструмент циклического перехода (в повторяющейся последовательности работ), возможно на текущей диаграмме, но не обязательно. Если все работы цикла присутствуют на текущей диаграмме, цикл может также изображаться стрелкой, возвращающейся на стартовую работу. GOTOможет ссылаться на перекресток | |
UOB (Unitofbehavior) | Применятся, когда необходимо подчеркнуть множественное использование какой-либо работы, но без цикла. Например, работа «Контроль качества» может быть использована в процессе «Изготовление изделия» несколько раз, после каждой единичной операции. Обычно этот тип ссылки не используется для моделирования автоматически запускающихся работ | |
NOTE | Используется для документирования важной информации, относящейся к каким-либо графическим объектам на диаграмме. NOTEявляется альтернативой внесению текстового объекта в диаграмму | |
ELAB (Elaboration) | Используется для усовершенствования графиков или их более детального описания. Обычно употребляется для детального описания разветвления и слияния стрелок на перекрестках | |
Возможность множественной декомпозиции предъявляет дополнительные требования к нумерации работ. Так, номер работы состоит из номера родительской работы, номера декомпозиции и собственного номера работы на текущей диаграмме (рис. 6.13).
Для описания номер декомпозиции равен 1. Для сценария номер декомпозиции всегда больше 1.
Рис.6.13 – Номер единицы работы (UOW)
При создании сценария или описания необходимо придерживаться дополнительных ограничений – в сценарии или декомпозиции может существовать только одна точка входа. За точкой входа следует работа или перекресток. Для декомпозиции может существовать только одна точка выхода. Сценарий, который не является декомпозицией, может иметь несколько точек выхода.
Рассмотрим процесс декомпозиции диаграмм IDEF3, включающий взаимодействие автора (аналитика) и одного или нескольких экспертов предметной области.