Обзор действий. Что такое процесс разработки программного обеспечения. Подход "не мудрствуя лукаво", страница 4

В процессе RUP определены следующие четыре стадии.

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

·  Стадияразвития(elaboration phase). Это, возможно, наиболее важная стадия. Здесь производится подробный анализ требований и разрабатывается архитектура, которая будет осуществлена в проекте. В конце этой стадии ожидается появление стабильных требований и устойчивой общей архитектуры. Основное внимание уделяется создан по модели прецедентов, модели анализа, модели проектирования, прототипа архитектуры и плана разработки.

·  Стадия конструирования (construction phase). Основные усилия на этой стадии прилагаются в проектировании и реализации. В результате исходный прототип должен развиться в реальный продукт. На выходе стадии конструирования ожидается появление собственно продукта.

·  Стадияперехода(transition phase). На этой стадии продукт подготавливается для пользователей. Сюда могут входить устранение дефектов, обнаруженных в ходе бета-тестирования, добавление недостающих возможностей, обучение конечных пользователей и т.д. В конце стадии перехода заказчику поставляется окончательный продукт.

Процесс RUP можно адаптировать к специфическим нуждам организации или проекта. На рис. 5.3 представлены различные элементы RUPи графически показаны связи между стадиями и дисциплинами.

Процесс ICONIX

Процесс ICONIXпо своему характеру подобен подходу RUP. В этом процессе основное влияние уделяется "анализу живучести", который формально записывается в виде диаграммы живучесть. Анализ живучести означает анализ прецедентов и исследование объектов, которые участвуют в каждом прецеденте. Эти объекты делятся на объекты управления, граничные и объекты-сущности. Собственно говоря, различие между ними — это вопрос семантики. Смысл анализа живучести в ICONIX практически тот же, что и у анализа прецедентов в RUP. Кроме того, процесс RUPкасается всех аспектов цикла разработки ПО, а процесс ICONIX занимается в основном анализом и проектированием.

Процесс OPEN

Процесс OPEN (Object-oriented Process, Environment, and Notation— объектно-ориентированные процесс, окружение и нотация) был разработан консорциумом OPEN. Как и процесс RUP, он является объединением предыдущих работ в этой области. Процесс OPEN предназначен прежде всего для использования в объектно-ориентированном или компонентном программировании.

OPEN определяется как основа, или контур, для процессов под названием OPEN Process Framework (OPF). Этот контур представляет собой собрание компонентов, разделенных на пять групп: рабочие модули (Work Units), рабочие продукты (Work Products), производители (Producers), этапы (Stages) и языки (Languages).

К производителям обычно относятся люди. Производители работают на рабочих модулях и производят рабочие продукты. При создании рабочих продуктов применяются языки — от UML до языка структурных запросов (SQL). Все это происходит в контексте этапов — стадий, контрольных точек и т.д., которые обеспечивают организацию рабочих модулей.

Экстремальное программирование и разработка по функциям

Экстремальное программирование (Extreme Programming—XP), впервые предложенное Кентом Беком (Kent Beck), в последнее время привлекло к себе большое внимание. ХР часто определяют как "облегченный процесс разработки ПО". Его можно даже рассматривать как противоположность процессу в традиционном смысле слова.