Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

История развития программирования в России (факторы)

Содержание:

Введение

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

Российское программирование имеет богатую историю, ведущую свой отчет от 50-х годов, когда программирование в основном предназначалось для решения военных и промышленных задач, например, для точного расчета места приземления космического корабля Юрия Гагарина. Ранние успехи советского программирования во многом связаны с тем, что советская экономика всегда была сильно индустриализованной и технически ориентированной. Растущая потребность в программистах была разрешена путем переориентации части математиков и физиков на информатику. В те времена количество программистов (да и самих компьютеров) было очень небольшим, так как область применения программирования была достаточно ограниченной. Так, за все 20 лет производства БЭСМ-6, одного из самых успешных компьютеров тех времен (было выпущено всего около 300 штук). Тем не менее, к концу 60-х советская школа программирования находилась на мировом уровне и в промышленной разработке программ, и в научных исследованиях.

К сожалению, где-то с начала 70-х годов в программировании, как и в ряде других отраслей, начали наблюдаться первые признаки застоя. Одной из основных причин стала официальная политика ориентации компьютерных платформ на клоны IBM/360 и PDP/11. Считалось, что путем копирования западной аппаратной базы удастся сэкономить деньги, которые впоследствии можно было бы использовать для «гигантского скачка» в программировании. Эта «стратегия» потерпела провал, а Эдгар Дейкстра в своей лекции, прочитанной в России, назвал это решение советского правительства «величайшей победой Запада в холодной войне» (подробнее о ранней истории программирования в России можно прочитать в [1]).

Кризис продолжался до начала 90-х годов. В процессе перехода на рыночную экономику большинство существовавших структур рухнуло [2], что привело, в частности, к радикальной смене преобладающей аппаратной платформы. В течение нескольких лет мэйнфреймы были потеснены мощным потоком персональных компьютеров; так, согласно оценке IDC, в 1997 году в России было продано 1,4 млн. компьютеров. Переход на новую платформу создал потребность в целом ряде новых услуг, например, в разработке программ и системной интеграции, которые стали предоставлять молодые частные компании. Большинство современных лидеров в компьютерном бизнесе России — представители этой «новой волны»; сегодня такие компании вполне могут считать себя ветеранами рынка, несмотря на возраст от 8 до 12 лет.

Компьютерный рынок быстро увеличивался вплоть до кризиса 1998 года. Отечественная компьютерная индустрия была одной из наиболее пострадавших из-за своей зависимости от западного рынка; лишь совсем недавно Россия снова вышла на уровень 1997 года по количеству продаваемых компьютеров. Тем не менее, сегодня перспективы компьютерного рынка в России выглядят очень хорошими; страна демонстрирует очень быстрый рост темпов продаж компьютеров, при том, что рынок еще ненасыщен: на 100 человек в России приходится всего лишь около 5 компьютеров (в США — 62).

Люди как основной капитал

Самым большим конкурентным преимуществом российской индустрии программирования является наличие большого количества хорошо обученных технических специалистов. Типичный российский программист обладает как минимум высшим образованием в программировании, технических или точных науках, что совсем нехарактерно для западных стран. Например, примерно 86% американских программистов обладают лишь степенью бакалавра, закончили специальные двухгодичные курсы или вообще ограничились средним образованием [3].

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

Количество обучающихся в России студентов также растет. В 2001 году в стране насчитывалось 4,7 млн. студентов, почти вдвое больше, чем в 1995 году. В частности, растет и число студентов, обучающихся программированию: количество тех, кто ежегодно поступает на связанные с компьютерами специальности, выросло за последние пять лет с 8 до 25 тыс. человек. В связи с возможностью найти по окончании вуза высокооплачиваемую работу программирование становится все более привлекательной специальностью.

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

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

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

Российская индустрия программирования

Согласно оценке консалтинговой компании Brunswick Warburg, в 1999 году объем российского рынка программного обеспечения составлял 560-580 млн. долл. — всего 0,1% от валового национального продукта (при том, что весь ИТ-рынок страны в 2001 году составлял по оценке газеты «Коммерсант» 3,5-4 млрд. долл. при темпах роста 15-20% в год). И все же программирование имеет огромный потенциал. В отчете McKinsey [4] программирование названо самой эффективной и одной из самых быстро растущих отраслей России. По экспертным оценкам, в этой области занято от 50 до 80 тыс. человек. К сожалению, не представляется возможным дать более точную оценку размеров рынка или даже определить явных лидеров в конкретных сегментах рынка, так как на данный момент он достаточно хаотичен и неструктурирован. К тому же, практически все российские компьютерные компании являются закрытыми акционерными обществами и не разглашают точные сведения о своем финансовом состоянии. В данной статье используются цифры из различных опубликованных источников, в особенности из [4-6], хотя в некоторых случаях приводимые оценки значительно различаются.

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

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

