Eng ИССЛЕДОВАНИЯ ТЕХНОЛОГИИ НОВОСТИ КОНТАКТЫ ССЫЛКИ Карта сайта

 Новости

 События

К 15-ЛЕТИЮ ВВЕДЕНИЯ В ДЕЙСТВИЕ СТАНДАРТА ГОСТ Р 51904–2002

В 2018 году исполняется 15 лет с даты введения в действие стандарта ГОСТ Р 51904–2002 "Программное обеспечение встроенных систем. Общие требования к разработке и документированию".

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

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

К этому времени многие специалисты научно-исследовательских институтов  и опытно-конструкторских бюро, занимающиеся разработкой авиационной техники для гражданской авиации, были хорошо знакомы с документом RTCA/DO-178, на основе которого Международным авиационным комитетом велась разработка документа КТ-178В "Требования к программному обеспечению бортовой аппаратуры и систем при сертификации авиационной техники". В связи с этим ФГУП "ГосНИИАС" было предложено с учётом данного документа, а также иных международных стандартов, в которых были заложены передовые идеи в области разработки надёжного программного обеспечения, подготовить стандарт, который можно широко применять как для разработки программного обеспечения образцов вооружения и военной техники, так и в других отраслях промышленности. Эта идея была одобрена как опытно-конструкторскими бюро авиационной промышленности, так и научно-исследовательскими институтами Министерства обороны и Управлением заказов и поставок авиационной техники.

Пока шла работа над новым стандартом, в России был введён стандарт ГОСТ Р ИСО/МЭК 12207-99 "Информационная технология. Процессы жизненного цикла программных средств" (аутентичный текст  с ISO/IEC 12207:1995).  При первом рассмотрении обнаруживается определённое сходство двух стандартов, так как оба построены на описании требований к процессам жизненного цикла программного обеспечения, таких как процесс планирования, процессы разработки, вспомогательные процессы. Но ориентация стандарта ГОСТ Р 51904–2002 на разработку программного обеспечения встроенных систем определяет и ряд отличий. Так как встроенные системы управляют техническими системами (от автомобиля до атомной электростанции), то их отказ может приводить к серьёзным последствиям для здоровья человека или окружающей среды. Такие системы ещё называют системами ответственного назначения. Причём последствия могут быть разными. В связи с чем в стандарт введено понятие классификации отказных ситуаций от категории А (катастрофическая) до категории D (несущественная). Отнесение программного обеспечения к одной из данных категорий (определение уровня ПО) определяет объём и строгость подхода к процессам верификации и тестирования программного обеспечения и, как следствие, трудоёмкость его разработки и стоимость. В стандарте также определены цели процессов, которые должны быть достигнуты для перехода к следующему процессу разработки, состав работ, выполняемых в процессах жизненного цикла, требования трассируемости между требованиями к программному обеспечению и результатами процессов, цели и методы тестирования программного обеспечения и т.д. Поэтому ГОСТ Р 51904–2002 хорошо дополняет ГОСТ Р ИСО/МЭК 12207–99 (в настоящее время действует версия стандарта ГОСТ Р ИСО/МЭК 12207–2010) в части специфики разработки программного обеспечения встроенных систем реального времени.

Хотя стандарт ГОСТ Р 51904–2002 и описывает процессы жизненного цикла программного обеспечения, основное его предназначение – это разработка программного обеспечения встроенных систем, которое гарантированно будет выполнять заданные в техническом задании функции и не будет выполнять никакие другие функции. Иными словами программное обеспечение должно соответствовать требованиям функциональной безопасности.

В XXI веке происходит бурное развитие информационных технологий, что требует разработки новых и периодического пересмотра действующих нормативных документов в этой области. В качестве примера приведём  рисунок №1:

Рисунок №1. Динамика обновления международных и российских стандартов в области информационных технологий.

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

