Обычно программное обеспечение вносит существенный вклад в функции, выполняемые СКУ. Оно может также поддерживать дополнительные функции, предусмотренные в проекте системы (например, инициализацию и контроль за техническим обеспечением, связь и синхронизацию между подсистемами). Таким образом, в большинстве случаев жизненный цикл программного обеспечения тесно связан с жизненным циклом безопасности системы. В частности, спецификация требований к программному обеспечению является частью спецификации требований к системе и частью проекта системы либо непосредственно вытекает из них.
Несмотря на то, что верификация новых компонентов программного обеспечения определенно является частью жизненного цикла безопасности программного обеспечения, часто не существует разделения и четкой границы между интеграцией программного обеспечения с системой. Поэтому в настоящем стандарте интеграция программного обеспечения рассматривается как часть интеграции системы. Валидация программного обеспечения также не является деятельностью, связанной только с программным обеспечением: в настоящем стандарте она рассматривается как часть интеграции и/или валидации системы.
В настоящем стандарте предполагается, что жизненный цикл программного обеспечения, первоначально предназначенный для разработки программного обеспечения с помощью универсальных языков, распространяется также на проблемно-ориентированные языки и конфигурацию ранее разработанного программного обеспечения.
Тем не менее, в нем признаются следующие различия в процессе разработки за счет введения специализированных процедур для каждого вида программного обеспечения на уровне реализации:
- реализация с использованием универсальных языков;
- реализация с использованием проблемно-ориентированных языков вместе с генераторами кода;
- отбор, использование и конфигурация ранее разработанного программного обеспечения.
Поскольку блоки "Разработка/генерация прикладного ПО" и "Разработка нового ПО операционной системы" на рисунке 2 представляют большую и существенную часть жизненного цикла безопасности программного обеспечения, на рисунке 3 приведена ее "расшифровка", в которой более детально представлена деятельность между определением спецификации требований к программному обеспечению и его валидацией, с четким обозначением трех различных путей реализации. На рисунке 3 в скобках указаны соответствующие разделы и пункты настоящего стандарта.
Рисунок 3 - Деятельность по разработке в рамках жизненного цикла безопасности программного обеспечения по МЭК 60880
Дополнительные требования к программному обеспечению приведены в приложении В.
Принципы, отраженные в требованиях настоящего стандарта, касаются качества конечной программы, и они применимы независимо от того, разработана ли программа с использованием универсальных языков, проблемно-ориентированных языков с автоматической генерацией рабочей программы, а также независимо от конфигурации.