Состояние проблемы технологии создания программного обеспечения в СССР
Штрик А.А.

Состояние проблемы технологии создания программного обеспечения в СССР

____________________________

А.А. Штрик



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

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

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

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

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

Настоящая статья ставит своей целью обратить внимание специалистов на решение следующих вопросов в области индустрии создания ПО:

  • основные направления проводимых работ;
  • проблемы разработки и использования технологий и инструментальных средств автоматизации;
  • основные тенденции и направления развития отечественной индустрии создания ПО.
1. ОСНОВНЫЕ НАПРАВЛЕНИЯ РАБОТ

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

Одним из важных шагов в последовательном развитии работ по индустриа­лизации программирования можно считать разработку и утверждение в 1985 г. "Положения о типовых технологиях разработки программных средств", а также проведение в соответствии с ним аттестации существующих технологий и инструментальных средств. Вслед за этим в 1986 г. ГКНТ СССР провел 2-ю Всесоюзную конференцию по технологии программирования [1 ], на которой были представлены 176 организаций из 63 городов страны. В решении этой конференции отмечалось, что за время, прошедшее после 1-й Всесоюзной конференции (1979 г.), в СССР разработаны и апробированы в производственных условиях около 20 тех­нологий. Выявлены проблемы, требующие срочного решения и привлечения крупных научных сил. Сформулированный на этой конференции перечень проблем, постановления двух десятков (в среднем 3 - 4 в год) научно-технических мероприятий различного уровня и масштабности, а также деятельность ГКВТИ СССР стимулировали принятие постановления Совета Министров СССР "Об улучшении ор­ганизации работ в области программного обеспечения вычислительной техники и информатики".

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

технология программирования. Программа утверждена в 1989 г. и рассчитана до 1995 г. [2]. Основными целями программы является создание технологий программирования, которые обеспечивают высокое качество разрабатываемых программных средств при одновременном повышении производительности труда программистов в 2 - 3 раза к1991г.ив4-6 раз - к 1996 г. по сравнению с достигнутой в настоящее время;

повышение качества программных средств вычислительной техники в стране на 1988 - 1990 гг. и на период до 2000 г. Конечной целью программы является создание методологии и средств, обеспечивающих разработку ПО, соответствующего по основным показателям высшим мировым достижениям в области программирования;

стандартизация в области программно-информационных средств на 1988 -1990 гг. Основные цели программы - повышение научно-технического уровня и выработка единой технической политики в стране по стандартизации в области программно-информационных средств информационной технологии с учетом концепции стандартизации работ, проводимых в рамках СТК1 ИСО/МЭК и МПК по ВТ (СЭВ);

создание правового обеспечения индустрии программных средств вычисли­тельной техники на 1989 - 1990 гг.

Наряду с перечисленными программами в разных коллективах страны ведутся работы и по ряду других научно-технических программ различного статуса и уровня.


2. ОБЩЕЕ СОСТОЯНИЕ И ПРОБЛЕМЫ ИНДУСТРИИ ПО

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

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

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


2.1. Методологические проблемы

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

Зарубежные специалисты, говоря о современном ПО, используют понятие software engineering - программная инженерия, подразумевая при этом [3] концепции, методы, инструменты, системы и т. д., предназначенные для обеспечения качественного и высокопроизводительного характера инженерной деятельности по созданию и использованию программных средств вычислительной техники. Таким образом, программная инженерия сконцентрировала в себе практически все аспекты, связанные с программами, что позволяет строить кон­цептуально цельную и единую систему взаимоотношений субъекта (программист, заказчик, пользователь, руководитель и т. д.) с объектом (программой).

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

