Некоторые оценки программного обеспечения в Советском Союзе
Липаев В.В.

Некоторые оценки программного обеспечения в Советском Союзе

_________________________

В.В. Липаев



Приведены оценки общих экономических показателей в области программного обеспечения по данным 1985 - 1989 гг. Дан анализ особенностей классов применяемых программных средств, программно-технологической и аппаратурной оснащенности разработчиков программного обеспечения.

Основная трудность оценки состояния экономики и рынка программного обеспечения (ПО) в Советском Союзе состоит в полном отсутствии целеуст­ремленного сбора таких данных и официальной статистики в этой области. В официальных сводках Госкомстата регулярно приводятся данные в рубрике "Средства вычислительной техники и запасные части к ним, миллиарды рублей". В эти данные неявно и частично входят затраты на ПО, поставляемое вместе с ЭВМ, однако более подробно они не выделяются. Основная часть затрат на ПО распределяется в отраслях народного хозяйства по средствам, приборам и системам без учета их доли в них и без обобщения совокупных затрат на ПО. Практически отсутствует рынок ПО и многие виды программ либо входят в стоимость систем и приборов, либо передаются .знакомым специалистам бесплатно. Нет заинтере­сованных организаций и лиц, которые регулярно собирали бы сведения об экономических показателях разработки, производства и продажи ПО как самостоятельного вида изделий. Поэтому основные результаты таких оценок носят экспертный характер или получены в частных, достаточно узких исследованиях.

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

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

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

Оценки общих экономических показателей в области программного обеспечения. Приведенные выше обстоятельства определили особенности выделяе­мых для оценки характеристик и методы их получения. Проведены экспертные оценки общих экономических показателей создания ПО в 1985 и 1989 гг. Исходными являлись затраты на аппаратурные средства вычислительной техники за 1985 и 1989 гг. по данным Госкомстата СССР (табл. 1, п. 1), Суммирование этих данных за время реальной эксплуатации средств вычислительной техники, с учетом ее старения, позволяет оценить общую стоимость информационно-вычислительного комплекса в Советском Союзе (табл. 1, п. 2). Однако в этой графе не учтены импортные персональные ЭВМ, хотя произошел перелом в использовании вычислительной техники в сторону их активного внедрения. В последние 1,5-2 года закуплено за рубежом (по разным данным) от 0,7 до 1 млн. персональных ЭВМ. При средней стоимости на внутреннем рынке каждой ПЭВМ около 50 тыс. руб. общая стоимость в стране парка персональных ЭВМ стала соизмеримой со стоимостью ЭВМ собственного производства и составляет 30-50 млрд. руб.

По зарубежным данным, затраты на ПО в 2—3 раза превышают затраты на аппаратуру ЭВМ. Однако в Советском Союзе это соотношение другое вследствие больших затрат на аппаратуру и относительно низкой зарплаты разработчиков программ. Суммарные ежегодные затраты на ПО в стране вряд ли превышают затраты на производство вычислительной техники и составляют, скорее всего, около половины этих затрат. Предположим, что общие затраты на ПО составляют около 50 % затрат на аппаратуру ЭВМ, а затраты на непосредственную разработку ПС - около 70 % общих затрат на программы. Остальные 30 % общих затрат уходят на производство ( ~ 5 - 8 %), эксплуатацию и сопровождение ПС. В эту же составляющую входят также затраты на разработку научно-исследовательских программ, которые не оформляются как продукция производственно-технического назначения.





На основе этих соотношений получены оценки, представленные в табл. 1, п. 3 и 4. В результате затраты на разработку ПС в стране можно оценить на уровне 1,5 млрд. руб. в год в 1985г. и 2 - 3 млрд. руб. в год в 1989г. Вследствие малой (~50%) доли затрат на программы относительно затрат на аппаратуру (по сравнению с зарубежным соотношением) приводимые данные, скорее всего, являются минимальными оценками. Таким образом, суммарные капиталовло­жения в информатику, включая средства вычислительной техники и ПО, в 1989 г. составили 11-12 млрд. руб., или около 1 % валового национального продукта. Однако если учесть закупленные за рубежом персональные ЭВМ, эта величина в 1989 г. возрастет в 3 - 4 раза.

