"ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВСТРОЕННЫХ СИСТЕМ. Общие требования к разработке и документированию" - читать интересную книгу автора Госстандарт России ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ ГОСТ Р 51904-2002 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВСТРОЕННЫХ СИСТЕМ Общие требования к разработке и документированию 1 Область применения 2 Нормативные ссылки 3 Определения и сокращения 4 Общие требования 4.1 Жизненный цикл ПО 4.1.1 Процессы жизненного цикла ПО 4.1.2 Установление модели жизненного цикла ПО 4.1.3 Критерии перехода между процессами 4.2 Общие требования для разработки ПО 4.2.1 Методы разработки ПО 4.2.2 Стандарты ПО 4.2.3 Программные средства многократного использования 4.2.4 Отработка критических требований 4.2.5 Использование ресурсов аппаратных средств компьютера 4.2.6 Доступ для проверки заказчиком 5 Системные аспекты, связанные с разработкой ПО 5.1 Поток информации между процессами жизненного цикла системы и ПО 5.1.1 Информационный поток от системных процессов к процессам ПО 5.1.2 Информационный поток от процессов ПО к системным процессам 5.2 Отказные ситуации и уровни ПО 5.2.1 Классификация отказных ситуаций 5.2.2 Определения уровня ПО 5.2.3 Назначение уровня ПО 5.3 Анализ системных требований 5.3.1 Анализ информации о потребностях пользователя 5.3.2 Эксплуатационная концепция 5.3.3 Требования к системе 5.3.4 Модифицируемое пользователем ПО. ПО с возможностью выбора вариантов. Коммерчески доступное ПО. 5.3.5 Системные требования для ПО, загружаемого в полевых условиях 5.3.6 Анализ системных требований при верификации ПО 5.3.7 Анализ ПО при верификации системы 5.4 Проектирование системы 5.4.1 Проектные решения системного уровня 5.4.2 Проектирование архитектуры системы 5.5 Стратегии архитектурного проектирования системы 5.5.1 Разбиение 5.5.2 Многоверсионное неидентичное ПО 5.5.3 Мониторинг безопасности 5.6 Библиотека разработки ПО 5.7 Файлы разработки ПО 5.8 Непоставляемое ПО 5.9 Подготовка к использованию ПО 5.9.1 Подготовка исполняемого ПО 5.9.2 Подготовка описания версии для пользователя 5.9.3 Подготовка руководств пользователя 5.9.4 Установка на рабочих местах пользователя Разработчик должен: 5.10 Подготовка к передаче ПО 5.10.1 Подготовка исполняемого ПО 5.10.2 Подготовка исходных файлов 5.10.3 Подготовка описания версии для организации, осуществляющей поддержку 5.10.4 Подготовка проекта ЭКПО для построения ПО и связанной с ним информации 5.10.5 Модификация описания проекта системы 5.10.6 Подготовка руководств поддержки 5.10.7 Передача организации, осуществляющей поддержку Разработчик должен: 5.11 Совместные технические и административные просмотры 5.11.1 Совместные технические просмотры 5.11.2 Совместные административные просмотры 5.12 Другие действия 5.12.1 Контроль критических ситуаций 5.12.2 Показатели управления разработкой ПО 5.12.3 Защита и секретность 5.12.4 Управление субподрядчиком 5.12.5 Связь с агентством независимой верификации ПО 5.12.6 Координация действий с соисполнителями 5.12.7 Изменения в выполнении процессов проекта 6 Процесс планирования ПО 6.1 Цели процесса планирования ПО 6.2 Состав работ, выполняемых в процессе планирования ПО 6.3 Типы планов ПО 6.4 Планирование среды жизненного цикла ПО 6.4.1 Среда разработки ПО 6.4.2 Язык программирования и компилятор 6.4.3 Среда верификации ПО 6.5 Стандарты разработки ПО 6.6 Ответственность за выполнение планирования 6.7 Просмотр результатов процесса планирования ПО 7 Процессы разработки ПО 7.1 Процесс определения требований к ПО 7.1.1 Цели процесса определения требований к ПО 7.1.2 Состав работ, выполняемых в процессе определения требований к ПО 7.2 Процесс проектирования ПО 7.2.1 Цели процесса проектирования ПО 7.2.2 Состав работ, выполняемых в процессе проектирования ПО 7.2.3 Проектирование модифицируемого пользователем ПО 7.2.4 Проектные решения уровня ЭКПО 7.3 Процесс кодирования ПО 7.3.1 Цели процесса кодирования ПО 7.3.2 Состав работ, выполняемых в процессе кодирования ПО 7.4 Процесс интеграции 7.4.1 Цели процесса интеграции 7.4.2 Состав работ, выполняемых в процессе интеграции 7.4.3 Дополнительные задачи интеграции 7.5 Трассируемость 8 Процесс верификации ПО 8.1 Цели верификации ПО 8.2 Состав работ, выполняемых в процессе верификации ПО 8.3 Просмотры и анализы ПО 8.3.1 Просмотры и анализы требований верхнего уровня 8.3.2 Просмотры и анализы архитектуры ПО 8.3.3 Просмотры и анализы требований нижнего уровня 8.3.4 Просмотры и анализы исходного кода 8.3.5 Просмотры и анализы выходных результатов процесса интеграции 8.3.6 Просмотры и анализы тестовых вариантов, процедур и результатов 8.4 Цели и методы тестирования ПО 8.4.1 Среда тестирования 8.4.2 Выбор тестовых вариантов, основанных на требованиях 8.4.3 Методы тестирования, основанные на требованиях 8.4.4 Анализ тестового покрытия 8.4.4.1 Анализ тестового покрытия, основанного на требованиях 8.4.4.2 Анализ структурного покрытия. 8.5 Порядок выполнения тестирования ПО 8.5.1 Модульное тестирование ПО 8.5.2 Интеграционное тестирование 8.5.3 Интеграция и тестирование ЭКПО/ЭКА 8.5.4 Квалификационное тестирование системы 9 Процесс управления конфигурацией ПО 9.1 Цели процесса управления конфигурацией ПО 9.2 Состав работ, выполняемых в процессе управления конфигурацией ПО 9.2.1 Идентификация конфигурации 9.2.2 Контроль конфигурации 9.2.3 Базовые линии и трассируемость 9.2.4 Отчетность о дефектах, трассируемость и корректирующие действия 9.2.5 Контроль изменений и трассируемость 9.2.6 Просмотр изменений 9.2.7 Отчет о состоянии конфигурации 9.2.8 Архивирование и получение документов. Выпуск версии 9.2.9 Контроль загрузки ПО 9.2.10 Контроль среды жизненного цикла ПО 9.3 Категории контроля документов 9.4 Аудит конфигурации 9.5 Компоновка и поставка ПО 10 Процесс обеспечения качества ПО 10.1 Цели процесса обеспечения качества ПО 10.2 Состав работ, выполняемых в процессе обеспечения качества ПО 10.3 Просмотр согласованности ПО 10.4 Документирование обеспечения качества ПО 10.5 Независимость в обеспечении качества ПО 11 Процесс сертификационного сопровождения 11.1 Средства согласования и планирования 11.2 Обоснование согласованности 11.3 Минимальный состав документов жизненного цикла ПО, передаваемых сертифицирующей организации 11.4 Документы жизненного цикла ПО, относящиеся к типовому проекту 12 Документы, создаваемые в процессах жизненного цикла ПО 12.1 План сертификации в части ПО 12.2 План разработки ПО 12.3 План верификации ПО 12.4 План квалификационного тестирования ПО 12.5 План управления конфигурацией ПО 12.6 План обеспечения качества ПО 12.7 План установки ПО 12.8 План передачи ПО 12.9 Стандарты на разработку требований к ПО 12.1 Cтандарты на процесс проектирования ПО 12.11 Стандарты кодирования ПО 12.12 Спецификация системы/подсистемы 12.13 Спецификация требований к ПО 12.14 Спецификация требований к интерфейсу 12.15 Описание проекта системы/подсистемы 12.16 Описание проекта ПО 12.17 Описание проекта интерфейса 12.18 Описание проекта базы данных 12.19 Исходный код ПО 12.20 Исполняемый объектный код ПО 12.21 Процедуры верификации ПО 12.22 Описание квалификационного тестирования ПО 12.23 Результаты верификации ПО 12.24 Отчет о квалификационном тестировании ПО 12.25 Указатель конфигурации среды жизненного цикла ПО 12.26 Указатель конфигурации ПО 12.27 Спецификация программного средства 12.28 Сообщения о дефектах 12.29 Протоколы управления конфигурацией ПО 12.30 Протоколы обеспечения качества ПО 12.31 Итоговый документ разработки ПО 12.32 Описание эксплуатационной концепции 12.33 Руководство по эксплуатации компьютера 12.34 Руководство по программированию для компьютера 12.35 Руководство поддержки программно-аппаратных средств 12.36 Руководство оператора ПО 12.37 Руководство по входной/выходной информации ПО 12.38 Руководство пользователя ПО 12.39 Описание версии ПО 13 Дополнительные вопросы 13.1 Использование ранее разработанного ПО 13.1.1 Модификация ранее разработанного ПО 13.1.2 Изменение системы или объекта управления 13.1.3 Изменения среды применения или среды разработки 13.1.4 Обновление базовой линии разработки 13.1.5 Управление конфигурацией ПО 13.1.6 Обеспечения качества ПО 13.2 Аттестация инструментальных средств 13.2.1 Критерии аттестации для инструментальных средств разработки ПО 13.2.2 Критерии аттестации для инструментальных средств верификации ПО 13.2.3 Документы по аттестации инструментальных средств 13.2.4 Согласие сертифицирующей организации на использование инструментального средства ПРИЛОЖЕНИЕ А (рекомендуемое) Цели и результаты процессов в зависимости от уровня ПО
4.2.4 Отработка критических требований Разработчик должен идентифицировать ЭКПО или части их, критические с точки зрения безопасности, сбой в которых может привести к отказной ситуации для системы (см. 5.2).
Разработчик должен идентифицировать ЭКПО или их части, критические с точки зрения защиты, сбой в которых может привести к нарушению защиты системы. Если имеется такое ПО, разработчик должен предусмотреть стратегию обеспечения защиты. Эта стратегия должна гарантировать, что требования, проект, реализация и эксплуатационные процедуры для идентифицированного ПО минимизируют или устраняют потенциальные нарушения защиты системы. Разработчик должен описать стратегию в Плане разработки ПО, реализовать стратегию и провести доказательство как в части требуемых программных средств, так и в части выполнения стратегии обеспечения защиты.
Разработчик должен идентифицировать ЭКПО или части их, критические с точки зрения секретности, сбой в которых может привести к нарушению секретности системы. Если имеется такое ПО, то разработчик должен представить стратегию обеспечения секретности. Стратегия должна гарантировать, что требования, проект, реализация и эксплуатационные процедуры для идентифицированного ПО минимизируют или устраняют потенциальные нарушения секретности системы. Разработчик должен описать стратегию в Плане разработки ПО, реализовать стратегию и провести доказательство как в части требуемых программных средств, так и в части выполнения стратегии обеспечения секретности.
В случаях, когда система возлагает на ПО реализацию каких-либо требований, которые в соответствии с контрактом или спецификациями системы считаются критическими, разработчик должен идентифицировать те ЭКПО или их части, сбой в которых может привести к нарушению этих критических требований; разработать стратегию для гарантирования того, что требования, проект, реализация и эксплуатационные процедуры для идентифицированного ПО минимизируют или устраняют потенциал для таких нарушений; описать стратегию в Плане разработки ПО; выполнить стратегию и провести доказательство как в части требуемых программных средств, так и в части выполнения стратегии.