Допуская распространяющуюся в отношении процессов создания ПО "промышленную" терминологию, следует четко понимать ее условность, вытекающую, во-первых, из природы самого ПО и , во-вторых, из особенностей и специфики процесса создания программ. Говоря об аналогии между объектами, т. е. между программами и промышленными изделиями, очевидно, следует под программой подразумевать материализованный магнитный или какой-либо иной носитель, т. е. проводить аналогию между производством носителей, которые содержат про­граммы, и производством реально ощутимых промышленных изделий. Если же говорить об аналогии в процессах создания программ и промышленных изделий, то, очевидно, аналогом процесса создания программы никак не может служить процесс производства или изготовления промышленного изделия, под который и создаются регламентированные индустриальные технологии. Здесь следует отметить, что в настоящее время говорить о регламентированных индустриальных технологиях разработки и проектирования промышленных изделий, на наш взгляд,особых оснований нет. Аналогии же процессов создания программ с промыш­ленными технологиями могут распространяться (разумеется, с определенными ограничениями) только на процессы разработки и проектирования промышленных изделий, причем, очевидно, не любых изделий, а отвечающих определенным условиям. Такие условия предстоит еще сформулировать, однако интуитивно понятно, что это должны быть изделия, близкие программам по сложности, структуре и прочим атрибутам; к числу таких изделий можно отнести, например, радиоэлектронную аппаратуру. В завершение вопроса об аналогиях между программами и промышленными изделиями следует отметить, что аналогия процессов еще не означает их адекватности, а соответственно и распространение подходов и приемов с одной области на другую нужно реализовывать обоснованно и в разумных пределах.

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

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


2.2. Организационные проблемы

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

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

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

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

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

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


2.3. Технические проблемы

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

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

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


2.4. Проблема фондирования алгоритмов и программ

Эти проблемы больше тяготеют к техническим проблемам, поскольку они связаны с накоплением, производством и распространением программных средств. Однако особая значимость этой группы вопросов делает целесообразным выделение ее в самостоятельную проблему. Создание ГосФАП явилось следствием нового этапа развития программирования в СССР - перевода в 70-е гг. программного обеспечения на индустриальную основу. По данным работы [5], ГосФАП объединяет 80 фондов, из них восемь межотраслевых специализированных ФАП, 10 республиканских и 62 отраслевых. Наряду с созданием фондов в 1974 г. было создано НПО "Центрпрограммсистем" как профессиональная программистская организация, осуществляющая разработку, поставку и сопровождение программных средств в условиях хозрасчета. Однако анализ деятельности ГосФАП не позволяет говорить об успешном решении поставленных перед ним задач. Причины здесь не только в том, что программы, сдаваемые в ГосФАП, часто были недостаточно высокого качества, имели очень малую тиражируемость, не соответствовали требованиям "рынка". Главный недостаток в деятельности ГосФАП -устаревшие организационно-экономические механизмы его функционирования, не соответствующие современным тенденциям перестройки экономического механизма страны.

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


2.5. Проблемы рекламно-маркетинговой деятельности

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

В отечественной практике эта деятельность только в последние год-полтора начала привлекать внимание специалистов и активно развиваться. В первую очередь эта деятельность характерна для "малых форм деятельности", где коммерческая ситуация напрямую определяет техническую политику. Без преувеличения можно сказать, что отсутствие доступной, исчерпывающей и квалифицированной рекламы - это один из главных тормозов на пути развития отечественной технологии. В первую очередь нашей рекламной деятельности не хватает массовости и широты охвата. Имеющиеся рекламные каталоги, которые издаются при различных фондах ГосФАП, имеют невысокую тиражность, труднодоступны и далеко не всегда информативны. Наряду с этим, рекламной деятельности не хватает комплексного подхода. Здесь имеется в виду то, что эта деятельность не может ограничиваться только выпуском какого-либо проспекта, буклета, ролика и т. п., как это и делается в большинстве случаев, с последующим пассивным ожиданием клиентов. Эффективная организация этой деятельности предполагает, что рекламу необходимо не только донести до конкретных заинтересованных лиц, но и обеспечить оперативный контакт с ними, провести консультации и разъяснения, оказать в разумных пределах помощь и содействие и т. д. В качестве одного из возможных решений этой проблемы, как уже отмечалось при анализе организационных проблем, можно рассматривать создание центра информационно-справочного обслуживания пользователей.

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

