9.2.2 Контроль конфигурации
Разработчик должен установить и выполнить процедуры контроля конфигурации в соответствии с уровнем контроля, установленным для каждого идентифицированного объекта (например, авторский контроль, контроль на уровне проекта, контроль заказчика); установить полномочия людей или групп для санкционирования и выполнения изменений на каждом уровне (например, программист/аналитик, руководитель группы программистов, руководитель проекта, заказчик); последовательность работ, которые необходимо выполнить для того, чтобы запросить разрешение на изменение; обработать запрос на изменение, проследить изменение, распределить изменения и сопровождать предыдущие версии. Изменения, которые воздействуют на объект, уже находящийся под контролем заказчика, должны быть предоставлены заказчику в соответствии с установленными контрактом формами и процедурами.
9.2.3 Базовые линии и трассируемость
Цель установления базовой линии — определить основу для последующих работ процессов жизненного цикла ПО, позволить осуществлять ссылки, управлять элементами конфигурации и контролировать трассируемость. В рамках данной работы требуется:
а) установить базовые линии для элементов конфигурации, на которые распространяется сертификационное доверие (промежуточные базовые линии могут быть установлены с целью обеспечить контроль работ процессов жизненного цикла ПО);
б) установить базовую линию для программного средства и определить ее в Указателе конфигурации ПО (12.26).
Примечание — Модифицируемое пользователем ПО не входит в базовую линию программного средства, за исключением связанных с ним компонентов защиты и граничных компонентов. Следовательно, в модифицируемое пользователем программное средство могут быть внесены изменения, которые не будут влиять на идентификацию конфигурации базового программного средства;
в) базовые линии следует хранить в контролируемых библиотеках ПО (физических, электронных или других), чтобы обеспечить их целостность. После того как базовая линия будет установлена, она должна быть защищена от внесения изменений;
г) после проведения работ, относящихся к контролю изменений, должна быть разработана базовая линия, производная от ранее установленной базовой линии;
д) базовая линия должна быть трассируема к той базовой линии, производной от которой она является, если при сертификации новой базовой линии используется сертификационное доверие к работам или документам процессов жизненного цикла, связанных с разработкой предшествующей базовой линии;
е) когда правомерно сертификационное доверие к работам или документам процессов жизненного цикла ПО, связанным с разработкой предшествующей версии элемента конфигурации, каждый элемент конфигурации должен быть трассируем к тому элементу конфигурации, производным от которого он является;
ж) базовая линия и элемент конфигурации должны быть трассируемы либо к выходным данным, которые они идентифицируют, либо к процессу, с которым они связаны.
9.2.4 Отчетность о дефектах, трассируемость и корректирующие действия
Цель отчетности о дефектах, трассируемости и корректирующих действий заключается в том, чтобы зарегистрировать несоответствие процесса требованиям планов и стандартов, отсутствие выходных данных процессов жизненного цикла ПО, аномальное поведение программных средств, а также гарантировать разрешение этих проблем.
Примечание — Дефекты, связанные с процессами жизненного цикла ПО, и дефекты, связанные с программными средствами, могут быть зафиксированы в отдельных системах отчетности о дефектах.
Требования к выполнению данных работ:
— должно быть подготовлено сообщение о дефекте, которое описывает несоответствие процесса планам, отсутствие выходных данных или аномальное поведение ПО, а также о предпринятых корректирующих действиях (как это установлено в 12.28);
— отчетность о дефектах должна предусматривать идентификацию затрагиваемых элементов конфигурации или определение затрагиваемых работ в процессах, отчетность о состоянии сообщений о дефектах, утверждение и закрытие сообщений о дефектах;
— сообщения о дефектах, для которых требуются корректирующие действия в отношении программного средства или выходных данных процессов жизненного цикла ПО, должны активизировать работы по контролю изменений.
Примечание — Отчетность о дефектах и работы по контролю изменений являются взаимосвязанными.
Разработчик должен составлять сообщения о дефектах/изменениях, чтобы описать каждый дефект, обнаруженный в программных средствах, находящихся под контролем конфигурации, и каждую проблему выполнения работ, необходимых по контракту или описанных в Плане разработки ПО. Сообщения о дефектах/изменениях должны описывать дефекты/изменения, необходимые действия, связанные с коррекцией, а также предполагаемые сроки их выполнения. Эти сообщения следует использовать как входные данные для системы корректирующих действий.
Разработчик должен реализовать систему корректирующих действий для обработки каждого дефекта, обнаруженного в программных средствах, находящихся под контролем конфигурации, и каждую проблему выполнения работ, необходимых по контракту или описанных в Плане разработки ПО. Система должна отвечать следующим требованиям:
— входная информация системы должна состоять из сообщений о дефектах/изменениях;
— система должна быть закрытым циклом, гарантирующим, что все обнаруженные дефекты немедленно регистрируются и вводятся в систему, необходимые действия инициируются, принятые решения осуществляются, состояние корректирующих действий отслеживается и сообщения о дефектах сопровождаются в течение срока действия контракта;
— каждый дефект должен быть классифицирован по категориям и приоритетам;
— должен быть выполнен анализ для выявления возможных тенденций в зарегистрированных дефектах;
— корректирующие действия должны быть оценены, чтобы определить, были ли дефекты устранены, неблагоприятные тенденции преодолены, а изменения правильно выполнены без внесения дополнительных дефектов.
9.2.5 Контроль изменений и трассируемость
Цель контроля изменений — обеспечить регистрацию, оценку, рассмотрение и утверждение изменений на протяжении жизненного цикла ПО. Требования к выполнению работ по контролю изменений:
а) контроль изменений должен обеспечить целостность элементов конфигурации и базовых линий и защиту их от некорректных изменений;
б) контроль изменений должен гарантировать, что каждое изменение элемента конфигурации учтено в изменении идентификации конфигурации;
в) изменения в базовых линиях и элементах конфигурации, находящихся под контролем, должны быть зарегистрированы, утверждены и прослежены. Отчетность о дефектах связана с контролем изменений, поскольку устранение дефекта, который представлен в сообщении, может привести к изменениям элементов конфигурации или базовых линий.
Примечание — Общепризнанно, что ранняя реализация контроля изменений помогает управлению и организации работ в процессах жизненного цикла ПО;
г) изменения ПО должны быть прослежены вплоть до места их источника, а выполнение процессов жизненного цикла ПО необходимо повторить с момента, начиная с которого изменения сказываются на выходных данных. Так, например, ошибка, обнаруженная в интеграции ПО/аппаратуры, которая является результатом некорректного проектирования, должна повлечь за собой исправление проекта, исправление кода и повторение работ соответствующих интеграционных процессов;
д) при проведении работ по внесению изменений должны быть модифицированы документы жизненного цикла ПО, на которые эти изменения влияют, а обновление документов следует сопровождать работами по контролю изменений.