Создание современных корпоративных автоматизированных систем характеризуется концентрацией сложности на начальных этапах анализа требований и проектирования спецификаций системы при относительно невысокой сложности и трудоемкости последующих этапов. Именно на этом этапе приходит понимание того, как должна функционировать будущая система, чтобы удовлетворить предъявляемые к ней требования. Нечеткость и неполнота системных требований, нерешенные вопросы и ошибки, допущенные при анализе и проектировании, порождают на последующих этапах трудные, часто неразрешимые проблемы и, в итоге, приводят к неуспеху всей работы в целом.
Преодолеть сложности начальных этапов создания системы призван структурный системный анализ, который характеризуется тем, что строится достаточно наглядная и формализованная модель системы, обладающая двумя важнейшими свойствами:
- хорошей структурированностью (при помощи небольшого числа типов структурных элементов);
- иерархией детализации (каждый структурный элемент может быть детально описан при помощи тех же методов, что и система в целом).
Таким образом, построив модель системы, вы получаете ее общий обзор и детализацию в виде иерархии уровней.
Для структурных методов характерны различные способы "борьбы" со сложностью самой модели, например:
- ограничение числа элементов на каждом из уровней (обычно от 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.
Георгий Кальянов,
Александр Козлинский,
Владимир Лебедев