ГОСТ Р 51904–2002 за пятнадцать лет после введения ни разу не пересматривался, хотя имеются причины для его пересмотра, например:

  1. Стандарт ГОСТ Р 12207–99, дополнением к которому является    ГОСТ Р 51904–2002, заменён на ГОСТ Р 12207–2010, что требует проведения анализа влияния этой замены ГОСТ Р 51904–2002 и необходимости внесения изменений. Переработан также документ DO-178, под влиянием которого написан ГОСТ Р 51904–2002, и сейчас действует его новая версия, имеющая существенные отличия от старой версии.

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

  3. Вместе с объёмом и сложностью программного обеспечения встроенных систем возрастает роль инструментальных средств, используемых для его разработки, верификации и тестирования. Инструментальные средства могут как самостоятельно вносить ошибки в исполняемый объектный код, так и пропускать ошибки программного обеспечения в процессах верификации и тестирования. Это требует более серьёзного подхода к выбору и аттестации инструментальных средств, что находит отражение в новых версиях стандартов на программное обеспечение. Так, если в DO-178B аттестации инструментальных средств был посвящён один подраздел, то при разработке DO-178C вопросы квалификации инструментальных средств вынесены в отдельный стандарт – DO-330. В международной практике для повышения доверия к инструментальным средствам разработчики этих средств всё чаще сертифицируют их на соответствие стандарту IEC 61508. С учетом данных тенденций целесообразно и в ГОСТ Р 51904–2002  уточнить подходы к выбору и аттестации инструментальных средств.

  4. Требуется уточнить функции ряда организаций, включённых в стандарт. Так в стандарте важные роли при разработке программного обеспечения отводятся заказчику и сертифицирующей организации, причём складывается впечатление, что функции этих организаций одинаковы, а в данном стандарте эти термины являются синонимами. Вместе с тем в соответствии с международными стандартами по оценке соответствия (ГОСТ ISO/IEC 17000–2012) у заказчика и сертифицирующей организации разные функции и это не может быть одна и та же организация.
    Не понятно, для чего в стандарт включены такие организации, как "агентство поддержки" (подраздел 5.10), "организация, осуществляющая поддержку" (пункты 5.10.1, 5.10.2, 5.10.3, 5.10.7), "агентство независимой верификации ПО" (пункт 5.12.5) и кто в России выполняет роль этих организаций.

  5. Встроенные системы состоят как из аппаратных средств, так и из программного обеспечения. Разработка одного без другого бессмысленна. Поэтому стандарт на разработку программного обеспечения должен поддерживаться аналогичным стандартом на разработку системы и аппаратных средств.  И для большинства стандартов это условие выполняется. Так стандарт  ГОСТ Р ИСО/МЭК 12207–2010 "Системная и программная инженерия. Процессы жизненного цикла программных средств" действует вместе со стандартом ГОСТ Р 57193–2016 "Системная и программная инженерия. Процессы жизненного цикла систем". Аналогично ГОСТ Р МЭК 61508-3–2012 "Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 3. Требования к программному обеспечению" действует вместе с  ГОСТ Р МЭК 61508-2–2012 "Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 2. Требования к системам" и т.д. Для стандарта ГОСТ Р 51904–2002 такого поддерживающего стандарта по системам и аппаратному оборудованию нет.

  6. Не всегда цели и результаты процессов разработки программного обеспечения согласуются с документами, в которых должно быть отражено подтверждение достижения этих целей и результатов. Так в таблице А.1 определено, что достижение цели "Рассмотреть дополнительные вопросы" должно быть отражено в "Плане передачи ПО". Дополнительные вопросы в соответствии с разделом 13 включают рассмотрение использования ранее разработанного ПО (подраздел 13.1) и аттестацию инструментальных средств (подраздел 13.2). Но в документе "План передачи ПО" (подраздел 12.8) данные вопросы не отражены.

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

