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

 

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

 

- хорошей структурированностью (при помощи небольшого числа типов структурных элементов);

 

- иерархией детализации (каждый структурный элемент может быть детально описан при помощи тех же методов, что и система в целом).

 

Таким образом, построив модель системы, вы получаете ее общий обзор и детализацию в виде иерархии уровней.

 

Для структурных методов характерны различные способы "борьбы" со сложностью самой модели, например:

 

- ограничение числа элементов на каждом из уровней (обычно от 3 до 7);

 

- ограничение контекста, включающего лишь существенные на каждом уровне детали;

 

- использование строгих формальных правил записи.

 

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

 

Практически во всех методах структурного анализа используются три группы средств моделирования:

 

1) диаграммы, иллюстрирующие функции, которые система должна выполнять, и связи между ними; чаще всего используются DFD (Data Flow Diagrams) - диаграммы потоков данных [1-4] и иногда диаграммы SADT (IDEF0) [5] или диаграммы Росса [6];

 

2) диаграммы, моделирующие данные и их взаимосвязи; фактическим стандартом здесь стали ERD (Entity-Relationship Diagrams) - диаграммы "сущность-связь" [2];

 

3) диаграммы, моделирующие поведение системы, зависящее от времени (аспекты реального времени); наиболее часто аспекты поведения системы во времени моделируются при помощи STD (State Transition Diagrams) - диаграмм переходов состояний [7,8].

 

Таким образом, наиболее существенное различие между разновидностями структурного анализа заключается в методах и средствах функционального моделирования. С этой точки зрения все разновидности структурного анализа можно разбить на две группы - применяющие методы, нотацию и технологию DFD и использующие SADT-методологию. К первой группе (условно DFD-методологии) относятся методологии Yourdon [2], Gane - Sarson [1,3], SSADM и др. Ко второй группе (условно SADT-методологии) относятся собственно методология SADT и набор стандартов IDEF [5]. На рисунке показано соотношение применения методологий в CASE-средствах [9]. Представляется очевидным, что соотношение того же порядка справедливо и для цифр распространенности рассматриваемых методологий на практике.

 

Сравнительный анализ двух методологий мы проведем по следующим параметрам:

- адекватность средств рассматриваемой проблеме;

- согласованность с другими средствами структурного анализа;

- интеграция с последующими фазами проектирования системы.               

 

Адекватность

 

Выбор той или иной методологии и нотации структурного моделирования напрямую зависит от специфики предметной области, для которой создается модель. Общая теория систем [10] рассматривает модель любой предметной области в виде двух основных множеств: объектов (сущностей, процессов) и отношений (связей, зависимостей) между объектами. Элементарный подход к анализу специфики предметной области заключается в выяснении соотношения объектов и связей (чего больше?). Более сложные методологии анализа предметной области предполагают выделение подмножества базовых объектов и их свойств и классификацию отношений. Теория систем, которая изучает прежде всего отношения предметной области, предполагает наличие у инструмента изучения развитых средств классификации отношений, спецификации их семантики. Отсутствие у инструмента моделирования предметной области средств описания семантики отношений, ориентация его в большей степени на спецификацию семантики объектов (процессов) может привести к построению неадекватной  модели.

 

Мы будем рассматривать методологии применительно к системам обработки информации, а не к системам вообще, как это предполагается в SADT (любую систему с точки зрения ее целевой функции можно интерпретировать как систему обработки информации [11]). Таким образом, любой класс систем успешно моделируется при помощи DFD-ориентированных методов: в этом случае вместо реальных объектов рассматриваются отношения, описывающие свойства объектов и правила их поведения. Примерами таких систем служат организационные системы, системы документооборота, управления и другие системы, богатые разнообразными отношениями. В случае, если нотация DFD не адекватна специфике предметной области (например, предметная область с жесткими технологическими процессами: обработка деталей на станках, подготовка ракеты к запуску и т. п.), то для ее анализа применяются более адекватные средства: технологические карты, диаграммы потоков управления и т. д.

 

