ГОСТ Р 51904-2002 удовлетворены его цели и цели интегральных процессов, связанных с ним. Требования для этого процесса:
- исполняемый объектный код должен быть генерирован на основе исходного кода и информации о редактировании связей и загрузке;
- ПО должно быть загружено в объектный компьютер для интеграции аппаратных средств и ПО;
- для неадекватных или некорректных входных данных, обнаруженных в процессе интеграции, необходимо обеспечить обратную связь с процессами определения требований к ПО, проектирования ПО, кодирования ПО или планирования ПО для исследования или исправления.
7.4.3 Дополнительные задачи интеграции
Далее рассмотрены задачи, связанные с отключенным кодом и заплатами в ПО. Управляющая система или оборудование могут быть предназначены для включения нескольких вариантов конфигураций, не все из которых предназначены для использования в каждом приложении. Это может привести к появлению отключенного кода, который может быть не выполнен, или данных, которые могут быть не использованы. Такой код отличается от мертвого кода, который определен в разделе 3 и объяснен в 8.4.4. Требования для отключенного кода и заплат следующие:
- должно быть приведено доказательство того, что отключенный код заблокирован для среды, где его использование не предусмотрено. Непреднамеренную активацию отключенного кода, возникающую в аварийных ситуациях системы, следует рассматривать также как непреднамеренную активацию обычного активизированного кода;
- должны быть использованы методы работы с отключенным кодом в соответствии с планами ПО;
- нельзя использовать заплаты в ПО, предназначенном для поставки в сертифицируемый объект, для выполнения изменения в требованиях или архитектуре, или изменений, оказавшихся необходимыми в результате работ процесса верификации ПО. Заплаты следует использовать в ограниченных случаях, например, чтобы устранить замеченные неточности среды программирования, типа обнаружения ошибки компилятора и др.;
- при использовании заплаты необходимо подтвердить, что процесс управления конфигурацией ПО может эффективно прослеживать эту заплату; провести регрессионный анализ для доказательства того, что включение заплаты удовлетворяет всем требованиям к ПО, разработанному с помощью обычных методов; обосновать использование заплаты в Итоговом документе разработки ПО.
7.5 Трассируемость
Требования трассируемости включают в себя обеспечение соответствия:
- между системными требованиями и требованиями к ПО, чтобы гарантировать полноту реализации системных требований и видимость производных требований;
- между требованиями нижнего уровня и требованиями верхнего уровня, чтобы гарантировать полноту реализации требований верхнего уровня и видимость производных требований и архитектурных решений, принятых при выполнении процесса проектирования ПО;
- между исходным кодом и требованиями нижнего уровня, чтобы верифицировать отсутствие неописанного исходного кода и полноту реализации требований нижнего уровня.
8 Процесс верификации ПО
Верификация ПО обеспечивает техническую оценку всех средств разработки ПО, в том числе и результатов верификации ПО. Верификацию ПО выполняют в соответствии с Планом верификации ПО (12.3) и Планом квалификационного тестирования ПО (12.4), которые разрабатывают в процессе планирования ПО.
Таблицы А.3 — А. 7 содержат резюме целей и результатов верификации в зависимости от уровня ПО.
Примечание — Чем ниже уровень ПО, тем меньше внимания уделяют:
- верификации требований нижнего уровня;
- верификации архитектуры ПО;
- полноте покрытия тестами;
- контролю процедур верификации;
- независимости работ процесса верификации ПО;
- перекрытию работ процесса верификации ПО, т.е. выполнению различных верификационных работ, каждая из которых обнаруживает ошибки одного и того же класса;
- тестированию отказоустойчивости;
- верификационным работам, обнаруживающим ошибки, которые оказывают лишь косвенное влияние на результаты разработки, например отклонение от стандартов разработки ПО.
22