Стандартизация в области производства ПО

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

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

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

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

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

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

Существует несколько различных подходов и соответствующих стандартов к обеспечению качества ПО. Наиболее известными из них являются стандарты ISO и CMMI.

Одной из первых моделей качества стал стандарт ISO (Международной организации по стандартизации) серии 9000, первая версия которого была выпущена в 1987 году. Серия стандартов ИСО 9000 затрагивает различные аспекты управления качеством и включает несколько стандартов. Стандарты содержат руководства и инструментарий для компаний и организаций, которые хотят, чтобы их продукция и услуги постоянно отвечали требованиям заказчика, а качество постоянно улучшалось. Один из основных на сегодняшний день стандартов этой серии ИСО 9001:2008 устанавливает требования к системе менеджмента качества. Организация, внедрившая данный стандарт, может пройти процедуру независимого аудита и получить международный сертификат соответствия требованиям стандарта, который повышает ее статус на рынке.

Стандарты ИСО 9000 универсальны и применяются в самых различных отраслях промышленного производства. По данным ИСО этот стандарт внедрен в более одного миллиона компаниях и организациях более чем в 170 странах мира (https://www.iso.org/iso/ru/home/standards/management-standards/iso_9000.htm). В России большинство разработчиков ПО предпочитают использовать именно этот стандарт, хотя он в силу своей универсальности и не учитывает некоторые специфичные для программной инженерии моменты.

В области разработки программного обеспечения в США наибольшее распространение получил стандарт Capability Maturity Model (CMM), что обычно переводят как "модель зрелости процесса разработки ПО". Его история начинается в 1991 году, когда американский институт SEI (Software Engineering Institute – Институт системного программирования при университете Карнеги-Меллон) опубликовал первую версию этого стандарта.

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

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: