Алгоритмы проведения системного анализа

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

ТРУДНОСТИ АЛГОРИТМИЗАЦИИ СИСТЕМНОГО АНАЛИЗА

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

“Для нас экспериментальный метод является поистине искусством, т.е. мы считаем, что в основе его лежат особые навыки и умения, а не общие правила. Будучи искусством, экспериментальный метод никогда не гарантирует успех, всегда оставаясь на милости тривиальности или неверного суждения. Ни один методологический принцип не может исключить, например, риска зайти в тупик в ходе научного исследования. Экспериментальный метод есть искусство постановки интересного вопроса и перебора всех его следствий, вытекающих из лежащей в его основе теоретической схемы, всех ответов, которые могла бы дать природа на выбранном экспериментатором теоретическом языке. Из конкретной сложности и многообразия явлений природы необходимо выбрать одно-единственное явление, в котором с наибольшей вероятностью ясно и однозначно должны быть воплощены следствия из рассматриваемой теории. Это явление затем надлежит абстрагировать от окружающей среды и “инсценировать” для того, чтобы теорию можно было подвергнуть воспроизводимой проверке, результаты и методы которой допускали бы передачу любому заинтересованному лицу. Хотя такого рода экспериментальная процедура с самого начала вызывала (и продолжает вызывать) серьезные нарекания, (...) она пережила все модификации теоретического содержания научных описаний и в конечном счете определила новый метод исследования, введенный современной наукой. Экспериментальная процедура может становиться и орудием чисто теоретического анализа. Эта ее разновидность известна под названием мысленного эксперимента” [21, с. 86 – 87].

Из приведенной цитаты наглядно видно, что современный системный анализ – это просто одна из современных прикладных наук; и главное его отличие от других наук состоит в отсутствии (точнее, в расширении) субстратной специфики: системный анализ применим к системам любой природы.

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

Неоднократно имели место попытки создать достаточно общий, универсальный алгоритм системного анализа (пять вариантов такого алгоритма приведены в табл. 8.1, еще несколько содержатся в [6; 12; 16; 17; 18; 22]). Бросаются в глаза общность в целом и различия в деталях приводимых алгоритмов. Было бы необоснованным утверждать, что какой-то из них “более правильный” или “более универсальный”, чем другой, что реализация одного из них – это системный анализ, а реализация другого – нет. Положение становится ясным, если вспомнить, что алгоритм является прагматической ( нормативной) моделью деятельности. Выбрав конкретную модель, мы должны следовать предписаниям именно данного алгоритма, но это не означает, что нельзя было воспользоваться другой моделью. Из целевой предназначенности моделей вытекает, что для какого-то случая конкретный алгоритм предпочтительнее другого; однако отсюда не следует, что не может существовать еще одна, лучшая реализация алгоритма или что в каком-то другом случае порядок предпочтения алгоритмов не окажется противоположным. Впрочем, и полной независимости алгоритмов также нет: одни из них могут являться расширением других, частично совпадать и т.д.

Очень удобной и наглядной (и, кроме того, достаточно глубокой) аналогией служит программирование решения задачи на ЭВМ. Программист имеет в распоряжении все операторы некоторого языка и должен составить из них программу решения задачи. Разные программисты составят различные программы; одна из них будет написана изящнее; в какой-то из них использованы новинки; какая-то окажется “старомодной”. Однако все они решают одну и ту же задачу. Подобно этому, системный аналитик может в разной (хотя и не полностью произвольной) последовательности использовать различные операции исследования систем или спланировать свои действия заранее (для хорошо структурированных, например технических, задач), а может выбирать очередную операцию в зависимости от исхода предыдущей, либо использовать готовый алгоритм или “готовые” подпрограммы анализа.

КОМПОНЕНТЫ СИСТЕМНЫХ ИССЛЕДОВАНИЙ

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

определение конфигуратора (§ 8.5 и 9.4);

определение проблемы и проблематики (§ 9.2);

выявление целей (§ 9.3);

формирование критериев (§ 9.4);

генерирование альтернатив (§ 9.5);

построение и использование моделей (гл. 2 и 3, § 8.2);

оптимизация (для простых систем; § 7.2 и 7.9);

выбор (гл. 7);

декомпозиция (§ 8.3);

агрегирование (§ 8.5);

исследование информационных потоков (гл. 5);

исследование ресурсных возможностей (§ 4.4 и 9.4);

наблюдения и эксперименты над исследуемой системой (гл. 6);

реализация, внедрение результатов анализа (§ 9.7).

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

Итак, исследование каждой системы проводится с использованием любых необходимых методов и операций системного анализа (как формальных, в том числе с применением математических методов и ЭВМ, так и эвристических), а их конкретная последовательность определяется ведущим исследование системным аналитиком и во многом носит индивидуальный, приспособленный к данному случаю характер. Поэтому в системном анализе переплетаются особенности, присущие как науке, так и искусству. Д.К. Джонс, говоря о проектировании систем (частном случае системного анализа), выразил эту мысль так:

“Скажем сразу, что проектирование не следует путать ни с искусством, ни с естественными науками, ни с математикой. Это сложный вид деятельности, в котором успех зависит от правильного сочетания всех этих трех средств познания; очень мала вероятность добиться успеха путем отождествления проектирования с одним из них” [7, с. 49].

“При решении любой задачи проектирования необходимо определенное сочетание логики и интуиции. Пути такого сочетания интуитивного с рациональным не установлены; пожалуй, их и невозможно установить в общем виде, в отрыве от конкретной задачи и конкретного человека, так как они зависят от того, какое количество объективной информации имеется в распоряжении проектировщика, а также от его квалификации и опыта” [7, с. 90].

Наши рекомендации