Проектирование математического и программного обеспечения

Проектирование математического и программного обеспечения

Введение

Характер математического и программного обеспечения АСУ существенно меняется по мере развития возможностей технических средств. В нашей стране принята программа всеобщей компьютерной грамотности и массового выпуска персональных микроЭВМ, обладающих высокой производительностью, развитой памятью и возможностью объединения в локальные вычислительные сети.

В этих условиях программное обеспечение направлено на работу с ЭВМ непрофессиональных программистов, самостоятельно создающих программы для своих задач в конкретной предметной области.

Разработчики АСУ, продолжая создавать алгоритмы и программы сложных и типовых задач, подготовка которых пользователями затруднительна, все в большей степени должны готовить программные средства поддержки для непрофессиональных программистов. Это повышает требования к разработчикам АСУ в части знания ими методов подготовки и отладки программ, автоматизации программирования.

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

1. Психологические факторы при поиске новых решений в процессе проектирования

Формирование множества возможных решений является одним из наиболее творческих этапов, требующих больших интеллектуальных усилий. Ясно, что чем больше первоначально сформированное множество, тем больше вероятность того, что в нем содержатся наиболее эффективные решения. Недостаточно эффективные решения легко потом отбросить, гораздо труднее ввести новые, более эффективные, хотя бы потому, что надо каким-то способом узнать, что это надо сделать.

Сент-Экзюпери сказал, что вещь становится совершенной не тогда, когда к ней нельзя уже ничего прибавить, а когда от нее уже ничего нельзя отнять. В применении к системным исследованиям это означает, что исходное множество, будь то множество возможных решений, входных или выходных параметров, существенных взаимосвязей или какое-либо иное, сначала должно быть как можно более полным, чтобы в дальнейшем не потребовалось в него ничего добавлять. Затем из него последовательным анализом удаляются элементы, не существенные для решения рассматриваемой задачи, пока не останется только то, что нужно. Например, при оптимизации многокритериальных систем это может быть множество решений, оптимальных по Парето. Оно является совершенным в смысле сентенции Сент-Экзюпери, поскольку из него уже больше ничего нельзя исключить. Попытки действовать в обратной последовательности – сначала найти один элемент, который должен войти в конечный вариант искомого множества, затем добавить еще один и т.д.-, как правило, приводят к неудаче.

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

Существует ряд психологических факторов, препятствующих или способствующих успеху творческого мышления, выходящих за рамки решения задач управления.

Когда задача сформулирована и накоплены необходимые для ее решения знания, начинается интенсивный мыслительный процесс. Для серьезных задач, которые не удается решить сразу, как говорят, "с ходу", концентрированные усилия над решением задачи должны обязательно чередоваться с расслаблением, полным отвлечением от ее решения. Такая передышка может быть заполнена чем угодно – физической нагрузкой, сном, "ничегонеделанием", решением не менее трудной, но обязательно совершенно иной по смыслу и методам решения задачи; важно, что при этом сознание полностью отключается от решаемой задачи, начисто "забывает" о ней. Предполагается, что во время этих перерывов решение задачи продолжается в подсознательной области. Может быть, поэтому после отдыха мысль работает острее, чем раньше, открываются новые аспекты задачи и возможности ее решения. Во всяком случае, без такой периодической смены этапов интенсивного мышления и отключения трудно добиться успеха – мысль работает все медленнее и наконец "зацикливается", полностью перестает генерировать новые варианты, тупо повторяя одно и тоже.

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

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

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

Как же бороться с психологической инерцией? Нельзя ведь советовать забыть все, что знаешь, или при решении любой задачи никогда не прибегать к ранее известным, привычным методам. Вместе с тем преодолеть психологическую инерцию можно довольно просто: надо помнить, что она существует, что мы ей подвержены. Решив задачу или думая, что она решена, надо сопоставить решение с условием – действительно ли в условии задачи содержатся те ограничения, которые мы старались выполнить в процессе решения, проверить, нет ли принципиально иных подходов к ее решению.

Найти новый эффективный метод, новое решение помогает так называемая инверсия. Она заключается в том; что известное решение какой-либо проблемы надо попытаться изменить на прямо противоположное. Не один век баржи тянули бурлаки, затем мощные буксиры. Между тем оказалось, что гораздо эффективнее их толкать, жестко закрепив буксир сзади баржи. Аналогично этому авиаконструкторы привычно располагали двигатели в передней части самолета, чтобы они тянули его вперед. Между тем расположение двигателей в хвосте, толкающих самолет вперед, дало определенные преимущества. В пишущих машинках буква через красящую ленту прижимается к бумаге, оставляя отпечаток. Хорошее быстродействие выходных печатающих устройств ЭВМ удалось получить при прямо противоположном действии – бумага прижимается к букве. Перечень таких примеров удачных решений с помощью инверсии можно продолжать очень долго.

Для поиска новых решений полезна аналогия – использование аналогичных ситуаций, причем главным образом не в похожих задачах, а в далеких областях, не имеющих, как представляется с первого взгляда, ничего общего с решаемой задачей. Многие инженерные решения представляют собой аналоги объектов или процессов в живой природе. Считается, что одним из величайших изобретений человека является колесо с осью, потому что ему нет аналогов в живой природе.

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

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

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

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

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

