Спецификации процессов для примера банковской задачи

Сравнение методов

Спектр методов задания спецификаций процессов в соответствии с увеличением трудности их проектирования приведен на рис 4.5. Наиболее трудным методом задания СП являются языки программирования (C, COBOL, FORTRAN и др.). Сложность заключается в том, что языки программирования концентрируют внимание на деталях реализации, а потоки данных в DFD представляются абстрактно (их фактическая композиция определяется в словаре данных). Поэтому сложность - не в написании СП, а в их синхронизации и согласовании с DFD, поскольку при редактировании DFD, вообще говоря, должны корректироваться и спецификации процессов.

Текстовое описание Структурированный естественный язык таблица решений дерево решений Визуальный язык язык программирования

Рис. 4.5. Спектр методов задания спецификаций процессов

Перечислим некоторые положительные и отрицательные стороны рассмотренных методов задания СП.

Структурированный естественный язык применяется в случаях, когда детали СП известны не полностью. Он обеспечивает быстрое проектирование СП, прост в использовании, легко понимаем проектировщиками и программистами, а также конечным пользователем. К его недостаткам относятся отсутствие процедурных возможностей и неспособность к автоматической кодогенерации из-за наличия неоднозначностей.

Таблицы и деревья решений позволяют управлять сложными комбинациями условий и действий, обеспечивают визуальное (табличное и графическое, соответственно) представление СП и легко понимаемы конечным пользователем. Кроме этого, таблицы решений позволяют легко идентифицировать несущественности и бреши в СП. Главным недостатком методов является отсутствие процедурных возможностей.

Визуальные языки проектирования поддерживаются автоматической кодогенерацией, позволяют осуществлять декомпозицию СП. Их недостаток - трудность модификации СП при изменении деталей.

Приведем спецификации процессов для рассмотренного в 2.5 примера банковской задачи с использованием структурированного естественного языка.

1) Спецификация процесса 1.1 приведена в 4.1.
2) Спецификация процесса 1.2.

@ВХОД = ЛИМИТ ДЕНЕГ
@ВХОД = ЗАПРОС НА ОБСЛУЖИВАНИЕ
@ВЫХОД = ДЕНЕЖНАЯ СУММА
@ВЫХОД = СООБЩЕНИЕ
@ВЫХОД = ТРЕБУЕМОЕ ОБСЛУЖИВАНИЕ
@СПЕЦПРОЦ 1.2 ПОЛУЧИТЬ ЗАПРОС НА ОБСЛУЖИВАНИЕ
ВЫПОЛНИТЬ выдать СООБЩЕНИЕ клиенту по вводу запроса на обслуживание
принять ЗАПРОС НА ОБСЛУЖИВАНИЕ
обновить данные ТРЕБУЕМОЕ ОБСЛУЖИВАНИЕ (а именно,
ЗАПРОС ДОКУМЕНТАЦИИ, ЗАПРОС ДЕНЕГ,
ЗАПРОС БАЛАНСА, ЗАПРОС НА ОПЕРАЦИЮ)
ЕСЛИ был сделан ЗАПРОС ДЕНЕГ
ТО ВЫПОЛНИТЬ запросить ДЕНЕЖНУЮ СУММУ
выдать требуемую ДЕНЕЖНУЮ СУММУ с учетом того,
что она не должно превышать ЛИМИТ ДЕНЕГ
КОНЕЦЕСЛИ
ДОТЕХПОРПОКА запрашивается продолжение обслуживания
или не все обслуживание было выполнено
КОНЕЦВЫПОЛНИТЬ
@ КОНЕЦ СПЕЦИФИКАЦИИ ПРОЦЕССА
1.2

3) Спецификация процесса 1.3.
3.1) Спецификация процесса 1.3.1.

@ВХОД = ЗАПРОС ДОКУМЕНТАЦИИ
@ВХОД = ДЕТАЛИ КЛИЕНТА
@ВЫХОД = ОБРАБОТАННАЯ ДОКУМЕНТАЦИЯ
@СПЕЦПРОЦ 1.3.1 ОБРАБОТАТЬ ДОКУМЕНТАЦИЮ БАНКА
По получении ЗАПРОСА ДОКУМЕНТАЦИИ выдать ОБРАБОТАННУЮ ДОКУМЕНТАЦИЮ,
содержащую ДЕТАЛИ КЛИЕНТА, КОМПЬЮТЕРУ БАНКА
@КОНЕЦ СПЕЦИФИКАЦИИ ПРОЦЕССА 1.3.1

3.2) Спецификация процесса 1.3.2.

@ВХОД = ДАННЫЕ ПО БАЛАНСУ
@ВХОД = ЗАПРОС БАЛАНСА
@ВХОД = ДЕТАЛИ КЛИЕНТА
@ВЫХОД = ДАННЫЕ ПО ИСТОРИИ ЗАПРОСА
@ВЫХОД = ВЫПИСКА ПО БАЛАНСУ
@СПЕЦПРОЦ 1.3.2 РАСПЕЧАТАТЬ БАЛАНС КЛИЕНТА
По получении ЗАПРОСА БАЛАНСА выдать ДАННЫЕ ПО ИСТОРИИ ЗАПРОСА
Затем выдать ВЫПИСКУ ПО БАЛАНСУ, содержащую ДАННЫЕ ПО БАЛАНСУ@ КОНЕЦ СПЕЦИФИКАЦИИ ПРОЦЕССА 1.3.2

