5.3 Процесс разработки

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

Разработчик управляет процессом разработки на проектном уровне в соответствии с процессом управления (подраздел 7.1), который конкретизируется в данном процессе; определяет инфраструктуру для данного процесса в соответствии с процессом создания инфраструктуры (подраздел 7.2);

адаптирует данный процесс к условиям проекта в соответствии с процессом адаптации (приложение А) и управляет процессом разработки на организационном уровне в соответствии с процессами усовершенствования (подраздел 7.3) и обучения (подраздел 7.4). Если разработчиком является поставщик разрабатываемого программного продукта, то разработчик должен также выполнять процесс поставки (подраздел 5.2).

Список работ. Данный процесс состоит из следующих работ:

5.3.1 Подготовка процесса,

Данная работа состоит из следующих задач:

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

Примечание— Данные работы и задачи могут пересекаться или взаимодействовать и выполняться итерационно или рекурсивно.

5.3.1.2 Разработчик должен:

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

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

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

5.3.2 Анализ требований к системе

Данная работа состоит из следующих задач, которые разработчик должен выполнить или обеспечить их выполнение:

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

проектные ограничения и квалификационные требования. Технические требования к системе должны быть документально оформлены.

5.3.2.2 Требования к системе должны быть оценены с учетом следующих критериев (при этом результаты оценок должны быть документально оформлены):

5.3.3 Проектирование системной архитектуры

Данная работа состоит из следующих задач, которые разработчик должен выполнить или обеспечить их выполнение:

5.3.3.1 Должна быть определена общая архитектуры системы (архитектура верхнего уровня). В архитектуре должны быть указаны объекты технических и программных средств и ручных операций- Должно быть обеспечено распределение всех требований к системе между объектами архитектуры. Затем должны быть определены объекты конфигурации технических и программных средств и ручных операций на основе объектов архитектуры. Должна быть документально офор млена привязка системной архитектуры и требований к системе относительно установленных объектов.

5.3.3.2 Системная архитектура и требования к объектам архитектуры должны быть оценены с учетом следующих критериев (при этом результаты оценок должны быть документально оформлены):

5.3.4 Анализ требований к программным средствам

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

5.3.4.1 Разработчик должен установить и документально оформить следующие требования к программным средствам, включая технические требования к характеристикам качества (рекомендации по определению характеристик качества приведены в ГОСТ Р ИСО/МЭК 9126):

5.3.4.2 Разработчик должен оценить требования к программным средствам по следующим критериям (при этом результаты оценок должны быть документально оформлены):

5.3.4.3 Разработчик должен провести совместный анализ(ы) в соответствии с подразделом 6.6. После успешного проведения анализа(ов) должно быть зафиксировано состояние требований к программному объекту.

5.3.5 Проектирование программной архитектуры

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

5.3.5.1 Разработчик должен трансформировать требования к программному объекту в архитектуру, которая описывает общую структуру объекта и определяет компоненты программного объекта. Должно быть обеспечено распределение всех требований к программному объекту между его компонентами и дальнейшее их уточнение с точки зрения облегчения технического проектирования. Архитектура программного объекта должна быть документально оформлена.

5.3.5.2 Разработчик должен разработать и документально оформить общий (эскизный) проект внешних интерфейсов программного объекта и интерфейсов между компонентами объекта.

5.3.5.3 Разработчик должен разработать и документально оформить общий (эскизный) проект базы данных.

5.3.5.4 Разработчик должен разработать и документально оформить предварительные версии документации пользователя.

5.3.5.5 Разработчик должен определить и документально оформить предварительные общие требования к испытаниям (тестированию) программного объекта и график сборки программного продукта.

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

5.3.5.7 Разработчик должен провести совместный анализ(ы) в соответствии с подразделом 6.6.

5.3.6 Техническое проектирование программных средств

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

5.3.6.1 Разработчик должен разработать технический проект для каждого компонента программного объекта. Компоненты программного объекта должны быть уточнены на уровне программных модулей, которые можно программировать (кодировать), компилировать и тестировать независимо. Должно быть обеспечено распределение технических требований к компонентам программного объекта между программными модулями. Технический проект должен быть документально оформлен.

5.3.6.2 Разработчик должен разработать и документально оформить технический проект внешних интерфейсов программного объекта, интерфейсов между компонентами программного объекта и между программными модулями. Технический проект интерфейсов должен обеспечить выполнение программирования без потребности в дополнительной информации.

5.3.6.3 Разработчик должен разработать и документально оформить технический проект базы данных.

5.3.6.4 Разработчик должен, при необходимости, уточнить документацию пользователя.

5.3.6.5 Разработчик должен определить и документально оформить требования к испытаниям и программе испытаний программных модулей. Требования к испытаниям должны определять воздействие на программный модуль в пределах установленных к нему требований.

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

