ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВСТРОЕННЫХ СИСТЕМ. Общие требования к разработке и документированию
Шрифт:
4.2.3 Программные средства многократного использования
Разработчик должен рассмотреть и оценить возможность применения ранее разработанных программных средств многократного использования для выполнения требований контракта. Область исследования и критерии, используемые для оценки, должны быть описаны в Плане разработки ПО. Выбранные для применения программные средства должны отвечать требованиям контракта по правам собственности.
Разработчик должен рассмотреть возможность многократного использования программных средств, разработанных по контракту, оценить и идентифицировать для заказчика выгоды и издержки такого использования в случае его совместимости с задачами проекта.
Примечание — В контракт может быть включено требование на разработку программных средств, пригодных для многократного использования.
4.2.4 Отработка критических требований
Разработчик должен идентифицировать ЭКПО или части их, критические с точки зрения безопасности, сбой в которых может привести к отказной ситуации для системы (см. 5.2).
Разработчик должен идентифицировать ЭКПО или их части, критические с точки зрения защиты, сбой в которых может привести к нарушению защиты системы. Если имеется такое ПО, разработчик должен предусмотреть стратегию обеспечения защиты. Эта стратегия должна гарантировать, что требования, проект, реализация и эксплуатационные процедуры для идентифицированного ПО минимизируют или устраняют потенциальные нарушения защиты системы. Разработчик должен описать стратегию в Плане разработки ПО, реализовать стратегию и провести доказательство как в части требуемых программных средств, так и в части выполнения стратегии обеспечения защиты.
Разработчик должен идентифицировать ЭКПО или части их, критические с точки зрения секретности, сбой в которых может привести к нарушению секретности системы. Если имеется такое ПО, то разработчик должен представить стратегию обеспечения секретности. Стратегия должна гарантировать, что требования, проект, реализация и эксплуатационные процедуры для идентифицированного ПО минимизируют или устраняют потенциальные нарушения секретности системы. Разработчик должен описать стратегию в Плане разработки ПО, реализовать стратегию и провести доказательство как в части требуемых программных средств, так и в части выполнения стратегии обеспечения секретности.
В случаях, когда система возлагает на ПО реализацию каких-либо требований, которые в соответствии с контрактом или спецификациями системы считаются критическими, разработчик должен идентифицировать те ЭКПО или их части, сбой в которых может привести к нарушению этих критических требований; разработать стратегию для гарантирования того, что требования, проект, реализация и эксплуатационные процедуры для идентифицированного ПО минимизируют или устраняют потенциал для таких нарушений; описать стратегию в Плане разработки ПО; выполнить стратегию и провести доказательство как в части требуемых программных средств, так и в части выполнения стратегии.
4.2.5 Использование ресурсов аппаратных средств компьютера
Разработчик должен проанализировать требования контракта, относящиеся к использованию ресурсов аппаратных средств компьютера (например, максимально возможная производительность процессора, объем памяти, пропускная способность устройств ввода/вывода). Разработчик должен распределить аппаратные ресурсы компьютера между ЭКПО, контролировать использование этих ресурсов при выполнении контракта и перераспределить их или идентифицировать потребность в дополнительных ресурсах по мере необходимости, чтобы удовлетворить требования контракта.
4.2.6 Доступ для проверки заказчиком
Разработчик должен обеспечить заказчику или его полномочному представителю доступ к средствам разработчика и субподрядчика, включая среды разработки и верификации ПО, для проверки программных средств и работ, требуемых в соответствии с контрактом.
5 Системные аспекты, связанные с разработкой ПО
Процесс обеспечения безопасности определяет информационный поток между процессами жизненного цикла системы управления и процессами жизненного цикла ПО. Вследствие взаимозависимости процесса обеспечения безопасности системы и процесса проектирования системы поток информации, описанный в следующих подразделах, является итерационным.
5.1 Поток информации между процессами жизненного цикла системы и ПО
5.1.1 Информационный поток от системных процессов к процессам ПО
В процессе оценки безопасности системы должны быть определены возможные отказные ситуации для системы и установлены их категории, определены требования, связанные с безопасностью, которые специфицируют желаемую отказоустойчивость и реакцию системы на отказные ситуации.
Требования, связанные с безопасностью, — это часть системных требований, которые являются входной информацией для процессов жизненного цикла ПО. Для гарантии правильной реализации требований, связанных с безопасностью, системные требования должны содержать (или ссылаются на):
— описание системы и определение аппаратуры;
— системные требования, относящиеся непосредственно к ПО, включая функциональные требования, требования по эффективности и требования, связанные с безопасностью;
— уровень(ни) ПО и информацию, подтверждающую их определение, отказные ситуации, их категории и функции, выполняемые ПО;
— стратегии обеспечения безопасности и ограничения проекта, включая методы проектирования, такие как использование разбиения, многоверсионного неидентичного ПО, избыточности или мониторинга безопасности.
Процессы жизненного цикла системы могут также определять требования к процессам жизненного цикла ПО, которые необходимы для поддержки верификации системы.
5.1.2 Информационный поток от процессов ПО к системным процессам
Процесс оценки безопасности системы должен определить влияние проектирования и реализации ПО на безопасность системы в целом, используя информацию, создаваемую процессами жизненного цикла ПО. Эта информация включает в себя идентификацию областей распространения отказов, требования к ПО, архитектуру ПО и источники ошибок, которые могут быть обнаружены или исключены посредством специальной организации архитектуры ПО или путем использования инструментальных средств, или другими методами, используемыми в процессе проектирования ПО. Для процесса оценки безопасности системы должна быть обеспечена трассируемость между системными требованиями и результатами проектирования ПО.
Изменения, внесенные при модификации ПО, могут воздействовать на безопасность системы и, следовательно, также должны быть идентифицированы для оценки безопасности системы.
5.2 Отказные ситуации и уровни ПО
Категорию отказной ситуации системы устанавливают, определяя серьезность проявления отказной ситуации на объекте управления. Ошибка в ПО может вызвать сбой, который приведет к отказной ситуации. Следовательно, необходимый для безопасного функционирования уровень ПО определяют исходя из отказных ситуаций системы.
5.2.1 Классификация отказных ситуаций
Категория А — катастрофическая: отказная ситуация, которая препятствует безопасному функционированию объекта управления.
Категория В — опасная/критическая: отказная ситуация, которая приводит к уменьшению возможностей объекта управления или способности персонала справиться с неблагоприятными эксплуатационными режимами, при которых возникают:
— большое снижение гарантийных резервов или функциональных возможностей;
— крайне тяжелое положение или перегрузки, которые могут вызвать неточное или неполное выполнение задачи;