Цель данной статьи - это изучение основных функций пакета BPwin; создание контекстной диаграммы моделируемого объекта; создание иерархии диаграмм.
1. Введение
Для программиста-аналитика важно уметь ориентироваться в незнакомой организации и делать при разработке задания на проектирование информационной программы как можно меньше ошибок. Один из источников ошибок – неправильное представление аналитика о потоках информации в организации. Эти потоки зависят от распределения функций внутри организации и зачастую не оформляются документами. Поэтому анализу документооборота должен предшествовать анализ бизнес-процессов и реальных информационных связей между работами (процессами). В результате такого анализа должны быть сделаны предложения по изменению бизнес-процессов (идеальных не бывает) и согласование предлагаемых бизнес-процессов (а затем и документооборота) с заказчиком. На основании согласованного документооборота должно быть создано техническое задание на разработку информационной системы.
BPwin позволяет аналитику создавать сложные модели бизнес-процессов при минимальных усилиях. BPwin поддерживает 3 методологии – IDEF0, IDEF3 и DFD. Каждая из них призвана решать свои специфические задачи. Также можно строить смешанные модели.
Модель в BPwin рассматривается как совокупность работ, каждая из которых оперирует с некоторым набором данных. Работы изображаются в виде прямоугольников (блоков), данные – в виде стрелок (дуг).
Основу методологии IDEF0 составляет графический язык описания моделирования бизнес-процессов. Модель в IDEF0 представлена совокупностью иерархически упорядоченных и логически связанных диаграмм. Каждая диаграмма располагается на отдельном листе. Можно выделить четыре типа диаграмм:
- контекстную диаграмму А-0 (в каждой модели может быть только одна контекстная диаграмма);
- диаграммы декомпозиции (в том числе диаграмма первого уровня декомпозиции А0, раскрывающая контекстную);
- диаграммы дерева узлов;
- диаграммы только для экспозиции (FEO).
Контекстная диаграмма является вершиной древовидной структуры диаграмм и представляет собой самое общее описание системы и ее взаимодействия с внешней средой (как правило, здесь описывается основное назначение моделируемого объекта).
После описания системы в целом проводится разбиение ее на крупные фрагменты. Этот процесс называется функциональной декомпозицией, а диаграммы, которые описывают каждый фрагмент и взаимодействие фрагментов, называются диаграммами декомпозиции. После декомпозиции контекстной диаграммы (т.е., получения диаграммы А0) проводится декомпозиция каждого блока диаграммы А0 на более мелкие фрагменты и так далее, до достижения нужного уровня подробности описания.
После каждого сеанса декомпозиции проводятся сеансы экспертизы – эксперты предметной области (обычно это интервьюируемые аналитиками сотрудники предприятий) указывают на соответствие реальных бизнес-процессов созданным диаграммам. Найденные несоответствия исправляются, и только после прохождения экспертизы без замечаний можно приступать к следующему сеансу декомпозиции. Так достигается соответствие модели реальным бизнес-процессам на любом и каждом уровне модели. Синтаксис описания системы в целом и каждого ее фрагмента одинаков во всей модели.
Диаграмма дерева узлов показывает иерархическую зависимость работ, но не взаимосвязи между работами. Диаграмм деревьев узлов может быть в модели сколько угодно, поскольку дерево может быть построено на произвольную глубину и не обязательно с корня.
Диаграммы для экспозиции (FEO) строятся для иллюстрации отдельных фрагментов модели, для иллюстрации альтернативной точки зрения, либо для специальных целей.
2. Синтаксис диаграмм
Диаграмма является основным рабочим элементом при создании модели.
Каждая IDEF0-диаграмма содержит блоки (работы) и дуги (стрелки). Блоки изображают функции моделируемой системы. Дуги связывают блоки вместе и отображают взаимодействия и взаимосвязи между ними.
Функциональные блоки на диаграмме изображаются прямоугольниками (рис. 2.1). Блок представляет функцию или активную часть системы (в последнем случае блок обозначается с помощью буквы А в его номере).
Каждая сторона блока имеет определенное назначение. Левая сторона предназначена для входов, верхняя – для управления, правая – для выходов, нижняя – для механизмов.
Рисунок 2.1 – Основная конструкция IDEF0-модели
В основе методологии IDEF0 лежат следующие правила:
- функциональный блок преобразует входы в выходы;
- управление ограничивает или предписывает условия выполнения преобразований;
- механизмы показывают, кто, что и как выполняет эти преобразования (т.е. механизмы непосредственно осуществляют эти преобразования).
В прямоугольник нужно вписать название процесса глаголом или отглагольным существительным. ПРЕДУПРЕЖДЕНИЕ: не вписывайте название подразделения!
На стрелке должна быть надпись, соответствующая тому, что передается от процесса к процессу. Это могут быть материалы, документация, распоряжения и т.п.
Граница диаграммы представляет «внешний мир». Связь с внешним миром изображается стрелкой с надписью.
Методология IDEF0 требует, чтобы в диаграмме было не менее трех и не более шести блоков. Это ограничение поддерживает сложность диаграмм на уровне, доступном для чтения, понимания и использования.
Блоки на IDEF0-диаграмме размещаются по степени важности. В IDEF0 этот относительный порядок называется доминированием. Доминирование понимается как влияние, которое один блок оказывает на другие блоки диаграммы.
В методологии IDEF0 принято располагать блоки по диагонали диаграммы. Наиболее доминирующий блок обычно размещается в левом верхнем углу диаграммы, наименее доминирующий – в правом нижнем углу.
Таким образом, топология диаграмм показывает, какие функции оказывают большее влияние на остальные.
Блоки на IDEF0-диаграмме должны быть пронумерованы. Нумерация блоков выполняется в соответствии с порядком их доминирования (1 – наибольшее доминирование, 2 – следующее и т.д.). Порядок доминирования (номер блока) располагается в правом нижнем углу функционального блока.
Дуги на IDEF0-диаграмме изображаются линиями со стрелками. Для функциональных IDEF0-диаграмм дуга представляет множество объектов. Под объектом в общем случае понимаются некоторые данные (планы, машины, информация, данные в компьютерах). Основу названия дуги на IDEF0-диаграммах составляют существительные. Названия дуг называются метками.
В методологии IDEF0 используется пять типов взаимосвязей между блоками для описания их отношений: управление, вход, обратная связь по управлению, обратная связь по входу, «выход-механизм».
Отношение управления возникает тогда, когда выход одного блока непосредственно влияет на работу блока с меньшим доминированием.
Отношение входа возникает тогда, когда выход одного блока становится входом для блока с меньшим доминированием.
Обратные связи по управлению и по входу представляют собой итерацию или рекурсию.
Обратная связь по управлению возникает тогда, когда выход некоторого блока влияет на работу блока с большим доминированием.
Обратная связь по входу имеет место тогда, когда выход одного блока становится входом другого блока с большим доминированием.
Связь «выход-механизм» встречается нечасто и отражает ситуацию, при которой выход одной функции становится средством достижения цели для другой функции. Данная связь характерна при распределении источников ресурсов (например, физическое пространство, оборудование, финансирование, материалы, инструменты, обученный персонал и т.п.).
Дуга в IDEF0 редко изображает один объект. Обычно она символизирует набор объектов. Поэтому дуги могут разъединяться и соединяться.
Разветвления дуг обозначают, что все содержимое дуг или его часть может появиться в каждом ответвлении дуги. Дуга всегда помечается до разветвления, чтобы дать название всему набору. Каждая ветвь дуги может быть помечена или не помечена в соответствии со следующими правилами:
- непомеченные ветви содержат все объекты, указанные в метке дуги перед разветвлением;
- каждая метка ветви указывает, что именно содержит ветвь.
При слиянии дуг результирующая дуга всегда помечается для указания нового набора объектов, возникшего после объединения. Каждая ветвь перед слиянием помечается или нет в соответствии со следующими правилами:
- непомеченные ветви содержат все объекты, указанные в общей метке дуги после слияния;
- метка ветви указывает, что конкретно содержит ветвь.
Разветвления дуг и их соединения – это синтаксис, который позволяет описывать декомпозицию (разделение на структурные части) содержимого дуг.
Разветвляющиеся и соединяющиеся дуги отражают иерархию объектов, представленных этими дугами. Из отдельной диаграммы редко можно понять полную иерархию дуги. Для этого требуется чтение большей части модели.
Поэтому методология IDEF0 предусматривает дополнительное описание полной иерархии объектов системы посредством формирования глоссария для каждой диаграммы модели и объединения этих глоссариев в Словарь данных.
Таким образом, Словарь данных – это основное хранилище полной иерархии объектов системы.
3. Основы работы в пакете BPwin
3.1. Запуск BPwin. При запуске BPwin по умолчанию появляется основная панель инструментов, палитра инструментов (вид которой зависит от выбранной нотации) и, в левой части, навигатор модели – Model Explorer.
Функциональность панели инструментов доступна из основного меню BPwin (табл. 3.1).
При создании новой модели возникает диалог, в котором следует указать, будет ли создана модель заново, или она будет открыта из файла либо из репозитория ModelMart, внести имя модели и выбрать методологию, в которой будет построена модель (рис. 3.1).
Таблица 3.1 – Описание элементов управления
основной панели инструментов Bpwin 2.5 (слева направо)
Элемент управления |
Описание |
Соответствующий пункт меню |
|
Создать новую модель |
File/New |
|
Открыть модель |
File/Open |
|
Сохранить модель |
File/Save |
|
Напечатать модель |
File/Print |
|
Выбор масштаба |
View/Zoom |
|
Масштабирование |
View/Zoom |
|
Проверка правописания |
Tools/Spelling |
|
Включение и выключение навигатора модели Model Explorer |
View/Model Explorer |
|
Включение и выключение дополнительной панели инструментов работы с ModelMart |
ModelMart |
Рисунок 3.1 – Диалог создания модели
3.2. Каркас диаграммы. На рис. 3.2 показан типичный пример контекстной диаграммы с граничными рамками, которые называются каркасом диаграммы.
Каркас содержит заголовок (верхняя часть рамки, табл. 3.2) и подвал (нижняя часть, табл. 3.3). Заголовок каркаса используется для отслеживания диаграммы в процессе моделирования. Нижняя часть используется для идентификации и позиционирования в иерархии диаграмм. Значения полей каркаса задаются в диалоге Diagram Properties (в меню Edit/Diagram Properties).
Рисунок 3.2 – Контекстная диаграмма
Таблица 3.2 – Поля заголовка каркаса (слева направо)
Поле
|
Смысл |
Used At |
Используется для указания на родительскую работу, если на текущую диаграмму ссылались посредством стрелки вызова. |
Author, Date, Rev, Project |
Имя создателя диаграммы, дата создания и имя проекта, в рамках которого была создана диаграмма. REV – дата последнего редактирования диаграммы. |
Notes 1 2 3 4 5 6 7 8 9 10 |
Используется при проведении сеанса экспертизы. Эксперт должен (на бумажной копии диаграммы) указать число замечаний, вычеркивая цифру из списка каждый раз при внесении нового замечания. |
Status |
Статус отображает стадию создания диаграммы, отображая все этапы публикации. |
Working |
Новая диаграмма, кардинально обновленная диаграмма или новый автор диаграммы. |
Draft |
Диаграмма прошла первичную экспертизу и готова к дальнейшему обсуждению. |
Recommended |
Диаграмма и все ее сопровождающие документы прошли экспертизу. Новых изменений не ожидается. |
Publication |
Диаграмма готова к окончательной печати и публикации. |
Reader |
Имя читателя (эксперта). |
Date |
Дата прочтения (экспертизы). |
Context |
Схема расположения работ в диаграмме верхнего уровня. Работа, являющаяся родительской, показана темным прямоугольником, остальные – светлым. На контекстной диаграмме (А-0) показывается надпись TOP. В левом нижнем углу показывается номер по узлу родительской диаграммы. |
Таблица 3.3 – Поля подвала каркаса (слева направо)
Поле
|
Смысл |
Node |
Номер узла диаграммы (номер родительской работы) |
Title |
Имя диаграммы. По умолчанию – имя родительской работы |
Number |
C-Number, уникальный номер версии диаграммы |
Page |
Номер страницы, может использоваться как номер страницы при формировании папки |