По нашему мнению, SADT-диаграммы значительно менее выразительны и удобны для моделирования систем обработки информации. Так, дуги в SADT-диаграммах жестко типизированы (вход, выход, управление, ресурс). В силу общности определения в SADT отсутствуют средства детального описания содержания и структуры дуг (их семантики), за исключением именования. Аналогичная проблема возникает и при описании блоков (процессов).

 

Однако DFD-диаграммы имеют удобные средства для описания семантики потоков (представляемых дугами диаграммы) и правил преобразования входных данных в выходные (миниспецификации).

 

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

 

В SADT отсутствуют выразительные средства для моделирования особенностей систем обработки информации. DFD с самого начала создавались как средство проектирования информационных систем (тогда как SADT - как средство проектирования систем вообще) и имеют более богатый набор элементов, адекватно отражающих специфику таких систем. Например, хранилища данных являются прообразами носителей информации - файлов или баз данных; внешние сущности отражают взаимодействие моделируемой системы с внешним миром.

 

Наличие миниспецификаций DFD-процессов нижнего уровня позволяет преодолеть логическую незавершенность SADT (а именно, обрыв модели на некотором достаточно низком уровне, когда дальнейшая ее детализация становится бессмысленной) и построить полную функциональную спецификацию разрабатываемой системы. Это позволит расширить возможности применения созданной модели (например, ее можно будет использовать для автоматизированного и быстрого обучения новых работников конкретному направлению деятельности).

 

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

 

Согласованность с другими средствами структурного анализа

 

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

 

В свою очередь, DFD-, ERD- и STD-диаграммы взаимно дополняют друг друга и по сути являются согласованными представлениями различных аспектов одной и той же модели.

 

Таблица отражает возможность такой интеграции для DFD- и SADT-моделей.

 

Отметим, что интеграция DFD - STD осуществляется за счет расширения классической DFD специальными средствами проектирования систем реального времени (управляющими процессами, потоками, хранилищами данных) и STD является детализацией управляющего процесса, согласованной по управляющим потокам и хранилищам [2,7,8].               

 

Интеграция с последующими фазами проектирования системы

 

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

 

Неизвестны формальные методы преобразования SADT-диаграмм в проектные решения системы обработки информации.

 

В то же время DFD-диаграммы могут быть легко преобразованы при проектировании системы. Известен ряд алгоритмов автоматического преобразования иерархии DFD в структурные схемы различных видов, что обеспечивает логичный и безболезненный переход от этапа анализа требований к проектированию системы.               

 

Пример

 

На рисунках изображены DFD- и SADT-диаграммы верхнего уровня функциональной модели системы управления распределением товаров по заказам некоторой компании. На вербальном уровне систему можно описать следующим образом: заказы подвергаются входному контролю и сортировке. Если заказ не отвечает номенклатуре товаров или оформлен неправильно, то он аннулируется с соответствующим уведомлением заказчика. Если заказ не аннулирован, то определяется, имеется ли на складе соответствующий товар. В случае положительного ответа выписывается счет к оплате и предъявляется заказчику, при поступлении платежа товар отправляется заказчику. Если заказ не обеспечен складскими запасами, то описывается заявка на товар производителю. После поступления требуемого товара на склад компании заказ становится обеспеченным и повторяет вышеописанный маршрут.

 

Выводы относительно наглядности, выразительности, удобства и пр. читателю предлагается сделать самостоятельно.               

 

BPR -реорганизация бизнес-процессов

 

Под реорганизацией понимается "фундаментальное переосмысление и радикальное перепланирование критических бизнес-процессов, имеющие целью резко улучшить их выполнение в отношении затрат, качества обслуживания и скорости" [12]. При этом бизнес-процесс представляет собой некоторую деятельность, получающую входные данные одного или нескольких типов и выдающую результат, имеющий ценность для клиента. Например, процесс выполнения заказа на входе получает заказ и выдает в качестве результата заказанные товары. Другими словами, доставка заказанных товаров клиенту и есть та ценность, которую создает процесс.

 

