5.4.2 Проектирование архитектуры системы

Разработчик должен участвовать в определении и документировании проекта архитектуры системы (идентификации компонентов системы, их интерфейсов и концепции их совместного выполнения) и прослеживании соответствия между компонентами системы и системными требованиями. Результат этих работ должен быть включен в документ «Описание проекта системы/подсистемы» (12.15). В зависимости от условий контракта часть проекта, имеющая отношение к интерфейсам, может быть включена в Описание проекта системы/подсистемы или в Описание проекта интерфейса (12.17).

5.5 Стратегии архитектурного проектирования системы

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

5.5.1 Разбиение

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

5.5.2 Многоверсионное неидентичное ПО

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

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

5.5.3 Мониторинг безопасности

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

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

— уровень ПО: ПО, которое осуществляет мониторинг безопасности, предписывается уровень, связанный с наиболее серьезной категорией отказной ситуации для контролируемой функции;

— покрытие отказов системы: оценка покрытия отказов системы с помощью мониторинга безопасности гарантирует, что проект монитора и его реализация таковы, что отказы, которые предполагается обнаружить, будут обнаружены при всех возможных условиях;

— независимость функции и монитора: монитор и защитный механизм не должны активизироваться теми же самыми отказными ситуациями, которые вызывают опасность.

5.6 Библиотека разработки ПО

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

5.7 Файлы разработки ПО

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

5.8 Непоставляемое ПО

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

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату
×