Upload
jana-townsend
View
53
Download
1
Embed Size (px)
DESCRIPTION
Управление конфигурациями и изменениями на основе IBM Rational ClearCase и ClearQuest. Новичков Александр www.cmcons.com [email protected]. Проблемы разработки сложных информационных систем. Проблемы разработки сложных информационных систем. - PowerPoint PPT Presentation
Citation preview
Управление конфигурациями и Управление конфигурациями и
изменениями на основе изменениями на основе IBM Rational IBM Rational
ClearCase ClearCase и и ClearQuestClearQuest
Новичков АлександрНовичков Александр[email protected]@cmcons.com
Проблемы разработки сложных информационных систем
Проблемы разработки сложных информационных системПроблемы разработки сложных информационных систем
• Проекты создания программного обеспечения почти никогда не укладываются в запланированные сроки и бюджет
• Созданные в результате этого программы почти никогда не оправдывают возлагавшихся на них надежд
«… только 26% проектов создания ИС заканчиваются успешно»
(Standish Group CHAOS Report, 1998)
Результаты исследованияРезультаты исследования Standish Group по выполнению Standish Group по выполнению программных проектовпрограммных проектов
Проект завершен Проект завершен вовремя, в пределах вовремя, в пределах
бюджета, реализована бюджета, реализована вся запланированная вся запланированная
функциональностьфункциональность(в 199(в 19988 г. - 26%) г. - 26%)
Проект завершен с опозданием, с Проект завершен с опозданием, с превышением бюджета, реализована не вся превышением бюджета, реализована не вся запланированная функциональностьзапланированная функциональность
Досрочно Досрочно прекращенные прекращенные
(неудачные) (неудачные) проектыпроекты
Статистика: Статистика: Среднее превышение сроков выполнения проекта - 222Среднее превышение сроков выполнения проекта - 222%%Средний перерасход бюджета - 189Средний перерасход бюджета - 189%%
Проблемы разработки сложных информационных системПроблемы разработки сложных информационных систем
• Корни проблемы:Корни проблемы:
– Задачи почти всегда опережают наши Задачи почти всегда опережают наши возможностивозможности
– Разработчики пренебрегают присущими другим Разработчики пренебрегают присущими другим индустриям системными принципамииндустриям системными принципами:
• массовое производство;
• повторяемость процессов и компонентов;
• надежность;
• следование методологическим и технологическим принципам.
– Узкая специализация затрудняет Узкая специализация затрудняет взаимопонимание между участниками проектавзаимопонимание между участниками проекта
– Отсутствуют механизмы определения Отсутствуют механизмы определения начальных требованийначальных требований
Как попасть в 26% успешных проектов?Как попасть в 26% успешных проектов?
Успешные проекты Не полностью завершенные проекты
Проваленные проекты
Вовлечение пользователя
Недостаточные исходные данные
Неполнота требований
Поддержка руководства
Неполнота требований Недостаточное вовлечение пользователя
Четкое определение требований
Изменение требований, спецификаций
Недостаток ресурсов
Надлежащее планирование
Недостаток поддержки руководства
Нереалистичные оценки
Реалистичные оценки Технологическая некомпетентность
Недостаток поддержки руководства
Пути выхода из кризисаПути выхода из кризиса
•Использовать хорошо
зарекомендовавшую себя на практике
методологию
•Методология – возможность быстрого
приобретения квалификации
•Методология и технология должны быть
рассчитаны на разработку качественных
программных систем силами
разработчиков средней квалификации
Введение в Rational Unified Process
Состав Состав IBM Rational Unified ProcessIBM Rational Unified Process
• Методология коллективной разработки• Описание процесса разработки, технологии и
правил создания артефактов• Рекомендации по применению средств
инструментальной поддержки• Настраиваемые шаблоны, позволяющие
использовать информацию проекта для создания отчетных документов
• Инструментарий для настройки процесса под нужды организации и конкретного проекта
• Методики и инструментарий измерения характеристик проектов
Преимущества Преимущества IBM Rational Unified ProcessIBM Rational Unified Process
• Дает практические рекомендации по планированию, укомплектованию персоналом, выполнению и мониторингу
• Предлагает структуру управления рисками• Планирование итерационного проекта, всего
жизненного цикла и конкретной итерации• Методика мониторинга продвижения
итерационного проекта
Кто использует методологию?Кто использует методологию?
• Заказчики – для организации портфелей проектов разработки и сопровождения ПС, для организации систем приемочного тестирования и сопровождения
• Разработчики - для организации коллективной разработки ПС разного масштаба, в том числе распределенной разработки
• Сопровождающие организации – для организации и автоматизации процессов сопровождения
• Службы тестирования – для сборочного, приемочного, аттестационного функционального и нагрузочного тестирования
Методология Методология IBM Rational Unified ProcessIBM Rational Unified Process
Процессы и фазы жизненного циклаПроцессы и фазы жизненного цикла
Гармонизация с ГОСТ РГармонизация с ГОСТ РАдаптация к условиям РоссииАдаптация к условиям России
Моделирование деятельности организации
Управление требованиями
Анализ и проектирование
РеализацияТестирование
Ввод в действие
Управление проектомПоддержка среды разработки
ПРОЦЕССЫСТАДИИ
Обследование Технический проект Рабочий проект Передача вэксплуатацию
№ 0 № 1 № 2 № n № n+2№ n+1 № m № m+1
Итерации
Конфигурационное управлениеи управление изменениями
Rational Unified ProcessRational Unified Process
• Структура жизненного цикла– Жизненный цикл программной системы
разбивается на циклы, каждый из которых работает над новым поколением изделия
– Каждый цикл разработки состоит из четырех последовательных стадий
• Стадии разбиваются на итерации• Каждая итерация содержит все аспекты разработки и
повторяет все основные потоки работ
ВремяВремя
ЦелиЦели
жизненногожизненного
циклацикла
АрхитектураАрхитектура
жизненногожизненного
циклацикла
НачальнаяНачальная
работоспособностьработоспособностьВыпускВыпуск
Итерационно Итерационно ##1, 1, ##2, … 2, … #N#N
Итерационная разработкаИтерационная разработка
Итерация - это законченный цикл разработки, приводящий к выпуску выполнимого изделия (внутренней или внешней версии) или подмножества конечного продукта, которое возрастает от итерации к итерации, чтобы стать законченной системой
Управление
конфигурацией и
изменениями
Среда
Бизнес-
моделирование
Планирование
Требования
Анализ и
проектирование
Реализация
Развертывание
Тестирование
Эволюция
Rational Unified ProcessRational Unified Process
• Итерационная разработка– Итерационный подход позволяет раньше
обнаруживать и разрешать риски
Rational Unified ProcessRational Unified Process
• RUP – это «общий» процесс– Каждый проект выполняется с использованием
адаптированного процесса– Организация
может поддерживать общий процесс организациикак основу для процессов проектов
Роли
Задачи
Выполняют
Артефакты
Ответственны за
Процессы
Работы
Шаблоныдокументов
Концепции
Руководствапо работе
Руководствапо использованиюинструментальных
средств
Отчеты
Руководствапо созданиюартефактов
Контрольные
точки
Стадии
Ядро Ядро RUPRUP
Описание процессовОписание процессов
Процессы описываются с использованием диаграмм деятельности. Процессы разбиваются на работы
Описание работОписание работ
Для описания работ используются диаграммы взаимодействия (диаграммы деталей)
RUP - RUP - настраиваемый процесснастраиваемый процесс
Слияние
Адаптация
Model Ваши процессы
Model Ваши процессы
Создание
Web Site Ваш проект
Web Site Ваш проект
RUP Web SiteRUP Web Site
Импорт
RUP ModelRUP Model
•Может использоваться в целом или частично•Может быть настроен так, чтобы соответствовать существующему процессу•Может использоваться НЕМЕДЛЕННО после поставки
Количественные характеристики Количественные характеристики RUPRUP
Процесс Работы Задачи Артефакты Шаблоны документов
Управление проектами 8 30 15 11 Управление требованиями 6 13 14 8 Управление инфраструктурой 4 16 13 7 Анализ и проектирование 7 16 17 2 Конфигурационное управление и управление изменениями
6 19 5 1
Развертывание 7 12 9 3 Разработка 5 9 5 1 Бизнес-моделирование 8 14 14 8 Тестирование 6 7 12 2
Итого 57 136 104 43
Rational Unified ProcessRational Unified ProcessПроцессы и стадии жизненного циклаПроцессы и стадии жизненного цикла
Моделирование деятельности организации
Управление требованиями
Анализ и проектирование
Реализация
Тестирование
Ввод в действие
Управление проектом
Поддержка среды разработки
ПРОЦЕССЫ
СТАДИИ
Обследование Технический проект Рабочий проектПередача в
эксплуатацию
№ 0 № 1 № 2 № n № n+2№ n+1 № m № m+1
Итерации
Конфигурационное управлениеи управление изменениями
Процесс УК в RUP
Что такое УКЧто такое УК
• Процесс управления конфигурацией есть процесс применения административных и технических процедур на протяжении всего жизненного цикла разработки ПС для:
– идентификации, определения и базирования единиц идентификации, определения и базирования единиц программного обеспечения в информационной средепрограммного обеспечения в информационной среде
– управления модификациями и выпуском версий ПСуправления модификациями и выпуском версий ПС
– фиксирования и сообщения о состоянии версий ПСфиксирования и сообщения о состоянии версий ПС
– управления и контролирования хранения, обращения и управления и контролирования хранения, обращения и поставок версий ПС поставок версий ПС
ЦЕЛИ УКЦЕЛИ УК
Цель конфигурационного управления при создании сложных Цель конфигурационного управления при создании сложных информационных систем, состоящих из множества компонентовинформационных систем, состоящих из множества компонентов
и подсистем, каждые из которых могут иметь множество и подсистем, каждые из которых могут иметь множество разновидностей или версий – обеспечить контролируемое и разновидностей или версий – обеспечить контролируемое и управляемое развитие их структуры, состава компонентов и управляемое развитие их структуры, состава компонентов и функций на протяжении всего жизненного цикла ПС.функций на протяжении всего жизненного цикла ПС.
Требования к процессу УКТребования к процессу УК
•Любые действия по направлению конфигурационного Любые действия по направлению конфигурационного управления заранее спланированыуправления заранее спланированы
•Любые программные работы идентифицированы, Любые программные работы идентифицированы, управляются, и являются общедоступнымиуправляются, и являются общедоступными
•Любые изменения в продукте являются управляемымиЛюбые изменения в продукте являются управляемыми
•Заинтересованные лица постоянно информируются о Заинтересованные лица постоянно информируются о состоянии развития проекта;состоянии развития проекта;
УК в УК в RUPRUP
Установка плана управления конфигурацией
Создание проекта и среды
Изменение и продвижение конфигурационных элементов
Управление базовыми линиями и релизами
Составление отчетов по конфигурационному пространству
Управление запросами на изменение
ПодготовкаПодготовка Установка плана управления конфигурациейУстановка плана управления конфигурацией
установка конфигурационной политикиустановка конфигурационной политики создание конфигурационного планасоздание конфигурационного плана
Создание проекта и средыСоздание проекта и среды установка среды конфигурацииустановка среды конфигурации создание интегрирующего пространствасоздание интегрирующего пространства
Артефакты: конфигурационный планАртефакты: конфигурационный план, , модель модель внедрения, настройка проектного репозитория, рабочевнедрения, настройка проектного репозитория, рабочеее пространствпространствоо Роли: Менеджер конфигурации, Менеджер контроля изменений, Роли: Менеджер конфигурации, Менеджер контроля изменений, ИнтеграторИнтегратор
РаботаРабота Изменение и представления конфигурационных Изменение и представления конфигурационных
элементов элементов создание базовых линийсоздание базовых линий создание рабочего пространствасоздание рабочего пространства создание измененийсоздание изменений обновление рабочего пространстваобновление рабочего пространства
Артефакты:Артефакты: наряд на работу, модификация наряд на работу, модификация пространствапространства Роли: Интегратор, ОстальныеРоли: Интегратор, Остальные
РаботаРабота Управление базовыми линиями и релизами Управление базовыми линиями и релизами
создание базовых линийсоздание базовых линий выделение базовых линийвыделение базовых линий
Составление отчетов по конфигурационному Составление отчетов по конфигурационному пространству пространству генерация отчетов по состояниюгенерация отчетов по состоянию подготовка конфигурационного аудитаподготовка конфигурационного аудита
Артефакты:Артефакты: спецификации материалов, репозиторий, спецификации материалов, репозиторий, единицы развертыванияединицы развертывания, , аудит репозитория (отчет)аудит репозитория (отчет) Роли: Менеджер конфигурации, ИнтеграторРоли: Менеджер конфигурации, Интегратор
Управление запросами на изменение Управление запросами на изменение просмотр запросов на изменениепросмотр запросов на изменениепоиск дублей в запросахпоиск дублей в запросах проверка изменений в билдепроверка изменений в билде представление запросов на изменениепредставление запросов на изменениеобновление запросов на изменениеобновление запросов на изменение
Артефакты:Артефакты: запросы на изменениязапросы на измененияРоли: Менеджер контроля изменений, Интегратор, Остальные Роли: Менеджер контроля изменений, Интегратор, Остальные
РаботаРабота
УК в стандарте СММУК в стандарте СММ
ProcessLevel CMM
2 3 4 5
Requirements Management + + + +
Software Project Planning + + + +
Software Project Tracking and Oversight + + + +
Software Subcontract Management + + + +
Software Quality Assurance + + + +
Software Configuration Management + + + +
Organization Process Focus + + +
Organization Process Definition + + +
Training Program + + +
Integrated Software Management + + +
Software Product Engineering + + +
Peer Reviews + + +
Quantitative Process Management + +
Software Quality Management + +
Defect Prevention +
Technology Change Management +
Process Change Management +
Инструментальная поддержкаИнструментальная поддержка
• Rational ClearCase– Конфигурационное Конфигурационное
управлениеуправление
• ClearCase MultiSite– Распределенная разработкаРаспределенная разработка
• Rational ClearQuest– Управление Управление запросами на запросами на
измененияизменения
Разработчики
Аналитики
Интегратор
Тестировщики
Руководитель
• Руководитель проекта может– Использовать метрики– Распределять нагрузку исполнителей– Выделять приоритеты
• Каждый член команды знает– Какие задачи являются приоритетными– Какие задачи уже завершены– Какие задачи
решаются в данный момент
Инструментальная поддержкаИнструментальная поддержка
• Надежная база данных хранения релизов
• Настраиваемая среда разработки
• Возможность параллельной разработки
• Набор средств для сборки и аудита
• Событийно-ориентированный интерфейс
Rational ClearCaseRational ClearCase - это: - это:
Versioned Object Base. РепозиторийVersioned Object Base. Репозиторий
• Содержит полную историю:– ЗапросовЗапросов к базе и проекту к базе и проекту– МоделейМоделей Rational RoseRational Rose– Исходных текстовИсходных текстов– Бинарных файловБинарных файлов– Скриптов тестированияСкриптов тестирования– Графических файловГрафических файлов– HtmlHtml--файлов и cgiфайлов и cgi--скриптовскриптов
• Запоминает состав директорий
• Функциональная модель деятельности организации
• Концептуальная модель данных
• Логическая модель• Реляционная модель
данных• Модели данных
приложений
• Модели данных интерфейса
• Модули прототипов системы: – экраны, – меню,– отчеты, – модули процедур.
• Планы тестирования• Спецификации тестовых
процедур• Документация
Примеры объектов версионного контроляПримеры объектов версионного контроля
Versioned Object Base. РепозиторийVersioned Object Base. Репозиторий
• Делает невозможными неконтролируемые (несанкционированные) изменения– ClearCase невозможно ClearCase невозможно
обойтиобойти– ClearCaseClearCase имеет мощные имеет мощные
средства установки средства установки локальной политики на локальной политики на уровне элементауровне элемента
• Поддерживает дробление структуры между несколькими VOB
Гибкая настройка средыГибкая настройка среды
View Profile:View Profile:Ограничивает область Ограничивает область контроля посредством контроля посредством индивидуальных видовых индивидуальных видовых профилей, которые профилей, которые возможно создать для возможно создать для каждого участника проектакаждого участника проекта
View Profile:View Profile:Ограничивает область Ограничивает область контроля посредством контроля посредством индивидуальных видовых индивидуальных видовых профилей, которые профилей, которые возможно создать для возможно создать для каждого участника проектакаждого участника проекта
ClearCaseClearCaseVOBVOB
Прозрачная файловая Прозрачная файловая система: система: позволяет обращаться не позволяет обращаться не только к отдельному только к отдельному файлу, но и к его файлу, но и к его конкретной версииконкретной версии
Прозрачная файловая Прозрачная файловая система: система: позволяет обращаться не позволяет обращаться не только к отдельному только к отдельному файлу, но и к его файлу, но и к его конкретной версииконкретной версии
Rel. 2.5 ViewRel. 2.5 ViewRel. 2.5 ViewRel. 2.5 View
Development ViewDevelopment ViewDevelopment ViewDevelopment View 2.5 Bug Fix View2.5 Bug Fix View
ClearCase ViewsClearCase Views
print.c print.h main.c
ClearCase ViewsClearCase Views
• Dynamic Views - используют подключение real-time, позволяя всем участникам проекта работать с VOB по сети– Мгновенное обновлениеМгновенное обновление
– Быстрый дБыстрый доступ к оступ к истории элемента истории элемента
– Контролируемая Контролируемая и и конфигурируемая конфигурируемая сборкасборка
– Создание копий и Создание копий и экземпляров элементовэкземпляров элементов
– Работает Работает только только под NT, под NT, 2000, XP, Unix2000, XP, Unix
ClearCase ViewsClearCase Views
• Snapshot Views разрешает внеофисную работу с проектом– Сохранение Сохранение
проектных файлов проектных файлов локальнолокально
– Ручное обновлениеРучное обновление– Локальная сборкаЛокальная сборка– ССинхронизация инхронизация
версий с главной версий с главной базойбазой
ВидыВиды
• Dynamic Views - быстрое управление пространством– МгновенныйМгновенный доступ доступ к Репозиторию к Репозиторию– Сборка проекта и аудитСборка проекта и аудит– Совместная работа распределенных РепозиториевСовместная работа распределенных Репозиториев
• Snapshot Views - для отложенного редактирования– Автоматическое обнаружение и синхронизация “потерянных Автоматическое обнаружение и синхронизация “потерянных
файлов”файлов”– Раздельные видовые профили на конкретные релизыРаздельные видовые профили на конкретные релизы
Ветви и слиянияВетви и слияния
• Каждый проект имеет древовидную структуру
• История каждого файла сохраняется • Имеются мощные средства сравнения и
слияния данных:– Допускается слияние нескольких версий одного Допускается слияние нескольких версий одного
файлафайла– Допускается слияние целых проектовДопускается слияние целых проектов– Допускается произвольное сравнение любого Допускается произвольное сравнение любого
числа файловчисла файлов– При слиянии автоматически порождается новая При слиянии автоматически порождается новая
версия файла без физического воздействия на версия файла без физического воздействия на остальных участниковостальных участников
3
00
Доработка
5
4
1
Ревизии
0
2
3
2
1
0
Новая разработка
1
2
• Параллельная разработка и возможность автоматического слияния
• Определение всех несогласованных изменений
• “Тривиальное” слияние происходит автоматически
• Поддержка разрешения конфликтов при слиянии изменений
Версионный контроль и параллельная разработкаВерсионный контроль и параллельная разработка
Что получаем?Что получаем?
33
00
rel1_bugfixrel1_bugfix
Rel2Rel2 66
55
44
11
\main\main
00
22Rel1Rel1
33
22
11
00
rel2_integrationrel2_integrationdb_updatedb_update
00
00
win98_portwin98_port22
11
33
22
11
33
11
22Rel1.1Rel1.1
Реальная модельРеальная модель
Параллельная разработка в жизниПараллельная разработка в жизни
Main
(он же поток интеграции)
Dev
Доставка
разработчиком
Доставка
интегратором
BF_1.0.xxx
PR_1.0.xxx
Private
Доставка
разработчиком
Доставка
разработчиком
R_1.0.xxxx
Private
PR_1.1.xxx
B_1.0.xxx
Управление сборкой в ClearCaseУправление сборкой в ClearCase
• Высокая продуктивность – Полный контрольПолный контроль:
• Кто?Кто?• Когда?Когда?• Зачем?Зачем?
– Возможность раздельных билдовВозможность раздельных билдов• Сравнение одного или несколькихСравнение одного или нескольких билдов билдов• Полная история всех билдовПолная история всех билдов
– Работа на основе компилятора командной строкиРабота на основе компилятора командной строки– Возможность работы на основе Возможность работы на основе обычных обычных MakeFifeMakeFife– ВозможнВозможноость сборки файлов из разных проектовсть сборки файлов из разных проектов– Интеграция со средами разработкиИнтеграция со средами разработки
Управление Управление конфигурациейконфигурацией в ClearCase в ClearCase
Сопровождение каждой версии элемента набором Сопровождение каждой версии элемента набором свойств:свойств: Типом элементаТипом элемента АтрибутамиАтрибутами МеткамиМетками ГиперссылкамиГиперссылками ТриггерамиТриггерами БренчамиБренчами
Окно сравнения 2х версийОкно сравнения 2х версий
Окно сравнения 3 версийОкно сравнения 3 версий
Окно слияния двух версийОкно слияния двух версий
Сравнение и слияние версийСравнение и слияние версий..
Связь версий с запросами на изменениеСвязь версий с запросами на изменение
Сравнение версийСравнение версийСлияние версийСлияние версий
Запросы на изменениеЗапросы на изменение
Версия элементаВерсия элемента
«Тонкое» управление политикой доступа к элементам«Тонкое» управление политикой доступа к элементам
Настраиваемая форма автоматизированной отчетности Настраиваемая форма автоматизированной отчетности
• Интегрированная поддержка ClearCase– Выполнение всех операций из среды
– Версионный контроль высокого разрешения • класс, компонент, роль, объект, прецедент, пакет
Интеграция с Интеграция с WebSphereWebSphere и и .NET.NET
ПримерПримерыы команд: команд:Co –nc Co –nc 900.txt@@\main\Asteroid\cc_test\2900.txt@@\main\Asteroid\cc_test\2
Merge –to 900.txt 900.txt@@\main\Asteroid\cc_test_99\2Merge –to 900.txt 900.txt@@\main\Asteroid\cc_test_99\2Ci –nc 900.txtCi –nc 900.txt
Контроль над версиямиКонтроль над версиями
•Мощный интерфейс командной строкиМощный интерфейс командной строки
•Расширенная файловая система Расширенная файловая система MVFSMVFS
•Безграничные возможности по созданиюБезграничные возможности по созданиюскриптов обработки событийскриптов обработки событий
•Доступ через командную строку к любой версииДоступ через командную строку к любой версии
•Генерация отчетов произвольного образцаГенерация отчетов произвольного образца
ПреимуществаПреимущества
• Сокращение времени на решение проблем с инсталляцией отдельных компонент ПО
• Сокращение затрат на переделку ПО (как при разработке так и при сопровождении)
• Сокращение затрат на диагностику сделанных изменений
• Повышение качества процессов разработки и сопровождения
• Улучшение взаимодействия с тестировщиками, постановщиками требований
• Поддержка регионально удаленных команд разработчиков
• Улучшение контроля над деятельностью разработчиков
• Улучшение планирования
ПреимуществаПреимущества
• Сокращение времени настройки рабочего пространства разработчика
• Экономия времени за счет использования базовых версий и релизов
• Сокращение времени разработки за счет ветвлений и слияний
• Не тратится время на интеграцию рабочего пространства с новой базовой версией
• Использование утилит автоматизации сборки сокращает время на сборку отдельных модулей или ПО в целом
• Сокращение времени на обновление и синхронизацию рабочих материалов географически распределенных команд
• Сокращение трудозатрат на решение проблем, связанных с неодинаковой работой ПО, полученных в результате разных сборок
Поддержка всего жизненного цикла разработки и Поддержка всего жизненного цикла разработки и
сопровождения ПОсопровождения ПО
ClearQuest
RequisitePro
Rose/XDE
TestManager
Robot
Разработка.
Rapid Developer
XDE
XDE
Purify Plus
ClearCase
Поддержка всего жизненного цикла разработки и Поддержка всего жизненного цикла разработки и
сопровождения ПОсопровождения ПО
ClearQuest
RequisitePro
Rose/XDE
TestManager
Robot
Разработка.
Rapid Developer
XDE
XDE
Purify Plus
Получение сценариев использования.
Поддержка синхронизации
Осуществление тестирования на этапе разработки.
Компонентное тестирование
Сбор информации о производительности,
стабильности и охвате при компонентном тестировании
Требования и сценарии использования – основа для
создания планов тестирования и сценариев тестирования
Запросы на изменение и расширения порождают
новые требования
Документирование всех дефектов на этапах
тестирования и сопровождения
Запись и воспроизведение скриптов тестирования по плану
тестирования.
Сбор ошибок при функциональном и нагрузочном тестировании
ClearCase
Хранение версий
Сборка проекта
Сопровождение
Осуществляется связь между запросами на изменения и всеми версиями
артефактов, находящихся в версионном хранилище
Генерация объектного кода С++, Java.
Синхронизация кода и модели
Поддержка всего жизненного цикла разработки и Поддержка всего жизненного цикла разработки и
сопровождения ПОсопровождения ПО
ClearQuest
RequisitePro
Rose/XDE
TestManager
Robot
Разработка.
Rapid Developer
XDE
XDE
Purify Plus
Получение сценариев использования.
Поддержка синхронизации
Осуществление тестирования на этапе разработки.
Компонентное тестирование
Сбор информации о производительности,
стабильности и охвате при компонентном тестировании
Требования и сценарии использования – основа для
создания планов тестирования и сценариев тестирования
Запросы на изменение и расширения порождают
новые требования
Документирование всех дефектов на этапах
тестирования и сопровождения
Запись и воспроизведение скриптов тестирования по плану
тестирования.
Сбор ошибок при функциональном и нагрузочном тестировании
ClearCase
Хранение версий
Сборка проекта
Сопровождение
Осуществляется связь между запросами на изменения и всеми версиями
артефактов, находящихся в версионном хранилище
Генерация объектного кода С++, Java.
Синхронизация кода и модели
+Rational Unified Process+Rational Unified Process
++Rational Developer NetworkRational Developer Network
+Project Console+Project Console
+ SoDA+ SoDA
+ ProcessWorkbench+ ProcessWorkbench
Высокопроизводительное средство клиент-сервер Высокопроизводительное средство клиент-сервер промышленного уровняпромышленного уровняПолный учет и сопровождение проектных документовПолный учет и сопровождение проектных документовНаличие механизмов параллельной разработкиНаличие механизмов параллельной разработкиНастройка среды пользователя в зависимости от его Настройка среды пользователя в зависимости от его привилегийпривилегийПрисутствует возможность по удаленному внесению Присутствует возможность по удаленному внесению измененийизмененийПри наличии MultiSite объединяет регионально удаленные При наличии MultiSite объединяет регионально удаленные команды разработчиковкоманды разработчиковХранит весь проект, включая исходные файлы, двоичные Хранит весь проект, включая исходные файлы, двоичные файлы, библиотеки, документацию, файлы, библиотеки, документацию, WEB-WEB-приложения, модели приложения, модели и директориии директорииКонвертирует данные из PVCS, Конвертирует данные из PVCS, CVS, RCS, SourceSafeCVS, RCS, SourceSafe в в собственный форматсобственный форматИмеет дружественный, настраиваемый интерфейсИмеет дружественный, настраиваемый интерфейс
ИТОГОИТОГО
ClearCase MultiSiteClearCase MultiSite
• Позволяет объединять регионально удаленные команды разработчиков– Реплицируется база на Реплицируется база на
один или несколько сайтоводин или несколько сайтов
• Создание уникальных реплик
1
0
2
3
11
00
22
33
5555
4444
ВозможностиВозможности
0000
1111
2222
3333
2222
1111
0000
Что, у кого и сколько есть?Что, у кого и сколько есть?
• HP– Более 1600 лицензий, 14 сайтовБолее 1600 лицензий, 14 сайтов
• Fidelity Investments– 25 баз, расположенных на 3 сайтах25 баз, расположенных на 3 сайтах– Синхронизация каждые 5 минутСинхронизация каждые 5 минут
• Oracle– Более 1200 лицензий, 10 сайтовБолее 1200 лицензий, 10 сайтов
• HP– Более 1600 лицензий, 14 сайтовБолее 1600 лицензий, 14 сайтов
• Fidelity Investments– 25 баз, расположенных на 3 сайтах25 баз, расположенных на 3 сайтах– Синхронизация каждые 5 минутСинхронизация каждые 5 минут
• Oracle– Более 1200 лицензий, 10 сайтовБолее 1200 лицензий, 10 сайтов
Количество лицензийКоличество лицензий
Honeywell - 273Hughes - 438Boeing - 1201Lockheed - 1721Raytheon - 1181Oracle - 1523Sybase - 482Informix -2909Philips - 328Princeton - 757SDRC - 250Computervision - 275Siemens - 2459Texas Instruments - 608Santa Cruz SCO - 500Thomson - 313
Honeywell - 273Hughes - 438Boeing - 1201Lockheed - 1721Raytheon - 1181Oracle - 1523Sybase - 482Informix -2909Philips - 328Princeton - 757SDRC - 250Computervision - 275Siemens - 2459Texas Instruments - 608Santa Cruz SCO - 500Thomson - 313
Hewlett Packard - 3360 Alcatel - 704Lucent - 1355Motorola - 4010 Ericsson - 1969 TRW - 462AT&T - 774Bay Networks - 577Cisco Systems - 1297BNR/Nortel - 4082Fidelity - 481Ford Motor - 263EDS - 704 GTE - 936Digital - 344 Silicon Graphics - 368
Hewlett Packard - 3360 Alcatel - 704Lucent - 1355Motorola - 4010 Ericsson - 1969 TRW - 462AT&T - 774Bay Networks - 577Cisco Systems - 1297BNR/Nortel - 4082Fidelity - 481Ford Motor - 263EDS - 704 GTE - 936Digital - 344 Silicon Graphics - 368
Oracle - 1523Sybase - 482Informix -2909 Bay Networks - 577
Cisco Systems - 1297
Hewlett Packard - 3360
ТребованияТребования
Требования для клиента: Требования для клиента: Минимум: Минимум: 128128MB ОЗУ, 35MB Дискового MB ОЗУ, 35MB Дискового
пространствапространства Требования для сервера:Требования для сервера:
Минимум: Минимум: 256256MB ОЗУ, 70MB Дискового MB ОЗУ, 70MB Дискового пространствапространстваПоддерживаемые Web-броузеры:Поддерживаемые Web-броузеры:
Microsoft Internet Explorer Microsoft Internet Explorer NetscapeNetscape
Поддерживаемые Web-Серверы:Поддерживаемые Web-Серверы:Apache Apache Microsoft IIS Microsoft IIS NetscapeNetscape
Поддерживаемые ОСПоддерживаемые ОС
Windows 2000, NT, Windows 2000, NT, XPXPWindows 95/98 (клиенты)Windows 95/98 (клиенты)Compaq Tru64 UNIXCompaq Tru64 UNIXHewlett-Packard HP-UXHewlett-Packard HP-UXIBM, AIX, NCR MP-RASIBM, AIX, NCR MP-RASRed Hat LinuxRed Hat Linux (7.1, 7.2) (7.1, 7.2)SCO UnixWareSCO UnixWareSiemens Reliant UNIXSiemens Reliant UNIXSilicon Graphics IRIXSilicon Graphics IRIXSun Solaris SPARCSun Solaris SPARCSun Sun Solaris Intel Solaris Intel
Интеграция со средствами разработкиИнтеграция со средствами разработки
Borland JBuilder Borland JBuilder
IBM WebSphere Studio product family IBM WebSphere Studio product family
IBM WebSphere Server IBM WebSphere Server
IBM VisualAge for Java IBM VisualAge for Java
Microsoft Visual Studio .NET: VB, C#, C++, ASP.NET Microsoft Visual Studio .NET: VB, C#, C++, ASP.NET
Microsoft Visual Studio: VB, C++, J++ Microsoft Visual Studio: VB, C++, J++
InterDev Sun ONE Studio and Forte for Java InterDev Sun ONE Studio and Forte for Java
Sybase PowerBuilder Sybase PowerBuilder
Microsoft FrontPage and Microsoft Office Microsoft FrontPage and Microsoft Office
All SCC-compliant tools All SCC-compliant tools
Рынок средств Рынок средств SCMSCM
Rational
Merant
Microsoft
Continuus
MKS
CA
Other
Более подробный анализ смотрите в материалах курсаБолее подробный анализ смотрите в материалах курса
# Функция СС (base)
СС LT SourceSafe PVCS CVS
Предустановленная политика Конфигурационного Управления
+(UCM)
+(UCM)
+ + -
Адаптация политики под любые требования (адаптированная политика в зависимости от сложности проекта и корпоративной политики)
+ - - + * +
Управление версиями файлов + + + + +
Управление версиями каталогов + + - - +
Быстрый доступ к версиям файлов и каталогов
+ - - + ?
Работа с данными проекта в реальном масштабе времени (при котором не требуется синхронизации с сервером)
+ - - + -
Выборка элементов репозитория по определенным критериям (в реальном масштабе времени)
+ - - + -
Какое же средство УК лучше?Какое же средство УК лучше?
Процесс управления изменениямиПроцесс управления изменениями
• Контролируемая обработка запросов (поручения, отчеты о выполнении, ошибки…) в соответствии с заранее определенным процессом
• Работа с различными типами запросов• Настраиваемый набор атрибутов и состояний запросов
на изменения• Формирование отчетов произвольного образца• Создание разнообразных графиков (текущее
состояние, статистика, тенденции)• Автоматическое уведомление исполнителей о ходе
обработки запросов по электронной почте• Контроль и внесение изменений через Интернет• Широкие возможности по адаптации
• Инструмент поддержки процесса управления изменениями – IBM Rational ClearQuest
Примеры схем прохождения запроса на изменениеПримеры схем прохождения запроса на изменение
Обозначение:РП - руководитель проектаР - разработчикТ - тестировщикИЗ - инициатор запроса
начало
Представлен
внести дефект( ИЗ )
Назначен
Открыт
Протестирован
Закрыт
Реализован
конец
назначить( РП )
принять( Р )
отказаться( Р )
реалировать( Р )
тестировать( Т )
вернуть( Т )
закрыть( РП )
закрыть( РП )
Управление изменениямиУправление изменениями
Текущие отчеты позволяют определять состояние проекта
Мастера быстро создают отчеты и графики
Можно работать в Windows и/или Web-интерфейсе
Статистика по запросам на изменениеСтатистика по запросам на изменение
Менеджер проекта
Статистика по запросам на изменениеСтатистика по запросам на изменение
ПреимуществаПреимущества
• Четкое представление того кто и чем занимается в проекте
• Полное документирование дефектов• Планирование деятельности каждого
разработчика • Удобное взаимодействие между саппортом,
тестировщиками и разработчиками• Неразрывная связь с требованиями• Графическое представление метрик
проекта
Настройка репозитория проектаНастройка репозитория проекта
База данныхтребований
Версионное хранилище
МоделиRational Rose
База данныхзапросов
на изменения
РепозиторийRational
База данныхтестирования
Техническое задание,План тестирования,
Юзкейсы, ...
Модель бизнес-процессов,Модель реализации
Сообщения об ошибках,Запросы на развитие,
Поручения Тестовые скрипты,Обнаруженные ошибки
Среда разработки и сопровожденияСреда разработки и сопровождения
РепозиторийРуководительпроекта
RequisiteProClearCaseClearQuest
Аналитик
RequisiteProRational Rose
ClearCaseClearQuest
Разработчик
RequisiteProRational Rose
ClearCaseClearQuest
Администратор
Rational Suite
Тестировщик
RequisiteProTeamTestClearCaseCleaQuest
Дизайнер тестов
RequisiteProClearCaseClearQuest
База данныхтребований
МоделиRational Rose
База данныхтестирования
Версионноехранилище
База данныхзапросов наизменения
РепозиторийRational
UCM UCM работает так как нужно Вамработает так как нужно ВамUCM UCM работает так как нужно Вамработает так как нужно Вам
База задачRequestRequest PriorityPriority OwnerOwner StatusStatus
Bug 98Bug 98 11 SamSam CodeCode
Bug 527Bug 527 33 SandySandy OpenOpen
Add GUI buttonAdd GUI button 11 KimKim CodeCode
ОткрытьОткрытьОткрытьОткрыть НазначитьНазначитьНазначитьНазначить ТестированиеТестированиеТестированиеТестированиеЗакрытьЗакрытьЗакрытьЗакрытьНовая функциональностьНовая функциональностьНовая функциональностьНовая функциональность
РазработчиРазработчикики
АналитикАналитикии
ИнтеграторИнтегратор ТестировщиТестировщикики
РуководитеРуководительль
КодированиеКодирование
ClearQuest ClearQuest ActivityActivity Management ManagementClearQuest ClearQuest ActivityActivity Management Management
ClearCaseClearCase ArtifactArtifact ManagementManagementClearCaseClearCase ArtifactArtifact ManagementManagement
Поддержка процессовПоддержка процессов ЖЦ ЖЦ Поддержка процессовПоддержка процессов ЖЦ ЖЦ
Unified Change Management
Модели СкриптСкриптКодТребованияТребования
ПроектированиеПроектирование РазработкаРазработка ТестированиеТестирование
Performance StudioDevelopmentStudioIDEsIDEs
ИнструмеИнструментарийнтарий
AnalystStudioAnalystStudio
Сбор требованийСбор требований Сбор требованийСбор требований
TestStudio