3.3) Спецификация процесса 1.3.3.

@ВХОД = ДЕНЕЖНАЯ СУММА
@ВХОД = ЗАПРОС ДЕНЕГ
@ВХОД = ДЕТАЛИ КЛИЕНТА
@ВЫХОД = ДЕНЬГИ
@ВЫХОД = ВЫПИСКА О ДЕНЬГАХ
@ВЫХОД = ДЕНЕЖНАЯ СУММА
@СПЕЦПРОЦ 1.3.3 ПРИГОТОВИТЬ ДЕНЬГИ ДЛЯ КЛИЕНТА
По получении ЗАПРОСА ДЕНЕГ выдать ДЕНЬГИ по значению ДЕНЕЖНОЙ СУММЫ
Выдать ВЫПИСКУ О ДЕНЬГАХ, содержащую ДЕНЕЖНУЮ СУММУ
Передать КОМПЬЮТЕРУ БАНКА информацию о ДЕНЕЖНОЙ СУММЕ
@ КОНЕЦ СПЕЦИФИКАЦИИ ПРОЦЕССА 1.3.3

3.4) Спецификация процесса 1.3.4.

@ВХОД = ДАННЫЕ ПО СЧЕТУ
@ВХОД = ЗАПРОС НА ОПЕРАЦИЮ
@ВХОД = ДЕТАЛИ КЛИЕНТА
@ВЫХОД = ДАНННЫЕ ПО ИСТОРИИ ЗАПРОСА
@ВЫХОД= ВЫПИСКА ПО ОПЕРАЦИИ
@СПЕЦПРОЦ 1.3.4 РАСПЕЧАТАТЬ ОПЕРАЦИЮ КЛИЕНТА
получении ЗАПРОСА НА ОПЕРАЦИЮ выдать ДАННЫЕ ПО ИСТОРИИ ЗАПРОСА для
специфицирования ДЕТАЛЕЙ КЛИЕНТА, чтобы получить текущие ДАННЫЕ ПО СЧЕТУ
Выдать ВЫПИСКУ ПО ОПЕРАЦИИ, содержащую ДАННЫЕ ПО СЧЕТУ
@ КОНЕЦ СПЕЦИФИКАЦИИ ПРОЦЕССА 1.3.4

4) Спецификация процесса 1.4.

@ВХОД = УДАЛЕННАЯ КРЕДИТНАЯ КАРТА
@ВХОДВЫХОД = КРЕДИТНАЯ КАРТА
@ВЫХОД = ДАННЫЕ КРЕДИТНОЙ КАРТЫ
@ВЫХОД = ВВЕДЕННАЯ КРЕДИТНАЯ КАРТА
@СПЕЦПРОЦ 1.4 ОБРАБОТАТЬ КРЕДИТНУЮ КАРТУ
ВЫПОЛНИТЬ считать КРЕДИТНУЮ КАРТУ
записать в хранилище ДАННЫЕ КРЕДИТНОЙ КАРТЫ
выдать управляющий поток ВВЕДЕННАЯ КРЕДИТНАЯ КАРТА
по получении управляющего потока УДАЛЕННАЯ КРЕДИТНАЯ КАРТА удалить
КРЕДИТНУЮ КАРТУ
@ КОНЕЦ СПЕЦИФИКАЦИИ ПРОЦЕССА 1.4


2.1.2. SADT – диаграммы моделирования бизнес-процессов

История. Начало разработки диаграмм функционального моделирования относится к середине 1960-х годов, когда Дуглас Т. Росс предложил специальную технику моделирования, получившую название SADT (Structured Analysis & Design Technique). Военно-воздушные силы США использовали методику SADT в качестве части своей программы интеграции компьютерных и промышленных технологий (Integrated Computer Aided Manufacturing, ICAM) и назвали ее IDEFO (Icam DEFinition). Целью программы ICAM было увеличение эффективности компьютерных технологий в сфере проектирования новых средств вооружений и ведения боевых действий. Одним из результатов этих исследований являлся вывод о том, что описательные языки не эффективны для документирования и моделирования процессов функционирования сложных систем. Подобные описания на естественном языке не обеспечивают требуемого уровня непротиворечивости и полноты, имеющих доминирующее значение при решении задач моделирования.

В рамках программы ICAM было разработано несколько графических языков моделирования, которые получили следующие названия:

· Нотация IDEF0 — для документирования процессов производства и отображения информации об использовании ресурсов на каждом из этапов проектирования систем.

· Нотация IDEF1 — для документирования информации о производственном окружении систем.

· Нотация IDEF2 — для документирования поведения системы во времени.

