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

Примечание - В США и Канаде до тех пор, пока там не будет опубликована в качестве международного стандарта предлагаемая реализация МЭК 61508 для обрабатывающих отраслей (т.е. МЭК 61511), вместо МЭК 61508 в обрабатывающих отраслях допускается использовать национальный стандарт, базирующийся на МЭК 61508 (т.е. ANSI/ISA S 84.01-1996).

1.3 На рисунке 1 показана общая структура МЭК 61508-1 - МЭК 61508-7 и указана роль МЭК 61508-3 в достижении функциональной безопасности Е/Е/РЕ систем, связанных с безопасностью.

В МЭК 61508-6 (приложение А) описано применение МЭК 61508-2 и МЭК 61508-3.

2 Нормативные ссылки

В настоящем стандарте использованы нормативные ссылки на следующие стандарты:

МЭК 61508-1:1998 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 1. Общие требования

МЭК 61508-2:2000 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 2. Требования к системам электрическим/электронным/программируемым электронным, связанным с безопасностью

МЭК 61508-4:1998 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 4. Термины и определения

МЭК 61508-5:1998 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 5. Примеры методов определения уровней полноты защиты

МЭК 61508-6:2000 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 6. Руководство по применению МЭК 61508-2:2000 и МЭК 61508-3:1998

МЭК 61508-7:2000 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 7. Анализ методов и средств

ИСО/МЭК Руководство 51:1999 Руководство по включению в стандарты аспектов, связанных с безопасностью

МЭК Руководство 104:1997 Подготовка публикаций по безопасности и использование основополагающих публикаций и групповых публикаций по безопасности

Рисунок 1 - Общая структура настоящего стандарта

3 Термины и определения

В настоящем стандарте использованы термины по МЭК 61508-4.

4 Соответствие настоящему стандарту

Требования, которые следует выполнять для соответствия настоящему стандарту, приведены в МЭК 61508-1 (раздел 4).

5 Документация

Задачи и требования, предъявляемые к документации, приведены в МЭК 61508-1 (раздел 5).

6 Система управления качеством программного обеспечения

6.1 Цели

Цели подробно рассмотрены в МЭК 61508-1 (пункт 6.1).

6.2 Требования

6.2.1 В дополнение к требованиям, описанным в МЭК 61508-1 (пункт 6.2), предъявляются следующие требования.

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

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

6.2.3 Система управления конфигурацией программного обеспечения должна:

a) использовать административные и технические средства контроля на протяжении всего жизненного цикла программ для того, чтобы управлять изменениями в программах и таким образом гарантировать выполнение указанных в спецификациях требований к безопасности программных средств;

b) гарантировать выполнение всех операций, необходимых для того, чтобы продемонстрировать достижение заданной полноты безопасности программного обеспечения;

c) осуществлять аккуратную поддержку с использованием уникальной идентификации всех элементов конфигурации, которые необходимы для обеспечения целостности Е/Е/РЕ систем, связанных с безопасностью. Элементы конфигурации должны включать в себя, как минимум, следующее:

- анализ безопасности и требования к безопасности,

- спецификацию программного обеспечения и проектные документы,

- исходный текст программ,

- план и результаты тестирования,

- ранее разработанные программные компоненты и пакеты, которые должны быть включены в Е/Е/РЕ систему, связанную с безопасностью,

- все инструментальные средства и системы разработки, которые использовались при создании, тестировании или выполнении иных действий с программным обеспечением Е/Е/РЕ систем, связанных с безопасностью;

d) использовать процедуры контроля над внесением изменений для предотвращения несанкционированных модификаций; документировать запросы на выполнение модификаций; анализировать влияние предлагаемых модификаций и утверждать либо отвергать модификации; подробно документировать модификации и выдавать полномочия на выполнение всех утвержденных модификаций; устанавливать основные параметры конфигурации системы для этапов разработки программного обеспечения и документировать (частичное) тестирование интеграции системы, которое подтверждает выполнение задач этапа (см. 7.8); гарантировать объединение и встраивание всех подсистем программного обеспечения (включая переработку более ранних версий);

Примечание - Для осуществления руководства и применения административных и технических средств контроля необходимы принятие управленческих решений и наличие полномочий.

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

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

Примечание - Дополнительную информацию по управлению конфигурацией см. в ИСО/МЭК 12207.

7 Требования к жизненному циклу программного обеспечения, связанного с безопасностью

7.1 Общие положения

7.1.1 Цели

Целью требований, излагаемых в настоящем подразделе, является разделение процесса разработки программного обеспечения на этапы и процессы (см. таблицу 1 и рисунки 2 - 5).

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).

7.1.2.4 Если жизненный цикл модулей безопасности удовлетворяет требованиям, приведенным на рисунке 3 и в таблице 1, допускается изменять глубину, число и рабочий размер стадий V-модели (см. рисунок 5) в соответствии с полнотой безопасности и сложностью проекта.

Примечание - Полный список стадий жизненного цикла, приведенный в таблице 1, относится к большим системам, разрабатываемым с самого начала. Для небольших систем может оказаться целесообразным, например, объединить стадии проектирования системы программного обеспечения и проектирования архитектуры.

7.1.2.5 При условии выполнения всех задач и требований настоящего раздела допускается организовывать программный проект иначе, чем предписывается настоящим стандартом (т.е. использовать иную модель жизненного цикла систем безопасности).

7.1.2.6 Для каждой стадии жизненного цикла следует использовать соответствующие методы и мероприятия. Рекомендации приведены в приложениях А и В (руководство по выбору методов и мероприятий). Выбор методов из приложений А и В не гарантирует сам по себе достижения необходимой полноты безопасности.

7.1.2.7 Результаты процессов жизненного цикла систем безопасности программного обеспечения должны быть документированы (см. раздел 5).

7.1.2.8 Если на какой-либо стадии жизненного цикла модулей безопасности программного обеспечения возникает необходимость внести изменение, относящееся к более ранней стадии жизненного цикла, необходимо повторно выполнять эту стадию и стадии, следующие за ней.

Рисунок 2 - Жизненный цикл безопасности E/E/PES систем (стадия реализации)

Рисунок 3 - Жизненный цикл безопасности программного обеспечения (стадия реализации)

Рисунок 4 - Соотношение между областями применения МЭК 61508-2 и МЭК 61508-3

Рисунок 5 - Полнота безопасности программного обеспечения и жизненный цикл разработки (V-модель)


Таблица 1 - Обзор жизненного цикла модулей безопасности программного обеспечения

Стадия жизненного цикла безопасности (номер стадии соответствует номеру блока на рисунке 3)

Задача

Область применения

Номер пункта или раздела

Входные данные

Выходные данные

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

Спецификация тестирования программного модуля.

Листинг исходного текста.

Обзорный отчет по исходному тексту

Результаты тестирования программного модуля.

Верифицированные и проверенные программные модули

Проверка интеграции программного обеспечения:

верифицировать выполнение требований к безопасности программного обеспечения в отношении требуемых функций и уровней полноты безопасности - показать, что все программные модули, компоненты и подсистемы корректно выполняют предназначенные для них функции и не выполняют непредусмотренных действий

Архитектура программного обеспечения.

Система программного обеспечения

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

План оценки функциональной безопасности программного обеспечения

Отчет по оценке функциональной безопасности программного обеспечения