Другим аспектом рассматриваемой проблемы является состояние научно-тех­нических изданий по компьютерной тематике вообще и технологии программиро­вания в частности. Подробный анализ этих вопросов проведен в работе [6 ]. Всего в СССР на 1987 - 1988 гг. издавалось 805 журналов и несколько десятков перио­дических сборников. Из этого количества к компьютерной тематике относится всего 11 изданий (критерий отнесения: доля "компьютерных" материалов в издании не менее 30 %). Для сравнения: в США на 1988 г. издавалось 957 журналов, посвященных компьютерной тематике, в Великобритании - 182, Германии - 53, Франции - 46, а всего за рубежом - 1586 изданий.

Общее число публикаций в отечественных журналах за один только 1988 г. составило 1246, что находится в разительном контрасте с числом специалистов по компьютерной тематике, имеющихся в нашей стране. Продолжительность задерж­ки в публикациях составляет в среднем от года до двух и более. Оценка научного уровня публикаций наиболее распространена по критерию цитируемое™. По данным американского института научной информации, в 1988 г. "Указатель научного цитирования" содержал данные только о четырех отечественных жур­налах. За 1980 - 1987 гг. на все публикации этих журналов имелось 2063 ссылки из советских журналов и 615 - из зарубежных. При этом необходимо отметить, что пять журналов переводятся полностью на английский язык и один - выборочно, т. е. говорить о языковом барьере для зарубежных специалистов не приходится. Таким образом, ситуацию с отечественными научно-техническими изданиями можно назвать критической. Нет сомнений, что это вносит свою долю в то неблагополучное состояние, которым характеризуется область создания ПО в нашей стране.


2.6. Проблема ресурсов

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

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

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

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


3. ТЕНДЕНЦИИ И НАПРАВЛЕНИЯ РАЗВИТИЯ ИНДУСТРИИ СОЗДАНИЯ ПО

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

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

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

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

Ниже перечислены тенденции развития технологий программирования, определенные на основе анализа состояния ПО в стране:

  • объединение работ, ведущихся в области создания ПО, в единое научно-техническое направление СА;
  • проблемная ориентированность технологий создания программ для различных прикладных областей и повышение степени интегрированное™ инструментальных средств автоматизации проектирования и разработки ПО по уровню охвата его жизненного цикла;
  • интеграция в единый комплекс инструментальных средств автоматизации создания программ и средств автоматизированного планирования, прогнозирова­ния и управления программным проектом;
  • унификация внешних интерфейсов инструментальных средств и форматов входных/выходных данных, а также стандартизация технологических процессов и состава поддерживающих средств;
  • развитие графических методов и языков разработки программных проектов и внедрение интерактивных, безбумажных принципов создания ПО;
  • внедрение принципов и подходов методологии повторной разработки ПО (re-development engineering), включающей прямую и обратную разработку, реструктуризацию, реверсную разработку, повторное использование и сборочное программирование, разработки ПО, в том числе методов сборочного программирования;
  • создание интегрированных инструментальных окружений для разработки программ на языке Ада для разных классов ЭВМ, включая персональные ЭВМ;
  • развитие и внедрение принципов и методов информационной инженерии как следствие активного распространения автоматизированных систем, обслуживаю­щих сферу бизнеса и прочих коммерческих приложений;
  • управление качеством программных проектов, развитие методов аттестации и сертификации программных средств технологического и прикладного применения.
Выводы

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

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

Литература

1. Материалы 2-й Всесоюзной конференции "Технология программирования" (в 3-х частях). Киев, 1986.

2. В е л ь б и ц к и и И. В. и др. Реализация проблемы технологии программирования в КП НТП СЭВ // Программные продукты и системы . - 1989. - № 1. С. 5-9.

3. Дзержинский Ф. Я., Райков Л. Д. Что такое программная инженерия? // Программирование. - 1990. - № 2. С. 67-79.

4. Л и п а е в В. В., П о з и н Б. А., Ш т р и к А. А., К о к о р е в С. В. Концепция построения и развития индустриальных проблемно-ориентированных технологий разработки программных средств вычислительной техники // Программирование. - 1989. - № 4. С. 76-90.

5. Макаревич В. П. Развитие программного обеспечения в СССР // Программные продукты и системы. - 1988. - № 1. С. 13-19.

6. Я к о в л е в А. Г., Ш в а р ц Е. Е. Советские периодические издания по компьютерному делу // Мир ПК. - 1989. - № 5. С. 122-129.



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


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