Если стандарт ГОСТ Р 51904–2002 пересматривать, то сначала надо определиться с тем, кто им будет пользоваться в современных условиях.  Предполагалось, что стандарт будет широко востребован, в первую очередь, в организациях оборонной промышленности, а также в организациях, разрабатывающих встроенные системы ответственного применения в других отраслях промышленности (атомная промышленность, железнодорожный и автомобильный транспорт, медицина, станкостроение и т.д.). Однако, за исключением применения данного стандарта при разработке авиационных комплексов военного назначения, нет информации о  его широком применении в других отраслях. Может ли новая версия стандарта получить более широкое распространение? Вероятнее всего, что не сможет. В России с 2008 года действует стандарт ГОСТ Р МЭК 61508 "Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью", состоящий из 7 частей (в настоящее время действует версия 2012 года), который, как и ГОСТ Р 51904–2002 направлен на определение требований к функциональной безопасности встроенных систем. Данный стандарт является довольно сложным для его непосредственного применения и служит, главным образом, для разработки на его основе отраслевых стандартов по функциональной безопасности встроенных систем и их программного обеспечения. Такие стандарты сейчас активно принимаются в России и уже есть:

  • в атомной промышленности – ГОСТ Р МЭК 60987–2011, ГОСТ Р МЭК 61226–2011, ГОСТ Р МЭК 60880–2010, ГОСТ Р МЭК 62138–2010;

  • в автомобильной промышленности – ГОСТ Р ИСО 26262-1–2014 (из 10 частей);

  • в приборостроении – ГОСТ Р МЭК 61511–2011 (из 3 частей);

  • в медицине – ГОСТ Р МЭК 62304–2013 и т.д.

Внедрение данных стандартов существенно ограничивают возможную область  действия новой версии стандарта ГОСТ Р 51904–2002 в случае её принятия. Фактически это могут быть только предприятия оборонной промышленности. Но здесь решающее слово должно сказать Министерство обороны РФ, и в первую очередь не по поводу данного стандарта, а вообще по поводу внедрения в разработку новой военной техники технологий создания функционально безопасных систем и их программного обеспечения. И здесь есть два возможных направления:

  1. Разработка военных стандартов по функциональной безопасности систем и программного обеспечения этих систем. И здесь за основу может быть взят ГОСТ Р 51904–2002.

  2. Разработка в соответствии с пунктом "д" подраздела 6 раздела IV   "Положения о стандартизации в отношении оборонной продукции (товаров, работ, услуг) по государственному оборонному заказу, а также процессов и иных объектов стандартизации, связанных с такой продукцией"   военного дополнения к национальным стандартам по функциональной безопасности.

В последнем случае действие новой версии ГОСТ Р 51904–2002 будет ограничена, вероятно, только разработкой авиационной техники военного назначения. Но и здесь можно ограничиться написанием военного дополнения к новой версии квалификационных требований к программному обеспечению бортовой аппаратуры и систем гражданской авиации, разрабатываемых на основе DO-178C и поддерживающих его документов (DO-254, DO-330, DO-331, DO-332, DO-333).

В обоих случаях очень важно для успешного применения документа:

  1. Определить связь в процессе разработки образцов военной техники между документами, определяющими требования к функциональной безопасности, и ГОСТ РВ 15.203–2001, определяющим порядок выполнения опытно-конструкторских работ.

  2. Четко прописать функции Заказчика в лице Министерства обороны РФ и его взаимоотношения с разработчиком, а также место и роль организаций по сертификации при оценке и приёмке образцов военной техники и их программного обеспечения, если деятельность этих организаций нужна Министерству обороны для независимой оценки качества военной продукции и технологий её производства.

Для решения указанных в данной статье вопросов целесообразно начать консультации между научно-исследовательскими и опытно-конструкторскими организациями промышленности с одной стороны, и научно-исследовательскими институтами и заказывающими управлениями Министерства обороны с другой стороны. Площадкой для таких консультаций может служить ФГУП "ГосНИИАС".