Компании, работающие на внутреннем рынке, в основном позиционируются как системные интеграторы, обслуживающие крупные предприятия в платежеспособных отраслях. Есть еще целый ряд компаний, ориентирующихся на мелкий бизнес и индивидуальных покупателей, хотя компьютерное пиратство изрядно подрывает этот рынок. Наконец, многие ориентируются на международный рынок, поскольку заметная ценовая разница по сравнению с западными странами и изобилие талантливых программистов дают России уникальную возможность в области глобального (офшорного) программирования. Эту нишу заполнили сотни компаний, ориентированных на предоставление услуг по аутсорсингу. По оценке компании McKinsey, в 1999 году в российском офшорном программировании было занято от 5 до 8 тыс. профессиональных программистов, а общий объем этого рынка составлял от 60 до 100 млн. долл. при темпах роста от 40 до 60% в год [4]. Правда, российские источники считают, что приведенные цифры сильно занижены. Так, по оценкам компании Market-Visio/EDC, общий доход российского рынка офшорного программирования в 2001 году составил 194 млн. долл. при темпах роста 227% в год.

Международный рынок аутсорсинга отличается жесткой конкуренцией, здесь есть свои общепризнанные лидеры — Индия и Ирландия [7, 8]. В 2000-2001 годах Индия заработала на этом рынке 6,3 млрд. долл. По количественным показателям Россия сегодня отдаленно напоминает Индию в 1990 году.

В последние два-три года компании, специализирующиеся на глобальном программировании стали объединяться в ассоциации, такие, как «Форт-Росс» в Петербурге и «СибАкадемСофт» в Сибири (в процессе создания аналогичная ассоциация в Москве, которая, однако, ничем фактически полезным пока не отличилась). Основной задачей этих ассоциаций стало лоббирование интересов компьютерной индустрии в российском правительстве и маркетинг возможностей отечественных компаний на Западе путем, например, проведения международных конференций типа Software Outrsourcing Summit (www.soft-outsourcing.com). Будем надеяться, что такой процесс консолидации сделает российскую индустрию программирования более заметной силой на международном рынке.

Практически все программные компании в России начинались с небольшой группы квалифицированных программистов. Чаще всего, на этом этапе вопросы качества вообще специально не рассматривались — компании в основном полагались на профессионализм отдельных сотрудников. Однако по мере роста возникали все новые и новые проблемы, связанные с качеством программных продуктов и процессов. Поэтому сегодня большинство российских компаний (особенно работающих с западными заказчиками) понимают важность обеспечения качества. За последние несколько лет рынок услуг, связанных с качеством, значительно вырос. Еще три-четыре года назад ни в одной российской компании не было внутренней программы улучшения качества, а сегодня десятки компаний уже получили сертификат соответствия стандарту ISO 9001, многие планируют сертификацию на следующие несколько лет.

Работы по обеспечению качества в России чаще всего основываются на ISO 9001, который еще в советские времена был положен в основу национального стандарта ГОСТ ИСО Р 9001. На сегодняшний день ISO 9001 по-прежнему остается наиболее доступным из всех программных стандартов: существует множество сертифицирующих органов (как национальных, так и международных) и множество курсов по ISO 9001. Прочие стандарты менее популярны и прежде всего по причине их недостаточной распространенности и высокой стоимости сертификации. Многие российские компании планируют сертификацию по стандарту СММ, однако еще ни одна из них еще не достигла этого; среди подразделений западных компаний необходимо отметить лабораторию Motorola в Петербурге, достигшую пятого уровня СММ.