Приблизительно половину затрат в 1989 г. на разработку ПО составляла стоимость машинного времени, а вторую половину - зарплата разработчиков ПС с учетом накладных расходов (4-5 тыс. руб. в год на человека). Это позволяет оценить число специалистов в сфере создания, производства и эксплуатации ПО (табл. 1, п. 5), а также непосредственно занятых разработкой ПС (см. табл. 1, п. 6). Приведенное число специалистов включает в себя не только программистов, непосредственно разрабатывающих программы, но также руководителей проектов, алгоритмистов и вспомогательный персонал, непосредственно обеспечивающих разработку программ. Эти оценки близки к оценкам, полученным непосред­ственным подсчетом по отраслям народного хозяйства с учетом выпуска специалистов учебными заведениями. При оценке числа специалистов на 1989 г. учтены рост зарплаты и увеличение доли затрат на машинное время вследствие повышения уровня автоматизации процесса разработки ПС, а также возможный реальный рост числа специалистов данного вида в 1,5 - 1,6 раза за пятилетку. Вузы выпустили в 1985 г. около 8 тыс. специалистов с высшим образованием. Приблизительно столько же выпустили средние специальные учебные заведения. Остальные 15 - 20 тыс. специалистов в год поступают в сферу разработки, произ­водства, эксплуатации и сопровождения ПО за счет переквалификации из других отраслей народного хозяйства.

Разработанные и используемые ПС для автоматизации проектирования, управ­ления производством, станками, роботами и т. д. определяют эффективность части народного хозяйства, продукция которой исчисляется несколькими десятками миллиардов рублей в год. В то же время (по некоторым оценкам) роботы, ГАПы, АСУ технологическими процессами обеспечены разработкой программ только на несколько процентов от реальной потребности, что значительно снижает эффективность их применения. Это является следствием, в частности, имевшейся долгой ориентации на преимущественное использование и адаптацию зарубежных образцов ПС, что гарантировало планируемое отставание на несколько лет от научно-технического уровня в мире. В результате проблема разработки, произ­водства, сопровождения и внедрения ПС с ориентацией на свой, научно-тех­нический потенциал стала одной из важнейших для ускорения научно-техни­ческого прогресса всего народного хозяйства. Необходима перестройка мышления и подходов к ПО - от полукустарного искусства к современному высокоавтомати­зированному индустриальному проектированию и производству. Попытки решить эту крупную проблему директивными указаниями разрозненным организациям или на общественных началах рядом научно-технических советов не могут обеспечить кардинальное решение. Они позволяют специалистам обмениваться информацией, что дает некоторое продвижение, однако оно оказывается слабо координированным и пока остается практически неуправляемым.

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

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

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

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

1) базовое (системное) ПО, поддерживающее выполнение аппаратурой универсальных ЭВМ основных функций, практически не зависящих от областей приме­нения, - операционные системы, СУБД и некоторые универсальные прикладные программы широкого межотраслевого применения (доля разработок ~15—20 %);

2) проблемно-ориентированные ПС для реализации прогрессивных технологий, систем автоматизации проектирования, управления и обработки информации в конкретных отраслях и на предприятиях народного хозяйства (доля разработок ~ 50-60%);

3) программы для решения частных инженерных и научно-исследовательских задач вычисления специальных функций, моделирования систем и процессов, обработки и анализа экспериментальных данных в научных и проектных учреждениях (доля разработок ~ 15-20 %);

4) программы, распространяемые и используемые как товары народного по­требления вне прямой производственно-технической и научно-исследовательской деятельности специалистов народного хозяйства (доля разработок ~ 10-15 %).

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

Для первого класса программ характерны ориентация на архитектуру ЭВМ, требования высокого качества, стабильность применяемых версий и тиражи в соответствии с численностью ЭВМ данного типа. Значительная часть таких программ разработана зарубежными специалистами и активно используется в нашей стране. Разработка и адаптация таких программ осуществляется как государственный заказ специализированными предприятиями, тесно взаимодействую­щими с разработчиками и изготовителями ЭВМ определенного типа. Программы характеризуются высокой степенью сложности, практической независимостью от конкретного информационного обеспечения, длительным развитием поколений родственных версий. Разработчики и поставщики программ должны стимулироваться отчислениями от продажи и обслуживания версий ПС у пользователей.

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

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

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

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

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

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

Реальная программная оснащенность коллективов зависит от классов создаваемых ПС, типов реализующих ЭВМ, компетентности руководителей и ведущих специалистов и многих других, в том числе субъективных, факторов. Высокой оснащенности специалистов соответствуют САSE-системы, автоматизирующие все этапы разработки, изготовления и сопровождения программ. При этом исполь­зуются средства трансляции программных спецификаций и текстов программ с языков высокого уровня, средства планирования и контроля статистического и динамического тестирования программ, средства программного моделирования объектов внешней среды, средства автоматизированного управления разработкой и конфигурационного контроля ПС и большинство современных методов автоматизации создания сложных программ. Такие САSE, объединяющие все эти методы и средства, имеют объемы порядка 1 млн. команд, а стоимость их разработки составляет несколько миллионов рублей.

