870 likes | 1.28k Views
Управление конфигурациями и изменениями на основе IBM Rational ClearCase и ClearQuest. Новичков Александр www.cmcons.com alex-golder@cmcons.com. Проблемы разработки сложных информационных систем. Проблемы разработки сложных информационных систем.
E N D
Управление конфигурациями и изменениями на основе IBM Rational ClearCase и ClearQuest Новичков Александр www.cmcons.com alex-golder@cmcons.com
Проблемы разработки сложных информационных систем
Проблемы разработки сложных информационных систем • Проекты создания программного обеспечения почти никогда не укладываются в запланированные сроки и бюджет • Созданные в результате этого программы почти никогда не оправдывают возлагавшихся на них надежд «… только 26% проектов создания ИС заканчиваются успешно» (Standish Group CHAOS Report, 1998)
Результаты исследованияStandish Group по выполнению программных проектов Проект завершен с опозданием, с превышением бюджета, реализована не вся запланированная функциональность Проект завершен вовремя, в пределах бюджета, реализована вся запланированная функциональность (в 1998 г. - 26%) Досрочно прекращенные (неудачные) проекты Статистика: Среднее превышение сроков выполнения проекта - 222% Средний перерасход бюджета - 189%
Проблемы разработки сложных информационных систем • Корни проблемы: • Задачи почти всегда опережают наши возможности • Разработчики пренебрегают присущими другим индустриям системными принципами: • массовое производство; • повторяемость процессов и компонентов; • надежность; • следование методологическим и технологическим принципам. • Узкая специализация затрудняет взаимопонимание между участниками проекта • Отсутствуют механизмы определения начальных требований
Как попасть в 26% успешных проектов?
Пути выхода из кризиса • Использовать хорошо зарекомендовавшую себя на практике методологию • Методология – возможность быстрого приобретения квалификации • Методология и технология должны быть рассчитаны на разработку качественных программных системсилами разработчиковсредней квалификации
Состав IBM Rational Unified Process • Методология коллективной разработки • Описание процесса разработки,технологии и правил созданияартефактов • Рекомендации по применениюсредств инструментальнойподдержки • Настраиваемые шаблоны, позволяющие использовать информацию проекта для создания отчетных документов • Инструментарий для настройки процесса под нужды организации и конкретного проекта • Методики и инструментарий измерения характеристик проектов
Преимущества IBM Rational Unified Process • Дает практические рекомендации по планированию, укомплектованию персоналом, выполнению и мониторингу • Предлагает структуру управления рисками • Планирование итерационного проекта, всего жизненного цикла и конкретной итерации • Методика мониторинга продвижения итерационного проекта
Кто использует методологию? • Заказчики – для организации портфелей проектов разработки и сопровождения ПС, для организации систем приемочного тестирования и сопровождения • Разработчики - для организации коллективной разработки ПС разного масштаба, в том числе распределенной разработки • Сопровождающие организации – для организации и автоматизации процессов сопровождения • Службы тестирования – для сборочного, приемочного, аттестационного функционального и нагрузочного тестирования
Методология IBM Rational Unified ProcessПроцессы и фазы жизненного цикла
Гармонизация с ГОСТ Р Адаптация к условиям России СТАДИИ ПРОЦЕССЫ Передача вэксплуатацию Обследование Технический проект Рабочий проект Моделирование деятельности организации Управление требованиями Анализ и проектирование Реализация Тестирование Ввод в действие Конфигурационное управлениеи управление изменениями Управление проектом Поддержка среды разработки № 0 № 1 № 2 № n № n+1 № n+2 № m № m+1 Итерации
Rational Unified Process Итерационно #1, #2, … #N Время Начальная работоспособность Выпуск Цели жизненного цикла Архитектура жизненного цикла • Структура жизненного цикла • Жизненный цикл программной системыразбивается на циклы, каждый из которых работает над новым поколением изделия • Каждый цикл разработки состоит из четырех последовательных стадий • Стадии разбиваются на итерации • Каждая итерация содержит все аспекты разработки и повторяет все основные потоки работ
Итерационная разработка Итерация - это законченный цикл разработки, приводящий к выпуску выполнимого изделия (внутренней или внешней версии) или подмножества конечного продукта, которое возрастает от итерации к итерации, чтобы стать законченной системой Требования Бизнес- моделирование Планирование Анализ и проектирование Реализация Управление конфигурацией и изменениями Среда Развертывание Эволюция Тестирование
Rational Unified Process • Итерационная разработка • Итерационный подход позволяет раньше обнаруживать и разрешать риски
Rational Unified Process • RUP – это «общий» процесс • Каждый проект выполняется с использованием адаптированного процесса • Организация может поддерживать общий процесс организациикак основу для процессов проектов
Ядро RUP Концепции Работы Процессы Руководствапо работе Задачи Роли Руководствапо использованиюинструментальныхсредств Стадии Отчеты Контрольныеточки Руководствапо созданиюартефактов Шаблоныдокументов Выполняют Ответственны за Артефакты
Описание процессов Процессы описываются с использованием диаграмм деятельности. Процессы разбиваются на работы
Описание работ Для описания работ используются диаграммы взаимодействия (диаграммы деталей)
RUP - настраиваемый процесс Web Site Ваш проект Импорт Создание Model Ваши процессы RUP Model Адаптация • Может использоваться в целом или частично • Может быть настроен так, чтобы соответствовать существующему процессу • Может использоваться НЕМЕДЛЕННО после поставки RUP Web Site Слияние
СТАДИИ Передача вэксплуатацию Обследование Технический проект Рабочий проект ПРОЦЕССЫ Моделирование деятельности организации Управление требованиями Анализ и проектирование Реализация Тестирование Ввод в действие Конфигурационное управлениеи управление изменениями Управление проектом Поддержка среды разработки № 0 № 1 № 2 № n № n+1 № n+2 № m № m+1 Итерации Rational Unified Process Процессы и стадии жизненного цикла
Что такое УК • Процесс управления конфигурацией есть процесс применения административных и технических процедур на протяжении всего жизненного цикла разработки ПС для: • идентификации, определения и базирования единиц программного обеспечения в информационной среде • управления модификациями и выпуском версий ПС • фиксирования и сообщения о состоянии версий ПС • управления и контролирования хранения, обращения и поставок версий ПС
ЦЕЛИ УК Цель конфигурационного управления при создании сложных информационных систем, состоящих из множества компонентови подсистем, каждые из которых могут иметь множество разновидностей или версий – обеспечить контролируемое и управляемое развитие их структуры, состава компонентов и функций на протяжении всего жизненного цикла ПС.
Требования к процессу УК • Любые действия по направлению конфигурационного управления заранее спланированы • Любые программные работы идентифицированы, управляются, и являются общедоступными • Любые изменения в продукте являются управляемыми • Заинтересованные лица постоянно информируются о состоянии развития проекта;
Подготовка • Установка плана управления конфигурацией • установка конфигурационной политики • создание конфигурационного плана • Создание проекта и среды • установка среды конфигурации • создание интегрирующего пространства Артефакты: конфигурационный план, модель внедрения, настройка проектного репозитория, рабочее пространство Роли: Менеджер конфигурации, Менеджер контроля изменений, Интегратор
Работа • Изменение и представления конфигурационных элементов • создание базовых линий • создание рабочего пространства • создание изменений • обновление рабочего пространства Артефакты:наряд на работу, модификация пространства Роли: Интегратор, Остальные
Работа • Управление базовыми линиями и релизами • создание базовых линий • выделение базовых линий • Составление отчетов по конфигурационному пространству • генерация отчетов по состоянию • подготовка конфигурационного аудита Артефакты:спецификации материалов, репозиторий, единицы развертывания, аудит репозитория (отчет) Роли: Менеджер конфигурации, Интегратор
Работа • Управление запросами на изменение • просмотр запросов на изменение • поиск дублей в запросах • проверка изменений в билде • представление запросов на изменение • обновление запросов на изменение Артефакты:запросы на изменения Роли: Менеджер контроля изменений, Интегратор, Остальные
Инструментальная поддержка • Rational ClearCase • Конфигурационное управление • ClearCase MultiSite • Распределенная разработка • Rational ClearQuest • Управление запросами на изменения
Инструментальная поддержка • Руководитель проекта может • Использовать метрики • Распределять нагрузку исполнителей • Выделять приоритеты • Каждый член команды знает • Какие задачи являются приоритетными • Какие задачи уже завершены • Какие задачи решаются в данный момент Разработчики Аналитики Руководитель Тестировщики Интегратор
Rational ClearCase - это: • Надежная база данных хранения релизов • Настраиваемая среда разработки • Возможность параллельной разработки • Набор средств для сборки и аудита • Событийно-ориентированный интерфейс
Versioned Object Base. Репозиторий • Содержит полную историю: • Запросов к базе и проекту • МоделейRational Rose • Исходных текстов • Бинарных файлов • Скриптов тестирования • Графических файлов • Html-файлов и cgi-скриптов • Запоминает состав директорий
Примеры объектов версионного контроля • Модели данных интерфейса • Модули прототипов системы: • экраны, • меню, • отчеты, • модули процедур. • Планы тестирования • Спецификации тестовых процедур • Документация • Функциональная модель деятельности организации • Концептуальная модель данных • Логическая модель • Реляционная модель данных • Модели данных приложений
Versioned Object Base. Репозиторий • Делает невозможными неконтролируемые (несанкционированные) изменения • ClearCase невозможно обойти • ClearCase имеет мощные средства установки локальной политики на уровне элемента • Поддерживает дробление структуры между несколькими VOB
Гибкая настройка среды View Profile: Ограничивает область контроля посредством индивидуальных видовых профилей, которые возможно создать для каждого участника проекта Прозрачная файловая система: позволяет обращаться не только к отдельному файлу, но и к его конкретной версии ClearCase VOB
ClearCase Views print. c print.h main.c print. c print.h main.c Rel. 2.5 View print.c print.h main.c 2.5 Bug Fix View Development View
ClearCase Views • Dynamic Views - используют подключение real-time, позволяя всем участникам проекта работать с VOB по сети • Мгновенное обновление • Быстрый доступ к истории элемента • Контролируемая и конфигурируемая сборка • Создание копий и экземпляров элементов • Работает только под NT, 2000, XP, Unix
Snapshot Viewsразрешает внеофисную работу с проектом Сохранение проектных файлов локально Ручное обновление Локальная сборка Синхронизация версий с главной базой ClearCase Views
Виды • Dynamic Views - быстрое управление пространством • Мгновенный доступ к Репозиторию • Сборка проекта и аудит • Совместная работа распределенных Репозиториев • Snapshot Views - для отложенного редактирования • Автоматическое обнаружение и синхронизация “потерянных файлов” • Раздельные видовые профили на конкретные релизы
Ветви и слияния • Каждый проект имеет древовидную структуру • История каждого файла сохраняется • Имеются мощные средства сравнения и слияния данных: • Допускается слияние нескольких версий одного файла • Допускается слияние целых проектов • Допускается произвольное сравнение любого числа файлов • При слиянии автоматически порождается новая версия файла без физического воздействия на остальных участников
Ревизии Новая разработка 0 0 1 Доработка 1 2 0 2 3 1 4 3 2 5 Версионный контроль и параллельная разработка • Параллельная разработка и возможность автоматического слияния • Определение всех несогласованных изменений • “Тривиальное” слияние происходит автоматически • Поддержка разрешения конфликтов при слиянии изменений
Что получаем? \main 0 1 db_update Rel1 2 rel2_integration 0 0 3 rel1_bugfix 1 win98_port 1 0 2 4 0 2 1 3 1 3 Rel1.1 2 2 5 3 6 Rel2
Параллельная разработка в жизни Main (он же поток интеграции) B_1.0.xxx Dev PR_1.0.xxx BF_1.0.xxx Доставка интегратором R_1.0.xxxx Private Private Доставка разработчиком Доставка разработчиком Доставка разработчиком PR_1.1.xxx
Управление сборкой в ClearCase • Высокая продуктивность • Полный контроль: • Кто? • Когда? • Зачем? • Возможность раздельных билдов • Сравнение одного или нескольких билдов • Полная история всех билдов • Работа на основе компилятора командной строки • Возможность работы на основе обычных MakeFife • Возможность сборки файлов из разных проектов • Интеграция со средами разработки