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