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

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

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

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

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