· Нотация IDEF3 — специально для моделирования бизнес-процессов.

Нотация IDEF2 никогда не была полностью реализована. Нотация IDEF1 в 1985 году была расширена и переименована в IDEF1X. Методология IDEF-SADT, нашла применение в правительственных и коммерческих организациях, поскольку на тот период времени вполне удовлетворяла различным требованиям, предъявляемым к моделированию широкого класса систем.

В начале 1990 года специально образованная группа пользователей IDEF (IDEF Users Group) предприняла попытку создания стандарта для IDEFO и IDEF1X. Эта попытка оказалась успешной и завершилась принятием в 1993 году стандарта правительства США, известного как FIPS для данных двух технологий IDEFO и IDEF1X. В течение последующих лет этот стандарт продолжал активно развиваться и послужил основой для реализации в некоторых первых CASE-средствах.

На начальных этапах создания ИС необходимо понять как работает организация , которую необходимо автоматизировать. Для описания работы предприятия необходимо построить модель, которая должна отражать все бизнес-процессы организации. Наиболее удобным языком моделирования бизнес-процессов является IDEFO.

Методология IDEF-SADT представляет собой совокупность методов, правил и процедур, предназначенных для построения функциональной модели сиетемы какой-либо предметной области. Функциональная модель SADT отображает структуру процессов функционирования системы и ее отдельных подсистем, т. е. выполняемые ими действия и связи между этими действиями. Для этой цели строятся специальные модели, которые позволяют в наглядной форме представить последовательность определенных действий. Исходными строительными блоками любой модели IDEFO процесса являются деятельность (activity) и стрелки (arrows).

Основные понятия. Рассмотрим кратко основные понятия методологии IDEF-SADT, которые используются при построении диаграмм функционального моделирования.

Деятельность представляет собой некоторое действие или набор действий, которые имеют фиксированную цель и приводят к некоторому конечному результату. Иногда деятельность называют просто процессом. Модели IDEFO отслеживают различные виды деятельности системы, их описание и взаимодействие с другими процессами. На диаграммах деятельность или процесс изображается прямоугольником, который называется блоком.

Стрелка служит для обозначения некоторого носителя или воздействия, которые обеспечивают перенос данных или объектов от одной деятельности к другой. Стрелки также необходимы для описания того, что именно производит деятельность и какие ресурсы она потребляет. Это так называемые роли стрелок — ICOM — сокращение первых букв от названий соответствующих стрелок IDEFO. При этом различают стрелки четырех видов:

  • I (Input) — вход, т. е. все, что поступает в процесс или потребляется процессом.
  • С (Control) — управление или ограничения на выполнение операций процесса.
  • О (Output) — выход или результат процесса.
  • М (Mechanism) — механизм, который используется для выполнения процесса.

Методология IDEFO однозначно определяет, каким образом изображаются на диаграммах стрелки каждого вида ICOM. Стрелка Вход (Input) выходит из левой стороны рамки рабочего поля и входит слева в прямоугольник процесса. Стрелка Управление (Control) входит и выходит сверху. Стрелка Выход (Output) выходит из правой стороны процесса и входит в правую сторону рамки. Стрелка Механизм (Mechanism) входит в прямоугольник процесса снизу. Таким образом, базовое представление процесса на диаграммах IDEFO имеет следующий вид (рис. 2.13).

Техника построения диаграмм представляет собой главную особенность методологии IDEF-SADT. Место соединения стрелки с блоком определяет тип интерфейса. При этом все функции моделируемой системы и интерфейсы на диаграммах представляются в виде соответствующих блоков процессов и стрелок ICOM. Управляющая информация входит в блок сверху, в то время как информация, которая подвергается обработке, изображается с левой стороны блока. Результаты процесса представляются как выходы процесса и показываются с правой стороны блока. В качестве механизма может выступать человек или автоматизированная система, которые реализуют данную операцию. Соответствующий механизм на диаграмме представляется стрелкой, которая входит в блок процесса снизу.

Одной из наиболее важных особенностей методологии IDEF-SADT является постепенное введение все более детальных представлений модели системы по мере разработки отдельных диаграмм. Построение модели IDEF-SADT начинается с представления всей системы в виде простейшей диаграммы, состоящей из одного блока процесса и стрелок ICOM, служащих для изображения основных видов взаимодействия с объектами вне системы. Поскольку исходный процесс представляет всю систему как единое целое, данное представление является наиболее общим и подлежит дальнейшей декомпозиции.

ПРИМЕР. Для иллюстрации основных идей методологии IDEF-SADT рассмотрим следующий простой пример. В качестве процесса будем представлять деятельность по оформлению кредита в банке. Входом данного процесса является заявка от клиента на получение кредита, а выходом — соответствующий результат, т. е. непосредственно кредит. При этом управляющими факторами являются правила оформления кредита, которые регламентируют условия получения соответствующих финансовых средств в кредит. Механизмом данного процесса является служащий банка, который уполномочен выполнить все операции по оформлению кредита. Пример исходного представления процесса оформления кредита в банке изображен на рисунке.