Однако средняя оснащенность разработчиков программ для встраиваемых ЭВМ реального времени в настоящее время значительно ниже (табл. 2). Есть примеры применения для этих целей достаточно сложных САЗЕ объемом около




500 тыс. команд. При разработке крупных информационно-поисковых систем и ППП на универсальных ЭВМ программная оснащенность составляет обычно 100 -300 тыс. команд. В этой области возможности повышения оснащенности несколько меньше, но далеко не исчерпаны. Для массового повышения оснащенности спе­циалистов необходимы прежде всего организационная перестройка и преодоление рутинных позиций многих некомпетентных руководителей и программистов с большим стажем. Результатом повышения программной оснащенности может быть снижение трудоемкости непосредственной разработки ПС в 2 - 5 раз.

Применение языков программирования, естественно, связано с классами про­грамм и областями их применения. Базовое ПО разработано в значительной части на языках высокого уровня. Для наиболее распространенных в стране ЭВМ серий ЕС и СМ базовое ПО создано преимущественно на языках ПЛ/1 и Паскаль. Для персональных ЭВМ основными языками в последнее время стали Си и Паскаль. Программы информационно-поисковых систем и организационного управления разработаны в основном на языках ПЛ/1 и Ассемблер. Ограниченность ресурсов встроенных ЭВМ определили преимущественное использование языка Ассемблер (около 80 - 90 % - см. табл. 2, п. 2). Языки высокого уровня для создания программ в системах реального времени применяются мало. Для научно-исследовательских и инженерных задач широко применяется язык Фортран в различных версиях. Программисты вычислительных центров приблизительно в 80 % случаев отмечают необходимость для их работы языков ПЛ/1 и Фортран и приблизительно в 50 % случаев - языка КОБОЛ.

Экспертная оценка совокупной доли оригинальных программ, разработанных советскими специалистами на различных языках, составляет: около 50 % на языке Ассемблер, по 20 % на языках ПЛ/1 и Фортран и менее 10 % на языке КОБОЛ. Языки Си и Паскаль стали активно использоваться только в последние несколько лет, и созданный программный продукт можно оценить на уровне нескольких процентов. Практически все ПС для специализированных встроенных ЭВМ, функционирующих в реальном времени, разработаны на языке Ассемблер соответствующей машинной ориентировки.

Для разработки ПС для универсальных ЭВМ в научно-исследовательских организациях и вычислительных центрах широко применяются трансляторы, СУБД, средства отладки и другие технологические программы, созданные за рубежом и адаптированные к отечественной технике. Самостоятельно развивалось направление создания технологий и инструментальных средств для разработки ПС встроенных ЭВМ реального времени. Это позволило создать ряд оригинальных систем автоматизации разработки сложных ПС - СА8Е-систем (Прометей, АСПП, Р-технология, ТКП) на современном уровне. В эти системы закладывались следующие принципы:

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

Эти принципы формировались и развивались эволюционно и последовательно воплощались в отдельные средства автоматизации. Каждое средство подключалось в интегрированную систему автоматизации проектирования и с середины 70-х гг. позволяло проверить на практике его эффективность. К настоящему времени создано и эксплуатируется около десяти подобных интегрированных систем, каждая из которых имеет объем в пределах от 100 тыс. до 400 тыс. строк исходного текста программ. При этом около 30 % объема программ реализуют основные функции САSE-средств. Остальные программы включают в себя трансляторы, отладчики и документаторы. Некоторые из них построены как адаптируемые кросс-системы, настраиваемые на различные архитектуры встроенных ЭВМ. Например, система ЯУЗА-б реализована на ЭВМ БЭСМ-6 и обеспечила полный цикл разработки программ для более чем 30 типов встроенных и бортовых ЭВМ. Ограниченные ресурсы памяти и производительности таких ЭВМ вследствие отставания советской электроники вызывали необходимость применения высоко­эффективных алгоритмов и языков уровня Ассемблер.

Аппаратурная оснащенность разработчиков ПО. Лучшие отечественные ЭВМ имели и имеют значительно меньшие вычислительные ресурсы, чем их зару­бежные аналоги. В 70-е гг. для разработки особо сложных ПС использовалась преимущественно ЭВМ БЭСМ-6 с производительностью миллионы операций в секунду и с оперативной памятью около 200 Кбайт и внешней памятью до 100 Мбайт. Таких ЭВМ было изготовлено около 400 шт. Позже, в 80-е гг., основным инструментарием стали ЭВМ серии ЕС и СМ. Их лучшие образцы при той же приблизительно производительности имели объем оперативной памяти в 5 -10 раз больше. При этом на каждую такую инструментальную технологическую ЭВМ подключалось 15 - 20 терминалов, т. е. единовременно на каждого разработчика ПС приходилось около одной десятой вычислительных ресурсов ЭВМ. Это определяло низкую аппаратурную оснащенность каждого разработчика программ.

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

  • быстродействием и объемом оперативной памяти ЭВМ, используемыми при разработке ПС, приходящимися в среднем на одного разработчика;
  • числом дисплеев, сопряженных с различными типами ЭВМ, доступных в среднем каждому разработчику программ;
  • средним числом возможных подходов к ЭВМ для реализации технологических операций каждым разработчиком программ за рабочий день.

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

