О журнале
Рекомендации
Программы для ЭВМ - мозги информационных систем
Липаев В.В.
________________________________
Липаев В.В.
Отмечен недостаток "Концепции информатизации общества", заключающийся в слабом отражении перспектив развития программного и информационного обеспечения в нашей стране. Рассмотрены проблемы разработки программ различных классов. Особое внимание обращено на необходимость развития экономики и индустрии программного и информационного обеспечения и на большое их значение в народном хозяйстве. Предложено ввести соответствующий раздел в "Концепцию информатизации общества".
В обобщенном варианте "Концепции информатизации общества" очень малое внимание уделялось проблемам создания и развития "мозгов" и "знаний" информационных систем. Эту роль выполняет программное и информационное обеспечение ЭВМ. Данные компоненты являются реальным интеллектуальным ядром систем обработки информации и управления с использованием вычислительной техники. Они должны быть достаточно полно, систематизированно и конструктивно отражены в концепции, что послужило причиной высказать свое мнение по некоторым аспектам такого раздела.
Малое внимание к программному и информационному обеспечению в концепции и в широкой печати можно объяснить новизной, сложностью b малой наглядностью программ для ЭВМ. Это, в частности, является причиной того, что мы пока не научились оценивать их эффективность и стоимость, квалификацию разработчиков программ и их руководителей. Высокая доля коллективного интеллектуального труда, необычное и противоречивое сочетание искусства, науки, проектирования и производства приводят к разнообразию взглядов на эту проблему. Подтверждением этого тезиса является бессистемность и фрагментарность значительной части разделов концепции, соприкасающихся с программным и информационным обеспечением.
В программном и информационном обеспечении формализуются, накапливаются и тиражируются знания и опыт тысяч специалистов науки, техники, экономики и организации управления. Программы для ЭВМ все больше влияют на экономические показатели предприятий и отраслей, на технологический уровень производства в промышленности, на глубину научных исследований, на социально-экономический прогресс общества. Тем самым они становятся непосредственной производительной силой и занимают заметное место в экономике передовых стран.
Иллюстрацией экономической роли программного и информационного обеспечения в народном хозяйстве наиболее наглядно является пример США. Уже в 1985 г. затраты в этой области оценивались на уровне 70 млрд. дол. в год, что составляло около 8 % валового национального продукта. К1990 г. предполагается их увеличение до 125 млрд. дол. при темпе роста около 12 % в год. Приблизительно такие же суммарные затраты в этой области приходятся на все остальные западные страны.
В нашей стране разработкой программ для ЭВМ занято свыше 300 тыс. специалистов, на что ежегодно затрачивается около 5 млрд. руб. Предполагаемый рост затрат на производство средств вычислительной техники до 10 млрд. руб. в год в 1990—1992 гг. и до 25 млрд. руб. в 1995 г., как показывает зарубежный опыт, должен быть обеспечен, по крайней мере, такими же капиталовложениями в программные средства. В настоящее время в стране соотношение между затратами на аппаратные и программные средства приблизительно 2:1. По зарубежному опыту следует ожидать, что через 10-15 лет оно должно измениться на 1:2, т.е. до 60-70 % затрат на информатизацию общества будет приходиться на программное и информационное обеспечение. Это обусловлено, в частности, интенсивным развитием технологий радиоэлектроники и быстрым снижением стоимости средств вычислительной техники, а также весьма медленным снижением затрат на разработку любых программ для ЭВМ.
В настоящее время производительность труда разработчиков программ для особенно сложных, встроенных ЭВМ реального времени составляет в среднем около 1000 команд в год и около 3000 команд в год для пакетов прикладных программ. Соответственно каждая разработанная команда в высококачественных программных средствах при разработке обходится в 20-30 руб. для наиболее сложных технических систем управления и около 3-5 руб. для более простых задач. В результате сложный комплекс программ автоматизации технологии, управления или обработки информации объемом в десятки и сотни тысяч команд характеризуется затратами на разработку в сотни тысяч и даже миллионы рублей. Численность специалистов и производительность труда разработчиков программ растут медленно, что в совокупности дает увеличение объема разработки не более чем на 8-10 % в год. Вследствие низкой производительности труда разработчиков программ и их недостаточной численности объем ежегодно разрабатываемых высококачественных тиражируемых программ в нашей стране составляет не более 10 % от объема, создаваемого в США, и это соотношение не улучшается.
Это обусловлено полукустарным уровнем технологий разработки программного обеспечения, низкой аппаратурной оснащенностью разработчиков средствами вычислительной техники, практическим отсутствием повторного использования программных компонент. При разработке программ применяются около полутора десятков алгоритмических языков высокого уровня со многими диалектами, а также свыше сотни ассемблеров. Такое разнообразие языков приводит к тому, что одни и те же задачи и алгоритмы реализованы в десятках модификаций программных средств, а средняя применяемость одних и тех же программ в различных организациях не превышает двух. В результате высокой трудоемкости, длительной разработки и низкого качества программных средств значительно снижается эффективность части народного хозяйства, продукция которой включает ЭВМ и исчисляется уже сегодня несколькими десятками миллиардов рублей в год.
Программы для ЭВМ значительно различаются областями применения в отраслях народного хозяйства, методами и организацией их разработки и производства, а также рациональными хозяйственными механизмами, способными стимулировать их создание, распространение и использование. Развитие программного и информационного обеспечения ЭВМ необходимо ориентировать в первую очередь на повышение эффективности производящих отраслей народного хозяйства страны. В наибольшей степени это достижимо за счет создания и внедрения современных высокоэффективных ресурсосберегающих технологий на базе управляющих ЭВМ. Зарубежный опыт показывает, что такие технологии обеспечивают значительную экономию материальных и энергетических ресурсов при одновременном повышении качества продукции. Результатом явилось резкое повышение в последние годы производительности труда и эффективности производства в ведущих отраслях народного хозяйства западных стран.
Для повышения экономической отдачи от информатизации страны необходимо определить и ранжировать отрасли народного хозяйства, в которых можно получить наибольший экономический эффект при ограниченных ресурсах на информатизацию. Ориентиром в некоторой степени может служить распределение инвестиций, технических н программных средств по областям применения информатики за рубежом. Используя подобные пропорции с корректировкой на особенности народного хозяйства нашей страны, можно выделить приоритетные направления, требующие государственной поддержки, избежать грубых ошибок и перекосов в инвестициях. Такая поддержка может состоять в централизованном распределении инвестиций, экономических льготах для разработчиков и пользователей и в стимулировании эффективных товарно-денежных отношений при непосредственном использовании средств информатики. Необходимо сочетание централизованного распределения ресурсов на информатизацию с экономических позиций наибольшего вклада в эффективность ведущих отраслей народного хозяйства и децентрализованного рыночного механизма создания и применения средств информатизации как товаров народного потребления.
Кроме особенностей применения в отраслях народного хозяйства, программное и информационное обеспечение значительно различается организацией их разработки, производства и использования. С этих позиций целесообразно выделить следующие классы программ для ЭВМ:
1) базовое (системное) программное обеспечение, поддерживающее выполнение аппаратурой универсальных ЭВМ основных функций, практически не зависящих от областей применения, - операционные системы, СУБД и некоторые универсальные прикладные программы широкого межотраслевого применения (доля разработок -15-20 %);
2) проблемно-ориентированные программные средства для реализации прогрессивных технологий, систем автоматизации проектирования, управления и обработки информации в конкретных отраслях и на предприятиях народного хозяйства (доля разработок ~50-60 %);
3) программы для решения частных инженерных и научно-исследовательских задач вычисления специальных функций, моделирования систем и процессов, обработки и анализа экспериментальных данных в научных проектных учреждениях (доля разработок -15-20 %);
4) программы, распространяемые и используемые как товары народного потребления вне прямой производственно-технической и научно-исследовательской деятельности специалистов народного хозяйства (доля разработок ~ 10-15 %).
Некоторая часть программ, в основном первого и четвертого классов, разрабатываемых зарубежными специалистами, активно используется в нашей стране. Однако особенности аппаратуры ЭВМ, автоматизируемых технологических процессов и систем проектирования, а также конкретные условия применения программ не позволяют ориентироваться полностью на получение программ из-за рубежа. Основная часть программ второго и третьего классов является глубоко проблемно-ориентированными, которым практически невозможно подобрать зарубежные аналоги. Поэтому ориентация в разработке программ для информатизации страны должна быть направлена на максимальную активизацию имеющегося у нас большого интеллектуального и программистского потенциала специалистов, а также на выход на мировой рынок с собственным высококачественным программным продуктом.
Для первого класса программ характерны ориентация на архитектуру ЭВМ, требования высокого качества, стабильности применяемых версий и тиражи в соответствии с численностью ЭВМ данного типа. Разработка таких программ должна осуществляться как государственный заказ специализированными предприятиями, тесно взаимодействующими с разработчиками и изготовителями ЭВМ определенного типа. Программы характеризуются высокой сложностью, практической независимостью от конкретного информационного обеспечения, длительным развитием поколений родственных версий. Это развитие необходимо координировать государственными целевыми научно-техническими программами, опережающими разработку новых типов ЭВМ и увязанными с потребностями народного хозяйства страны. Разработчики и поставщики программ должны стимулироваться отчислениями от продажи и обслуживания версий программных средств у пользователей.
Проблемно-ориентированные программные средства (второй класс) отраслей и предприятий народного хозяйства являются наиболее разнообразными по номенклатуре, содержанию и выполняемым функциям, а также по типам ЭВМ (в том числе специализированным), на которых они исполняются. Они требуют прежде всего высокой квалификации их разработчиков в конкретных проблемно-тематических областях применения. Разработка таких программ целесообразна организациями, ответственными за определенные производственные технологии, системы автоматизации проектирования, обработки информации или управления в конкретных отраслях или на предприятиях. Работы могут выполняться либо как отраслевой заказ с централизованным финансированием отраслью, либо в рамках хозрасчета данного предприятия.
Некоторая часть программных средств широкого межотраслевого применения должна разрабатываться по государственным целевым научно-техническим программам с централизованным финансированием. Разработки программных средств по государственным и отраслевым программам должны выполняться на базе типовых технологий, соответствовать стандартам и требованиям, предъявляемым к продукции производственно-технического назначения. Некоторые небольшие разработки по заказам конкретных организаций могут выполняться кооперативами по договорным ценам. Стимулирование разработок и внедрение программ должны производиться за счет отчислений при хозрасчете отраслей или предприятий. Особенно важно создать хозяйственный механизм, экономически стимулирующий и активизирующий обмен высококачественным программным и информационным обеспечением между отраслями и предприятиями.
Программы третьего класса ориентированы на решение специфических научно-исследовательских задач, как правило, узкого малочисленного применения и реализуются преимущественно на универсальных ЭВМ. Разработка таких программ обычно проводится по планам соответствующих научно-исследовательских и проектных работ и выполняется небольшими коллективами или отдельными специалистами, участниками этих работ на вычислительных центрах соответствующих организаций, НИИ и вузов. Стимулирование таких разработок осуществляется как часть научно-исследовательских и проектных работ.
Некоторая часть базовых программ этого класса для решения типовых, инженерных и научно-исследовательских задач может разрабатываться по государственным целевым научно-техническим программам для широкого межотраслевого распространения. Научно-исследовательские и проектные организации могут также заказывать необходимые программы кооперативам по договорным ценам. Основная часть инвестиций на разработку программ этого класса входит в планы и калькуляции тематических исследований и проектов. Тиражирование и распространение таких программ целесообразно проводить их непосредственными разработчиками по прямым договорным связям.
Программы четвертого класса используются как товары народного потребления и реализуются практически только на персональных ЭВМ. К ним относятся разнообразные программы для обучения, относительно простых инженерных и научных расчетов, для обработки экспериментальных данных и компьютерные игры. Основная часть этих программ не отличается высокой сложностью и разрабатывается малыми группами или отдельными специалистами, в том числе в кооперативах. Тиражирование и распространение таких программ вследствие их особенно высоких тиражей целесообразно через специализированные организации (в том числе кооперативные), связанные с торгующей сетью и с разработчиками программ. Экономические взаимоотношения поставщиков с разработчиками программ должны предусматривать отчисления, увязанные с объемом и прибылью от продажи, и штрафы в случае выявленных недостатков и рекламаций. Для этого класса программ наиболее характерен рыночный хозяйственный механизм, который может включать также прямые связи разработчиков программ с потребителями на базе договорных цен.
Для интенсивной информатизации общества необходимо создание в стране индустрии программного и информационного обеспечения. Она должна удовлетворить потребности общества в широком разнообразии программных средств и в обработке информации с необходимой номенклатурой и функциональными возможностями, опережающими промышленную поставку аппаратных средств вычислительной техники и телекоммуникаций. Основные проблемы развития такой индустрии в процессе информатизации общества состоят в следующем:
- изучение и использование объективных экономических закономерностей процессов создания, производства и применения программ для ЭВМ, методов и средств повышения их эффективности и качества обработки информации;
- создание нескольких вариантов хозяйственного механизма, распределения инвестиций и методов стимулирования, наиболее адекватных классам и характеристикам программных средств, способных резко интенсифицировать их создание и производство;
- выявление текущих и перспективных потребностей, а также оценка эффективности информатизации отраслей народного хозяйства, конкретных технологий и социальных областей, в целях сбалансированного их оснащения программным и информационным обеспечением для экономического и социального прогресса страны;
- разработка и внедрение прогрессивных технологий и комплексов автоматизации разработки программного и информационного обеспечения в целях значительного повышения производительности труда специалистов, снижения трудоемкости и длительности разработок, а также улучшения их качества; максимальное расширение многократного повторного использования программных средств и их функциональных компонент на базе унификации и стандартизации языков программирования, технологий разработки и программных интерфейсов, а также путем создания службы информирования о готовых к использованию программах;
- широкое обучение специалистов народного хозяйства культуре мышления на современном уровне информатизации общества, постановке, обоснованию и решению конкретных проблемно-ориентированных задач с применением средств вычислительной техники, программного и информационного обеспечения.
Для решения перечисленных проблем необходимы коренная перестройка сложившегося механизма создания и распространения программ для ЭВМ, отказ от устаревшего, малопроизводительного, полукустарного труда. Индустрия в данной области может быть построена на принципах, в значительной степени аналогичных индуст-рии других наукоемких отраслей, например, радиоэлектроники. Она должна обеспечить весь жизненный цикл программных изделий и информационного обеспечения — от появления потребности в информации некоторой сферы деятельности до завершения использования.
Для эффективного решения выделенных проблем необходимо создание и развитие нового научно-технического направления, экономики индустрии программного и информационного обеспечения. Наиболее общие задачи экономики в этой области сводятся к изучению объективных экономических законов развития данного вида продукции, методов руководства ее созданием и внедрением, методов и средств повышения экономической эффективности и качества использования программного и информационного обеспечения. В значительной степени стихийный процесс создания и внедрения программ необходимо заменить экономически обоснованным в современных условиях развития в стране нового хозяйственного механизма. Это позволит значительно повысить отдачу от программ как средств автоматизации различных видов труда и от затрат на их создание и внедрение.
Миллиардные затраты на программные средства и их распределение по областям применения должны быть в поле зрения государственных и планирующих органов. Сегодня мы можем только догадываться о реальной очень низкой доле информатики и, в частности, программных средств в валовом национальном продукте страны. Эти затраты распределяются по многим организациям, использующим ЭВМ, и почти никогда не выделяются в отдельную группу затрат и не обобщаются. Тем более не оценивается и не обобщается эффективность таких инвестиций. Информатика как отрасль народного хозяйства должна познать себя и собственную экономическую роль в стране.
Отсутствие достаточно достоверной информации о номенклатуре и затратах на различные программы не позволяет планировать производство и эффективное распределение аппаратных и программных средств. Появление ЭВМ на предприятиях во многих случаях оказывается не обеспеченным поставляемыми программами. Вследствие этого одновременно на ряде предприятий ведутся малоэффективные разработки почти одинаковых программ кустарными методами и малыми силами. Промышленной поставке аппаратуры ЭВМ сопутствует некоординируемая, неиндустриальная разработка основной массы программных средств. Необходимо выявить потребность в программных средствах в целом по стране и упорядочить их по номенклатуре, качеству и количеству, а также по возможности их применения в соответствии с наличным парком и распределением ЭВМ.
Современная индустрия базируется на широком применении типовых и стандартизированных комплектующих изделий и методов сборки из них систем более высокого ранга. Исключительно дешевое производство и широкое применение программных модулей и функциональных групп способны в несколько раз снизить затраты на создание программных средств. Сборочное программирование как эффективная ресурсосберегающая технология должно резко сократить многократную повторную разработку практически одинаковых программ, на что тратятся многие миллионы рублей.
При определении путей развития программного и информационного обеспечения в стране в концепции должно быть отражено противоречие экономических показателей разработки программ с требуемым их качеством. Стремление разработчиков к ощутимому и быстрому снижению стоимости и длительности разработки программ вызывает менее явное и трудно учитываемое снижение качества. Измерение качества программных средств оказалось сложной научно-технической проблемой. В результате значительная доля программных средств используется с неизвестным и зачастую невысоким качеством. Отсутствие доверия к качеству программ, сделанных другими специалистами, приводит к множеству разработок идентичных программ и к редкому их повторному использованию.
Предприятия и кооперативы, осуществляющие разработку и поставку программного и информационного обеспечения, должны гарантировать функциональные и эксплуатационные характеристики поставляемой продукции в пределах технических условий и эксплуатационной документации. Эти гарантии должны предусматривать рекламации и санкции поставщикам при выявлении недостатков или ошибок в продукции. Программное и информационное обеспечение особо важных систем управления и обработки информации (атомные электростанций, авиационные системы, оборонная техника) подлежат Государственным испытаниям и сертификации.
В концепции не отражены пути использования огромного научного, алгоритмического и программного задела предприятий оборонных отраслей для нужд народного хозяйства. В этих отраслях сосредоточены высококвалифицированные специалисты, опыт и знание которых могут значительно повысить уровень программного и информационного обеспечения в стране. Этот уровень наглядно продемонстрировали весь полет и, особенно, посадка "Бурана", которые были обеспечены высококачественным функционированием программ и ЭВМ. Конверсия оборонных отраслей в области информатики может резко ускорить внедрение систем автоматизированного проектирования в машиностроении и радиоэлектронике, гибких автоматизированных производств, роботизированных комплексов, информационно-поисковых систем и т.п. Опыт создания крупных программных комплексов для обработки информации и управления и владеющие им специалисты оборонных отраслей могут сыграть значительную роль в подъеме экономики страны.
Статья поступила в редакцию 21 мая 1990 г.
Международный центр по информатике и электронике ИнтерЭВМ
© Информационное общество, 1990, вып. 3, с. 36-41.