Откройте актуальную версию документа прямо сейчас
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение А
(обязательное)
Руководство
по выбору методов и средств
Некоторые из подразделов настоящего стандарта имеют ассоциированные с ними таблицы, например: подраздел 7.2 (спецификация требований к ПО системы безопасности) соотносится с данными таблицы А.1. Более подробные таблицы, содержащиеся в приложении Б, раскрывают содержание некоторых элементов таблиц приложения А (в частности, таблица Б.2 детализирует содержание динамического анализа и тестирования на основе таблицы А.5).
Обзор методов и средств, упоминаемых в приложениях А и Б, приведен в ГОСТ 34332.5. Для каждого из них представлены рекомендации по УПБ, изменяющемуся от 1 до 4, которые обозначены следующим образом:
ОР - метод или средство, особо рекомендованный(ое) к применению для данного УПБ. Если метод или средство не используют, то на стадии (этапе) планирования СБ системы этому должно быть дано подробное объяснение со ссылкой на приложение В, и это объяснение должно быть согласовано с техническим экспертом;
Р - метод или средство, рекомендованный(ое) к применению для данного УПБ, но степень обязательности рекомендации ниже, чем в случае рекомендации ОР;
"- -" - для данного метода или средства отсутствует рекомендация относительно его применения;
HP - метод или средство, не рекомендованный(ое) к применению для данного УПБ. Если метод или средство применяют, то на стадии (этапе) планирования системы безопасности этому должно быть дано подробное обоснование со ссылкой на приложение В, которое следует согласовать с техническим экспертом.
Методы и средства следует выбирать в соответствии с установленным УПБ. Альтернативные или эквивалентные методы и средства обозначают буквой, следующей за номером. Следует применять только один(но) из альтернативных или эквивалентных методов и средств.
Примечание - Данный подход действует в отношении методов/средств, приведенных в таблицах А.1 - А.4.
Могут быть применены другие методы и средства при условии, что они соответствуют требованиям и целям стадии разработки ПО. Руководящие указания по выбору методов приведены в приложении В.
Ранжирование методов и средств связано с концепцией эффективности, используемой в ГОСТ 34332.3. При равных условиях методы, имеющие ранг "ОР", будут более эффективными в предотвращении внесения систематических ошибок в процессе разработки ПО либо архитектуры программ при выявлении ошибок, оставшихся необнаруженными на стадии выполнения, по сравнению с методами, имеющими ранг "Р".
При большом числе факторов, влияющих на стойкость к систематическим отказам ПО, невозможно представить алгоритм, определяющий такую комбинацию методов и средств, которая была бы корректной для любого заданного применения. Тем не менее в приложении В приведено руководство по выбору конкретных методов для достижения стойкости к систематическим отказам ПО.
В случае конкретного применения соответствующая комбинация методов или средств должна быть сформулирована при планировании системы безопасности, при этом методы и средства должны быть применены, если примечания к таблицам не содержат иных требований.
Таблица А.1 - Спецификация требований к связанному с безопасностью программному обеспечению (см. подраздел 7.2)
Метод/средство * |
Структурный элемент ГОСТ 34332.5-2021 |
УПБ 1 |
УПБ 2 |
УПБ 3 |
УПБ 4 |
1 Альтернативные методы | |||||
1а Полуформальные методы |
Р |
Р |
ОР |
ОР |
|
1б Формальные методы |
- - |
Р |
Р |
ОР |
|
2 Прямая прослеживаемость между требованиями к системе безопасности и требованиями к программному обеспечению системы безопасности |
Р |
Р |
ОР |
ОР |
|
3 Обратная прослеживаемость между требованиями к системе безопасности и предполагаемыми потребностями безопасности |
Р |
Р |
ОР |
ОР |
|
4 Компьютерные средства разработки спецификаций для поддержки перечисленных выше подходящих методов/средств |
Р |
Р |
ОР |
ОР |
|
* Альтернативные или эквивалентные методы/средства обозначаются буквами, следующими за номером. Следует применять только один (одно) из альтернативных или эквивалентных методов/средств. Выбор альтернативных методов/средств должен быть обоснован в соответствии со свойствами, приведенными в приложении В, предпочтительно для каждого применения.
Примечание - Согласно спецификации требований к ПО Э/Э/ПЭ СБЗС системы на постоянной основе должно быть приведено описание задачи на естественном языке и охарактеризовано использование необходимой системы математических обозначений, отражающих содержание соответствующего приложения. |
Таблица А.2 - Проектирование и разработка программного обеспечения. Проектирование архитектуры ПО (см. 7.4.3)
Метод/средство * |
Структурный элемент ГОСТ 34332.5-2021 |
УПБ 1 |
УПБ 2 |
УПБ 3 |
УПБ 4 |
1 Обнаружение ошибок |
- - |
Р |
ОР |
ОР |
|
2 Коды обнаружения ошибок |
Р |
Р |
Р |
ОР |
|
3 Альтернативные методы | |||||
3а Программирование с проверкой ошибок |
Р |
Р |
Р |
ОР |
|
3б Методы контроля (при реализации процесса контроля и контролируемой функции на одном компьютере обеспечивается их независимость) |
- - |
Р |
Р |
- - |
|
3в Методы контроля (реализация процесса контроля и контролируемой функции на разных компьютерах) |
- - |
Р |
Р |
ОР |
|
3г Многовариантное программирование, реализующее одну спецификацию требований к ПО Э/Э/ПЭ СБЗС системы |
- - |
- - |
- - |
Р |
|
3д Функционально многовариантное программирование, реализующее различные спецификации требований к ПО Э/Э/ПЭ СБЗС системы |
- - |
- - |
Р |
ОР |
|
3е Восстановление предыдущего состояния |
Р |
Р |
- - |
ОР |
|
3ж Проектирование ПО, не сохраняющего состояние (или проектирование ПО, сохраняющего ограниченное описание состояния) |
- - |
- - |
Р |
ОР |
|
4 Альтернативные методы | |||||
4а Механизмы повторных попыток парирования сбоя |
Р |
Р |
- - |
- - |
|
4б Постепенное отключение функций |
Р |
Р |
ОР |
ОР |
|
5 Исправление ошибок методами искусственного интеллекта |
- - |
ОР |
ОР |
ОР |
|
6 Динамическая реконфигурация |
- - |
ОР |
ОР |
ОР |
|
7 Модульный подход |
ОР |
ОР |
ОР |
ОР |
|
8 Использование доверительных/проверенных элементов ПО (при наличии) |
Р |
ОР |
ОР |
ОР |
|
9 Прямая прослеживаемость между спецификацией требований к ПО системы безопасности и архитектурой ПО |
Р |
Р |
ОР |
ОР |
|
10 Обратная прослеживаемость между спецификацией требований к ПО Э/Э/ПЭ СБЗС системы и архитектурой ПО |
Р |
Р |
ОР |
ОР |
|
11 Альтернативные методы | |||||
11а Структурные методы ** |
ОР |
ОР |
ОР |
ОР |
|
11б Полуформальные методы ** |
Р |
Р |
ОР |
ОР |
|
11в Формальные методы проектирования и усовершенствования ** |
- - |
Р |
Р |
ОР |
|
11г Автоматическая генерация ПО |
Р |
Р |
Р |
Р |
|
12 Автоматизированные средства разработки спецификаций и проектирования |
Р |
Р |
ОР |
ОР |
|
13 Альтернативные методы | |||||
13а Циклическое поведение с гарантированным максимальным временем цикла |
Р |
ОР |
ОР |
ОР |
|
13б Архитектура с временным распределением |
Р |
ОР |
ОР |
ОР |
|
13в Управление событиями с гарантированным максимальным временем реакции |
Р |
ОР |
ОР |
- - |
|
14 Статическое выделение ресурсов |
- - |
Р |
ОР |
ОР |
|
15 Статическая синхронизация доступа к разделяемым ресурсам |
- - |
- - |
Р |
ОР |
|
* Альтернативные или эквивалентные методы/средства обозначаются буквами, следующими за номером. Следует применять только один (одно) из альтернативных или эквивалентных методов/средств. Выбор альтернативных методов/средств должен быть обоснован в соответствии со свойствами, приведенными в приложении В, предпочтительно для каждого применения. ** Из группы методов 11 "Структурные методы" следует применять метод 11а в том случае, если метод 11б не подходит для предметной области с УПБ 3 + УПБ 4.
Примечания 1 Одни методы в данной таблице посвящены концепциям проектирования, другие - тому, как проект представляется. 2 Приведенные в настоящей таблице средства, касающиеся устойчивости к ошибкам (контроль ошибок), должны быть рассмотрены совместно с требованиями по ГОСТ 34332.3 к архитектуре и контролю ошибок для АС ПЭ устройств. 3 См. таблицу В.2 приложения В. 4 Группу методов/средств 13а - 13в применяют только к системам и ПО с требованиями к синхронизации Э/Э/ПЭ СБЗС системы. 5 Метод/средство 14: использование динамических объектов (например, при работе со стеком или с неупорядоченным массивом) может быть обязательным в отношении доступной памяти и времени выполнения. Метод 14 не должен быть применен, если используется компилятор, который гарантирует, что: - перед выполнением будет выделено достаточно памяти для всех динамических переменных и объектов или в случае ошибки при выделении памяти будет достигнуто безопасное состояние; - время отклика соответствует заданным требованиям. 6 Метод/средство 4а: устранение неисправностей с помощью повторных попыток часто подходит при любом УПБ, но число попыток должно быть ограничено. |
Таблица A.3 - Проектирование и разработка программного обеспечения. Инструменты поддержки и языки программирования (см. 7.4.4)
Метод/средство * |
Структурный элемент ГОСТ 34332.5-2021 |
УПБ 1 |
УПБ 2 |
УПБ 3 |
УПБ 4 |
1 Соответствующий язык программирования |
ОР |
ОР |
ОР |
ОР |
|
2 Сильно типизированный язык программирования |
ОР |
ОР |
ОР |
ОР |
|
3 Подмножество языков |
- - |
- - |
ОР |
ОР |
|
4 Альтернативные методы | |||||
4а Сертифицированные инструменты и сертифицированные переводчики |
Р |
ОР |
ОР |
ОР |
|
4б Инструменты и переводчики: высокая степень исполнения в использовании |
ОР |
ОР |
ОР |
ОР |
|
* Альтернативные или эквивалентные методы/средства обозначаются буквами, следующими за номером. Следует применять только один (одно) из альтернативных или эквивалентных методов/средств. Выбор альтернативных методов/средств должен быть обоснован в соответствии со свойствами, приведенными в приложении В, предпочтительно для каждого применения.
Примечание - См. таблицу В.3 приложения В. |
Таблица А.4 - Проектирование и разработка ПО: детальное проектирование (см. 7.4.5 и 7.4.6) (включает в себя проектирование системы ПО, проектирование модуля ПО и кодирование)
Метод/средство |
Структурный элемент ГОСТ 34332.5-2021 |
УПБ 1 |
УПБ 2 |
УПБ 3 |
УПБ 4 |
1 Альтернативные методы | |||||
1а Методы структурных диаграмм * |
ОР |
ОР |
ОР |
ОР |
|
1б Полуформальные методы * |
Р |
Р |
ОР |
ОР |
|
1в Формальные методы проектирования и усовершенствования * |
- - |
Р |
Р |
ОР |
|
2 Средства автоматизированного проектирования |
Р |
Р |
ОР |
ОР |
|
3 Программирование с защитой |
- - |
Р |
ОР |
ОР |
|
4 Модульный подход |
ОР |
ОР |
ОР |
ОР |
|
5 Стандарты проектирования и кодирования |
Р |
ОР |
ОР |
ОР |
|
6 Структурное программирование |
ОР |
ОР |
ОР |
ОР |
|
7 Использование доверительных/проверенных программных модулей и компонентов (по возможности) |
Р |
ОР |
ОР |
ОР |
|
8 Прямая прослеживаемость между спецификацией требований к ПО системы безопасности и проектом ПО |
Р |
Р |
ОР |
ОР |
|
* Альтернативные или эквивалентные методы/средства обозначаются буквами, следующими за номером. Следует применять только один (одно) из альтернативных или эквивалентных методов/средств. Выбор альтернативных методов/средств должен быть обоснован в соответствии со свойствами, приведенными в приложении В, предпочтительно для каждого применения. Из группы 1 "Альтернативные методы" следует использовать метод 1а, только если метод 1б не подходит для предметной области с УПБ 3 и УПБ 4.
Примечания 1 См. таблицу В.4 приложения В. 2 Пригодность разработки объектно-ориентированного ПО для Э/Э/ПЭ систем находится на стадии обсуждения. Руководящие указания по использованию объектно-ориентированного подхода при разработке архитектуры ПО и при проектировании приведены в ГОСТ 34332.5-2021 (приложение Ж). |
Таблица А.5 - Разработка и проектирование ПО (тестирование и интеграция программного модуля)
Метод/средство * |
Структурный элемент ГОСТ 34332.5-2021 |
УПБ 1 |
УПБ 2 |
УПБ 3 |
УПБ 4 |
1 Вероятностное тестирование |
- - |
Р |
Р |
ОР |
|
2 Динамический анализ и тестирование |
Р |
ОР |
ОР |
ОР |
|
3 Регистрация и анализ данных |
ОР |
ОР |
ОР |
ОР |
|
4 Функциональное тестирование и тестирование методом "черного ящика" |
ОР |
ОР |
ОР |
ОР |
|
5 Тестирование рабочих характеристик |
Р |
Р |
ОР |
ОР |
|
6 Тестирование, основанное на модели |
Р |
Р |
ОР |
ОР |
|
7 Тестирование интерфейса |
Р |
Р |
ОР |
ОР |
|
8 Управление тестированием и средства автоматизации |
Р |
ОР |
ОР |
ОР |
|
9 Прямая прослеживаемость между спецификацией проекта ПО и спецификациями тестирования модуля и интеграции |
Р |
Р |
ОР |
ОР |
|
10 Формальная верификация |
- - |
- - |
Р |
Р |
|
* Методы/средства следует выбирать в соответствии с УПБ.
Примечания 1 Тестирование программных модулей и интеграции относится к процессам верификации (см. таблицу А.9). 2 См. таблицу В.5 приложения В. 3 Формальная проверка может сократить размер и объем занимаемой памяти модуля, поэтому необходимо тестирование интеграции. |
Таблица А.6 - Интеграция программируемых электронных устройств (программное обеспечение и аппаратные средства) (см. 7.5)
Метод/средство * |
Структурный элемент ГОСТ 34332.5-2021 |
УПБ 1 |
УПБ 2 |
УПБ 3 |
УПБ 4 |
1 Функциональное тестирование и тестирование методом "черного ящика" |
ОР |
ОР |
ОР |
ОР |
|
2 Тестирование рабочих характеристик |
Р |
Р |
ОР |
ОР |
|
3 Прямая прослеживаемость между требованиями проекта системы и ПО к интеграции ПО и АС и спецификациями тестирований интеграции ПО и АС |
Р |
Р |
ОР |
ОР |
|
* Методы/средства следует выбирать в соответствии с УПБ.
Примечания 1 Интеграция ПЭ устройств относится к процессам верификации (см. таблицу А.9). 2 См. таблицу В.6 приложения В. |
Таблица А.7 - Аспекты валидации программного обеспечения (см. 7.7)
Метод/средство * |
Структурный элемент ГОСТ 34332.5-2021 |
УПБ 1 |
УПБ 2 |
УПБ 3 |
УПБ 4 |
1 Вероятностное тестирование |
- - |
Р |
Р |
ОР |
|
2 Моделирование процесса |
Р |
Р |
ОР |
ОР |
|
3 Моделирование |
Р |
Р |
ОР |
ОР |
|
4 Функциональное тестирование и тестирование методом "черного ящика" |
ОР |
ОР |
ОР |
ОР |
|
5 Прямая прослеживаемость между спецификацией требований к ПО системы безопасности и планом подтверждения соответствия ПО системы безопасности |
Р |
Р |
ОР |
ОР |
|
6 Обратная прослеживаемость между планом подтверждения соответствия ПО Э/Э/ПЭ СБЗС системы и спецификацией требований к ПО системы |
Р |
Р |
ОР |
ОР |
|
* Методы/средства следует выбирать в соответствии с УПБ.
Примечание - См. таблицу В.6 приложения В. |
Таблица А.8 - Модификация программного обеспечения (см. 7.8)
Метод/средство * |
Структурный элемент ГОСТ 34332.5-2021 |
УПБ 1 |
УПБ 2 |
УПБ 3 |
УПБ 4 |
1 Анализ влияния |
ОР |
ОР |
ОР |
ОР |
|
2 Повторная верификация измененных программных модулей |
ОР |
ОР |
ОР |
ОР |
|
3 Повторная верификация программных модулей, на которые оказывают влияние изменения в других модулях |
Р |
ОР |
ОР |
ОР |
|
4 Альтернативные методы | |||||
4а Повторное подтверждение соответствия системы в целом |
- - |
Р |
ОР |
ОР |
|
4б Регрессионное подтверждение соответствия |
Р |
ОР |
ОР |
ОР |
|
5 Управление конфигурацией ПО |
ОР |
ОР |
ОР |
ОР |
|
6 Регистрация и анализ данных |
ОР |
ОР |
ОР |
ОР |
|
7 Прямая прослеживаемость между спецификацией требований к ПО Э/Э/ПЭ СБЗС системы и планом модификации ПО (включая повторные верификацию и подтверждение соответствия) |
Р |
Р |
ОР |
ОР |
|
8 Обратная прослеживаемость между планом модификации ПО (включая повторную верификацию и подтверждение соответствия) и спецификацией требований к ПО Э/Э/ПЭ СБЗС системы |
Р |
Р |
ОР |
ОР |
|
* Выбор альтернативных методов/средств должен быть обоснован в соответствии со свойствами, приведенными в приложении В, предпочтительно для каждого применения. Альтернативные или эквивалентные методы/средства обозначаются буквами, следующими за номером. Следует применять только один (одно) из альтернативных или эквивалентных методов/средств.
Примечания 1 См. таблицу В.7 приложения В. 2 Методы группы 1 "Анализ влияния" являются необходимой частью метода 4б "Регрессионное подтверждение соответствия" (см. ГОСТ 34332.5). |
Таблица А.9 - Верификация программного обеспечения (см. 7.9)
Метод/средство * |
Структурный элемент ГОСТ 34332.5-2021 |
УПБ 1 |
УПБ 2 |
УПБ 3 |
УПБ 4 |
1 Формальное доказательство |
- - |
Р |
Р |
ОР |
|
2 Анимация спецификации и тестирования |
Р |
Р |
Р |
Р |
|
3 Статический анализ |
Р |
ОР |
ОР |
ОР |
|
4 Динамический анализ и тестирование |
Р |
ОР |
ОР |
ОР |
|
5 Прямая прослеживаемость между спецификацией проекта ПО и планом верификации (включая верификацию данных) ПО |
Р |
Р |
ОР |
ОР |
|
6 Обратная прослеживаемость между планом верификации (включая верификацию данных) ПО и спецификацией проекта ПО |
Р |
Р |
ОР |
ОР |
|
7 Численный анализ в автономном режиме |
Р |
Р |
ОР |
ОР |
|
8 Тестирование и интеграция программного модуля |
См. таблицу А.5 |
||||
9 Проверка интеграции программируемых электронных устройств |
См. таблицу А.6 |
||||
10 Тестирование программной системы (подтверждение соответствия) |
См. таблицу А.7 |
||||
* Методы/средства следует выбирать в соответствии с УПБ.
Примечания 1 Для удобства восприятия материала все процессы, связанные с верификацией, объединены в настоящей таблице, что, однако, не является дополнительными требованиями к элементам верификации, связанными с динамическим тестированием и приведенными в таблицах А.5 и А.6, которые относятся к процессам верификации. Настоящая таблица также не требует проведения верификационного тестирования в дополнение к подтверждению соответствия ПО (см. таблицу Б.7 приложения Б), которая в настоящем стандарте отображает соответствие спецификации требований к Э/Э/ПЭ СБЗС системе (конечную верификацию). 2 Проверка включает положения ГОСТ 34332.1 - ГОСТ 34332.3, поэтому первая проверка системы безопасности связана с более ранними спецификациями уровня системы. 3 Требования к верификации включены в ГОСТ 34332.2 - ГОСТ 34332.4. Следовательно, первая верификация СБЗС системы относится к ранним спецификациям системного уровня. На ранних стадиях ЖЦ СБ ПО верификация является статической, она может включать в себя, например, исследование, просмотр, формальную проверку. Когда программа полностью готова, становится возможным проведение динамического тестирования. Для верификации требуется объединение информации обоих типов. Например, верификация программного модуля статическими средствами включает в себя такие методы, как просмотр программ, прогон, статический анализ, формальная проверка. Верификация программ динамическими средствами включает в себя функциональное тестирование, тестирование методом "белого ящика", статистическое тестирование. Использование проверок обоих типов позволяет утверждать, что каждый программный модуль удовлетворяет соответствующей спецификации. 4 См. таблицу В.8 приложения В. |
Таблица А.10 - Оценка функциональной безопасности (см. раздел 8)
Метод/средство * |
Структурный элемент ГОСТ 34332.5-2021 |
УПБ 1 |
УПБ 2 |
УПБ 3 |
УПБ 4 |
1 Таблица контрольных проверок |
Р |
Р |
Р |
Р |
|
2 Таблицы решений (таблицы истинности) |
Р |
Р |
Р |
Р |
|
3 Анализ отказов |
Р |
Р |
ОР |
ОР |
|
4 Анализ отказов по общей причине различного ПО (если оно используется) |
- - |
Р |
ОР |
ОР |
|
5 Структурные схемы надежности |
Р |
Р |
Р |
Р |
|
6 Прямая прослеживаемость между требованиями раздела 6 и планом оценки функциональной безопасности ПО |
Р |
Р |
ОР |
ОР |
|
* Соответствующие методы/средства следует выбирать в соответствии с УПБ.
Примечание - См. таблицу В.9 приложения В. |
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.