Западные компании в России

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

  • Motorola открыла лабораторию с небольшой группой программистов в Петербурге в 1993 году, сейчас в ней работает более 200 программистов;
  • Sun Microsystems начала работать в России более 10 лет назад; на сегодняшний день в Москве и Петербурге работают более 300 сотрудников, принимающих участие в разработке новых продуктов и сопровождении существующих;
  • Intel открыла свою лабораторию в Нижнем Новгороде в 1993 году; сегодня в этом подразделении работает около 200 программистов, планируется увеличить их число до 500 [9];
  • SAP при поддержке компании Siemens Business Services развернула в Петербурге подразделение из 40 программистов, численность которых планируется довести до 100.

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

Центры программирования

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

В Москве сосредоточены основные денежные потоки, а также менеджмент страны и практически всех крупных российских компаний, поэтому многие здешние компьютерные компании ориентированы на внутренний рынок (хотя есть и исключения, например, Luxoft, VDI и Auriga).

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

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

Проблемы и перспективы развития

Развитие российской индустрии программирования затруднено целым рядом проблем. Самая большая трудность — это компьютерное пиратство. 88% используемых в России программ являются нелицензионными (в среднем по миру — 36%). Только Вьетнам, Китай и ряд стран бывшего СССР имеют еще худшие показатели по этой проблеме. Некоторые компании пытаются избежать столкновения с этой проблемой путем ориентации создаваемых продуктов на западный рынок. Этот подход (известный также как «скандинавская» или «израильская» модель) представляется очень многообещающей, так как из-за разницы в уровне цен на исходном и целевом рынке финансовый результат может многократно превышать затраты. Единственная проблема заключается в том, что требуются значительные начальные финансовые вложения, отсутствующие у большинства российских компаний. Финансовый рынок в России также недостаточно развит для того, чтобы поддерживать подобные проекты. Поэтому, несмотря на целый ряд примеров успешной реализации подобной модели (например, антивирусная система AVP или графические средства, разработанные компанией ParaGraph и приобретенные впоследствии Silicon Graphics), все еще неясно, станет ли эта модель массовой в России.

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

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

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

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

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

И все же отношение к программированию постепенно меняется. Например, в июле 2000 года Россия подписала так называемую «окинавскую хартию», в которой подчеркивается особая значимость компьютерных технологий для развития современного информационного общества. Этот вопрос также отражен в федеральной программе «Электронная Россия»; развитие компьютерной индустрии названо в ней одним из наиболее приоритетных направлений страны на ближайшее десятилетие. Будем надеяться, что эти планы действительно будут претворены в жизнь.

Становление дисциплины программирования.

Технология программирования в СССР и России как отдельная дисциплина начала складываться уже к середине 60-х годов. Первоначально вопросы технологического подхода к созданию программ и программных продуктов рассматривались исключительно в аспекте «автоматизации программирования» и создания «программирующих программ», прежде всего компиляторов с основных языков программирования того времени – автокод, Фортран, Алгол-60, Лисп. Параллельно с этим развивался структурный подход, связанный с изучением схем программ и формальным доказательством их свойств.

Важными практическими результатами в этом направлении стали работы А.Л. Фуксмана [10], В.В. Липаева [11] и И.В. Вельбицкого [12] и созданных ими школ, специально рассматривавших процесс создания программных продуктов. Однако их подходы базировались на модели крупных вычислительных центров, впоследствии выросших в центры коллективного пользования с системой разделения времени на одной или нескольких больших ЭВМ.

Всеобщая миниатюризация вычислительной техники, появление персональных компьютеров, сетевых технологий, распространение Интернета создали новые вызовы, ответом на которые стали модели самого процесса разработки программ. Первые изменения стали заметными уже в классической монографии Дж. Вайнберга «Психология программирования» [13], ставшей в 1971 г. заметным явлением, дополняющим знаменитый труд Д. Кнута «Искусство программирования» [14], первый том которого вышел в 1968 г.

В 1984 г. в США был создан Институт технологии программирования (SEI – Software Engineering Institute) как научно-исследовательский центр с государственным финансированием из бюджета США при университете Карнеги-Меллон (г. Питтсбург, США), ориентированный на нужды Минобороны США. Он объединил ученых и практиков в области разработки программного обеспечения, задачей которых было дать обоснованную модель для предсказуемого процесса разработки программных продуктов для улучшения качества систем, зависящих от программного обеспечения. Основным достижением первой законченной модели CMM (1986) с последующим ее уточнением CMM for Software V1.1, (1993) можно считать определение 18 ключевых областей процесса – взаимосвязанных групп деятельностей, которые должны исполняться при создании программного продукта. Многие из этих деятельностей выполнялись и ранее на интуитивном уровне; модель CMM их точно определила и, что особенно важно, дала единую «мета-модель» для всех этих областей. Каждая ключевая область процесса характеризуется своими 3–4 целями, которые должны достигаться в процессе выполнения ее деятельностей, рекомендуемым перечнем самих этих деятельностей (4–8), обязательствами и возможностями по их исполнению, измерением, анализом и постоянным контролем хода и результата их исполнения (Рис. 1, а).

