Req-Labs'2011.Коммуникации и психология межличностных отношений в проектной к...
CM Management (www.cmcons.com)
1. Практика и технология внедрения процессаПрактика и технология внедрения процесса
конфигурационного управления иконфигурационного управления и
управления изменениями с применениемуправления изменениями с применением
IBM Rational ClearCaseIBM Rational ClearCase ии ClearQuestClearQuest
Шамрай АлександрШамрай Александр
Новичков АлександрНовичков Александр
www.cmcons.comwww.cmcons.com
2. www.cmcons.com
ВведениеВведение
Управление конфигурацией и изменениями
является основополагающей дисциплиной в
определении того,
каким образом управляются и контролируются рабочие
материалы проекта,
вносимые в них изменения и информация о состоянии
отдельных задач и всего проекта в целом.
Успех проекта в большой степени зависит от того,
насколько хорошо построен процесс управления
конфигурацией, который может как спасти проект,
так и похоронить его, если сам процесс УК
работает плохо
3. www.cmcons.com
Основные функции УКИОсновные функции УКИ
Управление запросами на изменение
(Задачи, Запросы, Поручения и
Дефекты)
Измерения. Метрики и отчеты,
аналитические срезы
Управление конфигурациями и
версиями
4. www.cmcons.com
Основные виды деятельности (из жизни)Основные виды деятельности (из жизни)
конфигурационная идентификация артефактов (рабочих
материалов) используемых или создаваемых в ходе проекта
контроль конфигурации, включая информацию о
воздействии изменений на организационную и
управленческую структуру, текущие приоритеты заданий,
ресурсы и состояние проекта
учет состояния конфигурации на основе состояния
артефактов, используемых в разработке, при выпуске
готовых версий ПС или их сопровождении
ревизия и аудит конфигурации, в ходе которой оценивается
состояние и готовность продукта
процедуры управления выпуском продукта (release
management), его доставки и мониторинга состояния проекта
версионный контроль рабочих материалов проекта,
обеспечивающий повторяемость сборки продукта на
основании его базовых версий
5. www.cmcons.com
Rational Unified ProcessRational Unified Process
Процессы и стадии жизненного циклаПроцессы и стадии жизненного цикла
Моделирование деятельности организации
Управление требованиями
Анализ и проектирование
Реализация
Тестирование
Ввод в действие
Управление проектом
Поддержка среды разработки
ПРОЦЕССЫ
СТАДИИ
Обследование Технический проект Рабочий проект
Передача в
эксплуатацию
№ 0 № 1 № 2 № n № n+2№ n+1 № m № m+1
Итерации
Конфигурационное управление
и управление изменениями
6. www.cmcons.com
УК вУК в RUPRUP
Установка плана управления
конфигурацией
Создание проекта и среды
Изменение и продвижение
конфигурационных элементов
Управление базовыми линиями и
релизами
Составление отчетов по
конфигурационному пространству
Управление запросами на
изменение
9. www.cmcons.com
Дисциплина или процесс внедрены хорошо, если:Дисциплина или процесс внедрены хорошо, если:
Управление конфигурацией происходит на плановой основе
Определение ответственных за выполнение проекта
УК реализуется на протяжении всего жизненного цикла
разработки ПС
УК реализуется для конечных продуктов, промежуточных,
экспериментальных и перспективных релизов
Для каждого проекта готовится план УК
План разрабатывается на ранних стадиях общего
планирования проекта
Ведутся измерения и их результаты используются для
определения состояния работ проекта
10. www.cmcons.com
ОтчетностьОтчетность
Разделим отчеты на 3 типа:
Аналитические ролевые отчеты
Оперативные отчеты
Отчеты по исходным текстам (метрики кода)
Держим в голове, что принимать решения
по отчетам одного типа нельзя (!)
11. www.cmcons.com
Типовые аналитические ролевые отчетыТиповые аналитические ролевые отчеты
Руководитель управления (дирекции,
департамента)
Текущие затраты по проекту (проектам)
просроченные проекты
проекты, которые могут не завершиться к сроку
перерасход бюджета по проектам
Менеджер проекта
количество запланированных работ
количество выполненных работ
количество внеплановых работ
отношение выполненных работ к невыполненным
количество найденных ошибок тестировщиками
количество исправленных ошибок тестировщиками
отношение найденных ошибок к исправленным
занятость разработчиков (по часам или по задачам)
12. www.cmcons.com
Основные виды аналитических ролевых отчетовОсновные виды аналитических ролевых отчетов
Аналитик
сколько задач выполнено
сколько задач нужно решить
текущие поручения
Разработчик
сколько задач выполнено
сколько задач нужно решить
текущие поручения
ошибки к исправлению
Тестировщик
количество обнаруженных ошибокдефектов
количество исправленных ошибокдефектов
отношение найденных ошибок к исправленным
13. www.cmcons.com
Метрики кодаМетрики кода
Метрики сложности программ принято
разделять на три основные группы:
метрики размера, стилистики
LOC, SLOC…
метрики сложности потока управления, метрики
сложности потока данных
Объектно-ориентированные
Холстеда
Мак-Кейба
Чепина
предварительная оценка
14. www.cmcons.com
Что в принципе измеряем? Метрики кода наЧто в принципе измеряем? Метрики кода на
практикепрактике
Усилия разработчика при реализации
Длина и объем программы
Анализ цикломатической сложности
Количество строк на реализацию
требования
Процент комментариев на единицу кода
Прочие количественные метрики (число
функций, классов, файлов)
Плотность дефектов на единицу кода
16. www.cmcons.com
Надежная база данных
хранения релизов
Настраиваемая среда
разработки
Возможность параллельной
разработки
Набор средств для сборки и
аудита
Событийно-ориентированный
интерфейс
IBM Rational ClearCaseIBM Rational ClearCase - это:- это:
17. www.cmcons.com
Versioned Object Base. РепозиторийVersioned Object Base. Репозиторий
Содержит полную
историю всех файлов
проекта:
Исходных текстовИсходных текстов
Бинарных файловБинарных файлов
Скриптов тестированияСкриптов тестирования
Графических файловГрафических файлов
HtmlHtml--файлов и cgiфайлов и cgi--скриптовскриптов
******
Запоминает состав
директорий и
отслеживает их
версионность
19. www.cmcons.com
Versioned Object Base. РепозиторийVersioned Object Base. Репозиторий
Делает невозможными
неконтролируемые
(несанкционированные)
изменения
ClearCase невозможноClearCase невозможно
обойтиобойти
ClearCaseClearCase имеет мощныеимеет мощные
средства установкисредства установки
локальной политики налокальной политики на
уровне элементауровне элемента
Поддерживает
дробление структуры
между несколькими VOB
20. www.cmcons.com
Гибкая настройка средыГибкая настройка среды
ViewView-Представление-Представление::
Ограничивает областьОграничивает область
контроля посредствомконтроля посредством
индивидуальных видовыхиндивидуальных видовых
профилей, которыепрофилей, которые
возможно создать длявозможно создать для
каждого участника проектакаждого участника проекта
ViewView-Представление-Представление::
Ограничивает областьОграничивает область
контроля посредствомконтроля посредством
индивидуальных видовыхиндивидуальных видовых
профилей, которыепрофилей, которые
возможно создать длявозможно создать для
каждого участника проектакаждого участника проекта
ClearCaseClearCase
VOBVOB
Прозрачная файловаяПрозрачная файловая
система:система:
позволяет обращаться непозволяет обращаться не
только к отдельномутолько к отдельному
файлу, но и к егофайлу, но и к его
конкретной версииконкретной версии
Прозрачная файловаяПрозрачная файловая
система:система:
позволяет обращаться непозволяет обращаться не
только к отдельномутолько к отдельному
файлу, но и к егофайлу, но и к его
конкретной версииконкретной версии
22. www.cmcons.com
ClearCase ViewsClearCase Views
Dynamic Views -
используют
подключение real-time,
позволяя всем
участникам проекта
работать с VOB по сети
МгновенноеМгновенное
обновлениеобновление
Быстрый дБыстрый доступ коступ к
истории элементаистории элемента
КонтролируемаяКонтролируемая ии
конфигурируемаяконфигурируемая
сборкасборка
Создание копий иСоздание копий и
экземпляровэкземпляров
элементовэлементов
РаботаетРаботает толькотолько подпод
NT, 2000, XP, UnixNT, 2000, XP, Unix
23. www.cmcons.com
ClearCase ViewsClearCase Views
Snapshot Views
разрешает работу с
проектом вне сети
Сохранение проектныхСохранение проектных
файлов локальнофайлов локально
Ручное обновлениеРучное обновление
Локальная сборкаЛокальная сборка
ССинхронизация версий синхронизация версий с
главной базойглавной базой
28. www.cmcons.com
Классическая трехуровневая модель, учитывающая нескольких заказчиков,Классическая трехуровневая модель, учитывающая нескольких заказчиков,
основной поток разработки и личные потоки разработчиковосновной поток разработки и личные потоки разработчиков
29. www.cmcons.com
УправлениеУправление конфигурациейконфигурацией в ClearCaseв ClearCase
Сопровождение каждой версии элементаСопровождение каждой версии элемента
набором свойств:набором свойств:
Типом элементаТипом элемента
АтрибутамиАтрибутами
МеткамиМетками
ГиперссылкамиГиперссылками
ТриггерамиТриггерами
БренчамиБренчами
33. www.cmcons.com
Сравнение и слияние версийСравнение и слияние версий..
Связь версий с запросами на изменениеСвязь версий с запросами на изменение
Сравнение версийСравнение версий
Слияние версийСлияние версий
Запросы на изменениеЗапросы на изменение
Версия элементаВерсия элемента
37. www.cmcons.com
Поддерживаемые ОСПоддерживаемые ОС
WindowsWindows 2003,2003, 2000, NT,2000, NT, XPXP
Windows 95/98 (клиенты)Windows 95/98 (клиенты)
Compaq Tru64 UNIXCompaq Tru64 UNIX
Hewlett-Packard HP-UXHewlett-Packard HP-UX
IBMIBM zOSzOS, AIX, NCR MP-RAS, AIX, NCR MP-RAS
Red Hat LinuxRed Hat Linux
SCO UnixWareSCO UnixWare
Siemens Reliant UNIXSiemens Reliant UNIX
Silicon Graphics IRIXSilicon Graphics IRIX
Sun Solaris SPARCSun Solaris SPARC
SunSun Solaris IntelSolaris Intel
38. www.cmcons.com
Интеграция со средствами разработкиИнтеграция со средствами разработки
Borland JBuilderBorland JBuilder
IBM WebSphere Studio product familyIBM WebSphere Studio product family
IBM WebSphere ServerIBM WebSphere Server
IBM VisualAge for JavaIBM VisualAge for Java
Microsoft Visual Studio .NET: VB, C#, C++, ASP.NETMicrosoft 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 JavaInterDev Sun ONE Studio and Forte for Java
Sybase PowerBuilderSybase PowerBuilder
Microsoft FrontPage and Microsoft OfficeMicrosoft FrontPage and Microsoft Office
All SCC-compliant toolsAll SCC-compliant tools
40. www.cmcons.com
• Учет состояния проекта с точностью до любого
компонента ПО
• Получение отчетности о ходе проекта
• Выдача заданий
• Контроль исполнения заданий
• Накопление метрик проектов
• Ведение истории изменений
• Ведение реальной статистики занятости
разработчиков
Цели управления изменениямиЦели управления изменениями
41. www.cmcons.com
• Распределение ответственности между участниками
процесса
• Контроль доступа
• Многопользовательский режим работы
• Возможность доступа в систему с удаленных рабочих
мест, на различных платформах, через Интернет
При этом обеспечивается:
• Сбор запросов
• Хранение запросов в базе данных
• Анализ запросов
• Принятие решения
• Исполнение запросов
• Контроль выполнения
• Закрытие
Процесс управления запросами наПроцесс управления запросами на
измененияизменения
42. www.cmcons.com
Типы запросов на измененияТипы запросов на изменения
Основное понятие ClearQuest – запрос на
изменение (ЗИ). Все ЗИ следуют
формально утвержденной процедуре при
прохождении. Каждый ЗИ имеет набор
атрибутов, размещенных на экранной
форме
Задача
Дефект
Поручение
Запрос на расширение
Проект
***
49. www.cmcons.com
Отчетность вОтчетность в ClearQuestClearQuest
Время жизни запроса в днях. До одного, 1-2 дня и более двух дней. Отчет позволяет отслеживать
эффективность реакции исполнителей на разных этапах исполнения
50. www.cmcons.com
Отличительные характеристикиОтличительные характеристики IBM Rational ClearQuestIBM Rational ClearQuest
Встроенные возможности расширения и доработки
(гибкая настройка и адаптация)
Мультиплатформенность
Независимость от используемой СУБД
Возможность сопряжения с любыми средствами
управления (имеющимися Системами)
Удаленный доступ для работы и контроля
Невысокая стоимость поддержки
Мгновенный перевод всех Клиентских мест на
новую версию Системы
52. www.cmcons.com
IBM Rational ClearCase + ClearQues
IBM Rational ClearCase MultiSit
IBM Rational ClearCase
ВыводыВыводы
Поддержка параллельной разработки
Разметка всех материалов проекта на определенный момент
времени и фиксация их в виде версии/релиза системы
Точное определение исходных данных для собранного
исполняемого файла
Обеспечение синхронизации данных географически удаленных
рабочих групп
Автоматизация выборки рабочих материалов в зависимости от
ролевой функции
Учет изменений, реализованных в версиях и релизах ИС
Привязка сделанных изменений к заданиям
ClearCase - мощное средство версионного контроля, позволяющее решать задачу взаимодействия одной и более команд при работе над одними проектами любого масштаба.
Поддержка режима параллельной разработки позволяет работать одновременно над исправлением ошибок и продолжать разработку новых версий, в том числе и одновременно под разные платформы.
Сделанные изменения сливаются в единый файл с помощью удобного инструмента, облегчающего пользователю выбор изменений и сравнение сливаемых версий кода.