ГОССТАНДАРТ РОССИИ - Процессы жизненного цикла программных средств
5.2.6.3 Поставщик должен выполнять верификацию и аттестацию в соответствии с подразделами 6.4 и 6.5 для того, чтобы продемонстрировать заказчику полное соответствие программных продуктов или услуг и процессов установленным требованиям.
5.2.6.4 Поставщик должен предоставлять заказчику отчеты о проведенных оценках, анализах, аудиторских проверках, испытаниях и реализованных решениях возникших проблем в соответствии с условиями договора.
5.2.6.5 Поставщик должен обеспечить заказчику доступ к своим средствам и средствам субподрядчиков для проверки программных продуктов или услуг в соответствии с договорными и проектными планами.
5.2.6.6 Поставщик должен выполнять работы по обеспечению качества в соответствии с подразделом 6.3.
5.2.7 Поставка и закрытие договора
Данная работа состоит из следующих задач:
5.2.7.1 Поставщик должен поставить программный продукт или услугу заказчику в соответствии с условиями договора.
5.2.7.2 Поставщик должен помогать заказчику в поддержке поставленного программного продукта или услуги в соответствии с условиями договора.
5.3 Процесс разработки
Процесс разработки состоит из работ и задач, выполняемых разработчиком. Процесс включает работы по анализу требований, проектированию, программированию, сборке, тестированию, вводу в действие и приемке программных продуктов. В данный процесс могут быть включены работы, связанные с разработкой системы, если это оговорено в договоре. Разработчик выполняет или обеспечивает выполнение работ по данному процессу в соответствии с условиями договора.
Разработчик управляет процессом разработки на проектном уровне в соответствии с процессом управления (подраздел 7.1), который конкретизируется в данном процессе; определяет инфраструктуру для данного процесса в соответствии с процессом создания инфраструктуры (подраздел 7.2); адаптирует данный процесс к условиям проекта в соответствии с процессом адаптации (приложение А) и управляет процессом разработки на организационном уровне в соответствии с процессами усовершенствования (подраздел 7.3) и обучения (подраздел 7.4). Если разработчиком является поставщик разрабатываемого программного продукта, то разработчик должен также выполнять процесс поставки (подраздел 5.2).
Список работ. Данный процесс состоит из следующих работ:
1. подготовка процесса; анализ требований к системе;
2. проектирование системной архитектуры;
3. анализ требований к программным средствам;
4. проектирование программной архитектуры;
5. техническое проектирование программных средств;
6. программирование и тестирование программных средств;
7. сборка программных средств;
8. квалификационные испытания программных средств;
9. сборка системы;
10. квалификационные испытания системы;
11. ввод в действие программных средств;
12. обеспечение приемки программных средств.
5.3.1 Подготовка процесса
Данная работа состоит из следующих задач:
5.3.1.1 Если модель жизненного цикла программных средств не определена в договоре, то разработчик должен определить или выбрать модель жизненного цикла программных средств, соответствующую области реализации, величине и сложности проекта. При этом должны быть выбраны и структурированы в модели жизненного цикла программных средств работы и задачи процесса разработки.
Примечание — Данные работы и задачи могут пересекаться или взаимодействовать и выполняться итерационно или рекурсивно.
5.3.1.2 Разработчик должен:
a. документально оформить выходные результаты в соответствии с процессом документирования (подраздел 6.1);
b. подвергнуть выходные результаты процессу управления конфигурацией (подраздел 6.2) и выполнять контроль изменений конфигурации в соответствии с данным процессом;
c. документально оформить и решить возникающие проблемы и устранять несоответствия, обнаруженные в программных продуктах и задачах, в соответствии с процессом решения проблем (подраздел 6.8);
d. выполнить вспомогательные процессы (раздел 6) в соответствии с условиями договора.
5.3.1.3 Разработчик должен выбрать, адаптировать и использовать те стандарты, методы. инструментарий, языки программирования (если они не установлены в договоре), которые документально оформлены и приняты в организации разработчика (при условии их соответствия требованиям договора) для выполнения работ в процессе разработки и во вспомогательных процессах (раздел 6).
5.3.1.4 Разработчик должен разработать планы проведения работ процессе разработки. Планы должны охватывать конкретные стандарты, методы, инструментарий, действия и обязанности, связанные с разработкой и квалификацией всех требований, включая безопасность и защиту. При необходимости могут разрабатываться индивидуальные планы (по конкретным требованиям или исполнителям). Все планы должны быть документально оформлены и выполнены.
5.3.1.5 Непоставляемые изделия могут применяться при разработке или сопровождении программного продукта. Однако должно быть обеспечено, чтобы эксплуатация и сопровождение поставленного программного продукта (после его поставки заказчику) не зависели от данных изделий, иначе они должны рассматриваться как комплектующие (поставляемые) изделия.
5.3.2 Анализ требований к системе
Данная работа состоит из следующих задач, которые разработчик должен выполнить или обеспечить их выполнение:
5.3.2.1 Разработчик, при необходимости, должен выполнить анализ области применения разрабатываемой системы с точки зрения определения требований к ней. Технические требования к системе должны охватывать: функции и возможности системы; коммерческие и организационные требования; требования пользователя; требования безопасности и защиты; эргономические требования; требования к интерфейсам; эксплуатационные требования; требования к сопровождению; проектные ограничения и квалификационные требования. Технические требования к системе должны быть документально оформлены.
5.3.2.2 Требования к системе должны быть оценены с учетом следующих критериев (при этом результаты оценок должны быть документально оформлены):
a. учет потребностей заказчика;
b. соответствие потребностям заказчика;
c. тестируемость;
d. выполнимость проектирования системной архитектуры;
e. возможность эксплуатации и сопровождения.
5.3.3 Проектирование системной архитектуры
Данная работа состоит из следующих задач, которые разработчик должен выполнить или обеспечить их выполнение:
5.3.3.1 Должна быть определена общая архитектуры системы (архитектура верхнего уровня). В архитектуре должны быть указаны объекты технических и программных средств и ручных операций- Должно быть обеспечено распределение всех требований к системе между объектами архитектуры. Затем должны быть определены объекты конфигурации технических и программных средств и ручных операций на основе объектов архитектуры. Должна быть документально оформлена привязка системной архитектуры и требований к системе относительно установленных объектов.
5.3.3.2 Системная архитектура и требования к объектам архитектуры должны быть оценены с учетом следующих критериев (при этом результаты оценок должны быть документально оформлены):
a. учет требований к системе;
b. соответствие требованиям к системе;
c. соответствие используемых стандартов и методов проектирования;
d. возможность программных объектов архитектуры выполнять установленные для них требования;
e. возможности эксплуатации и сопровождения.
5.3.4 Анализ требований к программным средствам
Данная работа состоит из следующих задач применительно к каждому программному объекту архитектуры (или объекту программной конфигурации, если он определен):
5.3.4.1 Разработчик должен установить и документально оформить следующие требования к программным средствам, включая технические требования к характеристикам качества (рекомендации по определению характеристик качества приведены в ГОСТ Р ИСО/МЭК 9126):
a. функциональные и технические требования, включая производительность, физические характеристики и окружающие условия, под которые должен быть создан программный объект архитектуры (далее — программный объект);
b. требования к внешним интерфейсам программного объекта архитектуры;
c. квалификационные требования;
d. требования безопасности, включая требования, относящиеся к методам эксплуатации и сопровождения, воздействию окружающей среды и травмобезопасности персонала;