Слайд 2Итеративная инкрементальная модель
Итеративная инкрементная модель или модель запланированного усовершенствования продукта использует разработку
![Итеративная инкрементальная модель Итеративная инкрементная модель или модель запланированного усовершенствования продукта использует](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-1.jpg)
прототипов (выпусков) для последовательной реализации групп требований.
Принцип модели заключается в предварительном выделении требований и разработке прототипов, по функциональности всё более приближающихся к продукту.
Слайд 3Итеративная инкрементальная модель
Первый прототип-выпуск основывается на наиболее понятной группе требований, в последующие
![Итеративная инкрементальная модель Первый прототип-выпуск основывается на наиболее понятной группе требований, в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-2.jpg)
реализации добавляются всё новые группы требований, пока не будет закончено создание продукта.
Для каждого прототипа выполняются необходимые процессы, причём анализ требований и проектирование архитектуры выполняются одновременно, а остальные процессы – индивидуально для каждого прототипа.
Слайд 4Итеративная инкрементальная модель
![Итеративная инкрементальная модель](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-3.jpg)
Слайд 5Итеративная инкрементальная модель
Рассматриваемая модель в явном виде включает в своё название два
![Итеративная инкрементальная модель Рассматриваемая модель в явном виде включает в своё название](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-4.jpg)
принципа: итеративность и инкрементность разработки.
Итеративность означает разбиение ЖЦ на последовательность итераций, каждая из которых напоминает мини-проект. Цель каждой итерации – разработка прототипа, результатом последней итерации является продукт.
Инкрементность означает разработку продукта путём постепенного учёта требований к системе. Фактически это также приводит к разработке прототипов, причём последний (часто лишь по срокам) прототип считается продуктом.
Слайд 6Rational Unified Process (RUP)
RUP является довольно сложной, детально проработанной итеративной моделью жизненного
![Rational Unified Process (RUP) RUP является довольно сложной, детально проработанной итеративной моделью](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-5.jpg)
цикла.
Rational Unified Process является также продуктом, предоставляемым IBM Rational.
Некоторые из средств IBM Rational благодаря возможности их расширения оказываются применимыми в качестве инструментария для других подходов. В частности, подход MSF долгое время основывался на этом наборе до разработки собственного набора средств.
Слайд 7Rational Unified Process (RUP)
RUP создан на основе лучших практик, позволяющих создавать успешные
![Rational Unified Process (RUP) RUP создан на основе лучших практик, позволяющих создавать](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-6.jpg)
проекты.
Лучшая практика – практика разработки, проверенная на многих проектах и позволяющая вместе с другими практиками повысить эффективность и успех проекта.
RUP использует следующие практики:
1. Итеративная разработка;
2. Управление требованиями;
3. Использование компонентной архитектуры;
4. Визуальное моделирование;
5. Проверка качества;
6. Контроль изменений.
Слайд 8Практики RUP
Итеративная разработка заключается в создании требуемой системы итерациями, что обеспечивает:
снижение воздействия серьёзных
![Практики RUP Итеративная разработка заключается в создании требуемой системы итерациями, что обеспечивает:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-7.jpg)
рисков на ранних этапах проекта, пока это ещё можно сделать с минимальными затратами;
возможность организовать устойчивую обратную связь с будущими конечными пользователями с целью создания системы, реально отвечающей их потребностям;
концентрация усилий на наиболее важных направлениях проекта;
непрерывное итеративное тестирование продукта, позволяющее оценить успешность всего проекта в целом; раннее обнаружение несогласованностей между требованиями, дизайном и реализацией;
равномерное распределение ресурсов проекта;
реальная оценка текущего состояния проекта.
Слайд 9Практики RUP
Управление требованиями включает в себя выявление, организацию и документирование требований к системе и подразумевает:
организованный подход
![Практики RUP Управление требованиями включает в себя выявление, организацию и документирование требований](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-8.jpg)
к управлению требованиями;
взаимодействие участников проекта на базе выявленных и утверждённых требований;
ранжирование требований по приоритету, фильтрация их по необходимым параметрам и выявление зависимости между ними;
объективная оценка состояния проекта на основе реализованной функциональности и текущей производительности системы;
раннее обнаружение различных несоответствий и расхождений;
использование инструментальных средств для организации более эффективного процесса управления требованиями.
Слайд 10Практики RUP
Использование компонентной архитектуры даёт возможность повысить эффективность процесса разработки за счёт:
повышения гибкости
![Практики RUP Использование компонентной архитектуры даёт возможность повысить эффективность процесса разработки за](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-9.jpg)
архитектуры создаваемой системы;
чёткого определения изменений, требующихся при доработке системы;
наличия множества готовых коммерческих компонентов, которые построены на основе промышленных спецификаций, что облегчает реализацию и позволяет экономить проектные ресурсы;
упрощения задач по управлению конфигурацией продукта;
использования средств визуального моделирования, опирающихся на компонентный подход.
Слайд 11Практики RUP
Визуальное моделирование – это способ представления проблемы с помощью моделей, построенных вокруг идей
![Практики RUP Визуальное моделирование – это способ представления проблемы с помощью моделей,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-10.jpg)
из исследуемого мира. Оно позволяет:
однозначно описать функциональное поведение разрабатываемой системы;
определить архитектурно значимые компоненты системы и сосредоточится на их реализации;
обеспечить построение гибкой и надёжной архитектуры и системы в целом;
исключить из рассмотрения второстепенные детали, не влияющие на решение задачи;
выявить на ранних стадиях проекта ошибки проектирования и несогласованность в реализации отдельных компонент системы.
Слайд 12Практики RUP
Проверка качества реализуется с помощью тестирования сценариев.
Непрерывная проверка качества обеспечивает следующие
![Практики RUP Проверка качества реализуется с помощью тестирования сценариев. Непрерывная проверка качества](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-11.jpg)
выгоды:
производит оценку состояния проекта по объективным показателям;
позволяет на ранних стадиях проекта обнаружить несоответствия в требованиях, дизайне и реализации;
акцентирует внимание на тех сторонах работы системы, которые имеют наибольшую важность и повышенный риск;
дефекты выявляются на ранних этапах, снижая затраты на их устранение;
автоматизированное тестирование обеспечивает снижение влияния «человеческого фактора» и повторяемость результатов.
Слайд 13Практики RUP
Контроль изменений включает в себя управление запросами на изменение, управление конфигурацией и управление измерением
![Практики RUP Контроль изменений включает в себя управление запросами на изменение, управление](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-12.jpg)
и обеспечивает:
контроль состояния проекта в целом и отдельных задач на основании статусов запросов на изменение;
хранение историй изменений по каждому запросу на изменение;
актуальную информацию по загрузке участников проекта;
возможность оценки текущего состояния на основании тенденций по сокращению / увеличению новых запросов на изменение, вновь обнаруженным ошибкам, средним срокам выполнения запросов и т.п.;
учёт трудозатрат участников проекта по выполняемым изменениям;
упрощение коммуникаций между участниками проекта: необходимые данные об изменениях всегда доступны и актуальны.
Слайд 14Принципы разработки RUP
RUP основан на наборе из 6 ключевых принципов бизнес-управляемой разработки, сокращённо называемый ABCDEF:
1. Адаптация процесса;
2. Баланс
![Принципы разработки RUP RUP основан на наборе из 6 ключевых принципов бизнес-управляемой](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-13.jpg)
приоритетов заинтересованных лиц;
3. Сотрудничество между командами;
4. Демонстрация результата итерационно;
5. Эволюция (рост) уровня абстракции;
6. Фокусировка непрерывно на качестве.
Эти принципы были определены Пером Кроллом и Уолкером Ройсом.
Слайд 15Rational Unified Process (RUP)
RUP делит жизненный цикл ПО на 4 основные фазы,
![Rational Unified Process (RUP) RUP делит жизненный цикл ПО на 4 основные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-14.jpg)
в рамках каждой из которых возможно проведение нескольких итераций.
Слайд 16Модели итеративных процессов . RUP
Фаза начала проекта (Inception)
Основная цель— достичь компромисса между
![Модели итеративных процессов . RUP Фаза начала проекта (Inception) Основная цель— достичь](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-15.jpg)
всеми заинтересованными лицами относительно задач проекта. На этой фазе определяются основные цели проекта, руководитель проекта и бюджет проекта, основные средства его выполнения — технологии, инструменты, ключевой персонал, а также происходит, возможно, апробация выбранных технологий с целью подтверждения возможности достичь целей с их помощью, составляются предварительные планы проекта.
Слайд 17Модели итеративных процессов . RUP
Фаза проработки/уточнения (Elaboration)
Основная цель этой фазы — на
![Модели итеративных процессов . RUP Фаза проработки/уточнения (Elaboration) Основная цель этой фазы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-16.jpg)
базе основных, наиболее существенных требований разработать стабильную базовую архитектуру продукта, которая позволяет решать поставленные перед системой задачи и в дальнейшем используется как основа разработки системы.
Слайд 18Модели итеративных процессов . RUP
Фаза построения (Construction)
Основная цель этой фазы — детальное
![Модели итеративных процессов . RUP Фаза построения (Construction) Основная цель этой фазы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-17.jpg)
прояснение требований и разработка системы, удовлетворяющей им, на основе спроектированной ранее архитектуры.
Фаза передачи/внедрения (Transition)
Цель этой фазы — сделать систему полностью доступной конечным пользователям. Здесь происходит окончательное развертывание системы в ее рабочей среде, подгонка мелких деталей под нужды пользователей.
Слайд 19Модели итеративных процессов . RUP
Кроме того, RUP определяет следующие виды деятельности, которые
![Модели итеративных процессов . RUP Кроме того, RUP определяет следующие виды деятельности,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-18.jpg)
в разных комбинациях и с разной интенсивностью, выполняются на разных фазах.
Слайд 20Модели итеративных процессов . RUP
Моделирование предметной области (бизнес-моделирование, Business Modeling)
Цели —
![Модели итеративных процессов . RUP Моделирование предметной области (бизнес-моделирование, Business Modeling) Цели](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-19.jpg)
понять бизнес-контекст, в котором должна будет работать система (и убедиться, что все заинтересованные лица понимают его одинаково), понять возможные проблемы, оценить возможные их решения и их последствия для бизнеса организации, в которой будет работать система.
Результат - модель в виде набора диаграмм классов (объектов предметной области) и деятельностей (представляющий бизнес-операции и бизнес-процессы).
Слайд 21Модели итеративных процессов . RUP
Определение требований (Requirements)
Цели — понять, что должна
![Модели итеративных процессов . RUP Определение требований (Requirements) Цели — понять, что](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-20.jpg)
делать система, и убедиться во взаимопонимании по этому поводу между заинтересованными лицами, определить границы системы и основу для планирования проекта и оценок затрат ресурсов в нем.
Требования принято фиксировать в виде модели вариантов использования (use cases).
Слайд 22Модели итеративных процессов . RUP
Анализ и проектирование (Analysis and Design)
Цели —
![Модели итеративных процессов . RUP Анализ и проектирование (Analysis and Design) Цели](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-21.jpg)
выработать архитектуру системы на основе требований, убедиться, что данная архитектура может быть основой работающей системы в контексте ее будущего использования.
В результате проектирования должна появиться проектная модель, включающая диаграммы классов системы, диаграммы ее компонентов, диаграммы взаимодействий между объектами в ходе реализации вариантов использования, диаграммы состояний для отдельных объектов, и диаграммы развертывания.
Слайд 23Модели итеративных процессов . RUP
Реализация (Implementation)
Цели — определить структуру исходного кода системы,
![Модели итеративных процессов . RUP Реализация (Implementation) Цели — определить структуру исходного](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-22.jpg)
разработать код ее компонентов и протестировать их, интегрировать систему в работающее целое
Тестирование (Test)
Цели — найти и описать дефекты системы (проявления ее недостаточного качества), оценить ее качество в целом, оценить выполнение гипотез, лежащих в основе проектирования, оценить степень соответствия истемв требованиям
Слайд 24Модели итеративных процессов . RUP
Развертывание (Deployment)
Цели — развернуть систему в ее рабочем
![Модели итеративных процессов . RUP Развертывание (Deployment) Цели — развернуть систему в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-23.jpg)
окружении и оценить ее работоспособность
Управление конфигурациями и изменениями (Configuration and Change Management)
Цели — определение элементов, подлежащих хранению и правил построения из них согласованных конфигураций, поддержание целостности текущего состояния системы, проверка согласованности вносимых изменений
Слайд 25Модели итеративных процессов . RUP
Управление проектом (Project Management)
Цели — планирование, управление персоналом,
![Модели итеративных процессов . RUP Управление проектом (Project Management) Цели — планирование,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-24.jpg)
обеспечения связей с другими заинтересованными лицами, управление рисками, отслеживание текущего состояния проекта
Управление средой проекта (Environment)
Цели — подстройка процесса под конкретный проект, выбор и смена технологий и инструментов, используемых в проекте
Первые пять деятельностей считаются рабочими, остальные — поддерживающими.
Слайд 26Модели итеративных процессов . RUP
![Модели итеративных процессов . RUP](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-25.jpg)
Слайд 27 Трудоёмкость и затраты времени на фазы
![Трудоёмкость и затраты времени на фазы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-26.jpg)
Слайд 28Нагрузка основных дисциплин RUP
Нагрузка основных дисциплин РУП распределяется по фазам следующим образом:
в фазе Начала – Бизнес-моделирование
![Нагрузка основных дисциплин RUP Нагрузка основных дисциплин РУП распределяется по фазам следующим](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1058342/slide-27.jpg)
и Определение требований,
в фазе Уточнения – Анализ и проектирование и Реализация,
в фазе Построения – Реализация и Тестирование,
в фазе Внедрения – Развёртывание.