Литература:

  1. ГОСТ Р 51904-2002. Программное обеспечение встроенных систем. общие требования к разработке и документированию.

  2. КТ-178В. Требования к программному обеспечению бортовой аппаратуры и систем при сертификации авиационной техники.

  3. ГОСТ Р ИСО/МЭК 12207-2010. Системная и программная инженерия. Процессы жизненного цикла программных средств.

  4. ГОСТ Р ИСО/МЭК 15288–2005. Системная инженерия. Процессы жизненного цикла систем.

  5. ГОСТ Р 57193–2016. Системная инженерия. Процессы жизненного цикла систем.

  6. ГОСТ Р МЭК 61508–2012. Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Части 1 – 7.

  7. ГОСТ Р ИСО/МЭК 15408–2012. Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных систем. Части 1 – 7.

  8. ГОСТ Р ИСО/МЭК 9126–93. Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению.

  9. ГОСТ Р ИСО/МЭК 25001–2017. Информационные технологии. Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Планирование и управление.

  10. ГОСТ Р ИСО/МЭК 25010–2015. Информационные технологии. Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Модели качества систем и программных продуктов.

  11. ГОСТ Р ИСО/МЭК 25021–2014. Информационные технологии. Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Элементы показателя качества.

  12. ГОСТ Р ИСО/МЭК 25040–2014. Информационные технологии. Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Процесс оценки.

  13. ГОСТ ISO/IEC 17000–2012. Оценка соответствия. Словарь и общие принципы.

  14. ГОСТ Р МЭК 60987–2011. Атомные станции. Системы контроля и управления, важные для безопасности. Требования к разработке аппаратного обеспечения компьютеризированных систем.

  15. ГОСТ Р МЭК 61226–2011. Атомные станции. Системы контроля и управления, важные для безопасности. Классификация функций контроля и управления.

  16. ГОСТ Р МЭК 60880–2010 Атомные станции. Системы контроля и управления, важные для безопасности. Программное обеспечение компьютерных систем, выполняющих функции категории А.

  17. ГОСТ Р МЭК 62138–2010 Атомные станции. Системы контроля и управления, важные для безопасности. Программное обеспечение компьютерных систем, выполняющих функции категорий В и С.

  18. ГОСТ Р ИСО 26262-1–2014. Дорожные транспортные средства. Функциональная безопасность. Часть 1. Термины и определения.

  19. ГОСТ Р ИСО 26262-4–2014. Дорожные транспортные средства. Функциональная безопасность. Часть 4. Разработка изделия на уровне системы.

  20. ГОСТ Р ИСО 26262-5–2014. Дорожные транспортные средства. Функциональная безопасность. Часть 5. Разработка аппаратных средств изделия.

  21. ГОСТ Р ИСО 26262-6–2014. Дорожные транспортные средства. Функциональная безопасность. Часть 6. Разработка программного обеспечения изделия.

  22. ГОСТ Р МЭК 61511–2011. Безопасность функциональная. Системы безопасности приборные для промышленных процессов. Части 1 – 3.

  23. ГОСТ Р МЭК 62304–2013. Изделия медицинские. Программное обеспечение. Процессы жизненного цикла.

  24. Липаев В.В. Функциональная безопасность программных средств. Jet Info. Информационный бюллетень. №8 (135)/2004.

  25. Липаев В.В. Программная инженерия сложных заказных программных продуктов. Учебное пособие. Москва. МАКС ПРЕСС. 2014 г.

  26. Липаев В.В. Надежность и функциональная безопасность комплексов программ реального времени. Институт системного программирования Российской академии наук. Москва. 2013 г.


А.В. Морозов, ФГУП "ГосНИИАС".

Для обращений, замечаний и вопросов: info-ved@gosniias.ru.


Назад

© ГосНИИАС - GosNIIAS - 2010-2015