УМП Технологические подходы к разработке ПО 45
Замечание по конструированию
Это обеспечивает итеративность разработки, необходимую для гарантии конечного успеха
и, одновременно, предсказуемую завершаемость проекта, требуемую фиксированными вре-
менными рамками, указанными в требованиях к процессу.
Витки выполняются не последовательно, а частично накладываются друг на друга.
Замечание по конструированию
Это обеспечивает сокращение общих сроков выполнения проекта (при некотором увеличе-
нии трудозатрат, что допускается требованиями к процессу).
Конкретный способ наложения витков в модели называется «спиральной структурой».
Допускаются различные спиральные структуры, которые могут отличаться количеством
витков, наложением фаз в витках и сдвигом витков по времени.
3.4.3.1. Типы проектов
Конкретный вид спиральной структуры допускает различные вариации в зависимости от
типа проекта. Рассматриваются два типа проектов, которые условно называются "легкий"
и "тяжелый", а также два подтипа, которые называются, соответственно, "сверх легкий" и
"сверх тяжелый".
Замечание по конструированию
Используя объектно-ориентированную терминологию, можно сказать, что предлагаемая мо-
дель процесса в целом описывает класс процессов разработки. Описание этого класса на ме-
та уровне представляется затруднительным для формулирования и понимания. Поэтому
описание устроено следующим образом. Приводятся примеры объектов – экземпляров этого
класса (конкретные схемы проектов, которые называются типами и подтипами проектов).
Описание каждого типа и подтипа проекта дано в графической форме и сопровождается не-
формальными текстовыми пояснениями, что именно является типизируемым.
Легкий проект характеризуется тем, что технический риск допущения грубых ошибок на
фазах анализа и проектирования невелик. Несоответствие первой версии требованиям и
ожиданиям пользователей может быть порождено такими причинами: неполнота или не-
точность функциональных спецификаций, недовольство пользователей дизайном интер-
фейса, наличие мелких ошибок, пропущенных на фазе стабилизации. В легком проекте
повторное выполнение фаз носит консервативный характер, то есть заключается в исправ-
лениях и доделках.
Сверх легкий проект характеризуется тем, что технический риск допущения грубых
ошибок на фазах анализа и проектирования отсутствует, т.е. в начале второго этапа рабо-
ты над проектом точно известно, что и как нужно сделать. Поэтому схема сверх легкого
проекта имеет один неполный виток. Сверх легкий проект является частным предельным
случаем легкого проекта.
Тяжелый проект характеризуется тем, что технический риск работы по неверным функ-
циональным спецификациям велик. Несоответствие первой версии ожиданиям пользова-
теля в тяжелом проекте может быть порождено такими причинами: невозможность удов-
летворить количественным ограничениями на выбранной платформе или
инструменталь-
ном средстве, несоответствие специфицированной функциональности реальным целям
бизнеса, отторжение реальными пользователями выбранной парадигмы интерфейса и дру-
гие ошибки проектирования, которые не могут быть исправлены консервативными улуч-
шениями и требуют повторного проектирования. Поэтому в тяжелом проекте фазы проек-
та расположены таким образом, чтобы на фазах второго витка можно было использовать
результаты фаз первого витка.
Сверх тяжелый проект характеризуется тем, что технический риск работы по неверным
функциональным спецификациям близок к единице или не может быть оценен, т.е. в на-
чале работы над проектом не известно, что получится в конце. В схеме сверх тяжелого
проекта планируется неудача, проявляющаяся в том, что с первой попытки, возможно, не