Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Презентации / Lecture03p

.pdf
Скачиваний:
0
Добавлен:
23.06.2026
Размер:
860 Кб
Скачать
☆

Rational Unified Process и

eXtreme Programming

Основы программной инженерии

Кулямин В.В., ВМК МГУ

«Тяжелые» и «гибкие» процессы разработки

•«Тяжелые» процессы

•Фокус на отчуждении как можно большего объема знаний о системе от разработчиков

•Аккуратное документирование всех решений

•Представитель: унифицированный процесс (Rational Unified Process, RUP)

•Проблемы: бюрократизация, увеличение затрат на небольшие изменения

•«Гибкие»/agile процессы

•Фокус на максимальном снижении затрат на внесение изменений

•Опора на знания и опыт команды

•Представитель: экстремальное программирование (eXtreme Programming, XP)

•Проблемы: сильная зависимость от ведущих разработчиков, потеря управляемости при необходимости нетипичных решений и на долгих проектах

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

2

RUP – история

•1970-е – Ericsson (I. Jacobson)

•1987 – Ojectory AB

•1995 – Rational (W. Royce, P. Kruchten)

•2003 – IBM

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

3

RUP – основные идеи

•Итеративная разработка для своевременной отработки изменений

•Итерации с общей структурой – спиральная модель ЖЦ

•Анализ рисков различных изменений и подготовка к наиболее существенным из них

•Фиксация как можно большего числа решений и знаний, в основном, в виде графических моделей (UML)

•Фиксация требований в виде моделей вариантов использования (use cases)

•Фиксация архитектуры в виде архитектурных моделей

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

4

RUP – структура итераций

•Фаза начала (inception)

•Цель – соглашение о задачах проекта и выделяемых ресурсах (бюджет и время) Выбор руководителя, ключевых разработчиков, основных технологий и политик

•10% времени и 5% трудозатрат

•Фаза проектирования/уточнения (elaboration)

•Цель – выработка архитектуры, удовлетворяющей наиболее важным требованиям

•30% времени и 20% трудозатрат

•Фаза построения (construction)

•Цель – полная проработка требований и создание системы

•50% времени и 65% трудозатрат

•Фаза внедрения (transition)

•Цель – получение готовой к эксплуатации системы в рабочем окружении

•10% времени и 10% трудозатрат

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

5

RUP – виды моделей

•Модель требований

•Варианты использования (use cases)

Каждый вариант – набор сценариев взаимодействия системы и внешних агентов (пользователей, др. систем), имеющих общую цель в виде решения значимой для этих агентов задачи

•Часть сценариев – успешные, часть – нет

• Роли агентов – акторы

 

 

Заказ товара

 

 

 

 

 

• Модель анализа

Клиент

 

 

Оператор

• Модель проектирования

 

 

 

 

заказов

 

 

 

 

 

• Модель реализации

 

 

 

 

 

• Модель развертывания

 

 

 

 

 

• Модель тестирования

 

 

 

 

 

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

6

RUP – виды моделей

•Модель требований

•Модель анализа

•Модель предметной области и важных задач в ней (концептуальная модель)

Классы анализа – понятия предметной области, алгоритмы и интерфейсы Класс данных, управляющие и интерфейсные

•Модель проектирования

•Модель реализации

•Модель развертывания

•Модель тестирования

 

 

Обработчик

 

 

 

Интерфейс

заказа

Интерфейс

 

Клиент

 

Оператор

заказа товара

 

сообщений

 

 

заказов

 

 

 

оператору

 

 

 

 

 

 

Данные

 

 

 

 

заказа

 

 

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

7

RUP – виды моделей

•Модель требований

•Модель анализа

•Модель проектирования

•Модель классов, составляющих код Класс модели анализа обычно превращается в группу классов модели проектирования

Классы модели проектирования зависят от используемых технологий

•Модель реализации

•Модель развертывания

•Модель тестирования

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

8

RUP – виды моделей

•Модель требований

•Модель анализа

•Модель проектирования

•Модель реализации

•Модель компонентов Компонент – атомарная единица развертывания

Часто это исполнимые файлы или скрипты (+ необходимые конфигурационные)

•Модель развертывания

•Описывает размещение компонентов по узлам (устройствам и машинам) системы, физические соединения между узлами и их характеристики

•Модель тестирования

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

9

RUP – виды моделей

•Модель требований

•Модель анализа

•Модель проектирования

•Модель реализации

•Модель развертывания

•Модель тестирования

•Набор тестовых вариантов и тестовых процедур

•Тестовый вариант – сценарий взаимодействия системы и тестера, в рамках которого проверяется корректность/эффективность/надежность работы системы при решении некоторой задачи в рамках определенной ситуации

•Каждому варианту использования соответствует несколько тестовых вариантов, с условиями на входные данные и выполняемыми на некоторых шагах проверками

•Тестовая процедура – формализованное/исполнимое описание выполнения тестового варианта

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

10

Соседние файлы в папке Презентации