2.
Стадия изготовления, реализуемая более предсказуемыми, но большими по размеру группами, которые выполняют работы по созданию ПО, тестированию и вводу в действие.
В таблице 5.1 показано, чему уделяется внимание на этих двух стадиях.
Переход от разработки к изготовлению является критичным событием для различных исполнителей. Планы изготовления согласованы, и существует достаточно полное понимание проблемы и путей ее решения, которыми все исполнители могут твердо руководствоваться при производстве. В зависимости от специфики проекта, в частности от ключевых определителей (см. ниже), время и ресурсы, выделяемые на эти две стадии, могут сильно варьироваться.
Таблица 5.1.
Две стадии жизненного цикла: разработка и изготовление
Аспект жизненного цикла | Чему уделяется внимание на стадии разработки | Чему уделяется внимание на стадии изготовления |
Уменьшение риска | Сроки, техническая осуществимость | Стоимость |
Продукты | Базовая архитектура | Основные версии продукта |
Виды работ | Анализ, проектирование, планирование | Реализация,тестирование |
Оценка | Демонстрация, проверка, анализ | Тестирование |
Экономика | Борьба с платой за большой масштаб | Экономия при больших масштабах |
Управление | Планирование | Операции |
Разбиение жизненного цикла всего на две стадии выглядит излишне грубым и примитивным для большинства приложений. Соответственно стадия разработки делится на две отдельные стадии — начальную стадию и стадию уточнения (детального проектирования), а стадия изготовления — на стадии конструирования (реализации) и ввода в действие. Эти четыре стадии жизненного цикла проекта могут быть поставлены в соответствие концептуальной схеме спиральной модели [Boehm, 1988], как показано на рис. 5.1. Их названия обозначают состояние проекта. Размер спирали соответствует инерции проекта с учетом масштаба и детальности рабочих продуктов, которые созданы к этому моменту. Инерция проявляется в обеспечении непротиворечивости рабочих продуктов, регрессионном тестировании, документировании, анализе качества и контроле конфигурации. Возросшая инерция может иметь очень небольшое или, по крайней мере, очень простое влияние на изменение каждого отдельного компонента или вида деятельности. Однако время реакции, необходимое для приспособления к существенным изменениям в архитектуре, существенным изменениям в требованиях, существенным сдвигам в планах либо существенным организационным пертурбациям, возрастает для последующих стадий.
Для большинства традиционных жизненных циклов стадии получают название по главному виду деятельности, осуществляемому в рамках каждой стадии: анализ требований, разработка, кодирование, тестирование модулей, интеграционное тестирование, тестирование системы. При разработке ПО традиционным способом особое внимание уделяется в основном последовательности процесса, когда требуется сначала завершить один вид деятельности, прежде чем начать следующий.
В случае итерационного процесса каждая стадия включает в себя все виды деятельности в разных пропорциях. Уровень различных видов деятельности на этих стадиях обсуждается в главе 8. Главные цели, основные виды деятельности и общие критерии оценок для каждой стадии рассматриваются ниже.
Рис. 5.1. Стадии жизненного цикла процесса