5.3.6.7 Разработчик должен оценить технический проект и требования к тестированию по следующим критериям (при этом результаты оценок должны быть документально оформлены):

5.3.6.8 Разработчик должен провести совместный анализ(ы) в соответствии с подразделом 6.6.

5.3.7 Программирование и тестирование программных средств

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

5.3.7.1 Разработчик должен разработать и документально оформить следующие продукты:

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

5.3.7.3 Разработчик, при необходимости, должен уточнить документацию пользователя.

5.3.7.4 Разработчик должен уточнить общие требования к тестированию и программу сборки программных средств.

5.3.7.5 Разработчик должен оценить запрограммированные элементы программного объекта и результаты их тестирования по следующим критериям (при этом результаты оценок должны быть документально оформлены):

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

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

5.3.8.2 Разработчик должен собрать программные модули и компоненты и протестировать их как продукты, разработанные в соответствии с планом сборки. Должно быть обеспечено, чтобы каждая сборка удовлетворяла требованиям к программному объекту и чтобы программный объект был полностью собран в результате данной работы. Результаты сборки и тестирования должны быть документально оформлены.

5.3.8.3 Разработчик, при необходимости, должен уточнить документацию пользователя.

5.3.8.4 Разработчик должен разработать и документально оформить для каждого квалификационного требования к программному объекту — набор тестов, контрольных примеров (исходные и выходные данные, критерии тестирования), процедуры испытаний для проведения квалификационных испытаний программных средств. Разработчик должен обеспечить, чтобы собранный программный объект был готов к квалификационным испытаниям.

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

5.3.8.6 Разработчик должен проводить совместный анализ(ы) в соответствии с подразделом 6.6.

5.3.9 Квалификационные испытания программных средств

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

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

5.3.9.2 Разработчик, при необходимости, должен уточнить документацию пользователя.

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

5.3.9.4 Разработчик должен обеспечить проведение аудиторской проверки(ок) в соответствии с подразделом 6.7. Результаты аудиторских проверок должны быть документально оформлены. Если при реализации конкретного проекта разрабатывались или собирались как технические, так и программные средства, то проведение аудиторских проверок может быть отложено до квалификационных испытаний системы.

5.3.9.5 После успешного завершения аудиторских проверок, если они проводились, разработчик должен:

5.3.10 Сборка системы

Данная работа состоит из следующих задач, которые разработчик должен выполнить или обеспечить их выполнение:

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

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

5.3.10.3 Собранная система должна быть оценена по следующим критериям (при этом результаты оценок должны быть документально оформлены):

5.3.11 Квалификационные испытания системы:

Данная работа состоит из следующих задач, которые разработчик должен выполнить или обеспечить их выполнение:

5.3.11.1 Квалификационные испытания системы должны быть проведены в соответствии с квалификационными требованиями, установленными к системе. Должно быть обеспечено, чтобы реализация каждого требования к системе была испытана на соответствие установленным значениям и чтобы система была готова к поставке. Результаты квалификационных испытаний должны быть документально оформлены.

5.3.11.2 Система должна быть оценена по следующим критериям (при этом результаты оценок должны быть документально оформлены):

5.3.11.3 Разработчик должен обеспечить проведение аудиторской проверки(ок) в соответствии с подразделом 6.7. Результаты аудиторской проверки(ок) должны быть документально оформлены.

Примечание— Этот подпункт не применяется к тем объектам программной конфигурации, для которых аудиторские проверки были проведены ранее.

5.3.11.4 После успешного завершения аудиторских проверок, если они проводились, разработчик должен:

Примечание— Квалификационное испытание системы может быть выполнено в процессах верификации (подраздел 6.4) или аттестации (подраздел 6.5).

5.3.12 Ввод в действие программных средств Данная работа состоит из следующих задач:

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

5.3.12.2 Разработчик должен ввести в действие программный продукт в соответствии с планом по вводу его в действие. При этом должно быть обеспечено, чтобы программы и базы данных устанавливались в исходное состояние (инициализировались), выполнялись (эксплуатировались) и завершались в соответствии с условиями договора. Работы по вводу в действие и их результаты должны быть документально оформлены.

5.3.13 Обеспечение приемки программных средств

Данная работа состоит из следующих задач:

5.3.13.1 Разработчик должен обеспечить проведение заказчиком оценки готовности к приемке и приемочным испытаниям программного продукта. При оценке готовности к приемке и приемочных испытаний должны учитываться результаты совместных анализов (подраздел 6.6), аудиторских проверок (подраздел 6.7), квалификационных испытаний программного продукта и квалификационных испытаний системы (если они проводились). Результаты оценок готовности к приемке и приемочных испытаний должны быть документально оформлены.

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

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

content