— для удовлетворения требованиям настоящего стандарта могут быть использованы те документы жизненного цикла ПО предыдущей разработки, которые соответствуют требованиям нового применения;
— сертификация в части ПО должна регламентироваться отказными ситуациями и уровнями ПО, определенными процессом оценки безопасности системы. Сравнение с отказными ситуациями предыдущего применения позволит определить области, которые могут потребовать изменения;
— документы жизненного цикла ПО из предыдущей разработки должны быть оценены заново, чтобы гарантировать, что цели процесса верификации ПО требуемого уровня удовлетворены для нового применения;
— для восстановления документации жизненного цикла ПО, которая отсутствует или является неадекватной при удовлетворении целям данного документа, может быть применен метод обратной разработки. Кроме непосредственных работ по созданию программного средства, могут потребоваться дополнительные работы для удовлетворения целям процесса верификации ПО;
— необходимо определить стратегию, обеспечивающую соответствие Плана сертификации в части ПО с настоящим стандартом.
13.1.5 Управление конфигурацией ПО
Если используют ранее разработанное ПО, то процесс управления конфигурацией ПО для нового применения должен включать в себя дополнительно к рекомендациям раздела 9 следующее:
— трассируемость от программного средства и его документов для предыдущего применения к программному средству и документам для нового применения;
— контроль изменений, который позволяет регистрировать дефекты, выяснять причины их появления и прослеживать изменения к программным компонентам, используемым в более чем одном приложении.
13.1.6 Обеспечения качества ПО
Если используют ранее разработанное ПО, то процесс обеспечения качества для нового применения, в дополнение к рекомендациям раздела 10, должен включать в себя обеспечение того, что:
— компоненты ПО удовлетворяют или превышают критерии соответствующего уровня ПО для нового применения;
— изменения в процессах жизненного цикла ПО отражены в планах ПО.
13.2 Аттестация инструментальных средств
Аттестация инструментальных средств необходима, когда процессы, представленные в настоящем стандарте, могут быть исключены, сокращены или автоматизированы посредством использования инструментальных средств, без верификации их выходных данных, как это установлено в разделе 8. Использование инструментальных средств для автоматизации работ в процессах жизненного цикла ПО помогает обеспечить надежность системы, поскольку эти средства способствуют удовлетворению требованиям стандартов разработки ПО и осуществляют автоматический контроль.
Цель процесса аттестации — гарантировать, что инструментальное средство обеспечивает доверие, по крайней мере, эквивалентное доверию к тем процессам, которые будут исключены, сокращены или автоматизированы. Если возможна демонстрация разбиения инструментальных средств по функциям, то должны быть аттестованы только те средства, которые будут использованы в целях устранения, сокращения или автоматизации работ в процессах жизненного цикла, или те средства, выходные результаты которых не были аттестованы.
Могут быть аттестованы только детерминированные инструментальные средства. Это такие средства, которые выдают те же самые результаты для тех же самых входных данных при работе в той же самой среде. Процесс аттестации инструментальных средств может быть применен либо к одному средству, либо к группе средств.
Инструментальные средства могут быть классифицированы одним из двух типов:
— Инструментальные средства разработки ПО: инструментальные средства, выходные данные которых являются частью прикладного ПО и которые, таким образом, могут внести ошибки в разрабатываемое программное средство. Например, инструментальное средство, генерирующее исходный текст непосредственно из требований нижнего уровня, должно быть аттестовано, если генерируемый исходный текст не верифицируется, как установлено в разделе 8.
— Инструментальные средства верификации ПО: инструментальные средства, которые не могут внести ошибки, но могут пропустить последние при их выявлении. Например, статический анализатор, который автоматизирует работы процесса верификации ПО, должен быть аттестован, если функции, которые он выполняет, не верифицируются другим способом; средства контроля типов данных, средства анализа и средства тестирования являются другими примерами подобных инструментальных средств.
Требования к аттестации инструментальных средств:
— инструментальные средства должны быть аттестованы в соответствии с их типом, определенным выше;
— комбинированные инструментальные средства разработки и верификации должны быть аттестованы в соответствии с требованиями 13.2.1, даже если может быть продемонстрировано разделение этих двух функций;