- •Модели и методологии разработки программного обеспечения
- •3.1. Модели жизненного цикла программного обеспечения
- •3.1.1. Каскадная модель
- •3.1.3. Итеративный инкрементный подход к разработке (эволюционная модель)
- •3.1.3.1 Итеративная модель
- •3.1.3.2 Инкрементная модель
- •3.1.4. Спиральная модель, как разновидность эволюционной модели
- •Заключение
- •3.2. Методологии разработки по
- •3.2.1.1 Архитектура
- •3.2.1.2 Жизненный цикл проекта
- •Начало (Inception)
- •Проектирование (Elaboration)
- •Построение (Construction)
- •Внедрение (Transition)
- •Заключение
3.2.1.1 Архитектура
Можно сказать, что RUP – ориентированная на архитектуру методология. Считается, что реализация и тестирование архитектуры системы должны начинаться на самых ранних стадиях проекта. RUP использует понятие исполняемой архитектуры (executable architecture) – основы приложения, позволяющей реализовать архитектурно значимые прецеденты использования. Основы исполняемой архитектуры должны быть реализованы как можно раньше. Это позволяет оценить адекватность принятых архитектурных решений и внести необходимые коррективы еще в начале проекта. Таким образом, для первых нескольких итераций необходимо выбирать прецеденты, которые требуют реализации большей части архитектурных компонентов.
RUP поощряет использование визуальных средств для анализа и проектирования. Как правило, используется нотация и, соответственно, средства моделирования UML (такие как Rational Rose). Модель предметной области документируется в виде диаграммы классов, модель прецедентов использования – при помощи диаграммы прецедентов, взаимодействие компонентов системы между собой описывается диаграммой последовательности и т д.
3.2.1.2 Жизненный цикл проекта
Жизненный цикл проекта RUP состоит из четырех фаз. Последовательность этих фаз фиксирована, но число итераций, необходимых для завершения каждой фазы, определяется индивидуально для каждого конкретного проекта. Фазы RUP нельзя отождествлять с фазами водопадной модели – их назначение и содержание принципиально различны.
Начало (Inception)
Стадия «начало» обычно состоит из одной итерации. В ходе выполнения этой стадии необходимо:
определить видение и границы проекта;
создать экономическое обоснование;
идентифицировать большую часть прецедентов использования и подробно описать несколько ключевых прецедентов; найти хотя бы одно возможное архитектурное решение; оценить бюджет, график и риски проекта.
Если после завершения первой итерации заинтересованные лица приходят к выводу о целесообразности выполнения проекта, проект переходит в следующую стадию. В противном случае проект может быть отменен или проведена еще одна итерация стадия «начало».
Проектирование (Elaboration)
В результате выполнения этой стадии на основе требований и рисков проекта создается основа архитектуры системы. Проектирование может занимать до двух-трех итераций или быть полностью пропущенным (если в проекте используется архитектура существующей системы без изменений). Целями этой фазы являются:
детальное описание большей части прецедентов использования;
создание оттестированной (при помощи архитектурно значимых прецедентов использования) базовой архитектуры;
снижение основных рисков и уточнение бюджета и графика проекта.
В отличие от каскадной модели, основным результатом этой стадии является не множество документов со спецификациями, а действующая система с 20-30% реализованных прецедентов использования [25].
Построение (Construction)
В этой стадии (длящейся от двух до четырех итераций) происходит разработка окончательного продукта. Вовремя ее выполнения создается основная часть исходного кода системы и выпускаются промежуточные демонстрационные прототипы.
