Главная » UML » Контроль: фазы и вехи

0

С точки зрения управления проектом нужен доступ к процессу, позволяющий гарантировать то, что переход от итерации к итерации будет не бесцельным блужданием, а действительно целенаправленным движением к финалу. С этой точки зрения требуется также определить моменты времени, которые, на основании четких критериев, будут использоваться как стробирующие функции. Эти вехи являются точками, в которых принимается решение относительно продолжения или изменения курса или же отказа от проекта. И последнее, требуется разделить и упорядочить последовательности итераций согласно определенным краткосрочным целям. В этом случае прогресс проекта можно измерять количеством завершенных прецедентов, функций, пройденных контрольных задач, удовлетворенных эксплуатационных требований и обойденных рисков.

Как показано Eia рис. 4.3, итеративный процесс разбит на фазы. Но в отличие от этапов водопадного процесса, данные фазы — это не традиционная последовательность анализа требований, проектирования, кодирования, интеграции и тестирования. Данные фазы ортогональны традиционным фазам, и каждая из них завершается крупной вехой .

Рассмотрим четыре фазы итерационного процесса подробнее.

•     Исследование

Было бы неплохо задать видение конечного продукта и его бизнес-план, а также определить область действия проекта. Фаза исследования завершается вехой цели жизненного цикла (lifecycle objective — LCO).

•    Уточнение плана

Планирование необходимых действий и определение требуемых ресурсов; задание свойств и проектирование архитектуры. Фаза уточнения плана завершается вехой архитектуры жизненного цикла (lifecycle architecture — LCA).

2 Названия и определения вех идентичны предложенным Барри Боемом в статье Anchoring the Software Process, IEEE Software, July 1996, pp. 73-82.

 

•     Построение

Построение продукта и развитие видения, архитектуры и планов, пока продукт — полное видение — не будет готов к предоставлению пользовательскому сообществу. Фаза построения завершается вехой первоначальной работоспособности (initial operational capability — IOC).

•     Развертывание

Предоставление продукта пользователям. В это входит производство, доставка, подготовка, поддержка и эксплуатация продукта, пока пользователи не будут удовлетворены. Этот этап (да и весь цикл) завершается вехой выпуска продукта.

Описанные четыре фазы составляют цикл разработки и создают поколение программного обеспечения. Программный продукт создается в начальном цикле разработки. Если жизнь продукта не завершится в этот момент, он перейдет в следующее поколение, для чего будут последовательно повторены (но уже с другими акцентами) фазы исследования, уточнения плана, построения и развертывания. Эти периоды работы получили название эволюционных циклов (рис. 4.4).

При прохождении продукта по нескольким эволюционным циклам рождаются новые поколения продукта. Циклы эволюции могут быть вызваны улучшениями, подсказанными пользователями, изменениями пользовательской среды и основополагающей технологии, а также могут быть реакцией на конкуренцию. На практике циклы могут незначительно перекрываться: фазы исследования и уточнения плана могут начинаться во время завершения фазы развертывания предыдущего цикла. Подробнее к этому вопросу мы вернемся в главе 7.

Не стоит думать, глядя на рисунки, что фазы имеют одинаковую продолжительность; на самом деле длительность фаз существенно меняется, в зависимости от конкретных требований проекта. Что действительно является важным — так это цель каждой фазы и завершающая ее веха. А приблизительное соотношение времени выполнения каждой фазы для типичного проекта показано на рис. 4.5.

Например, для двухлетнего проекта имеем следующее.

•       2,5-месячная фаза исследования

•       7-месячная фаза уточнения плана

•       12-месячная фаза построения

•       2,5-месячная фаза развертывания

Как это соотносится с итерациями? В каждой фазе развитие идет итеративно, и каждая фаза состоит из одной или нескольких итераций . Общий жизненный цикл приведен на рис. 4.6 .

Смещение акцентов в течение цикла

Помните, что каждая итерация проходит по сценарию, подобному водопадному, а следовательно, ее технологический процесс содержит следующие виды деятельности: определение и анализ требований, проектирование и реализация, а также интеграция и тестирование. Правда, при переходе от итерации к итерации в различных видах деятельности происходит некоторое смещение акцентов.

На рис. 4.7 показано смещение акцентов на различные виды деятельности. Если обратить внимание на поперечное сечение видов деятельности в середине каждой фазы, то можно отметить несколько важных моментов.

•       В фазе исследования внимание уделяется пониманию общих требований и
определению области действия работ по разработке.

•       В фазе уточнения плана акцент делается на управлении требованиями, а проек
тирование и реализация программного обеспечения нацелены на создание
прототипа архитектуры, уменьшения последствий от реализации определен
ных технических рисков (путем испытания некоторых решений) и изучение
принципов    использования    определенных    инструментальных    средств    и
технологий. В итоге создается реализуемый архитектурный прототип, кото
рый будет служить базовой линией0 следующей фазы.

В редких случаях фаза может вообще не содержать действительных итераций.

4   Число итераций в фазах выбрано только с целью иллюстрации. Сколько итераций
требуется в действительности — показано в главе 7.

Базовая линия — это отрецензированный и утвержденный выпуск артефактов, со
ставляющих согласованный базис для дальнейшей эволюции. Изменить базовую линию

Рис. 4.7. Важность видов деятельности в отдельном цикле разработки

•       В фазе построения внимание обращается на проектирование и реализацию.
В данной   фазе   первоначальный   прототип   эволюционирует   и   обрастает
плотью, порождая первый действующий продукт.

•       В фазе развертывания акцент делается на обеспечении в системе должного
уровня качества, удовлетворяющего поставленным требованиям; исправляются
ошибки, обучаются пользователи, согласовываются функции и добавляются
пропущенные элементы. Производится и сдается окончательный продукт.

По теме:

  • Комментарии