Последовавшее крупномасштабное внедрение этой модели в промышленном программировании при создании программных продуктов подтвердили ее высокую практическую значимость и реальное повышение качества конечного продукта при снижении затрат на его разработку и сопровождение, а главное – высокую предсказуемость самого процесса производства программного продукта. Настольной книгой разработчиков стала монография тогдашнего директора SEI У.С. Хэмфри «Управление процессом разработки программного обеспечения» [15].

В России первые применения модели CMM состоялись в Санкт-Петербурге, затем в Москве, Нижнем Новгороде, Великом Новгороде и других городах. Одной из первых в постановке процесса стала компания ИДУ, созданная в 1993 г. на базе СПИИРАН для выполнения программных разработок по заказам компаний IBM и затем Motorola. Благодаря помощи специалистов Моторолы, процесс по модели CMM был поставлен в течение 1 года и уже в 1995 г. был официально сертифицирован на 3-й уровень зрелости, а накопленный опыт был впоследствии отражен в [16] – первой отечественной монографии по данному вопросу.

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

а) Метамодель CMM

б) Ключевые области процесса в CMM

Рис. 1. Модель зрелости способностей CMM

Выделившаяся из компании ИДУ группа разработчиков впоследствии составила ядро Санкт-Петербургской лаборатории компании Моторола, которая в 1999 г. была оценена на 4-й уровень зрелости, а в 2000 – на высший 5-й уровень.

Рис. 2. Спутанный клубок разных моделей зрелости

Успех модели CMM стимулировал создание других конкурирующих моделей (Рис. 2), так что к концу 90-х годов разработчикам стало уже трудно их сравнивать и делать осознанный выбор в пользу той или иной модели. Кроме того, обнаружилось, что для делового успеха организации-разработчика в модели производства программного продукта необходимо учитывать, наряду с чисто технологическими, еще бизнес-факторы и ряд других. Ответом на эти вызовы стала модель CMMI (2000) с последующими ее уточнениями (CMMI for Development V1.3, 2010), в которой обобщен накопленный опыт и заложены средства для учета этих дополнительных факторов.

Модель CMMI (Рис. 3) определяет теперь уже 22 процессные области, каждая из которых характеризуется своими специфическими целями и специфическими практиками, рекомендуемыми для их достижения. Кроме того, для всех процессных областей определены 3 общие цели и 14 общих практик. Поддержание модели, ее дальнейшее совершенствование и распространение ведет организация CMMI Institute на базе Института технологии программирования и университета Карнеги-Меллон.

а) Метамодель CMMI

б) Процессные области в CMMI

Рис. 3. Модель зрелости способностей CMMI

В 2006 г. Санкт-Петербургская лаборатория компании Моторола прошла официальную сертификацию на 5-й, высший уровень зрелости по модели CMMI, еще раз подтвердив свой высочайший профессиональный уровень.

а) Уровень 3 CMM

б) Уровень 5 CMM

в) Уровень 5 CMMI

Рис. 4. Памятные значки о достижении высоких уровней зрелости CMM/CMMI

В промышленном производстве ПО актуальным является вопрос о государственной сертификации создаваемого программного продукта, что обуславливается необходимостью отвечать международным стандартам. Например, для бортового ПО в авиации – это стандарты DO-178C и ED-12C и соответствующий им отечественный стандарт КТ178В «Требования к программному обеспечению бортовой аппаратуры и систем при сертификации авиационной техники». Процесс создания сертифицируемого ПО, определяемый этими стандартами, имеет много общего с моделью CMM/CMMI (Рис. 5).

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

