В методологии 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. Есть ли в определении требований указания на упущенную информацию?
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.