Upload
alex-novichkov
View
481
Download
0
Tags:
Embed Size (px)
DESCRIPTION
www.cmcons.com
Citation preview
Практика и технология внедрения процесса Практика и технология внедрения процесса
конфигурационного управления и конфигурационного управления и
управления изменениями с применением управления изменениями с применением
IBM Rational ClearCase IBM Rational ClearCase и и ClearQuestClearQuest
Шамрай АлександрШамрай Александр
Новичков АлександрНовичков Александр
www.cmcons.com
www.cmcons.com
ВведениеВведение
Управление конфигурацией и изменениями является основополагающей дисциплиной в определении того,
каким образом управляются и контролируются рабочие материалы проекта,
вносимые в них изменения и информация о состоянии отдельных задач и всего проекта в целом.
Успех проекта в большой степени зависит от того, насколько хорошо построен процесс управления конфигурацией, который может как спасти проект, так и похоронить его, если сам процесс УК работает плохо
www.cmcons.com
Основные функции УКИОсновные функции УКИ
Управление запросами на изменение (Задачи, Запросы, Поручения и Дефекты)
Измерения. Метрики и отчеты, аналитические срезы
Управление конфигурациями и версиями
www.cmcons.com
Основные виды деятельности (из жизни)Основные виды деятельности (из жизни)
конфигурационная идентификация артефактов (рабочих материалов) используемых или создаваемых в ходе проектаконтроль конфигурации, включая информацию о воздействии изменений на организационную и управленческую структуру, текущие приоритеты заданий, ресурсы и состояние проектаучет состояния конфигурации на основе состояния артефактов, используемых в разработке, при выпуске готовых версий ПС или их сопровожденииревизия и аудит конфигурации, в ходе которой оценивается состояние и готовность продуктапроцедуры управления выпуском продукта (release management), его доставки и мониторинга состояния проектаверсионный контроль рабочих материалов проекта, обеспечивающий повторяемость сборки продукта на основании его базовых версий
www.cmcons.com
Rational Unified ProcessRational Unified ProcessПроцессы и стадии жизненного циклаПроцессы и стадии жизненного цикла
Моделирование деятельности организации
Управление требованиями
Анализ и проектирование
Реализация
Тестирование
Ввод в действие
Управление проектом
Поддержка среды разработки
ПРОЦЕССЫ
СТАДИИ
Обследование Технический проект Рабочий проектПередача в
эксплуатацию
№ 0 № 1 № 2 № n № n+2№ n+1 № m № m+1
Итерации
Конфигурационное управлениеи управление изменениями
www.cmcons.com
УК в УК в RUPRUP
Установка плана управления конфигурацией
Создание проекта и среды
Изменение и продвижение конфигурационных элементов
Управление базовыми линиями и релизами
Составление отчетов по конфигурационному пространству
Управление запросами на изменение
www.cmcons.com
Задачи по ролямЗадачи по ролям
www.cmcons.com
Артефакты по ролямАртефакты по ролям
www.cmcons.com
Дисциплина или процесс внедрены хорошо, если:Дисциплина или процесс внедрены хорошо, если:
Управление конфигурацией происходит на плановой основеОпределение ответственных за выполнение проекта УК реализуется на протяжении всего жизненного цикла разработки ПСУК реализуется для конечных продуктов, промежуточных, экспериментальных и перспективных релизовДля каждого проекта готовится план УК План разрабатывается на ранних стадиях общего планирования проекта Ведутся измерения и их результаты используются для определения состояния работ проекта
www.cmcons.com
ОтчетностьОтчетность
Разделим отчеты на 3 типа:Аналитические ролевые отчеты
Оперативные отчеты
Отчеты по исходным текстам (метрики кода)
Держим в голове, что принимать решения по отчетам одного типа нельзя (!)
www.cmcons.com
Типовые аналитические ролевые отчетыТиповые аналитические ролевые отчеты
Руководитель управления (дирекции, департамента)
Текущие затраты по проекту (проектам)просроченные проектыпроекты, которые могут не завершиться к срокуперерасход бюджета по проектам
Менеджер проекта количество запланированных работколичество выполненных работколичество внеплановых работотношение выполненных работ к невыполненнымколичество найденных ошибок тестировщикамиколичество исправленных ошибок тестировщикамиотношение найденных ошибок к исправленнымзанятость разработчиков (по часам или по задачам)
www.cmcons.com
Основные виды аналитических ролевых отчетовОсновные виды аналитических ролевых отчетов
Аналитик сколько задач выполнено
сколько задач нужно решить
текущие поручения
Разработчик сколько задач выполнено
сколько задач нужно решить
текущие поручения
ошибки к исправлению
Тестировщик количество обнаруженных ошибок\дефектов
количество исправленных ошибок\дефектов
отношение найденных ошибок к исправленным
www.cmcons.com
Метрики кодаМетрики кода
Метрики сложности программ принято разделять на три основные группы:
метрики размера, стилистикиLOC, SLOC…
метрики сложности потока управления, метрики сложности потока данных
Объектно-ориентированные
Холстеда
Мак-Кейба
Чепина
предварительная оценка
www.cmcons.com
Что в принципе измеряем? Метрики кода на Что в принципе измеряем? Метрики кода на
практикепрактике
Усилия разработчика при реализации
Длина и объем программы
Анализ цикломатической сложности
Количество строк на реализацию требования
Процент комментариев на единицу кода
Прочие количественные метрики (число функций, классов, файлов)
Плотность дефектов на единицу кода
www.cmcons.com
IBM Rational ClearCase
www.cmcons.com
Надежная база данных хранения релизов
Настраиваемая среда разработки
Возможность параллельной разработки
Набор средств для сборки и аудита
Событийно-ориентированный интерфейс
IBM Rational ClearCaseIBM Rational ClearCase - это: - это:
www.cmcons.com
Versioned Object Base. РепозиторийVersioned Object Base. Репозиторий
Содержит полную историю всех файлов проекта:
Исходных текстовИсходных текстовБинарных файловБинарных файловСкриптов тестированияСкриптов тестированияГрафических файловГрафических файловHtmlHtml--файлов и cgiфайлов и cgi--скриптовскриптов******
Запоминает состав директорий и отслеживает их версионность
www.cmcons.com
Пример каталогов проектаПример каталогов проекта
www.cmcons.com
Versioned Object Base. РепозиторийVersioned Object Base. Репозиторий
Делает невозможными неконтролируемые (несанкционированные) изменения
ClearCase невозможно ClearCase невозможно обойтиобойтиClearCaseClearCase имеет мощные имеет мощные средства установки средства установки локальной политики на локальной политики на уровне элементауровне элемента
Поддерживает дробление структуры между несколькими VOB
www.cmcons.com
Гибкая настройка средыГибкая настройка среды
ViewView-Представление-Представление::Ограничивает область Ограничивает область контроля посредством контроля посредством индивидуальных видовых индивидуальных видовых профилей, которые профилей, которые возможно создать для возможно создать для каждого участника проектакаждого участника проекта
ViewView-Представление-Представление::Ограничивает область Ограничивает область контроля посредством контроля посредством индивидуальных видовых индивидуальных видовых профилей, которые профилей, которые возможно создать для возможно создать для каждого участника проектакаждого участника проекта
ClearCaseClearCaseVOBVOB
Прозрачная файловая Прозрачная файловая система: система: позволяет обращаться не позволяет обращаться не только к отдельному только к отдельному файлу, но и к его файлу, но и к его конкретной версииконкретной версии
Прозрачная файловая Прозрачная файловая система: система: позволяет обращаться не позволяет обращаться не только к отдельному только к отдельному файлу, но и к его файлу, но и к его конкретной версииконкретной версии
www.cmcons.com
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
www.cmcons.com
ClearCase ViewsClearCase Views
Dynamic Views - используют подключение real-time, позволяя всем участникам проекта работать с VOB по сети
Мгновенное обновлениеМгновенное обновление
Быстрый дБыстрый доступ к оступ к истории элемента истории элемента
Контролируемая Контролируемая и и конфигурируемая конфигурируемая сборкасборка
Создание копий и Создание копий и экземпляров элементовэкземпляров элементов
Работает Работает только только под NT, под NT, 2000, XP, Unix2000, XP, Unix
www.cmcons.com
ClearCase ViewsClearCase Views
Snapshot Views разрешает работу с проектом вне сети
Сохранение проектных Сохранение проектных файлов локальнофайлов локально
Ручное обновлениеРучное обновление
Локальная сборкаЛокальная сборка
ССинхронизация версий с инхронизация версий с главной базойглавной базой
www.cmcons.com
3
00
Доработка
5
4
1
Ревизии
0
2
3
2
1
0
Новая разработка
1
2
Параллельная разработка и возможность автоматического слияния
Определение всех несогласованных изменений
“Тривиальное” слияние происходит автоматически
Поддержка разрешения конфликтов при слиянии изменений
Версионность в IBM Rational ClearCaseВерсионность в IBM Rational ClearCase
www.cmcons.com
Что получаем?Что получаем?
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
www.cmcons.com
Реальная модельРеальная модель
www.cmcons.com
Дерево… с метрикамиДерево… с метриками
www.cmcons.com
Классическая трехуровневая модель, учитывающая нескольких заказчиков, Классическая трехуровневая модель, учитывающая нескольких заказчиков,
основной поток разработки и личные потоки разработчиков основной поток разработки и личные потоки разработчиков
Проект (основная интеграционная
ветвь для проекта)
1
2
3
4
Rel2.0
Rel1.0
Rel3.0Development
(ветвь перспективных разработок)
Rel1.0BugFix(отладочная ветвь)
Zakazchik1(основная интеграционная
ветвь для заказчика)
Zakazchik2(основная интеграционная
ветвь для заказчика)
1
2
3Z1Rel2.0
Z1Rel1.0
1
2
3Z2Rel2.0
Z2Rel1.0
1
2
31
2
3
4Разработчик1
1
2
3Разработчик2
1
2
Разработчик1
1
2
3
www.cmcons.com
Управление Управление конфигурациейконфигурацией в ClearCase в ClearCase
Сопровождение каждой версии элемента Сопровождение каждой версии элемента набором свойств:набором свойств:
Типом элементаТипом элемента
АтрибутамиАтрибутами
МеткамиМетками
ГиперссылкамиГиперссылками
ТриггерамиТриггерами
БренчамиБренчами
www.cmcons.com
Окно сравнения двух версийОкно сравнения двух версий
www.cmcons.com
Окно сравнения трех версийОкно сравнения трех версий
www.cmcons.com
Окно слияния двух версийОкно слияния двух версий
www.cmcons.com
Сравнение и слияние версийСравнение и слияние версий..
Связь версий с запросами на изменениеСвязь версий с запросами на изменение
Сравнение версийСравнение версийСлияние версийСлияние версий
Запросы на изменениеЗапросы на изменение
Версия элементаВерсия элемента
www.cmcons.com
Интегрированная поддержка ClearCaseВыполнение всех операций из среды
Версионный контроль высокого уровня класс, компонент, роль, объект, прецедент, пакет
Интеграция со средствами разработкиИнтеграция со средствами разработки
www.cmcons.com
Пример интеграции с Пример интеграции с JDeveloperJDeveloper
www.cmcons.com
Интеграция на уровне ОСИнтеграция на уровне ОС
www.cmcons.com
Поддерживаемые ОСПоддерживаемые ОС
Windows Windows 2003, 2003, 2000, NT, 2000, NT, XPXPWindows 95/98 (клиенты)Windows 95/98 (клиенты)Compaq Tru64 UNIXCompaq Tru64 UNIXHewlett-Packard HP-UXHewlett-Packard HP-UXIBM IBM zOSzOS, AIX, NCR MP-RAS, AIX, NCR MP-RASRed Hat LinuxRed Hat Linux SCO UnixWareSCO UnixWareSiemens Reliant UNIXSiemens Reliant UNIXSilicon Graphics IRIXSilicon Graphics IRIXSun Solaris SPARCSun Solaris SPARCSun Sun Solaris Intel Solaris Intel
www.cmcons.com
Интеграция со средствами разработкиИнтеграция со средствами разработки
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
www.cmcons.com
IBM Rational ClearQuest
www.cmcons.com
• Учет состояния проекта с точностью до любого компонента ПО
• Получение отчетности о ходе проекта
• Выдача заданий
• Контроль исполнения заданий
• Накопление метрик проектов
• Ведение истории изменений
• Ведение реальной статистики занятости разработчиков
Цели управления изменениямиЦели управления изменениями
www.cmcons.com
Распределение ответственности между участниками процесса
Контроль доступа Многопользовательский режим работы Возможность доступа в систему с удаленных рабочих
мест, на различных платформах, через Интернет
При этом обеспечивается:
Сбор запросов Хранение запросов в базе данных Анализ запросов Принятие решения Исполнение запросов Контроль выполнения Закрытие
Процесс управления запросами на Процесс управления запросами на изменения изменения
Процесс управления запросами на Процесс управления запросами на изменения изменения
www.cmcons.com
Типы запросов на измененияТипы запросов на изменения
Основное понятие ClearQuest – запрос на изменение (ЗИ). Все ЗИ следуют формально утвержденной процедуре при прохождении. Каждый ЗИ имеет набор атрибутов, размещенных на экранной форме
ЗадачаДефектПоручениеЗапрос на расширениеПроект***
www.cmcons.com
Хорошие запросы должны иметь иерархиюХорошие запросы должны иметь иерархию
ПРОЕКТ
ПРОЕКТЗадачи и подзадачи
Поручения
Паспорт проекта
Дефекты/Запросы
Риски
Поручения
РискиМетоды снижения рисков
Вид деятельности
Документы
Пользователи
ПРОЕКТЗадачи и подзадачи Поручения
Сборка Дефекты/Запросы
www.cmcons.com
Жизненный цикл Сущностей описывается двумя Жизненный цикл Сущностей описывается двумя
типами диаграмм: типами диаграмм: State Chart State Chart и и Activity ChartActivity Chart
www.cmcons.com
У каждой сущности есть набор экранных формУ каждой сущности есть набор экранных форм
www.cmcons.com
Статистика по запросам на изменениеСтатистика по запросам на изменение
www.cmcons.com
Статистика по запросам на изменениеСтатистика по запросам на изменение
www.cmcons.com
Консолидированный отчет по Дефектам и Консолидированный отчет по Дефектам и
Задачам Задачам
www.cmcons.com
Отчетность в Отчетность в ClearQuestClearQuest
Время жизни запроса в днях. До одного, 1-2 дня и более двух дней. Отчет позволяет отслеживать эффективность реакции исполнителей на разных этапах исполнения
www.cmcons.com
Отличительные характеристики Отличительные характеристики IBM Rational ClearQuestIBM Rational ClearQuest
Встроенные возможности расширения и доработки (гибкая настройка и адаптация)
Мультиплатформенность
Независимость от используемой СУБД
Возможность сопряжения с любыми средствами управления (имеющимися Системами)
Удаленный доступ для работы и контроля
Невысокая стоимость поддержки
Мгновенный перевод всех Клиентских мест на новую версию Системы
www.cmcons.com
ClearCase+ClearQuestClearCase+ClearQuestClearCase+ClearQuestClearCase+ClearQuest
Участники проекта:Участники проекта:заказчикизаказчики,,
интеграторыинтеграторы, , разработчикиразработчики
Участники проекта:Участники проекта:заказчикизаказчики,,
интеграторыинтеграторы, , разработчикиразработчики
РезультатыРезультаты((Версионный контрольВерсионный контроль))
РезультатыРезультаты((Версионный контрольВерсионный контроль))
Управление заданиямиУправление заданиями((Change Request ManagementChange Request Management))
Управление заданиямиУправление заданиями((Change Request ManagementChange Request Management))
Результаты выполнения задания
Задания Изменения (версии)
Clear QuestClear CaseПредставления
(View)
www.cmcons.com IBM Rational ClearCase + ClearQuest
IBM Rational ClearCase MultiSite
IBM Rational ClearCase
ВыводыВыводы
Поддержка параллельной разработки
Разметка всех материалов проекта на определенный момент времени и фиксация их в виде версии/релиза системы
Точное определение исходных данных для собранного исполняемого файла
Обеспечение синхронизации данных географически удаленных рабочих групп
Автоматизация выборки рабочих материалов в зависимости от ролевой функции
Учет изменений, реализованных в версиях и релизах ИС
Привязка сделанных изменений к заданиям