В полном соответствии с моделью CMMI, стандарт DO-178C определяет набор целей для всех деятельностей по созданию ПО, перечисляет обязательные типы рабочих продуктов (документов), создаваемых на каждом этапе в процессе разработки, и дает рекомендации по достижению заданных целей. В зависимости от уровня создаваемого ПО (от A – наиболее требовательного к аспектам безопасности, до D – наименее требовательного), меняется состав целей и способ проверки их достижения (Рис. 6).

Рис. 5. Связь процессов жизненного цикла системы и ее программного обеспечения

Рис. 6. Цели и деятельности жизненного цикла по разработке сертифицируемого ПО

Процесс жизненного цикла

Деятельностей

Документов

A

B

C

D

Планирование

7

7

7

2

27

9

Разработка в целом

7

7

7

4

35

6

Требования

7

7

6

3

1

1

Проектирование

1

9

1

2

1

Кодировка и сборка

9

9

8

1

3

2

Тестирование сборки

5

5

5

3

7

3

Верификация

9

7

6

1

9

1

Управление конфигурацией

6

6

6

6

9

4

Обеспечение качества

3

3

2

2

9

1

Контакт с органом сертификации

3

3

3

3

3

2

Итого:

6

6

5

2

105

30

Таким образом, успешность сертификации во многом зависит от устойчивости и определенности установленного процесса разработки, сравнимого с уровнями 3 и 4 модели CMMI, что делает вопросы дисциплины программирования и правильной постановки процесса разработки ПО особенно важными.

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

День программиста в России

День программиста в России как профессиональный праздник был утвержден указом президента РФ Дмитрия Медведева 11 сентября 2009 года и отмечается ежегодно в 256‑й день года ‑ 13 сентября, если год високосный ‑ 12 сентября. В этом году этот праздник приходится на 13 сентября.

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

Инициатива учредить День программиста в России принадлежит сотруднику компании "Параллельные технологии" Валентину Балту.

О том, что "неофициальная версия" профессионального праздника программистов существует, Валентин узнал еще в 2000 году. Тогда же он отправил первое письмо в Управление президента РФ с официального сайта gov.ru и получил по почте официальный ответ с перенаправлением в Госдуму. Через некоторое время было решено возобновить попытки, но уже не в одиночку, а с привлечением общественности. Валентин Балт и его друг и коллега Михаил Червяков составили обращение к правительству РФ, после чего вывесили голосование в Сети. Новость разослали в некоторые сетевые издания, и в первую очередь информационную поддержку оказали сайты Compulenta.ru и Runet.ru, которые несколько дней продержали информацию о голосовании и "Дне программиста" на главных страницах. В течение 5 суток удалось собрать более 9 800 голосов.

12 мая 2009 г. чиновники из Министерства связи и массовых коммуникаций РФ сообщили Валентину Балту о том, что подготовили проект указа президента и отправили его на согласование. Бумага попала в правительство в конце июля и только через полтора месяца оказалась на столе Дмитрия Медведева.

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

До появления официального праздника в разных кругах День программиста отмечали в разные дни: 19 июля ‑ когда первый программист и дочь великого английского поэта Джорджа Байрона ‑ Августа Ада Лавлейс написала первую программу, 10 декабря ‑ в день рождения самой Августы, а на Украине со времен FidoNet (международная компьютерная сеть) ‑ в пятницу 13‑го. Днем веб‑программистов, в свою очередь, принято считать 4 апреля (4.04), по аналогии с ошибкой "404" ("данная страница не найдена"). В качестве еще одной даты для Дня программиста предлагалось 26 июля ‑ в честь предъявления первого в истории обвинения создателю компьютерного вируса.

В России программисты отмечают свой профессиональный праздник еще и 22 апреля, или 22.04. Возникновение этой даты связано с кодировкой специальности 220400 ‑ "Программное обеспечение вычислительной техники и автоматизированных систем".

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

Известнейшие российские программисты.

За многими технологическими проектами с мировым именем стоят русские программисты. Самые известные бренды – Google, Adobe, PayPal – создавались при участии россиян.

Google

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

Google была создана в качестве учебного проекта студентов Стендфорского университета Ларри Пейджа и Сергея Брина. В 1995 году они работали над поисковой системой BackRub, а в 1998 году на ее основе создали поисковую систему Google.

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

Сергей Брин – уроженец Москвы. В 1979 году его семья эмигрировала в США. Отец стал профессором математики в Мэрилендском университете, а мать – научным сотрудником в Национальном агентстве по аэронавтике и исследованию космоса (NASA).

