На практике входы и состояния процесса соответствуют логическим величинам. Поэтому вместо алгебраических моделей взаимосвязей процессов широкое распространение получили графические модели, элементами которых являются обозначения процессов и данных, а взаимосвязи между ними характеризуют причинно-следственные отношения.
Достаточно широкое распространение получили системы автоматизации проектирования и сопровождения ЭИС, основанные на двух теоретико-графовых моделях:
§ SADT – структурный системный анализ и технология разработки системы;
§ IDEF – интегрированное определение системы.
Применительно к процессам, реализуемым в ЭИС, модель должна иметь:
§ описание последовательности процессов;
§ указание входных и выходных данных относительно каждого процесса;
§ фиксацию условий, при которых выполняется процесс;
§ разделение процесса на составляющие его части (которые, в свою очередь, также являются процессами).
Основным элементом моделирования процесса является диаграмма. Диаграммы объединяются в иерархические структуры, причем, чем выше уровень диаграммы, тем менее она детализирована. В состав диаграммы входят блоки, изображающие допустимые действия в системе, и дуги, изображающие взаимосвязь действий.
Методологию SADT выделяют среди прочих описаний систем, так как она легко отражает такие общесистемные характеристики как управление, обратная связь, исполнители, и имеет развитые процедуры поддержки коллективной работы.
SADT используется для описания организационных систем, разработки оргструктур, систем долгосрочного и стратегического планирования, управления финансовыми и материальными потоками, обучения персонала и решения многих других задач, требующих системного подхода.
Рассмотрим основные понятия SADT-методологии.
Элементарной единицей представления информации в ней является SADT-блок (рис.47).
«Вход» при наличии «управления» преобразуется в «выход» с помощью «механизма» (исполнителя).
Выходы одного блока могут быть входами или управлениями (или исполнителями) для других блоков (блоки именуются, а дуги помечаются с использованием естественного языка).
Дуги могут разветвляться и соединяться, а каждый блок может быть подвергнут декомпозиции.
Входы, управления и выходы определяют интерфейсы между блоками, а исполнители позволяют при необходимости объединять объекты.
Границы блоков и диаграмм должны быть согласованы, а возникающая, иерархически связанная совокупность диаграмм является моделью.
SADT-модель дает полное, точное и адекватное описание системы, имеющее конкретное назначение.
В SADT-моделях используется как естественный (в качестве комментариев и обозначений), так и графический языки.
Графический язык обеспечивает структуру и точную семантику естественному языку модели, он организует естественный язык вполне определенным и однозначным образом, что позволяет SADT описывать системы, которые до недавнего времени не поддавались адекватному представлению. Такие средства описания систем делают их доступными для понимания широкому кругу пользователей, что особенно актуально для описания сложных организаций.
В табл. 5 приведен список понятий и их конкретная реализация в методологии SADT для построения функциональных диаграмм.
Таблица 5
Список основных понятий методологии SADT
для функциональных диаграмм
Категория |
Понятие |
Реализация в SADT |
1 |
2 |
3 |
Продукты |
||
Модели |
Объект Набор вопросов Точка зрения Иерархия |
Ограниченный объект Цель модели Точка зрения модели Номер узлов, блоков |
Диаграммы |
Декомпозиция Версии, варианты Сложность Ясность |
Диаграмма, списки данных и функций С-номера Правила (от 3 до 6) Правила построения диаграмм |
Дополнения |
Объяснения Акценты Терминология Резюме |
Листы текста Листы рисунков Листы глоссария, словарь данных Список узлов |
Язык |
||
Функции |
Функция Вход Выход Управление Исполнитель Имена |
Блок Левая сторона блока Правая сторона блока Верхняя сторона блока Нижняя сторона блока Метки |
Данные |
Данные Управление Поток Конвейер Имена |
Дуга Дуга Дуга Соединение и разветвление дуг Метки |
Продолжение табл. 5
1 |
2 |
3 |
Интерфейсы |
Ограниченный объект Связка интерфейса Подавление |
Блок и его дуги ICOM-коды Начало и конец дуги, помещенной в «тоннель» |
Аннотации |
Комментарии Ответы Решения Свойства Последовательность Примечание |
Примечания «с кружком» Примечания «с кружком» Примечания «с кружком» Метки свойств Правила действий Примечания «с квадратом» |
Процесс |
||
Процесс |
Объяснение Опрос Описание Критика Распространение Одобрение Публикация |
Эксперты Авторы Авторы Рецензенты, цикл автор/читатель Папки, библиотекарь Комитет технического контроля Библиотекарь, формат публикации модели |
Рассмотрим основные этапы SADT-моделирования, представленные на рис. 48.
Условно весь процесс моделирования можно разделить на два этапа:
§ подготовительный (блоки 1.1.-1.4);
§ непосредственно построение модели.
Для определенности моделирование ограничивается одним субъектом и одной целью. В противном случае системный анализ становится крайне затруднительным.
Субъектом моделирования является сама система, однако система никогда не существует изолированно, она всегда связана с окружающей средой. По этой причине в методологии SADT сначала необходимо точно установить границы системы (блок 1.1).
Целью модели (блок 1.2) является получение ответов на некоторую совокупность вопросов, связанных с функционированием системы. Эти вопросы неявно присутствуют (подразумеваются) в процессе анализа и направляют ход построения модели.
Цель и контекст моделирования определяют выбор типа модели и предполагаемой сферы ее использования (блок 1.3). С точки зрения SADT модель может быть сосредоточена либо на функциях системы, либо на ее объектах.
SADT-модели, ориентированные на функции, принято называть функциональными моделями, а ориентированные на объекты – моделями данных.
Функциональная модель отражает с требуемой степенью детализации систему функций, которые взаимодействуют между собой через объекты системы.
Модели данных представляют собой подробное описание объектов системы, связанных системными функциями.
Свойства – это численные и текстовые описания характеристик функций и данных системы.
Действия определяют, что необходимо для того, чтобы функции выполнялись правильно, и каковы результаты их выполнения.
SADT-методология предоставляет возможность уточнять диаграмму с помощью примечаний, описывающих ее динамику.
С определением модели тесно связана позиция, с которой наблюдается система и создается модель (блок 1.4).
«Точку зрения» лучше всего представлять как место (позицию) человека (объекта), с которой наблюдается система. Только с этой фиксированной точки зрения можно дать согласованное описание системы так, чтобы модель «не дрейфовала» и в ней не смешивались бы несвязанные описания.
После того как определены субъект, цель и точка зрения модели, начинается первая итерация процесса моделирования по методологии SADT.
Моделирование целесообразно начинать со сбора информации о системе (блоки 2.1. – 2.3). На этом этапе экспертным или аналитическим путем выявляются основные потоки данных (ресурсы, информация и т.д.).
Для корректного и точного описания системы (в частности, определения ее функций) очень важен правильный и последовательный выбор стратегии декомпозиции (блок 2.2).
Рассмотрим некоторые из них:
§ функциональная стратегия декомпозиции;
§ стратегия декомпозиции Р3 (названную по аббревиатуре слов реорle (люди), рареr (бумаги), рrосеdиrеs (процедуры));
§ декомпозиция на основе уже известных стабильных подсистем;
§ стратегия декомпозиции, основанная на анализе жизненного цикла системы;
§ декомпозиция по физическому процессу.
Функциональная стратегия базируется на функциональных взаимоотношениях в системе. Этот подход является эффективным средством анализа, так как определяет, ЧТО делает система, независимо от того, КАК она это делает.
Кроме того, в функциональных декомпозициях предпочтение отдается выявлению требуемых ограничений на функции системы, а не на их последовательности.
Когда функции многочисленны и сложны (что часто имеет место в организациях), на предварительном этапе анализа целесообразно использовать декомпозицию Р3.
Это помогает собрать исходную информацию о системе, на основании которой можно создать более обоснованную функциональную декомпозицию.
Для некоторых систем управления эффективной оказывается декомпозиция в соответствии с уже известными подсистемами. Вначале формируется набор моделей для каждой подсистемы, затем все модели объединяются для описания системы в целом. Такой подход целесообразно использовать в стабильных детерминированных системах (например, механических).
Если целью системы является последовательное улучшение одного из ее входов и легко выделяются стадии этого процесса, удобно использовать декомпозицию, основанную на просмотре жизненного цикла системы.
Декомпозиция по физическому принципу выделяет функциональные стадии, этапы или шаги выполнения. Эта стратегия полезна для анализа уже существующих процессов. Недостатком такого подхода является то, что результатом может стать слишком последовательное описание системы, которое не будет в полной мере учитывать ограничения, диктуемые функциями друг другу. При этом может оказаться скрытой последовательность управления.
Правильный выбор принципа декомпозиции значительно облегчает определение состава функций и их агрегирование (блоки 2.3 — 2.4 на рис. 48).
Отличительной особенностью этой работы является создание типового дерева функций. Кроме того, при анализе предпринимательских структур удобной является следующая классификация функций по отношению к ним потребителя.
Основные функции — это функции, которые прямо связаны с выполнением целей организации и которые, с точки зрения потребителя, обеспечивают конкурентоспособность компании, например: основные операции (производство, торговля и т.д.), исследования и разработки, маркетинг.
Функции обеспечения — функции, которые прямо связаны с основными функциями. Они "работают" на потребителя, но оказывают косвенное воздействие на конкурентоспособность фирмы.
Примерами обеспечивающих функций могут служить: компьютерное и информационное обеспечение, логистика, контроль качества, сервисные услуги и т.д.
Функции обслуживания — это функции, не оказывающие влияния на потребителя, но позволяющие существовать организации в целом: администрирование, финансовое обеспечение, обеспечение кадрами, хозяйственный отдел и т.д.
Степень детализации функций должна соответствовать поставленной задаче. Так как SADT-моделирование — это итерационный процесс с участием различных экспертов и специалистов организации, то в результате моделирования дерево основных функций уточняется и конкретизируется в соответствии со спецификой деятельности компании. Такой подход значительно облегчает моделирование и экономит затраты времени.
После того как определены потоки данных и функции модели, начинается процесс построения SADT-диаграмм (см. блок 2.5 на рис. 48).
Диаграмма является основным рабочим элементом при создании модели и имеет собственные правила построения, отличающиеся от синтаксических правил моделей. Особый смысл играет здесь графический язык, что позволяет определить различные системные функции и показать их взаимное влияние.
SADT-диаграммы не являются ни блок-схемами, ни просто диаграммами потоков данных. Это предписывающие диаграммы, представляющие входные — выходные преобразования и указывающие правила этих преобразований.
Каждая SADT-диаграмма содержит блоки и дуги. Блоки отображают функции моделируемой системы, а дуги связывают блоки вместе и отражают взаимодействие и взаимосвязи между ними.
Количество блоков в диаграмме не должно быть меньше трех и больше шести. Эти ограничения поддерживают сложность диаграмм и модели на уровне, доступном для понимания и достаточном для адекватного описания системы.
В отличие от других графических методов структурного анализа в SADT каждая сторона блока имеет особое, вполне определенное назначение.
Левая сторона блока предназначена для входов, правая - для выходов, верхняя — для управления, нижняя — для механизмов.
Блоки располагаются в порядке важности. Этот относительный порядок называется доминированием. Доминирование понимается как влияние, которое один блок оказывает на другие блоки.
Дуги на диаграммах обозначаются одинарными линиями со стрелками. На функциональных SADT-диаграммах дуги представляют множество объектов и описываются существительными с определениями. Дуги изображают интерфейсы между функциями системы, а также между системой и ее окружающей средой.
Дуги в SADT несут информацию об одном или нескольких объектах, они могут иметь несколько начальных точек (источников) и конечных точек (назначений). Дуги могут соединяться и разветвляться различными способами.
Разветвления дуг, изображаемые в виде расходящихся линий, означают, что все содержимое дуг или его часть может появиться в каждом ответвлении дуги.
Дуга всегда помечается до разветвления, чтобы дать название всему набору. Кроме того, каждая ветвь дуги может быть помечена или не помечена в соответствии со следующими правилами:
§ непомеченные ветви содержат все объекты, указанные в метке дуги перед разветвлением (то есть все объекты принадлежат этим ветвям);
§ ветви, помеченные после точки разветвления, содержат все объекты или их часть, указанные в метке дуги перед разветвлением (то есть каждая метка ветви уточняет, что именно содержит ветвь).
Кроме разветвления дуг, может происходить и их слияние, которое указывает, что содержимое каждой ветви идет на формирование метки для дуги, являющейся результатом слияния исходных дуг. После слияния результирующая дуга всегда помечается для указания нового набора объектов, возникшего после объединения.
В методологии SADT используется только пять типов взаимосвязей между блоками для описания их отношений:
1) Управление.
2) Вход.
3) Обратная связь по управлению.
4) Обратная связь по входу.
5) Выход-механизм.
Связи по управлению и входу являются наиболее простыми, поскольку отражают прямые воздействия.
Отношение управления возникает, когда выход одного блока непосредственно влияет на блок с меньшим доминированием.
Отношение входа возникает тогда, когда выход одного блока становится входом для блока с меньшим доминированием.
Обратные связи по управлению или входу являются более сложными, поскольку они представляют собой рекурсию или итерацию - выходы из одной функции влияют на будущее выполнение других функций, что впоследствии влияет на исходную функцию.
Обратная связь по управлению возникает тогда, когда выход некоторого блока влияет на блок с большим доминированием. Связь по входной обратной связи имеет место тогда, когда выход одного блока становится входом блока с большим доминированием.
Связи "выход-механизм" встречаются в ситуации, при которой выход одной функции становится средством достижения цели для другой. Поэтому связи "выход-механизм" характерны при распределении источников ресурсов (требуемые материалы и инструменты, обученный персонал, физическое пространство, оборудование, финансирование и т.д.).
Цикл моделирования завершается, когда достигается его цель, то есть построенная модель отвечает на вопросы относительно рассматриваемой системы с требуемой точностью (рис. 48, блок 2.7). В противном случае, пересматриваются исходные предпосылки модели (блоки 1.1 — 2.4) и цикл моделирования повторяется.
Обобщая сказанное, процесс SADT-моделирования можно представить в следующем виде.
q Субъект определяет состав модели; точка зрения диктует выбор нужной информации о субъекте и форму ее подачи; цель становится критерием окончания моделирования.
q Конечным результатом этого процесса является набор тщательно взаимоувязанных описаний (SADT-диаграмм), начиная с описания самого верхнего уровня всей системы и заканчивая подробным описанием деталей или операций системы, которые дают ответы на поставленные вопросы с требуемой точностью.
q SADT-модель объединяет и организует диаграммы в иерархические структуры, то есть модель SADT можно представить в виде древовидной структуры диаграмм.
Функциональная модель торговой фирмы, представленная на рис. 49, может быть взята за основу для построения SADT-модели любой торговой компании.
Следует иметь в виду, что проведение индивидуального SADT-проектирования для конкретной фирмы требует определенной профессиональной и организационной подготовки, что не всегда может быть достижимо и оправдано по разным причинам (недостаток времени, ресурсов, специалистов и т.д.).
Одним из решений проблемы является разработка типовых модулей и моделей (где возможна и целесообразна типизация), подобных описанной выше модели торгово-закупочной фирмы.
Такой подход уже хорошо себя зарекомендовал в проектировании не только технических, но и организационных систем. Это позволит значительно сэкономить время, другие ресурсы и повысить качество принимаемых управленческих решений.