Характеристики необходимых технологических ЭВМ естественно зависят от сложности создаваемого ПС и от числа участников разработки. В результате бы­стродействие ЭВМ важно не столько в абсолютном значении, сколько как относительная величина на каждого разработчика программ. Опыт показывает, что для эффективного использования технологических систем с высоким уровнем автоматизации (объемом 300 - 500 тыс. команд) необходимы надежные ЭВМ класса ЕС-1066 с быстродействием около 1 млн. коротких опер/с. При этом одновременно в терминальном режиме с такими ЭВМ могут продуктивно работать 8 -10 программистов. Применение менее мощных или ненадежных ЭВМ приводит к необходимости уменьшения числа одновременно действующих специалистов, в результате чего САЗЕ используются ниже своих функциональных возможностей.

Кроме среднего быстродействия, доступность ЭВМ при разработке ПС зависит от числа автоматизированных рабочих мест - дисплеев, которые могут быть при этом использованы. Существующая аппаратурная оснащенность при создании сложных ПС для встраиваемых ЭВМ реального времени обеспечивает в среднем каждому специалисту всего 1-2 подхода к ЭВМ за рабочий день. Это приводит к низкой эффективности средств автоматизации разработки и большим непроиз­водительным потерям рабочего времени разработчиков. Таким образом, важной проблемой индустриализации создания ПС является обеспечение требуемой (см. табл. 2) программной и аппаратурной оснащенности коллективов специалистов. Повышение общей оснащенности разработчиков до требуемого уровня позволит снизить трудоемкость разработки ПС в 2 - 4 раза.

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

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

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

Объекты разработки - программные средства разделены на три класса, которые значительно различаются удельной трудоемкостью разработки (табл. 3):

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

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

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





Проанализировано около 250 завершенных разработок сложных ПС трех клас­сов общим объемом свыше 16 млн. команд, созданных в 1980 - 1986 гг. Выделенные классы ПС заметно различаются по основным ТЭП. Производительность труда повышается при переходе от СРВ к ИПС и далее к ППП, приблизительно так же снижаются стоимость, затраты машинного времени на разработку одной команды, а также суммарная стоимость создания каждого ПС. Таким образом, между крайними классами - СРВ и ППП - различие основных ТЭП составляет 5-10 раз.

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

Величины производительности труда и стоимости разработки одной команды каждого класса ПС имеют большой разброс (коэффициент вариации ~0,85) для различных предприятий и для разных ПС при одном и том же их объеме. Этот разброс в значительной степени обусловлен рядом случайных факторов, которые оценивались отдельно путем введения поправочных коэффициентов изменения трудоемкости. Например, при предъявлении к ПС высоких требований к надежности функционирования трудоемкость в среднем возрастает в 1,5-2 раза, а коллектив достаточно высокой квалификации может ее снизить приблизительно вдвое. Следует обратить внимание на равновесомость факторов и отсутствие особого фактора, способного снизить трудоемкость разработки сложных ПС более чем в 2 - 3 раза.

Длительность разработки ПС изменяется в относительно узком диапазоне для каждого из рассмотренных классов ПС (коэффициент вариации ~0,5) и не столь сильно, как производительность труда, различается между классами ПС. Следует обратить внимание на консервативность длительностей разработки tp, которая связана с трудоемкостью разработки С1р степенной зависимостью

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

Средние объемы проанализированных программ в зависимости от классов ПС изменяются в относительно узких пределах - 48 - 75 тыс. команд. Коллективы разработчиков одного ПС в среднем насчитывали около 20 специалистов. Одна­ко средняя трудоемкость и стоимость разработки каждого ПС рассмотренных классов различались в 2 - 4 раза и находились в диапазоне 50-100 чел.-лет и 0,3 -2,4 млн. руб. (см. табл. 3). Это различие обусловлено в основном разницей между производительностью труда и затратами машинного времени на одну команду для классов ПС.


Статья поступила в редакцию 19 ноября 1990 г. Международный центр по информатике и электронике (ИнтерЭВМ)


&copy Информационное общество, 1991, вып. 2, с. 23-34.