Развитие индустрии программного обеспечения

_____________________________________

В.В. Липаев



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


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

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

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

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

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

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

Таким образом, в результате создания на Западе огромной номенклатуры программных средств высокого качества и общего отставания отечественной вычислительной науки и техники выявились следующие особенности современного состояния и направления развития индустрии ПО в России:


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

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

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

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

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

Официальной статистики по экономическим показателям программной индустрии в оборонных отраслях народного хозяйства, также как и по всей стране, никогда не было и нет. В некоторой степени их можно восполнить оценками и правдоподобными рассуждениями следующим образом. Общий объем производства оборонных отраслей с 1990 года к настоящему времени, за счет уменьшения заказов и увольнения специалистов, сократился почти на порядок. Их интеллектуальная часть, в которую входит программная индустрия, пострадала, по-видимому, несколько меньше и сократилась в 4 - 5 раз. Это позволяет оценить число специалистов, продолжающих работать в этих отраслях, на уровне 20 - 25 тыс. человек. Массовые закупки современной зарубежной вычислительной техники и ее освоение для автоматизации проектирования, а также приток специалистов из ВУЗов способствовали некоторому росту их числа за 5 - 6 лет на 5 -10 тыс. до уровня 30-35 тыс. человек. Кроме того, следует учитывать, что в организациях, институтах и на полигонах Министерства обороны России для исследований, эксплуатации и развития программных средств работает несколько (10 - 20) тыс. военных специалистов. Таким образом, в настоящее время в оборонном секторе индустрии ПО в России предположительно заняты 40 - 50 тыс. специалистов.

Сейчас специалисты в области программной индустрии являются одними из наиболее высоко оплачиваемых. С учетом накладных расходов можно оценить затраты на каждого специалиста в год в среднем на уровне 5-7 тыс. долларов. Это позволяет характеризовать оборонный сектор индустрии ПО России на уровне 200 - 250 млн. долларов в год.

Оценки этого сектора индустрии можно также получить другим способом. Опубликовано, что экспорт средств вооружения Россией составил в 1996 году около 3 млрд. долларов и такой же приблизительно объем составляет заказ Министерства обороны России ("Известия", № 241). Таким образом, оборонная промышленность производит средств приблизительно на 6 - 7 млрд. долларов. Продукция индустрии ПО в этом объеме может составлять несколько (2 -3) процента общего объема. Это приводит к оценкам на уровне 150 - 200 млн. долларов. Еще около 50-100 млн. долларов затрачивает Министерство обороны России на программное обеспечение в своих организациях (10 - 20 тыс. специалистов). Таким образом, получаются оценки, близкие к приведенным выше. Во всяком случае, оборонный сектор программной индустрии находится в диапазоне 150-400 млн. долларов, а скорее всего в диапазоне 200 - 250 млн. долларов. Последние значения составляют 20 - 25% приведенной выше суммарной величины рынка программного обеспечения и сервиса России, которая составила в 1996 году около 1 млрд. долларов и могут служить косвенным подтверждением правдоподобности проведенного анализа.

Объективные изменения компонент индустрии программного обеспечения. Особенности современной программной индустрии обусловлены принципиальными изменениями основных компонент ее инфраструктуры за последние 5 -10 лет:


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

Перечисленные выше изменения объектов и проблем их создания вызвали ряд принципиальных изменений в методологии программной индустрии:


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

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


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

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

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

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

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


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

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


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

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


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



© Информационное общество, 1997, вып. 2-3, с. 57-64.