7.1 Общие положения
7.1.1 Цели
Целью требований, излагаемых в настоящем подразделе, является разделение процесса разработки программного обеспечения на этапы и процессы (см. таблицу 1 и рисунки 2-5).
Таблица 1 - Обзор жизненного цикла модулей безопасности программного обеспечения
Стадия жизненного цикла безопасности (номер стадии соответствует номеру блока | Задача | Область применения | Номер пункта или раздела | Входные данные | Выходные данные |
9.1 Спецификация требований к безопасности программного обеспечения | Указать требования к безопасности программного обеспечения в виде требований к функциям безопасности программного обеспечения и требований к полноте безопасности программного обеспечения. Указать необходимые для реализации требуемых функций безопасности требования к функциям безопасности программного обеспечения для каждой Е/Е/РЕ системы, связанной с безопасностью. Указать требования к полноте безопасности программного обеспечения для каждой Е/Е/РЕ системы, связанной с безопасностью, необходимые для достижения уровня полноты безопасности, указанного для каждой функции безопасности, назначенной этой Е/Е/РЕ системе, связанной с безопасностью | PES. Система программного обеспечения | 7.2.2 | Спецификация требований к безопасности E/E/PES (МЭК 61508-2) | Спецификация требований к безопасности программного обеспечения |
9.2 Планирование подтверждения соответствия требованиям к безопасности программного обеспечения | Разработать план подтверждения соответствия требованиям к безопасности программного обеспечения | PES. Система программного обеспечения | 7.3.2 | Спецификация требований к безопасности программного обеспечения | План подтверждения соответствия требованиям к безопасности программного обеспечения |
9.3 Проектирование и разработка программного обеспечения | Архитектура: разработать архитектуру программного обеспечения, которая удовлетворяет указанным требованиям к безопасности в отношении необходимого уровня полноты безопасности; рассмотреть и оценить требования, предъявляемые к программному обеспечению со стороны архитектуры аппаратных средств Е/Е/РЕ системы, связанной с безопасностью, включая значение взаимодействия между программным обеспечением и аппаратурой Е/Е/РЕ системы для безопасности управляемого оборудования | PES. Система программного обеспечения | 7.4.3 | Спецификация требований к безопасности программного обеспечения. Проект архитектуры аппаратных средств E/E/PES (МЭК 61508-2) | Описание проекта архитектуры программного обеспечения. Спецификация проверки интеграции архитектуры программного обеспечения. Спецификация проверки интеграции программного обеспечения и программируемых электронных устройств (как требует МЭК 61508-2) |
Инструментальные средства поддержки и языки программирования: выбрать подходящий набор инструментальных средств, включая языки программирования и компиляторы, для требуемого уровня полноты безопасности на весь период поддержки безопасности программного обеспечения с использованием верификации, подтверждения соответствия, оценки и модификации | PES. Система программного обеспечения. Инструментальные средства поддержки. Языки программирования | 7.4.3 | Спецификация требований к безопасности программного обеспечения. Описание проекта архитектуры программного обеспечения | Средства разработки и стандарты кодирования. Выбор инструментов разработки | |
Детальное проектирование и разработка (проект программной системы): спроектировать и реализовать программное обеспечение, которое удовлетворяет указанным требованиям к безопасности программного обеспечения в отношении необходимого уровня полноты безопасности; программное обеспечение должно быть пригодным к анализу и верификации и поддерживать возможность безопасной модификации | Проектирование архитектуры основных компонентов и подсистем программного обеспечения | 7.4.5 | Проектное описание архитектуры программного обеспечения. Инструментальные средства поддержки и стандарты кодирования | Спецификация проекта программного обеспечения. Спецификация тестирования интеграции системы программного обеспечения | |
Детальное проектирование и разработка (проект отдельных программных модулей): спроектировать и реализовать программное обеспечение, которое удовлетворяет указанным требованиям к безопасности программного обеспечения в отношении необходимого уровня полноты безопасности; программное обеспечение должно быть пригодным к анализу и верификации и поддерживать возможность безопасной модификации | Проект системы программного обеспечения | 7.4.5 | Спецификация проекта программной системы. Инструментальные средства поддержки и стандарты кодирования | Спецификация проекта программного модуля. Спецификация тестирования программного модуля | |
Детальная реализация исходного текста: спроектировать и реализовать программное обеспечение, которое удовлетворяет указанным требованиям к безопасности программного обеспечения в отношении необходимого уровня полноты безопасности; программное обеспечение должно быть пригодным к анализу и верификации и поддерживать возможность безопасной модификации | Отдельные программные модули | 7.4.6 | Спецификация проекта программного модуля. Инструментальные средства поддержки и стандарты кодирования | Листинг исходного текста. Обзорный отчет по исходному тексту | |
Тестирование программных модулей: верифицировать выполнение требований к безопасности программного обеспечения в отношении требуемых функций и уровней полноты безопасности - показать, что каждый программный модуль выполняет предназначенные для него функции и не выполняет непредусмотренных действий | Программные модули | 7.4.7 | Спецификация тестирования программного модуля. Листинг исходного текста. Обзорный отчет по исходному тексту | Результаты тестирования программного модуля. Верифицированные и проверенные программные модули | |
Проверка интеграции программного обеспечения: верифицировать выполнение требований к безопасности программного обеспечения в отношении требуемых функций и уровней полноты безопасности - показать, что все программные модули, компоненты и подсистемы корректно выполняют предназначенные для них функции и не выполняют непредусмотренных действий | Архитектура программного обеспечения. Система программного обеспечения | Спецификация тестирования интеграции программной системы | Результаты тестирования интеграции программной системы. Верифицированная и проверенная программная система | ||
9.4 Интеграция программируемых электронных устройств (аппаратура и программное обеспечение) | Интегрировать программное обеспечение с выбранной программируемой электронной аппаратурой. Объединить программное обеспечение и аппаратные средства в связанных с безопасностью программируемых электронных устройствах для того, чтобы удостовериться в их совместимости и выполнении требований к необходимому уровню полноты безопасности | Аппаратное обеспечение программируемой электроники. Интегрированное программное обеспечение | 7.5.2 | Спецификация тестирования интеграции архитектуры программного обеспечения. Спецификация тестирования интеграции программируемой электроники (МЭК 61508-2). Интегрированная программируемая электроника | Результаты тестирования интеграции архитектуры программного обеспечения. Результаты тестирования интеграции программируемой электроники. Верифицированная и проверенная интегрированная программируемая электроника |
9.5 Процедуры, относящиеся к эксплуатации и сопровождению программного обеспечения | Предоставить информацию и процедуры, относящиеся к программному обеспечению и необходимые для того, чтобы гарантировать соблюдение функциональной безопасности Е/Е/РЕ систем, связанных с безопасностью, во время эксплуатации и сопровождения | Аппаратное обеспечение программируемой электроники. Интегрированное программное обеспечение | 7.6.2 | По необходимости вся информация, описанная выше | Процедуры эксплуатации и сопровождения программного обеспечения |
9.6 Подтверждение соответствия безопасности программного обеспечения | Обеспечить гарантию, что интегрированная система соответствует указанным требованиям к безопасности программного обеспечения для заданного уровня полноты безопасности | Аппаратное обеспечение программируемой электроники. Интегрированное программное обеспечение | 7.7.2 | План подтверждения соответствия безопасности программного обеспечения | Результаты подтверждения соответствия безопасности программного обеспечения. Принятое программное обеспечение |
Модификация программного обеспечения | Внести поправки, улучшения или модификации в принятое программное обеспечение, гарантируя, что требуемый уровень полноты безопасности будет сохранен | Аппаратное обеспечение программируемой электроники. Интегрированное программное обеспечение | 7.8.2 | Процедуры модификации программного обеспечения. Результаты модификации программного обеспечения | Результаты анализа влияния модификации программного обеспечения. Журнал модификации программного обеспечения |
Верификация программного обеспечения | В той степени, в которой этого требует уровень полноты безопасности, протестировать и оценить выходные данные для заданной стадии жизненного цикла программного обеспечения, связанного с безопасностью, для того чтобы гарантировать правильность и совместимость по отношению к выходным данным и стандартам, для этой стадии | Зависит от стадии | 7.9.2 | План верификации (зависит от стадии) | Отчет по верификации (зависит от стадии) |
Оценка функций программного обеспечения | Изучить и представить на обсуждение функциональную безопасность, достигнутую Е/Е/РЕ системами, связанными с безопасностью | Стадии 9.1, 9.2, 9.3, 9.4, 9.5 и 9.6, указанные на рисунке 3 | 8 | План оценки функциональной безопасности программного обеспечения | Отчет по оценке функциональной безопасности программного обеспечения |
Рисунок 2 - Жизненный цикл безопасности E/E/PES систем
(стадия реализации)
Рисунок 3 - Жизненный цикл безопасности программного обеспечения
(стадия реализации)
Рисунок 4 - Соотношение между областями применения МЭК 61508-2 и МЭК 61508-3
Рисунок 5 - Полнота безопасности программного обеспечения
и жизненный цикл разработки (V-модель)
7.1.2 Требования
7.1.2.1 Жизненный цикл систем безопасности при разработке программного обеспечения должен быть выбран и специфицирован при планировании безопасности в соответствии с МЭК 61508-1 (раздел 6).
Примечание - Модель жизненного цикла систем безопасности, удовлетворяющая требованиям МЭК 61508-1 (раздел 7), может быть переработана в соответствии с конкретными потребностями проекта или организации.
7.1.2.2 Процедуры оценки качества и безопасности должны быть интегрированы в процессы жизненного цикла систем безопасности.
7.1.2.3 Каждая фаза жизненного цикла безопасности программного обеспечения должна быть разделена на элементарные процессы. Для каждой стадии должны быть определены область применения, входные данные и выходные данные.
Примечания
1 Более подробная информация о фазах жизненного цикла приведена в ИСО/МЭК 12207.
2 Выходные данные стадий жизненного цикла систем безопасности рассматриваются в МЭК 61508-1 (раздел 5). При разработке некоторых Е/Е/РЕ систем, связанных с безопасностью, выходные данные некоторых стадий жизненного цикла систем безопасности могут представлять собой отдельные документы, тогда как выходные данные от других стадий могут объединяться в один документ. Существенным является требование, чтобы выходные данные стадии жизненного цикла системы безопасности удовлетворяли ее предназначению. В случае простых разработок некоторые стадии жизненного цикла систем безопасности также могут объединяться (см. 7.4.5).