СТАДИИ РАЗРАБОТКИ И ИЗГОТОВЛЕНИЯ

СТАДИИ РАЗРАБОТКИ И ИЗГОТОВЛЕНИЯ

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