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

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

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

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

Экспериментальный метод есть искусство постановки интересного вопроса и перебора всех его следствий, вытекающих из лежащей в его основе теоретической схемы, всех ответов, которые могла бы дать природа на выбранном экспериментатором теоретическом языке. Из конкретной сложности и многообразия явлений природы необходимо выбрать одно-единственное явление, в котором с наибольшей вероятностью ясно и однозначно должны быть воплощены следствия из рассматриваемой теории. Это явление затем надлежит абстрагировать от окружающей среды и «инсценировать» для того, чтобы теорию можно было подвергнуть воспроизводимой проверке, результаты и методы которой допускали бы передачу любому заинтересованному лицу. Хотя такого рода экспериментальная процедура с самого начала вызывала (и продолжает вызывать) серьезные нарекания, ( ) она пережила все модификации теоретического содержания научных описаний и в конечном счете определила новый метод исследования, введенный современной наукой.

Экспериментальная процедура может становиться и орудием чисто теоретического анализа.

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

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

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

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

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