Проектирование математического и программного обеспечения
Введение
Характер математического и программного обеспечения АСУ существенно меняется по мере развития возможностей технических средств. В нашей стране принята программа всеобщей компьютерной грамотности и массового выпуска персональных микроЭВМ, обладающих высокой производительностью, развитой памятью и возможностью объединения в локальные вычислительные сети.
В этих условиях программное обеспечение направлено на работу с ЭВМ непрофессиональных программистов, самостоятельно создающих программы для своих задач в конкретной предметной области.
Разработчики АСУ, продолжая создавать алгоритмы и программы сложных и типовых задач, подготовка которых пользователями затруднительна, все в большей степени должны готовить программные средства поддержки для непрофессиональных программистов. Это повышает требования к разработчикам АСУ в части знания ими методов подготовки и отладки программ, автоматизации программирования.
Совершенствуются и развиваются языки программирования высокого уровня, появились непроцедурные языки, близкие к естественному. Облегчая работу пользователя, эти языки требуют развитого системного программного обеспечения, содержание которого все чаше становится различным для разных пользователей и должно определяться в процессе проектирования конкретной системы.
1. Психологические факторы при поиске новых решений в процессе проектирования
Формирование множества возможных решений является одним из наиболее творческих этапов, требующих больших интеллектуальных усилий. Ясно, что чем больше первоначально сформированное множество, тем больше вероятность того, что в нем содержатся наиболее эффективные решения. Недостаточно эффективные решения легко потом отбросить, гораздо труднее ввести новые, более эффективные, хотя бы потому, что надо каким-то способом узнать, что это надо сделать.
Сент-Экзюпери сказал, что вещь становится совершенной не тогда, когда к ней нельзя уже ничего прибавить, а когда от нее уже ничего нельзя отнять. В применении к системным исследованиям это означает, что исходное множество, будь то множество возможных решений, входных или выходных параметров, существенных взаимосвязей или какое-либо иное, сначала должно быть как можно более полным, чтобы в дальнейшем не потребовалось в него ничего добавлять. Затем из него последовательным анализом удаляются элементы, не существенные для решения рассматриваемой задачи, пока не останется только то, что нужно. Например, при оптимизации многокритериальных систем это может быть множество решений, оптимальных по Парето. Оно является совершенным в смысле сентенции Сент-Экзюпери, поскольку из него уже больше ничего нельзя исключить. Попытки действовать в обратной последовательности – сначала найти один элемент, который должен войти в конечный вариант искомого множества, затем добавить еще один и т.д.-, как правило, приводят к неудаче.
Поиск принципиально новых методов решения для включения в исходное множество является творческим процессом, их надо изобрести, придумать. Если их можно извлечь из какой-либо памяти, они уже не являются принципиально новыми.
Существует ряд психологических факторов, препятствующих или способствующих успеху творческого мышления, выходящих за рамки решения задач управления.
Когда задача сформулирована и накоплены необходимые для ее решения знания, начинается интенсивный мыслительный процесс. Для серьезных задач, которые не удается решить сразу, как говорят, "с ходу", концентрированные усилия над решением задачи должны обязательно чередоваться с расслаблением, полным отвлечением от ее решения. Такая передышка может быть заполнена чем угодно – физической нагрузкой, сном, "ничегонеделанием", решением не менее трудной, но обязательно совершенно иной по смыслу и методам решения задачи; важно, что при этом сознание полностью отключается от решаемой задачи, начисто "забывает" о ней. Предполагается, что во время этих перерывов решение задачи продолжается в подсознательной области. Может быть, поэтому после отдыха мысль работает острее, чем раньше, открываются новые аспекты задачи и возможности ее решения. Во всяком случае, без такой периодической смены этапов интенсивного мышления и отключения трудно добиться успеха – мысль работает все медленнее и наконец "зацикливается", полностью перестает генерировать новые варианты, тупо повторяя одно и тоже.
Одним из главных препятствий на пути получения нового решения является психологическая инерция. Она заключается в том, что у человека, когда он знакомится с условиями задачи, возникает некоторая модель, образ задачи, мысленные условия, не совпадающие с фактической задачей и ее условиями. Это происходит потому, что формулировка задачи построена так, что вызывает в памяти некоторый стереотип, знакомый образ, от которого уже трудно отказаться. Иногда формулировка задачи просто настраивает человека на определенный мыслительный процесс, и он уже не может перестроиться.
Психологическая инерция в определенной степени является следствием обучения, хорошего знакомства с каким-либо предметом. Детально зная и многократно используя определенные объекты или процессы, человек применяет их в ситуации, кажущейся ему аналогичной этим хорошо знакомым задачам, не обращая внимания на то, что начальные условия являются совсем другими. На этом основан эффект функциональной устойчивости, когда используют предмет в одном определенном качестве, не задумываясь о том, что у него может быть иное применение.
Психологическая инерция усиливается при ряде обстоятельств: нетерпении, опасности, в состоянии напряжения, при волнении. Усиливают ее также отвлекающие действия. Она как шоры, сужает область, в которой ищется решение, не позволяя найти лежащее за ее пределами простое и эффективное решение.
Как же бороться с психологической инерцией? Нельзя ведь советовать забыть все, что знаешь, или при решении любой задачи никогда не прибегать к ранее известным, привычным методам. Вместе с тем преодолеть психологическую инерцию можно довольно просто: надо помнить, что она существует, что мы ей подвержены. Решив задачу или думая, что она решена, надо сопоставить решение с условием – действительно ли в условии задачи содержатся те ограничения, которые мы старались выполнить в процессе решения, проверить, нет ли принципиально иных подходов к ее решению.
Найти новый эффективный метод, новое решение помогает так называемая инверсия. Она заключается в том; что известное решение какой-либо проблемы надо попытаться изменить на прямо противоположное. Не один век баржи тянули бурлаки, затем мощные буксиры. Между тем оказалось, что гораздо эффективнее их толкать, жестко закрепив буксир сзади баржи. Аналогично этому авиаконструкторы привычно располагали двигатели в передней части самолета, чтобы они тянули его вперед. Между тем расположение двигателей в хвосте, толкающих самолет вперед, дало определенные преимущества. В пишущих машинках буква через красящую ленту прижимается к бумаге, оставляя отпечаток. Хорошее быстродействие выходных печатающих устройств ЭВМ удалось получить при прямо противоположном действии – бумага прижимается к букве. Перечень таких примеров удачных решений с помощью инверсии можно продолжать очень долго.
Для поиска новых решений полезна аналогия – использование аналогичных ситуаций, причем главным образом не в похожих задачах, а в далеких областях, не имеющих, как представляется с первого взгляда, ничего общего с решаемой задачей. Многие инженерные решения представляют собой аналоги объектов или процессов в живой природе. Считается, что одним из величайших изобретений человека является колесо с осью, потому что ему нет аналогов в живой природе.
Особенно эффективна аналогия, когда мысль о ее наличии и возможности использования возникает неожиданно, как прозрение, при взгляде на совершенно иное по природе явление, в беседе на отвлеченные темы, при чтении художественной литературы. Так делаются многие открытия. Чаще всего такой случай возникает, когда человек увлечен решением сложной задачи, непрерывно о ней думает. По-видимому, при отвлечениях подсознательно продолжаются поиски решения, что позволяет его увидеть в совершенно новой обстановке.
Другое явление, полезное при генерировании новых идей, особенно при разработке организационно-административных систем, называют эмпатией. Под этим понимают отождествление личности одного человека с личностью другого, проникновение его в чувства другого лица. В обыденной жизни это явление используют, когда просят: "войди в мое положение" или "представь себя на моем месте". Эмпатия требует от человека умения войти в образ, мыслить и чувствовать себя другим человеком. Для этого нужна природная одаренность и нескованность, некоторое специальное обучение и тренировка. Надо уметь думать не о себе, а о другом, аналогично тому, как хороший рыбак думает не о том, какой вкусной будет для него уха после рыбалки, а будет ли вкусным для рыбки червяк, насаживаемый на крючок. Наиболее простым случаем является отождествление разработчиком организационно-административной системы управления себя с сотрудником будущей системы или ее клиентом.
Более сложны так называемые деловые игры, получившие широкое распространение за рубежом и в некоторых областях управления в нашей стране, в частности в строительстве. Участники деловой игры распределяют между собой "роли" сотрудников некой системы управления: директора, начальников различных отделов и цехов, а также заказчиков и поставщиков. Получая вводные условия, они начинают управлять жизнедеятельностью предприятия, которое в игре моделируется комплексом программ, решаемых на ЭВМ. Этот комплекс программ имитирует реакцию отдельных участков или всего предприятия в целом на решения, принимаемые участниками игры. Эта реакция анализируется участниками, которые принимают новые решения, каждый раз получая поощрительные или штрафные очки, пока не становится ясной степень эффективности управляющих воздействий каждого участника игры. Необходимым условием успешного проведения игры является как можно более полное вхождение каждого ее участника в образ того сотрудника, роль которого он исполняет.