7. Идентифицируются и документируются методы проверки и оценки выполнения каждого требования к ПО. Примеры методов проверки и оценки выполнения: демонстрация, системное тестирование, приемочное тестирование, анализ, инспектирование.
8. Прежде чем документ требований к ПО будет считаться полностью готовым, он подвергается экспертной оценке.
9. Документ требований к ПО рассматривается и утверждается.
Примеры сотрудников, рассматривающих и утверждающих документ требований к ПО:
менеджер проекта,
менеджер по системному проектированию,
производственный менеджер проекта,
менеджер по тестированию ПО.
10. Документ требований к ПО рассматривается заказчиком и, при необходимости, конечными пользователями.
В этих практиках термином «конечные пользователи» называются конечные пользователи, определенные заказчиком, либо их представители.
11. Документ требований к ПО помещается в систему управления конфигурацией.
Операция 3. Разработка, поддержка, документирование и проверка архитектуры ПО выполняются в соответствии с производственным процессом проекта и требованиями к ПО в целях формирования основы для создания кода.
Архитектура ПО состоит из системной архитектуры и архитектуры программы.
1. Создание и проверка критериев разработки архитектуры ПО.
Примеры критериев разработки архитектуры ПО:
возможность проверки,
соблюдение стандартов для архитектуры ПО,
удобство реализации,
простота,
удобство планирования реализации.
2. Проектировщики архитектуры проверяют требования к ПО, чтобы убедиться в том, что проблемы, влияющие на архитектуру ПО, были выявлены и решены.
3. По возможности используются стандарты разработки приложений.
Примеры стандартов разработки приложений:
стандарты интерфейсов операционной системы,
стандарты пользовательских интерфейсов,
стандарты сетевых интерфейсов.
4. Для проектирования архитектуры ПО используются эффективные методы.
Примеры методов проектирования архитектуры ПО:
создание прототипов,
структурные модели,
повторное использование элементов архитектуры,
объектно-ориентированное проектирование,
системный анализ.
5. Системная архитектура разрабатывается на ранних стадиях проекта с учетом ограничений, связанных с жизненным циклом ПО и используемой технологией.
Системная архитектура описывает программную структуру верхнего уровня с четко определенными внутренними и внешними интерфейсами.
6. Описание системной архитектуры проходит проверку, в ходе которой подтверждается выявление и решение всех проблем, влияющих на архитектуру программы.
7. На основании системной архитектуры разрабатывается подробная архитектура программного комплекса.
8. Документируется описание архитектуры ПО (т. е. документируется собственно системная архитектура и детальная архитектура программы).
Документация по архитектуре ПО должна описывать компоненты ПО, внутренние интерфейсы между ними, а также программные интерфейсы с другими программными системами, аппаратным обеспечением и другими системными компонентами (например, людьми).
9. Прежде чем документ, описывающий архитектуру ПО, будет считаться полностью готовым, он подвергается экспертной оценке.
10. Документ, описывающий архитектуру ПО, помещается в систему управления конфигурацией.
11. При любом изменении требований к ПО соответствующие изменения вносятся и в описание архитектуры ПО.
Операция 4. Разработка, поддержка, документирование и проверка программного кода, выполняемые в соответствии с производственным процессом проекта в целях реализации требований к ПО и архитектуры ПО.
1. Программисты проверяют требования к ПО и план архитектуры ПО, чтобы убедиться в том, что проблемы, влияющие на создание кода, были выявлены и решены.
2. Для создания кода используются эффективные методы программирования. Примеры методов программирования: структурированное программирование, повторное использование кода.
3. Последовательность разработки программных модулей основывается на плане, учитывающем факторы критичности, сложности, интеграции и тестирования, а также потребности заказчика и, по возможности, конечных пользователей.
4. Каждый программный модуль, прежде чем будет считаться готовым, проходит экспертную оценку и модульное тестирование.