Обзор основных моделей жизненного цикла, страница 2

В методологии Rational Unify Process (RUP) используется итеративная кон­тролируемая модель с приращениями. Каждая итерация этой модели имеет 4 ста­дии:

Изучение - обсуждение и определение набора функций для итерации;

Развитие - детальное проектирование;

Конструирование - создание полнофункционального продукта, определенно­го для этой итерации;

Передача - выпуск продукта, определенного для этой итерации.

Каждая следующая стадия итерации начинается до завершения предыдущей.

В таблице 1.6 перечислены основные риски, связанные с применением моде­лей, и условия, при которых их лучше использовать.

1.3.2. Эволюционные модели

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

К наиболее известным эволюционным моделям в настоящее время относятся спиральная модель и модель эволюционного прототипирования.

Спиральная модель (Spiral)- разработана Б. Боэмом. Отражает управляе­мый риском процесс эволюции проекта от анализа до готового продукта (рисунок 1.5). На каждом витке спирали (стадии) выполняются следующие действия:

1.  Определяются цели стадии. Рассматриваются альтернативные решения для достижения этих целей.

2.  Проводится оценивание этих решений. Идентифицируются риски завер­шения стадии и выполняется их анализ. Принимаются решения о продолжении или завершении стадии.

3.  Разрабатываются рабочие продукты стадии и план для следующей ста­дии.

4.    Последний виток спирали может иметь структуру каскадной модели.
Виды рассматриваемых рисков - риски, касающиеся технических аспектов

разработки, финансовые риски (соотношение эффективость/затраты и ресурсы), а также риски эксплуатации.

Спиральная модель применяется для сложных проектов или в тех случаях, когда проблемы проекта недостаточно понятны.

Характеристики и преимущества спиральной модели перечислены в таблице 1.7, а в таблице 1.8 - основные риски, связанные с применением модели, и условия, при которых ее лучше применять.



Дальнейшим развитием этой модели является Win-Win Spiral Model, которая основана на привлечении к разработке разных категорий участников (Stakeholder) и определении условий успеха (выигрыша) системы или подсистемы, которые обсу­ждаются на каждой итерации. Возможные альтернативные решения должны оце­ниваться по отношению к целям и ограничениям проекта.

Модель эволюционного прототипирования. Эта модель основана на при­менении эволюционного прототипирования в рамках всего ЖЦ разработки (а не только для моделирования требований). В литературе она часто называется моде­лью быстрой разработки приложений (RAD от Rapid Application Development). Моделирование включает следующие шаги:

1.    Анализ применимости модели.

Изучение возможности применения модели для проекта.

2.   Обследование заказчика.

Изучение потребностей пользователя и разработка плана создания прототипа.

3.   Итерация разработки функционального прототипа.

Создание и согласование прототипа интерфейса пользователя, определение нефункциональ­ных требований и стратегии реализации системы.

4.   Итерация проектирования и построения.

Построение протестированной системы, удовлетворяющей всем функциональным и нефунк­циональным требованиям.

На шагах 3 и 4 разработчики выполняют определение прототипов, согласование сроков раз­работки, построение и проверку прототипов Эти шаги выполняются итеративно и включают три итерации: начальное ознакомление, уточнение и согласование.

5.   Реализация.

Установка системы в среде заказчика, разработка документации и обучение.

Эта модель применяется для разработки не критических бизнесе-приложении, для которых наиболее важными являются функциональные возмож­ности, а не надежность или производительность, и предполагает тесное взаимодей­ствие с пользователем. Разработка приложений обычно выполняется в среде мощ­ных CASE-средств.

Структура модели представлена на рисунке 1.6, а таблице 1.9 перечислены основные характеристики и преимущества модели. В таблице 1.10 перечислены основные риски, связанные с применением модели, и условия, при которых ее лучше применять.


1.3.3. Другие итерационные модели разработки

Помимо рассмотренных основных моделей, существуют другие модели раз­работки, многие из которых являются комбинацией основных. Наиболее известная "альтернативная" модель - модель SCRUM ("свалка вокруг мяча" или "модель кон­тролируемого хаоса").

Информацию об этой модели можно получить на сайте http: //www.controlchaos.com/ap.htm.


Приложение 2. ПРИМЕРЫ КОНТРОЛЬНЫХ ВОПРОСНИКОВ ДЛЯ ПРОВЕДЕНИЯ ИНСПЕКЦИИ

Вопросы для инспекции описания требований

1.    Ясность

1.1.  Действительно ли требования написаны на «не техническом» понятном языке?

1.2.  Нет ли требований, которые могли бы иметь более одной интерпретации?

1.3.  Действительно ли каждая характеристика конечного продукта описана с примене­нием унифицированной терминологии?

1.4.  Существует ли глоссарий, в котором разъясняется смысл каждого термина?

1.5.  Могут ли быть требования осмыслены и реализованы независимой группой разработчиков?

2.   Полнота

2.1.  Присутствует ли оглавление (содержание)?

2.2.  Помечены ли все рисунки, таблицы и диаграммы?

2.3.  Имеют ли все рисунки, таблицы и диаграммы правильные перекрестные ссылки?

2.4.  Все ли термины определены?

2.5.  Все ли термины упомянуты в индексе?

2.6.  Все ли единицы измерения определены?

2.7.  Специфицированы ли области, где нет полной информации из-за того, что разра­ботка не начата?

2.8.  Есть ли в определении требований указания на упущенную информацию?