Анализ требований к программному обеспечению предполагает определение следующих характеристик для каждого компонента ПО:
· функциональных возможностей, включая характеристики производительности и среды функционирования компонента;
· внешних интерфейсов;
· спецификаций надежности и безопасности;
· эргономических требований;
· требований к используемым данным;
· требований к установке и приемке;
· требований к пользовательской документации;
· требований к эксплуатации и сопровождению.
Требования к ПО оцениваются исходя из критериев соответствия требованиям к системе, реализуемости и возможности проверки при тестировании.
Проектирование архитектуры ПО включает задачи (для каждого компонента ПО):
· трансформацию требований к ПО в архитектуру, определяющую на высоком уровне структуру ПО и состав ее компонентов;
· разработку и документирование программных интерфейсов ПО и баз данных;
· разработку предварительной версии пользовательской документации;
· разработку и документирование предварительных требований к тестам и планам интеграции ПО.
Архитектура компонентов ПО должна соответствовать требованиям, предъявляемым к ним, а также принятым проектным стандартам и методам.
Детальное проектирование ПО включает следующие задачи:
· описание компонентов и интерфейсов между ними на более низком уровне, достаточном для их последующего самостоятельного тестирования;
· разработку и документирование детального проекта базы данных;
· обновление (при необходимости) пользовательской документации;
· разработку и документирование требований к тестам и плана тестирования компонентов ПО;
· обновление плана интеграции ПО.
Кодирование и тестирование ПО охватывает задачи:
· разработку и документирование каждого компонента ПО и базы данных а также совокупности тестовых процедур и данных для их тестирования;
· тестирование каждого компонента ПО и базы данных на соответствие предъявляемых к ним требованиям. Результаты тестирования компонентов должны быть документированы;
· обновление (при необходимости) пользовательской документации;
· обновление плана интеграции ПО.