Для чего создается обратная связь по управлению bpwin
Для чего создается обратная связь по управлению bpwin
BPwin и Erwin. CASE-средства для разработки информационных систем
Сергей Владимирович Маклаков
Книга состоит из шести глав и приложения.
Первая глава посвящена изложению основ методологии функционального моделирования и построению моделей IDEFO, IDEF3 и DFD с помощью PLATINUM BPwin.
Во второй главе излагаются принципы построения модели данных и генерации кода серверной и клиентской части приложения с помощью PLATINUM ERwin.
В третьей главе рассматривается интеграция модели данных и функциональной модели с помощью встроенной функциональности BPwin и ERwin.
В четвертой главе описываются методы коллективной работы над большими проектами и специализированный репозиторий PLATINUM ModelMart, предназначенный для хранения, документирования, слияния, интеграции и сравнения моделей, созданных в BPwin и ERwin.
Пятая глава посвящена языку объектного проектирования UML, построению объектной модели с помощью Rational Rose и технологии связывания объектной модели с моделью данных ERwin.
В шестой главе рассматривается техника создания качественных отчетов по моделям процессов и данных с помощью специализированного генератора отчетов PLATINUM RPTwin.
Приложение содержит список макросов ERwin.
Автор приносит благодарность фирме «Интерфейс Ltd.» и лично Б.Н.Гайфуллину за постоянную поддержку и возможность использования лицензионных программных средств.
Особую признательность автор выражает своей жене Елене за помощь в оформлении рукописи.
А. Реализацию проектов по созданию ИС принято разбивать на стадии анализа (прежде чем создавать ИС, необходимо понять и описать бизнес-логику предметной области), проектирования (необходимо определить модули и архитектуру будущей системы), непосредственного кодирования, тестирования и сопровождения. Известно, что исправление ошибок, допущенных на предыдущей стадии, обходится примерно в 10 раз дороже, чем на текущей, откуда следует, что наиболее критическими являются первые стадии проекта. Поэтому крайне важно иметь эффективные средства автоматизации ранних этапов реализации проекта.
В. Проект по созданию сложной ИС невозможно реализовать в одиночку. Коллективная работа существенно отличается от индивидуальной, поэтому при реализации крупных проектов необходимо иметь средства координации и управления коллективом разработчиков.
С. Жизненный цикл создания сложной ИС сопоставим с ожидаемым временем ее эксплуатации. Другими словами, в современных условиях компании перестраивают свои бизнес-процессы примерно раз в два года, столько же требуется (если работать в традиционной технологии) для создания ИС. Может оказаться, что к моменту сдачи ИС она уже никому не нужна, поскольку компания, ее заказавшая, вынуждена перейти на новую технологию работы. Следовательно, для создания ИС жизненно необходим инструмент, значительно (в несколько раз) уменьшающий время разработки ИС.
На современном рынке средств разработки ИС достаточно много систем, в той или иной степени удовлетворяющих перечисленным требованиям. В настоящей книге рассматривается вполне конкретная технология разработки, основывающаяся на решениях фирмы PLATINUM technology (http://www.platinum.com), которая является, по мнению автора, одной из лучших на сегодняшний день по критерию стоимость/эффективность.
Рассматриваемые в книге CASE-средства ERwin и BPwin были разработаны фирмой Logic Works. После слияния в 1998 году Logic Works с PLATINUM technology они выпускаются под логотипом PLATINUM technology.
Рис. 1. Общая схема взаимодействия инструментальных средств PLATINUM technology и Rational Software
Моделирование бизнес-процессов средствами BPwin
Связь по входу ( output-input ), когда стрелка выхода вышестоящей работы (далее — просто выход) направляется на вход нижестоящей (например, на рис. 7.15 стрелка «Собранные компьютеры» связывает работы «Сборка и тестирование компьютеров» и «Отгрузка и получение» ).
Обратная связь по входу ( output-input feedback ), когда выход нижестоящей работы направляется на вход вышестоящей. Такая связь, как правило, используется для описания циклов. На рис. 7.17 стрелка «Результаты тестирования» связывает работы «Тестирование компьютеров» и «Отслеживание расписания и управление сборкой и тестированием».
Обратная связь по управлению ( output-control feedback ), когда выход нижестоящей работы направляется на управление вышестоящей ( стрелка «Результаты сборки и тестирования», рис. 7.18). Обратная связь по управлению часто свидетельствует об эффективности бизнес-процесса. На рис. 7.18 объем продаж может быть повышен путем непосредственного регулирования процессов сборки и тестирования компьютеров (выхода) работы «Сборки и тестирование компьютеров».
Связь выход-механизм ( output-mechanism ), когда выход одной работы направляется на механизм другой. Эта взаимосвязь используется реже остальных и показывает, что одна работа подготавливает ресурсы, необходимые для проведения другой работы (рис. 7.19).
Смысл разветвляющихся и сливающихся стрелок передается именованием каждой ветви стрелок. Существуют определенные правила именования таких стрелок. Рассмотрим их на примере разветвляющихся стрелок. Если стрелка именована до разветвления, а после разветвления ни одна из ветвей не именована, то подразумевается, что каждая ветвь моделирует те же данные или объекты, что и ветвь до разветвления (рис. 7.20).
Если стрелка именована до разветвления, а после разветвления какая-либо из ветвей тоже именована, то подразумевается, что эти ветви соответствуют именованию. Если при этом какая-либо ветвь после разветвления осталась неименованной, то подразумевается, что она моделирует те же данные или объекты, что и ветвь до разветвления (рис. 7.21).
Недопустима ситуация, когда стрелка до разветвления не именована, а после разветвления не именована какая-либо из ветвей. BPwin определяет такую стрелку как синтаксическую ошибку.
Туннелирование стрелок. Вновь внесенные граничные стрелки на диаграмме декомпозиции нижнего уровня изображаются в квадратных скобках и автоматически не появляются на диаграмме верхнего уровня (рис. 7.22).
Для их «перетаскивания» наверх нужно щелкнуть правой кнопкой мыши по квадратным скобкам граничной стрелки и в контекстном меню выбрать команду Arrow Tunnel (рис. 7.23).
Появляется диалог Border Arrow Editor (рис. 7.24).
Если щелкнуть по кнопке Resolve Border Arrow, стрелка мигрирует на диаграмму верхнего уровня, если по кнопке Change To Tunnel — стрелка будет туннелирована и не попадет на другую диаграмму. Туннельная стрелка изображается с круглыми скобками на конце (рис. 7.25).
Туннелирование может быть применено для изображения малозначимых стрелок. Если на какой-либо диаграмме нижнего уровня необходимо изобразить малозначимые данные или объекты, которые не обрабатываются или не используются работами на текущем уровне, то их необходимо направить на вышестоящий уровень (на родительскую диаграмму). Если эти данные не используются на родительской диаграмме, их нужно направить еще выше, и т. д. В результате малозначимая стрелка будет изображена на всех уровнях и затруднит чтение всех диаграмм, на которых она присутствует. Выходом является туннелирование стрелки на самом нижнем уровне. Такое туннелирование называется «не-в-родительской-диаграмме».
Инструментарий и элементы интерфейса BPWin
При запуске BPWin по умолчанию появляется основная панель инструментов, палитра инструментов и Model Explorer.
Функциональность панели инструментов доступна из основного меню BPWin (табл. 1).
Описание элементов управления основной панели инструментов BPWin
При создании новой модели возникает диалог, в котором следует указать, будет ли создана модель заново, или она будет открыта из репозитария ModelMart, внести имя модели и выбрать методологию, в которой будет построена модель (рис. 1).
BPWin поддерживает три методологии – IDEF0, IDEF3 и DFD. В BPWin возможно построение смешанных моделей, т.е. модель может содержать одновременно как диаграммы IDEF0, так и IDEF3 и DFD. Состав палитры инструментов изменяется автоматически, когда происходит переключение с одной нотации на другую.
Модель в BPWin рассматривается как совокупность работ, каждая из которых оперирует с некоторым набором данных. Если щелкнуть по любому объекту модели левой кнопкой мыши, появляется всплывающее контекстное меню, каждый пункт которого соответствует редактору какого-либо свойства объекта.
Для построения диаграмм в BPWin используется три панели инструментов для каждого типа диаграмм:
Рис. 1. Диалог создания модели
Диаграммы IDEF0
кнопка для добавления работы на диаграмму
проведение новой связи
инструмент редактирования объектов
декомпозиция диаграммы
Диаграммы DFD
добавление в диаграмму внешней ссылки
добавление стрелки потока данных в диаграмму
декомпозиция диаграммы
добавление хранилища данных
ссылка на другую страницу, данный инструмент позволяет направить стрелку на любую диаграмму
Диаграммы IDEF3
«старшая» связь
перекресток
объект ссылки
Каркас диаграммы
На рис.2 показан типичный пример контекстной диаграммы с граничными рамками, которые называются каркасом диаграммы. Каркас содержит заголовок (верхняя часть рамки, табл.2) и подвал (нижняя часть, табл.3). Заголовок каркаса используется для отслеживания диаграммы в процессе моделирования. Нижняя часть используется для идентификации и позиционирования в иерархии диаграмм.
Значения полей каркаса задаются в диалоге Diagram Properties (в меню Edit/Diagram Properties).
Рис.2. Контекстная диаграмма
Поля заголовка каркаса (слева направо)
Поля подвала каркаса (слева направо)
Модель в BPwin рассматривается как совокупность работ, каждая из которых оперирует с некоторым набором данных. Работы изображаются в виде прямоугольников (блоков), данные – в виде стрелок (дуг).
Основу методологий составляет графический язык описания бизнес-процессов. Функциональные модели представлены совокупностью иерархически упорядоченных и логически связанных диаграмм. Каждая диаграмма располагается на отдельном листе.
Можно выделить четыре типа диаграмм:
— контекстную диаграмму А-0 (в каждой модели может быть только одна контекстная диаграмма);
— диаграммы декомпозиции (в том числе диаграмма первого уровня декомпозиции А0, раскрывающая контекстную);
— диаграммы дерева узлов;
— диаграммы только для экспозиции (FEO).
Контекстная диаграмма является вершиной древовидной структуры диаграмм и представляет собой самое общее описание системы и ее взаимодействия с внешней средой (как правило, здесь описывается основное назначение моделируемого объекта). После описания системы в целом проводится разбиение ее на крупные фрагменты. Этот процесс называется функциональной декомпозицией, а диаграммы, которые описывают каждый фрагмент и взаимодействие фрагментов, называются диаграммами декомпозиции.
Диаграмма дерева узлов показывает иерархическую зависимость работ, но не взаимосвязи между работами. Диаграмм деревьев узлов может быть в модели сколько угодно, поскольку дерево может быть построено на произвольную глубину и не обязательно с корня.
Диаграммы для экспозиции (FEO) строятся для иллюстрации отдельных фрагментов модели, для иллюстрации альтернативной точки зрения, либо для специальных целей.
Элементы диаграмм методологии IDEF0
Методология IDEF0 предписывает построение иерархической системы диаграмм – единичных описаний фрагментов системы. Сначала проводится описание системы в целом и ее взаимодействия с окружающим миром (контекстная диаграмма), после чего проводится функциональная декомпозиция – система разбивается на подсистемы и каждая подсистема описывается отдельно (диаграммы декомпозиции). Затем каждая подсистема разбивается на более мелкие и так далее до достижения нужной степени подробности.
Каждая IDEF0-диаграмма содержит блоки и дуги. Блоки изображают функции моделируемой системы. Дуги связывают блоки вместе и отображают взаимодействия и взаимосвязи между ними.
Функциональные блоки или работы (Activity)на диаграммах изображаются прямоугольниками, означающими поименованные процессы, функции или задачи, которые происходят в течение определенного времени и имеют распознаваемые результаты. Имя работы должно быть выражено отглагольным существительным, обозначающим действие (например, «Изготовить деталь», «Принять заказ» и т.д.). Работу можно добавить в диаграмму, щелкнув по кнопке на палитре инструментов, а затем по свободному месту на диаграмме.
Каждая сторона блока имеет определенное назначение. Левая сторона блока предназначена для входов, верхняя – для управления, правая – для выходов, нижняя – для механизмов. Такое обозначение отражает определенные системные принципы: входы преобразуются в выходы, управление ограничивает или предписывает условия выполнения преобразований, механизмы показывают, что и как выполняет функция.
Для внесения имени работы следует щелкнуть по работе правой кнопкой мыши, выбрать в меню пункт Name Editor и в появившемся диалоге внести имя работы (рис.3).
Рис. 3. Внесение имени работы
Диаграммы декомпозиции (рис.5) содержат родственные работы, т.е. дочерние работы, имеющие общую родительскую работу.
Для создания диаграммы декомпозиции следует щелкнуть по кнопке и выбрать на диаграмме работу, которую необходимо декомпозировать.
Возникает диалог Activity Box Count (рис.4), в котором следует указать нотацию новой диаграммы.
Рис.4. Выбор нотации диаграммы
На диаграмме декомпозиции (рис. 5) работы нумеруются автоматически слева направо. Номер работы показывается в правом нижнем углу. В левом верхнем углу изображается небольшая диагональная черта, которая показывает, что данная работа не была декомпозирована.
Рис. 5. Диаграмма декомпозиции
Взаимодействие работ с внешним миром и между собой описывается в виде стрелок, изображаемых одинарными линиями со стрелками на концах. Стрелки представляют собой некую информацию и именуются существительными (например, «Заготовка», «Изделие», «Заказ»).
В IDEF0 различают пять типов стрелок.
Вход (Input) – объекты, используемые и преобразуемые работой для получения результата (выхода). Стрелка входа рисуется как входящая в левую грань работы.
Управление (Control) – информация, управляющая действиями работы, Обычно управляющие стрелки несут информацию, которая указывает, что должна выполнять работа. Каждая работа должна иметь хотя бы одну стрелку управления, которая изображается как входящая в верхнюю грань работы.
Выход (Output) – объекты, в которые преобразуются входы. Каждая работа должна иметь хотя бы одну стрелку выхода, которая рисуется как исходящая из правой грани работы.
Механизм (Mechanism) ресурсы, выполняющие работу. Стрелка механизма рисуется как входящая в нижнюю грань работы. По усмотрению аналитика стрелки механизма могут не изображаться на модели.
Вызов (Call) – специальная стрелка, указывающая на другую модель работы. Стрелка вызова рисуется как исходящая из нижней части работы и используется для указания того, что некоторая работа выполняется за пределами моделируемой системы.
Рис. 6. Стрелка вызова
Каждый тип стрелок подходит к определенной стороне блока, или выходит из нее. Стрелка входа рисуется как входящая в левую грань работы. Стрелка управления рисуется как входящая в верхнюю грань. Выход рисуется как исходящая стрелка из правой грани. Механизм – входит в нижнюю грань.
Граничные стрелки
Стрелки на контекстной диаграмме служат для описания взаимодействия системы с окружающим миром. Они могут начинаться у границы диаграммы и заканчиваться у работы, или наоборот. Такие стрелки называются граничными. Для внесения граничной стрелки необходимо:
— щелкнуть по кнопке с символом стрелки в палитре инструментов, затем перенести курсор к левой стороне экрана, пока не появится начальная штриховая полоска;
— щелкнуть один раз по полоске (откуда выходит стрелка) и еще раз в левой части работы со стороны входа (где заканчивается стрелка);
— вернуться в палитру инструментов и выбрать опцию редактирования стрелки ;
— щелкнуть правой кнопкой мыши на линии стрелки, во всплывающем меню выбрать пункт Name Editor и добавить имя стрелки в закладке Name диалога IDEF0 Arrow Properties.
Стрелки управления, входа, механизма и выхода изображаются аналогично.
Имена вновь внесенных стрелок автоматически заносятся в словарь (Arrow Dictionary).
Словарь стрелок (Arrow Dictionary) редактируется при помощи специального редактора Arrow Dictionary Editor (рис. 7), в котором определяется стрелка и вносится относящийся к ней комментарий.
Словарь стрелок решает очень важную задачу. Диаграммы создаются аналитиком для того, чтобы провести сеанс экспертизы, т.е. обсудить диаграмму со специалистом предметной области. В любой предметной области формируется профессиональный язык, причем очень часто такие выражения имеют нечеткий смысл и воспринимаются разными специалистами по-разному. В то же время аналитик – автор диаграмм должен употреблять те выражения, которые наиболее понятны экспертам.
Рис.7. Редактор словаря стрелок
Поскольку формальные определения часто сложны для восприятия, аналитик вынужден употреблять профессиональный язык, а чтобы не возникало неоднозначных трактовок, в словаре стрелок каждому понятию можно дать расширенное и, если это необходимо, формальное определение.
Внутренние стрелки
Для связи работ между собой используются внутренние стрелки, т.е. стрелки, которые не касаются границы диаграммы, начинаются у одной и кончаются у другой работы. Для рисования внутренней стрелки необходимо в режиме рисования стрелок щелкнуть по сегменту (например, выхода) одной работы и затем по сегменту (например, входа) другой.
В методологии IDEF0 различают только пять типов взаимодействий между блоками для описания их отношений: управление, вход, обратная связь по управлению, обратная связь по входу, выход-механизм. Связи по управлению и входу являются простейшими, поскольку они отражают прямые воздействия, которые интуитивно понятны и очень просты.
|
|
Рис. 8. Связь по выходу Рис. 9. Связь по управлению
Отношение управления возникает тогда, когда выход одного блока непосредственно влияет на блок с меньшим доминированием.
Обратная связь по управлению и обратная связь по входу являются более сложными, поскольку представляют собой итерацию или рекурсию. А именно выходы из одной работы влияют на будущее выполнение других работ, что впоследствии повлияет на исходную работу.
Обратная связь по управлению возникает тогда, когда выход некоторого блока влияет на блок с большим доминированием.
Рис. 10. Обратная связь по входу Рис. 11. Обратная связь по управлению
Связи выход-механизм встречаются нечасто. Они отражают ситуацию, при которой выход одной функции становится средством достижения цели для другой.
Связи «выход-механизм» характерны при распределении источников ресурсов (например, требуемые инструменты, обученный персонал, физическое пространство, оборудование, финансирование, материалы).
Моделирование бизнес-процессов средствами BPwin
Связь по входу ( output-input ), когда стрелка выхода вышестоящей работы (далее — просто выход) направляется на вход нижестоящей (например, на рис. 7.15 стрелка «Собранные компьютеры» связывает работы «Сборка и тестирование компьютеров» и «Отгрузка и получение» ).
Обратная связь по входу ( output-input feedback ), когда выход нижестоящей работы направляется на вход вышестоящей. Такая связь, как правило, используется для описания циклов. На рис. 7.17 стрелка «Результаты тестирования» связывает работы «Тестирование компьютеров» и «Отслеживание расписания и управление сборкой и тестированием».
Обратная связь по управлению ( output-control feedback ), когда выход нижестоящей работы направляется на управление вышестоящей ( стрелка «Результаты сборки и тестирования», рис. 7.18). Обратная связь по управлению часто свидетельствует об эффективности бизнес-процесса. На рис. 7.18 объем продаж может быть повышен путем непосредственного регулирования процессов сборки и тестирования компьютеров (выхода) работы «Сборки и тестирование компьютеров».
Связь выход-механизм ( output-mechanism ), когда выход одной работы направляется на механизм другой. Эта взаимосвязь используется реже остальных и показывает, что одна работа подготавливает ресурсы, необходимые для проведения другой работы (рис. 7.19).
Смысл разветвляющихся и сливающихся стрелок передается именованием каждой ветви стрелок. Существуют определенные правила именования таких стрелок. Рассмотрим их на примере разветвляющихся стрелок. Если стрелка именована до разветвления, а после разветвления ни одна из ветвей не именована, то подразумевается, что каждая ветвь моделирует те же данные или объекты, что и ветвь до разветвления (рис. 7.20).
Если стрелка именована до разветвления, а после разветвления какая-либо из ветвей тоже именована, то подразумевается, что эти ветви соответствуют именованию. Если при этом какая-либо ветвь после разветвления осталась неименованной, то подразумевается, что она моделирует те же данные или объекты, что и ветвь до разветвления (рис. 7.21).
Недопустима ситуация, когда стрелка до разветвления не именована, а после разветвления не именована какая-либо из ветвей. BPwin определяет такую стрелку как синтаксическую ошибку.
Туннелирование стрелок. Вновь внесенные граничные стрелки на диаграмме декомпозиции нижнего уровня изображаются в квадратных скобках и автоматически не появляются на диаграмме верхнего уровня (рис. 7.22).
Для их «перетаскивания» наверх нужно щелкнуть правой кнопкой мыши по квадратным скобкам граничной стрелки и в контекстном меню выбрать команду Arrow Tunnel (рис. 7.23).
Появляется диалог Border Arrow Editor (рис. 7.24).
Если щелкнуть по кнопке Resolve Border Arrow, стрелка мигрирует на диаграмму верхнего уровня, если по кнопке Change To Tunnel — стрелка будет туннелирована и не попадет на другую диаграмму. Туннельная стрелка изображается с круглыми скобками на конце (рис. 7.25).
Туннелирование может быть применено для изображения малозначимых стрелок. Если на какой-либо диаграмме нижнего уровня необходимо изобразить малозначимые данные или объекты, которые не обрабатываются или не используются работами на текущем уровне, то их необходимо направить на вышестоящий уровень (на родительскую диаграмму). Если эти данные не используются на родительской диаграмме, их нужно направить еще выше, и т. д. В результате малозначимая стрелка будет изображена на всех уровнях и затруднит чтение всех диаграмм, на которых она присутствует. Выходом является туннелирование стрелки на самом нижнем уровне. Такое туннелирование называется «не-в-родительской-диаграмме».