Для моделирования бизнес-процессов традиционно используется методология SADT (точнее ее подмножество IDEF0). Однако статическая SADT-модель полностью не решает задач реорганизации, для этого необходимо иметь возможность исследования динамических характеристик бизнес-процессов. Одним из решений является использование динамических моделей, основанных на цветных (раскрашенных) сетях Петри (CPN - Color Petri Nets). Фактически SADT и CPN служат компонентами интегрированной методологии реорганизации: SADT-диаграммы автоматически преобразуются в прообраз CPN-модели, которая дорабатывается вручную и затем исполняется в различных режимах, чтобы получить соответствующие оценки.

 

Следует отметить, что не существует принципиальных ограничений для использования традиционных диаграмм потоков данных в качестве средства построения статических моделей бизнес-процессов. Более того, в настоящий момент доступен ряд методологий и продуктов динамического моделирования (INCOME Mobile, CPN-AMI и др.), базирующихся на сетях Петри различного вида и интегрируемых с DFD-моделью, которые позволяют успешно решать подобные задачи.

 

Термин BPR, пришедший к нам с Запада, отражает особенность реорганизации хорошо специфицированных и стандартизованных западных бизнес-процессов. Может быть именно поэтому методология SADT на Западе принята в качестве типовой. Например, в Министерстве Обороны США десятки лет существуют четкие должностные инструкции и методики, которые жестко регламентируют деятельность, делают ее высокотехнологичной и процессоориентированной. Именно на «технологичность» процессов и ориентирована в основном методология SADT. К российской действительности с ее слабой типизацией бизнес-процессов, их стихийным появлением и развитием, разумнее применить термин BFR (business flow reengineering) - организация и/или реорганизация потоков информации и отношений (и такая методология существует). Здесь методология и нотация DFD не просто допустима, а единственно возможна в силу ее особенностей, рассмотренных выше.

 

Литература

 

1. Гэйн К., Сарсон Т. Структурный системный анализ: средства и методы. Пер. с англ. Под ред. Козлинского А.В. М.: Эйтэкс, 1993.

 

2. Yourdon E. Modern Structured Analysis. N.Y.: Yourdon Press/Prentice Hall, 1989.

 

3. Gane С. Computer Aided Software Engineering: the Methodologies. Prentice Hall, 1990.

 

4. Калянов Г. Н. CASE структурный системный анализ (автоматизация и применение). М.: ЛОРИ, 1996.

 

5. Марка Д. А., МакГоуэн К. Методология структурного анализа и проектирования SADT. Пер. с англ. М., 1993.

 

6. Росс Д. Структурный анализ (SA): язык для передачи понимания. В кн.: Требования и спецификации в разработке программ. Пер. с англ. Под ред. В.Н. Агафонова. М.: Мир, 1984. С. 241-284.

 

7. Ward P. T., Mellor S. J. Structured Development of real-time systems. 1-3. N.Y.: Yourdon Press, 1985.

 

8. Hatley D., Pirhbai I. Strategies for real-time system specification. N.Y.: Porset Hause, 1987.

 

9.  Forte Gene. CASE Outlook Guide to Products and Services. CASE Consulting Group Inc., 1991.

 

10. Месарович М., Такахара Я. Общая теория систем: математические основы. М.: Мир, 1978.

 

11. Клир Дж. Системология. Автоматизация решения системных задач. М.: Радио и связь, 1990.

 

12. Hammer M., Champy J. Reengineering the Corporation. N.Y.: Harper Collins, 1993.

 

Георгий Кальянов,

Александр Козлинский,

Владимир Лебедев

Версия для печати