Результатом применения методологии SADT является модель, которая состоит из диаграмм, фрагментов текстов и глоссария, имеющих ссылки друг на друга. Диаграммы – главные компоненты модели, все функции системы и интерфейсы на них представлены как блоки и дуги. Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация входит в блок сверху, в то время как информация, которая подвергается обработке, показана с левой стороны блока, а результаты выхода показаны с правой стороны. Механизм (человек или автоматизированная система), который осуществляет операцию, представляется дугой, входящей в блок снизу (рисунок 1).
Рисунок 1 – Функциональный блок и интерфейсные дуги
Одной из наиболее важных особенностей методологии SADT является постепенное введение все больших уровней детализации по мере создания диаграмм, отображающих модель.
Построение SADT-диаграммы заключается в выполнении следующих действий:
1. Сбор информации об объекте моделирования и определение его границ.
|
|
2. Определение цели и точки зрения.
3. Построение и декомпозиция диаграмм.
4. Критическая оценка, рецензирование и комментирование.
Построение SADT-модели начинается с представления всей системы в виде простейшей компоненты – одного блока и дуг, изображающих интерфейсы с функциями вне системы, это, так называемая, контекстная диаграмма. Поскольку единственный блок представляет всю систему как единое целое, имя, указанное в блоке, является общим. Это верно и для интерфейсных дуг – они также представляют полный набор внешних интерфейсов системы в целом. Затем блок, который представляет систему в качестве единого модуля, детализируется на другой диаграмме с помощью нескольких блоков, соединенных интерфейсными дугами. Эти блоки представляют основные подфункции исходной функции. Обычно, для достижения наглядности диаграмма ограничивается 3-6 блоками и детализация осуществляется постепенно. Данная декомпозиция выявляет полный набор подфункций, каждая из которых представлена как блок, границы которого определены интерфейсными дугами. Каждая из этих подфункций может быть декомпозирована подобным образом для более детального представления.
Во всех случаях каждая подфункция может содержать только те элементы, которые входят в исходную функцию (нельзя ничего добавить и удалить).
Таким образом, модель SADT представляет собой серию диаграмм с сопроводительной документацией, разбивающих сложный объект на составные части, которые представлены в виде блоков. Детали каждого из основных блоков показаны в виде блоков на других диаграммах. Каждая детальная диаграмма является декомпозицией блока из более общей диаграммы. На каждом шаге декомпозиции более общая диаграмма называется родительской для более детальной диаграммы. Дуги, входящие в блок и выходящие из него на диаграмме верхнего уровня, являются точно теми же самыми, что и дуги, входящие в диаграмму нижнего уровня и выходящие из нее, потому что блок и диаграмма представляют одну и ту же часть системы (см. рисунок 2) [2].
|
|
Рисунок 2 – Структура SADT-модели. Декомпозиция диаграмм
Некоторые дуги присоединены к блокам диаграммы обоими концами, у других же один конец остается неприсоединенным. Неприсоединенные дуги соответствуют входам, управлениям и выходам родительского блока. Источник или получатель этих пограничных дуг может быть обнаружен только на родительской диаграмме. Все граничные дуги должны продолжаться на родительской диаграмме, чтобы она была полной и непротиворечивой.
На SADT-диаграммах не указаны явно ни последовательность действий, ни время. Обратные связи, итерации, продолжающиеся процессы и перекрывающиеся (по времени) функции могут быть изображены с помощью дуг. Обратные связи могут выступать в виде комментариев, замечаний, исправлений и т. д. (рисунок 3).
Рисунок 3 – Пример обратной связи
Как было отмечено, механизмы (дуги с нижней стороны) показывают средства, с помощью которых осуществляется выполнение функций. Механизм может быть человеком, компьютером или любым другим устройством, которое помогает выполнять данную функцию (рисунок 4).
Рисунок 4 – Пример механизма
Каждый блок на диаграмме имеет свой номер. Для того, чтобы указать положение любой диаграммы или блока в иерархии, используются номера диаграмм. Например, А21 является диаграммой, которая детализирует блок 1 на диаграмме А2. Аналогично, А2 детализирует блок 2 на диаграмме А0, которая является самой верхней диаграммой модели.
Одним из важных моментов при проектировании ИС с помощью методологии SADT является точная согласованность типов связей между функциями.
3. СОЗДАНИЕ ФУНКЦИОНАЛЬНОЙ МОДЕЛИ В BP-WIN
Для проведения анализа и реорганизации бизнес-процессов фирма PLATINUM technology предлагает САSЕ-средство BP-win, поддерживающее методологии IDEF0 (функциональная модель), IDEF3 (Work Flow Diagram) и DFD (Data Flow Diagram). При написании данного раздела испльзовались монографии [3, 4].
На рисунке 5 и в таблице 1 приведена основная панель инструментов BP-winи описание содержащихся на ней элементов управления.
Рисунок 5 – Основная панель инструментов BP-win
Таблица 1 – Описание элементов управления панели инструментов
Соответствующий пункт меню | Описание |
File/New | Создать новую модель |
File/Open | Открыть модель |
File/Save | Сохранить модель |
File/Print | Напечатать модель |
View/Zoom | Выбор масштаба |
View/Zoom | Масштабирование |
Tools/Spelling | Проверка правописания |
View/Model Explorer | Отображать навигатор модели |
ModelMart | Отображать панель ModelMart |
При создании новой модели возникаетдиалог, в котором следует указать, будет ли создана модель заново, или она будет открыта из файла либо из Model Mart, внести имя модели и выбрать методологию, в которой будет построена модель (рисунок 6).
Рисунок 6 – Диалог создания модели
В BP-win возможно построение смешанных моделей, т. е. модель, может содержать одновременно как диаграммы IDEF0, так и IDEF3 и DFD. Состав палитры инструментов изменяется автоматически, когда происходит переключение с одной нотации на другую.
В начале работы с пакетом необходимо выбрать типы и размер шрифтов, особенно это важно при необходимости использования русского языка в моделях (обычно используется шрифт Courier New). Для этого следует воспользоваться меню Tools\Default Fonts, после чего появляется каскадное меню, каждый пункт которого служит для установки шрифтов для определенного типа объектов:
|
|
Context Activity - работы на контекстной диаграмме;
Context Arrow - стрелки на контекстной диаграмме;
Decomposition Activity - работы на диаграмме декомпозиции;
Decomposition Arrow - стрелки на диаграмме декомпозиции;
Node Tree text - текст на диаграмме дерева узлов;
Frame User Text- текст, вносимый пользователем в каркасе диаграмм;
Frame System Text - системный текст в каркасе диаграмм;
Text Blocks - текстовые блоки;
Parent Diagram Text - текст родительской диаграммы;
Parent Diagram Title Text - текст заголовка родительской диаграммы;
Report Text - текст отчетов.
Процесс моделирования какой-либо системы в IDEF0 начинается с определения контекста, в контекст входит определение субъекта моделирования, цели и точки зрения на модель.
Под субъектом понимается сама система, при этом необходимо точно установить, что входит в систему, а что лежит за ее пределами, другими словами, мы должны определить, что будет рассматриваться как компоненты системы, а что как внешнее воздействие. На определение субъекта системы будет существенно влиять позиция, с которой рассматривается система, и цель моделирования - вопросы, на которые построенная модель должна дать ответ. Другими словами, первоначально необходимо определить область (Scope) моделирования.
Цель моделирования (Purpose). Модель не может быть построена без четко сформулированной цели. Цель должна отвечать на следующие вопросы:
• Почему этот процесс должен быть смоделирован?
• Что должна показывать модель?
Формулировка цели позволяет команде аналитиков сфокусировать усилия в нужном направлении. Примерами формулирования цели могут быть следующие утверждения: "Идентифицировать роли и ответственность служащих для написания должностных инструкций", "Описать функциональность предприятия с целью написания спецификаций информационной системы".
Хотя при построении модели учитываются мнения различных людей, модель должна строиться с единой точки зрения. Точку зрения (Viewpoint) можно представить как взгляд человека, который видит систему в нужном для моделирования аспекте. Точка зрения должна соответствовать цели моделирования. Очевидно, что описание работы предприятия с точки зрения финансиста и технолога будет выглядеть совершенно по-разному, поэтому в течение моделирования важно оставаться на выбранной точке зрения. Как правило, выбирается точка зрения человека, ответственного за моделируемую работу в целом.
|
|
Для внесения области, цели и точки зрения в модели IDEF0 в BP-win следует выбрать пункт меню Edit\Model Properties, вызывающий диалог Model Properties (рисунок 7). В закладке Purpose следует внести цель и точку зрения, а в закладку Definition - определение модели (Definition) и описание границы области модели (Scope).
В закладке Status того же диалога можно описать статус модели (черновой вариант (Draft), рабочий (Working), рекомендуемый (Recommended), для публикации (Publication) или другое (Other)), время создания (Creation Data) и последнего редактирования (User last revision data), отслеживаемая в дальнейшем автоматически по системной дате. В закладке Source описываются источники информации для построения модели (например, "Опрос экспертов предметной области и анализ документации").
Закладка General служит для внесения имени модели (Model Name) и проекта (Project), имени и инициалов автора (Author и Author Initials), а также временных рамок модели – AS-IS и ТО-ВЕ. Обычно сначала строится модель существующей организации работы, “как есть” (AS-IS). Модель AS-IS позволяет выяснить, "что мы делаем сегодня" перед тем, как перепрыгнуть на то, "что мы будем делать завтра". Анализ функциональной модели позволяет понять, где находятся наиболее слабые места, в чем будут состоять преимущества новых бизнес-процессов и насколько глубоким изменениям подвергнется существующая структура организации бизнеса.
Рисунок 7 – Диалог задание свойства модели
Найденные в модели AS-IS недостатки можно исправить при создании модели “как будет” (ТО-ВЕ) – модели новой организации бизнеспроцессов. Модель ТО-ВЕ нужна для анализа альтернативных (лучших) путей выполнения работы.
Технология проектирования информационных систем обычно подразумевает сначала создание модели AS-IS, ее анализ и улучшение бизнес-процессов, т. е. создание модели ТО-ВЕ, а затем на основе модели ТО-ВЕ построение модели данных, прототип и окончательного варианта системы.
Результат описания модели можно получить в отчете Model Report. Диалог настройки отчета по модели вызывается из пункта меню Report\Model Report. В диалоге настройки следует выбрать необходимые поля, при этом автоматически отображается очередность вывода информации в отчет (рисунок 8).
Рисунок 8 – Отчет по модели
Модель может содержать четыре типа диаграмм:
• контекстную диаграмму (в каждой модели может быть только одна контекстная диаграмма);
• диаграммы декомпозиции;
• диаграммы дерева узлов;
• диаграммы только для экспозиции (FEO).
Контекстная диаграмма является вершиной древовидной структуры диаграмм и представляет собой самое общее описание системы и ее взаимодействия с внешней средой. После описания системы в целом проводится разбиение ее на крупные фрагменты. Этот процесс называется функциональной декомпозицией, а диаграммы, которые описывают каждый фрагмент и взаимодействие фрагментов, называются диаграммами декомпозиции. После декомпозиции контекстной диаграммы проводится декомпозиция каждого большого фрагмента системы на более мелкие и так далее, до достижения нужного уровня подробности описания. После каждого сеанса декомпозиции проводятся сеансы экспертизы - эксперты предметной области указывают на соответствие реальных бизнес-процессов созданным диаграммам. Найденные несоответствия исправляются, и только после прохождения экспертизы без замечаний можно приступать к следующему сеансу декомпозиции. Так достигается соответствие модели реальным бизнес-процессам на любом и каждом уровне модели. Синтаксис описания системы в целом и каждого ее фрагмента одинаков во всей модели.
Диаграмма дерева узлов показывает иерархическую зависимость работ; но не взаимосвязи между работами. Диаграмма деревьев узлов может быть в модели сколь угодно много, поскольку дерево может быть построено на произвольную глубину и не обязательно с корня.
Диаграммы для экспозиции (FEO) строятся для иллюстрации отдельных фрагментов модели, для иллюстрации альтернативной точки зрения, либо для специальных целей.
Работы обозначают поименованные процессы, функции или задачи, которые происходят в течение определенного времени и имеют распознаваемые результаты. Работы изображаются в виде прямоугольников. Все работы должны быть названы и определены. Имя работы должно быть выражено отглагольным существительным, обозначающим действие (например, "Изготовление детали", "Прием заказа" и т. д.). Работа "Изготовление детали" может иметь, например, следующее определение: "Работа относится к полному циклу изготовления изделия от контроля качества сырья до отгрузки готового упакованного изделия". При создании новой модели (меню File\New) автоматически создается контекстная диаграмма с единственной работой, изображающей систему в целом (рисунок 9).
Рисунок 9 – Пример контекстной диаграммы
Для внесения имени работы следует щелкнуть по работе правой кнопкой мыши, выбрать в меню Name Editor и в появившемся диалоге внести имя работы. Для описания других аспектов контекста служит диалог Model Properties (рисунок 10).
Рисунок 10 – Редактор задания свойств работы
Диаграммы декомпозиции содержат родственные работы, т. е. дочерние работы, имеющие общую родительскую работу. Для создания диаграммы декомпозиции следует щелкнуть по кнопке .
Возникает диалог Activity Box Count (рисунок 11), в котором следует указать нотацию новой диаграммы и количество работ на ней. Остановимся на нотации IDEF0 и щелкнем на ОК.
Рисунок 11 – Диалог Activity Box Count
Появляется диаграмма декомпозиции (рисунок 12). Допустимый интервал числа работ 2-8. (диаграммы с количеством работ более восьми получаются перенасыщенными и плохо читаются). Для обеспечения наглядности и лучшего понимания моделируемых процессов рекомендуется использовать от трех до шести блоков на одной диаграмме.
Рисунок 12 – Пример диаграммы декомпозиции
Если оказывается, чтоколичество работ недостаточно, то работу можно добавить в диаграмму, щелкнув сначала по кнопке на палитре инструментов, а затем по свободному месту на диаграмме.
Работы на диаграммах декомпозиции обычно располагаются по диагонали от левого верхнего угла к правому нижнему. Такой порядок называется порядком доминирования: в левом верхнем углу располагается самая важная работа или работа, выполняемая по времени первой. Далее вправо вниз располагаются менее важные или выполняемые позже работы.
Каждая из работ на диаграмме декомпозиции может быть в свою очередь декомпозирована. На диаграмме декомпозиции работы нумеруются автоматически слева направо. Номер работы показывается и правом нижнем углу. В левом верхнем углу изображается небольшая диагональная черта, которая показывает, что данная работа не была декомпозирована.
Взаимодействие работ с внешним миром и между собой описывается в виде стрелок. Стрелки представляют собой некую информацию и именуются существительными (например: "Заготовка". "Изделие". "Заказ).
В IDEF0 различают пять типов стрелок:
Вход (Input) - материал или информация, которые используются или преобразуется работой дня получения результата (выхода). Допускается, что работа может не иметь ни одной стрелки входа. Каждый тип стрелок подходит к определенной стороне прямоугольника, изображающего работу, или выходит из нее. Стрелка входа рисуется как входящая в левую грань работы. При описании технологических процессов (для этого и был придуман IDEF0) не возникает проблем определения входов. Действительно, "Сырье" на рисунке 12 – это нечто, что перерабатывается в процессе "Изготовление изделия" для получения результата. При моделировании информационных систем, когда стрелками являются не физические объекты, а данные, не все так очевидно. Например, при "Приеме пациента"карта пациента может быть и на входе и на выходе, между тем качество этих данных меняется. Другими словами, в нашем примере для того, чтобы оправдать свое назначение, стрелки входа и выхода должны быть точно определены с тем, чтобы указать на то, что данные действительно были переработаны (например, на выходе - " Заполненная карта пациента "). Очень часто сложно определить, являются ли данные входом или управлением, В этом случае подсказкой может служить то, перерабатываются / изменяются ли данные в работе или нет. Если изменяются, то, скорее всего, это вход, если нет – управление.
Управление (Control) - правила, стратегии, процедуры или стандарты, которыми руководствуется работа. "Каждая работа должна иметь хотя бы одну стрелку управления. Стрелка управления рисуется как входящая в верхнюю грань работы. На рисунке 9 стрелки " Задание " и " Чертеж "- управление для работы " Изготовление изделия ". Управление влияет на работу, но не преобразуется работой. В случае возникновения неопределенности в статусе стрелки (управление или вход) рекомендуется рисовать стрелку управления.
Выход (Output) - материал или информация, которые производятся работой. Каждая работа должна иметь хотя бы одну стрелку выхода. Работа без результата не имеет смысла и не должна моделироваться. Стрелка выхода рисуется как исходящая из правой грани работы. На рисунке 9 стрелка " Готовое изделие " является выходом для работы " Изготовление изделия ".
Механизм (Mechanism) - ресурсы, которые выполняют работу, например персонал предприятия, станки, устройства и т. д. Стрелка механизма рисуется как входящая в нижнюю грань работы. На рисунке 9 стрелка " Персонал предприятия " является механизмом для работы " Изготовление изделия ", По усмотрению аналитика стрелки механизма могут не изображаться в модели.
Вызов (Call) - специальная стрелка, указывающая на другую модель работы. Стрелка механизма рисуется как исходящая из нижней грани работы. Стрелка вызова используется для указания того, что некоторая работа выполняется за пределами моделируемой системы.
Граничные стрелки. Стрелки на контекстной диаграмме служат для описания взаимодействия системы с окружающим миром. Они могут начинаться у границы диаграммы и заканчиваться у работы, или наоборот. Такие стрелки называются граничными.
Для внесения граничной стрелки входа надо: щелкнуть по кнопке с символом стрелки в палитре инструментов следует перенести курсор к левой стороне экрана, пока не появится начальная штриховая полоска:
щелкнуть один раз по полоске (откуда выходит стрелка) и еще раз в левой части работы со стороны входа (где заканчивается стрелка);
вернуться в палитру инструментов и выбрать опцию редактирования стрелки , щелкнуть правой кнопкой мыши на линии стрелки, во всплывающем меню выбрать Name Editor и добавить имя стрелки в закладке Name диалога IDEF0 Arrow Properties (рисунок 13).
Рисунок 13 – Диалог IDEF0 Arrow Properties
Стрелки управления, входа, механизма и выхода изображаются аналогично. Для рисования стрелки выхода, например, следует щелкнуть по кнопке с символом стрелки в палитре инструментов, щелкнуть в правой части работы со стороны выхода (где начинается стрелка), перенести курсор к правой стороне экрана, пока не появится начальная штриховая полоска, и щелкнуть один раз по штриховой полоске.
Имена вновь внесенных стрелок автоматически заносятся в словарь стрелок (Arrow Dictionary).
Словарь стрелок редактируется при помощи специального редакторе Arrow Dictionary Editor, доступном в меню Editor / Arrow Dictionary в котором определяется стрелка и вносится относящийся к ней комментарий (рисунок 14).
Рисунок 14 – Словарь стрелок
Словарь стрелок решает очень важную задачу. Диаграммы создаются аналитиком для того, чтобы провести сеанс экспертизы, т. е. обсудить диаграмму со специалистом предметной области. В любой предметной области формируется, профессиональный жаргон, причем очень часто жаргонные выражения имеют нечеткий смысл, и воспринимаются разными специалистами по-разному. В то же врем: аналитик - автор диаграмм должен употреблять те выражения, который наиболее понятны экспертам. Поскольку формальные определения часто сложны для восприятия, аналитик вынужден употреблять профессиональный жаргон, а, чтобы не возникло неоднозначных трактовок, в словарь стрелок каждому понятию можно дать расширенное и, если это необходимо, формальное определение.
Содержимое словаря стрелок можно распечатать в виде отчета (меню Report \ Arrow Report…) и получить тем самым толковый словарь термине предметной области, использующихся в модели.
Рассмотрим несвязанные граничные стрелки (unconnected border arrow). При декомпозиции работы входящие в нее и исходящие из нее стрелки (кроме стрелки вызова) автоматически появляются на диаграмме декомпозиции (миграция стрелок), но при этом не касаются работ. Такие стрелки называются несвязанными и воспринимаются в BP-win как синтаксическая ошибка.
Для связывания стрелок входа управления или механизма необходимо перейти и режим редактирования стрелок, щелкнуть по наконечнику стрелки и щелкнуть по соответствующему сегменту работы. Для связывания стрелки выхода необходимо перейти в режим редактирования стрелок, щелкнуть по сегменту выхода работы и затем по стрелке.
Для связи работ между собой используются внутренние стрелки, т. е. стрелки, которые не касаются границы диаграммы, начинаются у одной и кончаются у другой работы.
Для рисования внутренней стрелки необходимо в режиме рисования стрелок щелкнуть по сегменту (например, выхода) одной работы и затем по сегменту (например, входа) другой.
Одни и те же данные или объекты, порожденные одной работой, могут использоваться сразу в нескольких других работах. С другой стороны, стрелки, порожденные в разных работах, могут представлять собой одинаковые или однородные данные или объекты, которые в дальнейшем используются или перерабатываются в одном месте. Для моделирования таких ситуаций в IDEF0 используются разветвляющиеся и сливающиеся стрелки. Для разветвления стрелки нужно в режиме редактирования стрелки щелкнуть по фрагменту стрелки и по соответствующему сегменту работы. Для слияния двух стрелок выхода нужно в режиме редактирования стрелки сначала щелкнуть по сегменту выхода работы, а затем по соответствующему фрагменту стрелки.
Смысл разветвляющихся и сливающихся стрелок передается именованием каждой ветви стрелок, существуют определенные правила именования таких стрелок. Рассмотрим их на примере разветвляющихся стрелок. Если стрелка именована до разветвления, а после разветвления ни одна из ветвей не именована, то подразумевается, что каждая ветвь моделирует те же данные или объекты, что и ветвь до разветвления (рисунок 15).
Рисунок 15 – Пример именования разветвляющейся стрелки
Если стрелка именована до разветвления, а после разветвления какая-то из ветвей не именована, то подразумевается, что эти ветви соответствует именованию. Если при этом какая-либо ветвь после разветвления осталась неименованной, то подразумевается, что она моделирует те же данные или объекты, что и ветвь до разветвления (рисунок 16).
Рисунок 16 – Другой пример именования разветвляющейся стрелки
Недопустима ситуация, когда стрелка до разветвления не именована, а после разветвления не именована какая-либо из ветвей. BP-win определяет такую стрелку как синтаксическую ошибку (рисунок 17).
Рисунок 17 – Пример неверного именования разветвляющейся стрелки
Правила именования сливающихся стрелок полностью аналогичны, ошибкой будет считаться стрелка, которая после слияния не именована, а до слияния не именована какая-либо из ее ветвей. Для именования отдельной ветви разветвляющихся и сливающихся стрелок следует выделить на диаграмме только одну ветвь, после этого вызвать редактор имени присвоить имя стрелке. Это имя будет соответствовать только выделение ветви.
Тоннелирование стрелок. Вновь внесенные граничные стрелки на диаграмме декомпозиции нижнего уровня изображаются в квадратных скобках и автоматически не появляются на диаграмме верхнего уровня (рисунок 18).
Рисунок 18 – Неразрешенная (Unresolved) стрелка
Для их “перетаскивания” наверх нужно сначала выбрать кнопку на палитре инструментов и щелкнуть по квадратным скобкам граничной стрелки. Появляется диалог Border Arrow Editor (рисунок 19).
Рисунок 19 – Диалог Border Arrow Editor
Если щелкнуть по кнопке Resolve Border Arrow, стрелка мигрирует на диаграмму верхнего уровня, если по кнопке Change To Tunnel - стрелка будет затоннелирована и не попадет на другую диаграмму. Тоннельная стрелка изображается с круглыми скобками на конце (рисунок 20).
Рисунок 20 – Тоннельная стрелка
Тоннелирование может быть применено для изображения малозначимых стрелок. Если на какой-либо диаграмме нижнего уровня необходимо изобразить малозначимые данные или объекты, которые не обрабатываются или не используются работами на текущем уровне, то их необходимо направить на вышестоящий уровень (на родительскую диаграмму). Если эти данные не используются на родительской диаграмме, их нужно направить еще выше, и т. д. В результате малозначимая стрелка будет изображена на всех уровнях и затруднит чтение всех диаграмм, на которых она присутствует. Выходом является тоннелирование стрелки на самом нижнем уровне. Такое тоннелирование называется "не-в-родительской-диаграмме".
Другим примером тоннелирования может быть ситуация, когда стрелка механизма мигрирует с верхнего уровня на нижний, причем на нижнем уровне этот механизм используется одинаково во всех работах без исключения. В этом случае стрелка механизма на нижнем уровне может быть удалена, после чего на Родительской диаграмме она может быть затоннелирована, а в комментарии к стрелке или в словаре можно указать, что механизм будет использоваться во всех работах дочерней диаграммы декомпозиции. Такое тоннелирование называется "не-в-дочсрней-работе"
Диаграмма дерева узлов показывает иерархию работ в модели и позволяет рассмотреть всю модель целиком, но не показывает взаимосвязи между работами (стрелки) (рисунок 21). Процесс создания модели работ является итерационным, следовательно, работы могут менять свое расположение в дереве узлов многократно. Чтобы не запутаться и проверить способ декомпозиции, следует после каждого изменения создавать диаграмму дерева узлов. Впрочем, BP-win имеет мощный инструмент навигации по модели – Model Explorer, который позволяет представить иерархию работ и диаграмм в удобном и компактном виде, однако этот инструмент является составляющей стандарта IDEF0.
Рисунок 21 – Диаграмма дерева узлов
Для создания диаграммы дерева узлов следует выбрать в меню пункт Insert\Node Tree. Возникает диалог формирования диаграммы дерева узлов Node Tree Definition (рисунок 22).
Рисунок 22 – Диалог настройки диаграммы дерева узлов
В диалоге Node Tree Definition следует указать глубину дерева Number of Levels (по умолчанию 3) и корень дерева (по умолчанию - родительская работа текущей диаграммы). По умолчанию нижний уровень декомпозиции показывается в виде списка, остальные работы - в виде прямоугольнике. Для отображения всего дерева в виде прямоугольников следует выбор; опцию Bullet Last Levels. При создании дерева узлов следует указать имядиаграммы, поскольку, если в нескольких диаграммах в качестве корня дерева узлов использовать одну и ту же работу, все эти диаграммы получают одинаковый номер (номер узла + постфикс N. например А0М) и в списке открытых диаграмм (пункт меню Window) их можно будет различить только по имени.
Диаграммы "только для экспозиции" (FEO) часто используются в модели для иллюстрации других точек зрения, для отображения отдельных дет лей, которые не поддерживаются явно синтаксисом IDEF0. Диаграмм FEO позволяют нарушить любое синтаксическое правило, поскольку сути являются просто картинками - копиями стандартных диаграмм и включаются анализ синтаксиса. Например, работа на диаграмме FEO может не иметь стрелок управления и выхода. С целью обсуждения определенных аспектов модели с экспертом предметной области может быть создана диаграмма только с одной работой и одной стрелкой, поскольку стандартная диаграмма декомпозиции содержит множество деталей, не относящихся к теме обсуждения и дезориентирующих эксперта. Но если FEO используется для иллюстрации альтернативных точек зрения (альтернативный контекст), рекомендуется все-таки придерживаться синтаксиса IDEF0. Для создания диаграммы FEO следует выбрать пункт меню Insert\FEO Diagram. В возникающем диалоге Create New FEO Diagram следует указать имя диаграммы FEO и тип родительской диаграммы (рисунок 23).
Рисунок 23 – Диалог создания FEO-диаграммы
Новая диаграмма получает номер, который генерируется автоматически (номер родительской диаграммы по узлу + постфикс F, например AIF).
На рисунке 12 показан типичный пример каркаса диаграммы декомпозиции.
Каркас содержит заголовок (верхняя часть рамки) и подвал (нижняя часть). Заголовок каркаса используется для отслеживания диаграммы в процессе моделирования. Нижняя часть используется для идентификации позиционирования в иерархии диаграммы.
Смысл элементов каркаса приведен в таблице 2.
Таблица 2 – Поля заголовка каркаса диаграммы
Поле | Смысл |
Used At | Используется для указания на родительскую работу в случае, если на текущую диаграмму ссылались посредством стрелки вызова |
Author, Date, Project, Rev | Имя создателя диаграммы, дата создания и имя проекта, в рамках которого была создана диаграмма. Дата последнего редактирования диаграммы. |
Notes 1 2 3 4 5 6 7 8 9 10 | Используется при проведении сеанса экспертизы. Эксперт должен на бумажной копии диаграммы указать число замечаний, вычеркивая число из списка каждый раз при внесении нового замечания |
Status | Статус диаграммы, отражающий стадию ее создания |
Working | Новая диаграмма |
Draft | Диаграмма прошла первичную экспертизу |
Recommended | Диаграмма прошла полную экспертизу |
Publication | Диаграмма готовится к публикации |
Data | Дата экспертизы |
Context | Схема расположения работ в диаграмме верхнего уровня и родительская работа (закрашена) |
Node | Номер узла диаграммы (родительской работы) |
Title | Имя диаграммы (по умолчанию имя родительской работы) |
Numbers | Номер версии диаграммы |
Page | Номер страницы |
Значение полей каркаса задаются в диалоге Diagram Properties (меню Edit\Diagram Properties) рисунок 24.
Рисунок 24 – Диалог Diagram Properties
Рекомендации по рисованию диаграмм. В реальных диаграммах к каждой работе может подходить и от каждой может отходить около десятка стрелок. Если диаграмма содержит 6-8 работ, то она может содержать 30-40 стрелок, причем они могут сливаться, разветвляться и пресекаться. Такие диаграммы могут стать очень плохо читаемыми. В IDEF0 существуют соглашения, но рисованию диаграмм, которые, признаны облегчить чтение и экспертизу модели. Некоторые из этих правил BP-win поддерживает автоматически, выполнение других следует обеспечить вручную.
- Прямоугольники работ должны располагаться по диагонали с левого верхнего в правый нижний угол (порядок доминирования). При создании новой диаграммы декомпозиции BP-win автоматически располагает работы именно в таком порядке. В дальнейшем можно добавить новые работы или изменить расположение существующих, но нарушать диагональное расположение работ по возможности не следует. Порядок доминирования подчеркивает взаимосвязь работ, позволяет минимизировать изгибы и пересечения стрелок.
- Следует максимально увеличивать расстояние между входящими или выходящими стрелками на одной грани работы. Если включить опцию Line Drawing: Automatically space arrows на закладке Layout диалога Model Properties (меню Edit\Model Properties), BP-win будет располагать стрелки нужным образом автоматически.
- Следует максимально увеличить расстояние между работами, поворотами и пересечениями стрелок.
- Если две стрелки проходят параллельно (начинаются из одной и той же грани одной работы и заканчиваются на одной и той же грани другой работы), то по возможности следует их объединить и назвать единым термином.
- Обратные связи по входу рисуются "нижней" петлей, обратная связь по управлению - "верхней". BP-win автоматически рисует обратные связи нужным образом.
- Циклические обратные связи следует рисовать только в случае крайней необходимости, когда подчеркивают значение повторно используемо объекта. BP-win не позволяет создать циклическую обратную связь за один прием. Если все же необходимо изобразить такую связь, следует сначала создать обычную связь по входу, затем разветвить стрелку, направить новую ветвь обратно к входу работы-источника и, наконец, удалить старую ветвь стрелки выхода (рисунок 25).
- Следует минимизировать числопересечений, петель и поворотов стрелок.
Рисунок 25 – Пример обратной циклической связи
Проведение экспертизы. Цикл автор-читатель. Цикл автор-читатель предназначен для обеспечения обратной связи при построении модели. Он включает определенные формализованные процедуры, предписывающие правила координации деятельности участников создания модели. В работе над моделью принимают участие специалисты разных специальностей – аналитики (авторы), эксперты предметной области (читатели), библиотекари и комитет технического контроля. Обычно библиотекарь выделяется для больших проектов. Цикл автор-читатель содержит следующие этапы:
На очередном этапе декомпозиции аналитик создает диаграмму на основе общих знаний, анализа документации и опроса экспертов. Общие знания не позволяют создать диаграмму достаточно корректно, поэтому она нуждается в уточнении и дополнении.
Все коммуникации при создании модели контролируются библиотекарем. Он ответственен за прохождение папок и архивирование диаграмм модели. После создания диаграмма посылается библиотекарю для помещения в архив.
Автором формируется папка и передается для распространения библиотекарю (одна копия направляется автору). В папку должна входить текущая Диаграмма. Кроме того, в папку могут включаться сопутствующие отчеты, в том числе словарь стрелок и работ, диаграмма верхнего уровня, дерево узлов и любая необходимая дополнительная документация. На папке регистрируются входящие данные - дата, автор, данные читателя и т. д., после чего папка направляется эксперту предметной области (читателю).
Читатель рецензирует папку и записывает свои комментарии. Замечания вносятся и диаграмму по определенным правилам. Если читатель решил внести замечание, он должен указать номер замечания, затем внести текст замечания и в каркасе диаграммы в разделе Notes зачеркнуть цифру, соответствующую номеру замечания.
После рецензирования папки возвращаются библиотекарю. Библиотекарь должен обеспечивать проведение рецензирования в срок. Затем папки регистрируются и направляются автору.
Автор вносит ответ на замечания и, если он согласен с замечаниями, вносит изменения в модель. На практике зачастую сеанс экспертизы проводится в форме устного собеседования между автором и экспертом. В этом случае особенно важно вносить замечания эксперта и комментарии автора в диаграмму для документирования всех идей, возникших в результате моделирования.
Если это необходимо, проводится дополнительная экспертиза у того же или у другого эксперта.
После прохождения нескольких циклов число замечаний обычно уменьшается, и диаграмма становится стабильной. В процессе изменения диаграмма может менять свой статус, который должен быть отражен в каркасе (см. таблица 2). Когда автор считает, что диаграмма уже достаточно проработана и достигла уровня "Recommended", он пересылает ее на утверждение в комитет технического контроля, где она проходит окончательную экспертизу. После внесения замечаний и окончательных изменений диаграмма (или набор диаграмм) окончательно утверждается, получает статус "Publication" и может быть распечатана и распространена среди участников проекта.
Процесс создания SADT модели можно отразить на функциональной диаграмме [1].
Рисунок 25 – Процесс создания SADT-модели
Создание отчетов в BP-win. BP-win имеет мощный инструмент генерации отчетов. Отчеты по модели вызываются из пункта меню Report. Всего имеется семь типов отчетов:
1. Model Report. Этот отчет уже упоминался в 1.2.1. Он включает информацию о контексте модели - имя модели, точку зрения, область, цель, имя автора, дату создания и др.
2. Diagram Report. Отчет по конкретной диаграмме. Включает список объектов (работ, стрелок, хранилищ данных, внешних ссылок и т. д.).
3. Diagram Object Report. Наиболее полный отчет по модели. Может включать полный список объектов модели (работ, стрелок с указанием их типа и др.) и свойства, определяемые пользователем.
4. Activity Cost Report. Отчет о результатах стоимостного анализа. Будет рассмотрен ниже.
5. Arrow Report. Отчет по стрелкам. Может содержать информацию из словаря стрелок, информацию о работе-источнике, работе-назначении стрелки и информацию о разветвлении и слиянии стрелок.
6. Data Usage Report. Отчет о результатах связывания модели процессов и модели данных. (Будет рассмотрен ниже.)
7. Model Consistency Report. Отчет, содержащий список синтаксических ошибок модели.
Синтаксические ошибки IDEF0 с точки зрения BP-win разделяются на три типа:
- Во-первых, это ошибки, которые BP-win выявить не в состоянии. Например, синтаксис IDEF0 требует, чтобы имя работы было выражено отглагольным существительным или глагольной формой, выражающей действие (" Изготовление изделия ", " Обслуживаниеклиента ", " Выписка счета " и т. д.), а имя стрелки также должно быть выражено существительным. BP-win не позволяет анализировать синтаксис естественного языка (английского и русского) и смысл имен объектов и поэтому игнорирует ошибки этого типа. Выявление таких ошибок - ручная работа, которая ложится на плечи аналитиков и должна контролироваться руководителем проекта.
- Ошибки второго типа BP-win просто не допускает. Например, каждая грань работы предназначена для определенного типа стрелок. BP-win просто не позволит создать на диаграмме IDEF0 внутреннюю стрелку, выходящую из левой грани работы и входящую в правую грань.
- Третий тип ошибок BP-win позволяет допустить, но детектирует их. Полный их список можно получить в отчете Model Consistency Report.
Это единственный неопциональный отчет в BP-win.Список ошибок может содержать, например, неименованные работы и стрелки (Unconnected border arrow, unnamed activity), несвязанные стрелки (Unconnected border arrow), неразрешенные стрелки (unresolved (square tunneled)arrow connections), работы, не имеющие по крайней мере одной стрелки выхода и одной стрелки управления (Activity "Сборка блоков" has no Control, Activity "Сборка блоков" has no Output), и т. д.
При выборе пункта меню, который соответствует какому-либо отчету, появляется диалог настройки отчета. Для каждого из семи типов отчетов он выглядит по-своему. Рассмотрим типичный диалог Arrow Report (рисунок 27).
Рисунок 27 – Диалог Arrow Report
Раскрывающийся список Standard Report позволяет выбрать один из стандартных отчетов. Стандартный отчет - это запоминаемая комбинация переключателей, флажков и других элементов управления диалога. Для создания собственного стандартного отчета необходимо задать опции отчета, ввести имя отчета в поле списка выбора и щелкнуть по кнопке New. BP-win сохраняет информацию о стандартном отчете в файле BPWINRPT.INI. Все определения этого файла доступны из любой модели. Единственное ограничение - свойства, определяемые пользователем (USER – Defined Properties). Они сохраняются в виде указателя и поэтому доступны только из "родной" модели.
Стандартный отчет можно изменить (кнопка Update) или удалить (кнопка Delete).
В правом верхнем углу диалога находится группа управляющих элементов для выбора формата отчета. Доступны следующие форматы:
- Labeled - отчеты включают метку поля, затем, в следующей строке, печатается содержимое поля;
- Fixed Column - каждое поле печатается в собственной колонке;
- Tab – Comma Delimited - каждое поле печатается в собственной колонке. Колонки разделяются знаком табуляции или запятыми;
- DDE Table - данные передаются по DDE приложению, например MS Word или Excel;
- RPTwin - отчет создается в формате Platinum RPTwin - специализированного генератора отчетов, который входит в поставку BP-win.
Опция Ordering (на отчете по стрелкам отсутствует) сортирует данные по какому-либо значению.
Опция Multi – Valued Format регулирует вывод полей в отчете при группировке данных:
- Repeating Group - детальные данные объединяются в одно поле, между значениями вставляется +.
- Filled - дублирование данных для каждого заголовка группы;
- Header (опция по умолчанию) - печатается заголовок группы, затем -детальная информация.
4. ДИАГРАММЫ ПОТОКОВ ДАННЫХ (DATA FLOW DIAGRAMMING)
Диаграммы потоков данных (Data Flow Diagramming,DFD) используются для описания документооборота и обработки информации. Подобно IDEF0, DFD представляет модельную систему как сеть связанных между собой работ. Их можно использовать как дополнение к модели IDEF0 для более наглядного отображения текущих операций документооборота в корпоративных системах обработки информации.
DFD описывает:
- функции обработки информации (работы);
- документы (стрелки, arrow), объекты, сотрудников или отделы, которые участвуют в обработке информации;
- внешние ссылки (external references), которые обеспечивают интерфейс с внешними объектами, находящимися за границами моделируемой
- таблицы для хранения документов (хранилище данных, data store).
В BP-win для построения диаграмм потоков данных используется нотация Гейна - Сарсона.
Для того чтобы дополнить модель IDEF0 диаграммой DFD, нужно в процессе декомпозиции в диалоге Activity Box Count выбрать DFD. В палитре инструментов на новой диаграмме DFD появляются новые кнопки:
– добавить в диаграмму внешнюю ссылку (External References). Внешняя ссылка является источником или приемником данных извне модели;
– добавить в диаграмму хранилище данных (Data store). Хранилище данных позволяет описать данные, которые необходимо сохранить в памяти прежде, чем использовать в работах;
– ссылка на другую страницу. В отличие от IDEF0 в DFD стрелку можно направить на любую диаграмму (а не только на верхний уровень).
В отличие от стрелок IDEF0, которые представляют собой жесткие взаимосвязи, стрелки DFD показывают, как объекты (включая данные) двигаются от одной работы к другой. Это представление потоков совместно с хранилищами данных и внешними сущностями делает модели DFD более похожими на физические характеристики системы - движение объектов (data flow), хранение объектов (data stores), поставка и распространение объектов (external entities) (рисунок 28 – модель организации учебного процесса).
а)
б)
Рисунок 28 – модель организации учебного процесса).
В отличие от IDEF0, где система рассматривается как взаимосвязанные работы, DFD рассматривает систему как совокупность предметов. Контекстная диаграмма часто включает работы и внешние ссылки. Работы, обычно, именуются по названию системы, например "Система обработки информации". Включение внешних ссылок в контекстную диаграмму не отменяет требования методологии четко определить цель, область и единую точку зрения на моделируемую систему.
Работы. В DFD работы представляют собой функции системы, преобразующие входы в выходы. Хотя работы изображаются прямоугольниками со скругленными углами, смысл их совпадает со смыслом работ IDEF0 и IDEF3. Так же как работы IDEF3, они имеют входы и выходы, но не поддерживают управления и механизмы, как IDEF0.
Внешние сущности. Внешние сущности изображают входы в систему и/или выходы из системы. Внешние сущности изображаются в виде прямоугольника с тенью и обычно располагаются по краям диаграммы. Одна внешняя сущность может быть использована многократно на одной или нескольких диаграммах. Обычно такой прием используют, чтобы не рисовать слишком длинных и запутанных стрелок.
Стрелки (Потоки данных). Стрелки описывают движение объектов из одной части системы в другую. Поскольку в DFD каждая сторона работы не имеет четкого назначения, как в IDEF0, стрелки могут подходить и выходить из любой грани прямоугольника работы. В DFD также применяются двунаправленные стрелки для описания диалогов типа "команда-ответ" между работами, между работой и внешней сущностью и между внешними сущностями (рисунок 29).
Рисунок 29 – использование двунаправленных стрелок
Для ввода стрелок различных типов необходимо установить курсор мыши на стрелку и дважды щелкнуть левой клавишей мыши, после чего в диалоговом окне DFD Arrow Properties выбрать вкладку Style на которой уставить нужный тип стрелок.
Хранилище данных. В отличие от стрелок, описывающих объекты в движении, хранилища данных изображают объекты в покое.
В материальных системах хранилища данных изображаются там, где объекты ожидают обработки, например в очереди. В системах обработки информации хранилища данных являютсямеханизмом, который позволяет сохранить данные для последующих процессов.
Слияние и разветвление стрелок. В DFD стрелки могут сливаться и разветвляться, что позволяет описать декомпозицию стрелок. Каждый новый сегмент сливающейся или разветвляющейся стрелки может иметь собственное имя.
Построение диаграмм DFD. Диаграммы DFD могут быть построены с использованием традиционного структурного анализа, подобно тому как строятся диаграммы IDEF0. Сначала строится физическая модель, отображающая текущее состояние дел. Затем эта модель преобразуется в логическую модель, которая отображает требования к существующей системе. После этого строится модель, отображающая требования к будущей системе. И наконец, строится физическая модель, на основе которой должна быть построена новая система.
Альтернативным подходом является подход, популярный при создании программного обеспечения, называемый событийным разделением (event partitioning), в котором различные диаграммы DFD выстраивают модель системы. Во-первых, логическая модель строится как совокупность работ и документирования того, что они (эти работы) должны делать.
Затем модель окружения (environment model) описывает систему как объект, взаимодействующий с событиями из внешних сущностей. Модель окружения обычно содержит описание цели системы, одну контекстную диаграмму и список событий. Контекстная диаграмма содержит один прямоугольник работы, изображающий систему в целом, и внешние сущности, с которыми система взаимодействует.
Наконец, модель поведения (behavior model) показывает, как система обрабатывает события. Эта модель состоит из одной диаграммы, в которой каждый прямоугольник изображает каждое событие из модели окружения. Хранилища могут быть добавлены для моделирования данных, которые необходимо запоминать между событиями. Потоки добавляются для связи с другими элементами, и диаграмма проверяется с точки зрения соответствия модели окружения.
Полученные диаграммы могут быть преобразованы с целью более наглядного представления системы, в частности работы на диаграммах могут быть декомпозированы.
Нумерация объектов. В DFD номер каждой работы может включать префикс, номер родительской работы (А) и номер объекта. Номер объекта - это уникальный номер работы на диаграмме. Например, работа может иметь номер А.12.4. Уникальный номер имеют хранилища данных и внешние сущности независимо от их расположения на диаграмме. Каждое хранилище данных имеет префикс D и уникальный номер, например D5. Каждая внешняя сущность имеет префикс Е и уникальный номер, например Е5.
ЛИТЕРАТУРА
1. Марк Д.А. и Мак-Гоуэн К. Методология структурного анализа и проектирования SADT. М.: Мета Технология, 1993.
2. Вендров А.М. Проектирование программного обеспечения экономических информационных систем. М.: Финансы и статистика, 2005.
3. Маклаков С.В. BPwin и Erwin. CASE-средства разработки информационных систем. М.: Диалог-МИФИ, 1999.
4. Маклаков С.В. Моделирование бизнес процессов с BPwin 4.0 М.: Диалог-МИФИ, 2002.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
1. МЕТОДОЛОГИЯ ФУНКЦИОНАЛЬНОГО МОДЕЛИРОВАНИЯ SADT 3 2. СОСТАВ ФУНКЦИОНАЛЬНОЙ МОДЕЛИ 4
3. СОЗДАНИЕ ФУНКЦИОНАЛЬНОЙ МОДЕЛИ В BP-WIN 8
4. ДИАГРАММЫ ПОТОКОВ ДАННЫХ (DATA FLOW DIAGRAMMING) 32
ЛИТЕРАТУРА 36