В 1993 году Сергей Брин получил степень бакалавра с отличием в Мэрилендском университете, в 1995 году – степень магистра в Стэнфордском университете (штат Калифорния).

В марте того же года в Стэнфорде он познакомился с Лэрри Пейджем и начал работу над проектом, который затем превратился в Google.

"Лаборатория Касперского"

Директор и соучредитель компании "Лаборатория Касперского", крупнейшего в России и Европе производителя систем защиты от компьютерных вирусов Евгений Касперский в офисе компании.

"Лаборатория Касперского" – самый популярный в России и крупнейший в Европе производитель систем защиты от вирусов, спама и хакерских атак. Компания входит в четвёрку ведущих мировых производителей программных решений для обеспечения информационной безопасности.

"Лаборатория Касперского" – это международная группа компаний с центральным офисом в Москве и пятью региональными дивизионами, через которые осуществляется управление деятельностью локальных представительств и партнеров компании в соответствующих регионах: в Западной Европе, Восточной Европе, на Ближнем Востоке и в Африке, в Северной и Южной Америке, Японии и других странах Азиатско-Тихоокеанского региона. Партнерская сеть компании объединяет более 700 партнеров первого уровня более чем в 100 странах мира. Технологии компании защищают более 300 миллионов пользователей во всем мире.

Бессменным руководителем антивирусных исследований компании с 1997 года (год основания "Лаборатории Касперского") является один из ее основателей Евгений Касперский, с 2007 года – генеральный директор "Лаборатории Касперского".


Dr.Web

Игорь Данилов, создатель антивируса DrWeb.

"Доктор Веб" (торговая марка - Dr.Web) – российский разработчик средств информационной безопасности и лидер российского рынка интернет-сервисов безопасности для поставщиков IT-услуг. Антивирусные продукты Dr.Web разрабатываются с 1992 года.

Сама компания была основана в декабре 2003 года российским программистом Игорем Даниловым, который занимается разработками в области антивирусной защиты с 1990 года.

Создание компании "Доктор Веб" послужило началом стремительного роста продаж Dr.Web как в России, так и в других странах.

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

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


ABBYY Software

Основатель компании ABBYY Software Давид Ян.

Российская компания ABBYY (до 1997 года - BIT Software) была основана в 1989 году в Москве студентом четвертого курса Московского физико-технического института (МФТИ) Давидом Яном.

На сегодняшний день ABBYY является одним из ведущих мировых разработчиков программного обеспечения и поставщиком услуг в области распознавания и ввода документов, лингвистики и перевода. На российском рынке ABBYY лидирует одновременно в области лингвистических технологий и услуг.

В группу компаний ABBYY входит десять международных офисов в России, США, Германии, Великобритании, Японии, Тайване, на Украине и Кипре, высокотехнологичное российское агентство по переводу ABBYY Language Services (Perevedem.ru) и издательство ABBYY Press. Головной офис ABBYY, находящийся в Москве, отвечает за разработку продуктов и координацию деятельности офисов компании в других странах.

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

Paragon Software

Международный холдинг Paragon Software Group является ведущим разработчиком инновационного программного обеспечения.

Компания Paragon Software стояла у самых истоков рынка мобильных устройств, и ее история отражает все этапы его развития – с того момента, как появились первые карманные компьютеры и до сегодняшнего дня, когда КПК, коммуникаторы и смартфоны стали неотъемлемым атрибутом современной активной жизни.

Константин Комаров - один из создателей и совладелец компании Paragon Software.

Создатели Paragon, студенты МФТИ, решили заниматься системным программным обеспечением (ПО) еще в 1994 году. Изначально штат компании насчитывал всего пять человек, среди которых были нынешние управляющие и совладельцы – Константин Комаров и Александр Зудин. За первый год существования компания наладила производство комплексных системных утилит по работе с жесткими дисками и файловыми системами. Одним из первых проектов Paragon стала собственная операционная система, совместимая с решениями от Microsoft. Поначалу партнеры занимались разработкой технологий для издателей, которые затем продавали адаптированные продукты. Только спустя несколько лет компания начала работать под своим брендом.

Сейчас Paragon Software Group (PSG) входит в тройку крупнейших производителей системного ПО в России, однако до недавнего времени компания не рассматривала отечественный рынок в качестве ключевого.