Для поиска новых решений в сложных случаях оказываются полезными систематизированные исследования. Под этим понимают выделение нескольких основных составляющих, направленных на решение задачи. По каждой составляющей стараются найти как можно больше новых решений. Затем все составляющие и найденные частные решения сводят в таблицу. Комбинируя в различных сочетаниях частные решения, получают принципиально новые решения сложной задачи.

Для коллективного поиска новых решений полезен метод, получивший название мозговой атаки или мозгового штурма. Он заключается в том, что группе специалистов дается задание – найти решение сложной задачи. Каждый участник группы может высказывать любые идеи в этом направлении, независимо от возможности их реализации, в том числе разрешается выдвигать идеи, кажущиеся фантастическими, нелепыми, совершенно нереальными. Какое-либо осуждение выдвинутых идей, тем более их критика в любой форме, не допускаются. Высказанные идеи можно только подхватывать - развивать, дополнять или выдвигать новые. Необходимо, чтобы все мысли высказывались свободно, поток их был интенсивным, одна следовала за другой без пауз.

Возникает своеобразный психологический настрой на генерацию новых идей, коллективное творчество заставляет каждого участника мыслить. гораздо интенсивнее, чем в одиночку. Результат группы оказывается больше, чем мог бы быть получен как сумма результатов ее участников. Такой психологический настрой возникает только при соблюдении некоторых условий: группа должна быть не слишком большой и не слишком маленькой, оптимальный состав 6–8 человек; участники группы должны иметь примерно одинаковый уровень подготовленности и образования; в составе группы не должно быть начальника или неформального лидера и ряд других.

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

2. Структура математического обеспечения

Система математического обеспечения вычислительных машин третьего поколения выполняет роль посредника между пользователями и вычислительной техникой, обеспечивая удобный для пользователя уровень общения с машиной; она включает в себя:

операционную систему ОС ЕС, обеспечивающую эксплуатацию всех моделей ЕС ЭВМ (кроме ЕС 1011 и ЕС 1021) - однопроцессорных и многопроцессорных вычислительных установок с большим объемом оперативной памяти и полным набором внешних устройств в разнообразных режимах пользования вычислительных систем;

комплексы программ технического обслуживания – контрольно-наладочные тесты, обеспечивающие проверку правильности функционирования устройств и блоков во время наладки ЭВМ; дополнительные тесты, обеспечивающие классификацию отказов и локализацию места неисправности;

пакеты прикладных программ – пакеты, расширяющие возможности операционных систем, обеспечивающие работу диалоговых систем, работу в реальном масштабе времени, удаленную пакетную обработку; пакеты прикладных программ общего назначения, обеспечивающие различные применения алфавитно-цифровых дисплеев, графопостроителей; системы трансляции; программы для научно-технических расчетов, математического программирования, обработки матриц, автоматизации программирования и отладки и др.; пакеты прикладных программ, ориентированные на применение в АСУ – обобщенные системы обработки данных, информационно-поисковые системы общего назначения и системы обработки документов;

специальные программы пользователя; проектирование специального математического обеспечения является одним из основных этапов создания современных АСУ и в значительной степени определяет стоимость (50– 60%) и длительность их разработки.

Основными характеристиками специального математического обеспечения АСУ являются время функционирования и объем обрабатываемой информации соответствующими комплексами программ, средний интервал времени между полным повторением решения функциональных задач. В зависимости от требований, предъявляемых к этим характеристикам, могут быть выделены следующие типы комплексов программ: АСУ организационного типа – АСУ управления отраслью народного хозяйства на уровне министерств и ведомств, АСУ предприятий и производственных объединений; оперативного управления производством на уровне предприятия, цеха; АСУ технологическими процессами, управления движением и т.п.

Комплексы программ первого типа характеризуются большими объемами поступающей и перерабатываемой информации, время обслуживания требования (сообщения) может составлять минуты и часы, интервал времени между повторными решениями задачи – несколько дней и даже месяцев. Комплексы программ второго типа обеспечивают решение задач с цикличностью смены или суток при допустимой задержке сообщений порядка долей минут или нескольких минут. Темп функционирования комплексов программ третьего типа определяется динамикой управляемых процессов. Как правило, допустимая периодичность решения задач в АСУ технологическими процессами составляет минуты, а допустимая задержка обработки сообщений и выдачи управляющих команд измеряется секундами. В автоматизированных системах управления движением цикл решения задач исчисляется секундами и даже десятыми и сотыми долями секунды (системы управления воздушным движением), а допустимое время обработки сообщения находится в пределах долей секунды и миллисекунды.

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

Разработка комплексов программ АСУ включает следующие этапы:

1) анализ требований к системе и разработка спецификаций;

2) разработка алгоритмов и блок-схем программ;

3) определение структуры программ (выделение программных модулей и их оптимизация);

4) кодирование (программирование);

5) отладка.

Временные затраты на реализацию этапов цикла разработки программного обеспечения составляют (в %): анализ требований и разработка спецификаций – 20; проектирование и программирование – 35; отладка-45.

3. Проектирование технического обеспечения

Используемые в АСУ технические средства, особенно вычислительные машины, развиваются с невиданной в технике скоростью. За 20-30 лет производительность ЭВМ возросла на три порядка, а габариты и стоимость при сравнимой производительности уменьшились в 50–100 раз. Это существенно расширило возможности разработчиков по созданию высокоэффективных АСУ.

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

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

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