Новосибирский Государственный Университет
Опубликован: 20.08.2004 | Доступ: свободный | Студентов: 4839 / 473 | Оценка: 4.01 / 3.23 | Длительность: 18:07:00
ISBN: 978-5-9556-0013-0
Лекция 8:

Производственные функции в моделировании жизненного цикла: модель фазы—функции

< Лекция 7 || Лекция 8: 123 || Лекция 9 >

Учет итерационного развития

Модель фазы–функции не описывает возможности итеративного возврата на предыдущие этапы. Строгую каскадность в ней еще можно усмотреть в изображении перекрытия этапов. Но для отражения произвольных возвратов модель в том виде, в котором она предлагается Гантером, непригодна. Тем не менее можно предложить один прием, с помощью которого этот недостаток легко ликвидировать.

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

Учет итеративности в модели фазы–функции (фазовое измерение, показаны лишь некоторые возвраты)

Рис. 8.3. Учет итеративности в модели фазы–функции (фазовое измерение, показаны лишь некоторые возвраты)

Расщепление линии жизненного цикла может означать два варианта хода развития проекта.

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

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

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

< Лекция 7 || Лекция 8: 123 || Лекция 9 >
Дарья Федотова
Дарья Федотова
Сергей Березовский
Сергей Березовский

В рамках проф. переподготовки по программе "Программирование"

Есть курсы, которые я уже прошел. Но войдя в курс я вижу, что они не зачтены (Язык Ассемблера и архитектура ЭВМ, Программирование на С++ для профессионалов). Это как?

Сергей Прошута
Сергей Прошута
Россия
Sergey Ostr
Sergey Ostr
Россия, Энгельс