Paragon Software Group имеет представительства в Германии, России, Японии и США. В компании работает более 200 высококвалифицированных специалистов в области программирования, прикладных научных исследований, дизайна, логистики, аналитики, маркетинга и продаж.

Качество программных продуктов Paragon Software (SHDD) признано во всем мире, как пользователями, так и ведущими производителями аппаратного и программного обеспечения.


PayPal

Одна из старейших платежных систем в интернете PayPal была создана в 1998 году бывшим юристом и финансистом Питером Тиелом и программистом, выходцем из СССР Максом Левчиным.

Макс (Максимилиан) Левчин родился в 1975 году на Украине. Его семья переехала в Чикаго в 1991 году; в 1997 году он окончил университет в Иллинойсе и с ходу занялся сетевыми стартапами. Первые проекты большого успеха не имели, но уже через год Левчин совместно с Питером Тилем, Дэвидом Сэксом и Джоном Пауэрсом основал компанию Fieldlink, которая чуть позже была переименована в Confinity. После чего произошло слияние с сайтом X.com, и компания превратилась в PayPal.

Макс Левчин - сооснователь платежной системы PayPal.

Идея разработки виртуального банка, выполняющего финансовые операции в Международной Сети, сразу же привлекла таких крупных инвесторов, как Nokia Ventures и Deutsche Bank. Сумма инвестиций в развитие проекта составила порядка 4,5 миллиона долларов.

Объем вложений увеличился в несколько раз в 1999 году (инвестиции из банковского сектора составили около 23 миллионов долларов), когда PayPal была запущена, и многие коммерческие организации смогли оценить новую платежную систему.

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

В 2002 году успешный проект выпустил свои акции на сумму около 900 миллионов долларов на фондовый рынок. В октябре того же года PayPal была куплена за 1,5 миллиарда долларов eBay и стала основной платежной системой популярного интернет-аукциона.

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

В настоящее время во всем мире открыто более 153 миллионов счетов PayPal. Компания PayPal, присутствующая на 190 рынках и работающая с 24 мировыми валютами, способствует глобальному развитию отрасли электронной коммерции. Благодаря деятельности компании, становится возможным совершать платежные операции в различных географических точках и в нескольких валютах. Услуги компании доступны на многих языках мира.

Деятельность компании PayPal отмечена более чем 20 наградами в области интернет-индустрии и бизнес-сообщества.


Parallels

Сергей Белоусов - один из сооснователей компании Parallels.

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

Основанная в конце 1999 года в Сингапуре группой выходцев из России, Parallels (до конца января 2008 года – SWsoft) обрела широкую известность на Западе, но мало знакома большинству россиян. При этом продукты для виртуализации Parallels – стопроцентно российская разработка.

Сегодня штат компании насчитывает уже 700 сотрудников на территории Северной Америки, Европы и Азии.

С 2003 года председателем и генеральным директором компании Parallels является один из ее основателей – Сергей Белоусов. Также он является основателем и главным инвестором компании Acronis, мирового лидера в области программного обеспечения для хранения и восстановления данных, предназначенного для использования частными лицами, предприятиями малого и среднего бизнеса, а также крупными корпорациями. Господин Белоусов также был соучредителем компании по производству персональных компьютеров, доходы которой выросли до 150 миллионов долларов менее чем за три года, компании S&W electronics – свыше 500 миллионов долларов всего за восемь лет - и Solomon Software SEA. Каждая из этих компаний начала приносить прибыль через год после начала деятельности. Он имеет диплом бакалавра физики, диплом с отличием магистра физики и электротехники, степень кандидата технических наук по специальности "Информатика" Московского физико-технического института.

EverNote

Степан Пачиков - создатель сервиса EverNote.

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

Сервис EverNote (3,5 миллиона пользователей, в том числе 63,5 тысячи в России) был открыт в июне 2008 года одноименной американской компанией с русскими корнями (компания создана известным IT-специалистом Степаном Пачиковым, среди инвесторов EverNote – "Тройка Диалог"). Основная идея состояла в том, чтобы дать возможность пользователю мгновенно сохранять на удаленном сервере любую информацию, которая только может подвернуться ему под руку: фрагменты документов и веб-страниц, изображения, аудиозаписи, текстовые заметки, визитные карточки etc.

EverNote расположена в городе Маунтин-Вью в Калифорнии (США).

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


ElcomSoft

Компания "Элкомсофт" (ElcomSoft Co. Ltd.) была основана Александром Каталовым в 1990 году в Москве. С 1997 года "Элкомсофт" специализируется на создании программ для восстановления забытых и утраченных паролей к целому ряду приложений, а также программ для восстановления данных, зашифрованных с помощью EFS (Encrypting File System), доступа к аккаунтам Windows, аудита паролей, используемых сотрудниками организаций, проверки стойкости паролей к беспроводным сетям (Wi-Fi).


Александр Каталов, основатель компании "Элкомсофт".

"Элкомсофт" является членом Российской криптологической ассоциации, имеет статус сертифицированного партнера компаний Microsoft и Intel.

16 июля 2001 года ФБР арестовало российского программиста Дмитрия Склярова, приехавшего в США на хакерскую конференцию DefCon. Камнем преткновения стала программа ElcomSoft Advanced eBook Reader, которая позволяет обходить защиту электронных книг в формате Adobe eBook.

В конце концов, обвинения с программиста были сняты, а Adobe отказалась от своих претензий как к Склярову, так и к Elcomsoft. Тем не менее, судебное преследование российской компании продолжило американское правительство, а Скляров был привлечен к процессу в качестве свидетеля.

Арест российского программиста вызвал огромный негативный резонанс в программистском сообществе.

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


"Каисса"

Михаил Донской, один из разработчиков шахматной программы "Каисса".

Шахматная программа "Каисса" была создана в середине 1960-х годов в Москве, в Институте проблем управления Академии наук группой советских математиков, лидерами которой были Владимир Арлазаров, Михаил Донской и Георгий Адельсон-Вельский.

Разработка "Каиссы" была обычной научной работой, включенной в пятилетний план развития СССР 1976-1980 годов.

В 1967 году "Каисса" обыграла аналогичную программу Стэнфордского университета, а в 1974 году стала первым чемпионом мира в соревновании шахматных программ.

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

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

Заключение

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

Список литературы

  1. Д.А. Поспелов, «Становление информатики в России», в сб. «Очерки истории информатики в России», под ред. Д.А. Поспелова и Я.И. Фета. Новосибирск, Научно-издательский центр ОИГГМ СО РАН, 1998.
  2. И. Агамирзян, «Правда об информатике», Файл, №1, 1990.
  3. Occupational Outlook Handbook. Washington, DC: Bureau of Labor Statistics, 1999.
  4. McKinsey Global Institute report «Unlocking Economic Growth in Russia», 1999.
  5. American Chamber of Commerce in Russia report «Offshore software development in Russia», 2001.
  6. BITKOM report «Possibilities for IT cooperation with St. Petersburg» (in German), 2000
  7. Д. Мойтра, «Программная индустрия Индии». «Открытые системы», 2001, № 11.
  8. R. Cochran, «Ireland: a Software Success Story». IEEE Software, 2001, Vol. 18, No. 2.
  9. М. Кузьминский, «Распараллеливание по-нижегородски». «Открытые системы», 2001, № 1.
  10. Фуксман А.Л. Технологические аспекты создания программных систем. / М.: Статистика, 1979. – 184 с.
  11. Липаев В.В. Управление разработкой программных средств: Методы, стандарты, технология. / М.: Финансы и статистика, 1993. – 250 с.
  12. Вельбицкий И.В. Технология программирования. / К.: Техніка, 1984. – 280 с.
  13. Weinberg, Gerald M. The Psychology of Computer Programming. Silver Anniversary Edition (1998). ISBN 0-932633-42-0.
  14. Knuth Donald E. The Art of Computer Programming, 1: Fundamental Algorithms (3rd ed.), Addison-Wesley Professional (1997). ISBN 0-201-89683-4.
  15. Humphrey Watts S. Managing the Software Process. Addison-Wesley (1989). ISBN 0-201-18095-2.
  16. Баранов С.Н., Домарацкий А.Н., Ласточкин Н.К., Морозов В.П. Процесс разработки программных изделий. М: Наука, 2000. – 176 с. ISBN 5-02-015564-0.
  17. Баранов С.Н., Юсупов Р.М. Единый каркас для управления разработкой и сертификацией программного обеспечения // Региональная информатика (РИ-2012), 24-26 октября 2012 г.: Труды конференции, СПб, 2013. – С.51–54.