Разработка программного обеспечения: управление изменениями
Покупка
Тематика:
Прикладное программное обеспечение
Издательство:
ДМК Пресс
Перевод:
Мухин Н. А.
Год издания: 2023
Кол-во страниц: 385
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-89818-614-2
Артикул: 134169.03.99
Доступ онлайн
В корзину
Эта книга об инженерной дисциплине, которая называется управлением конфигурацией программного обеспечения (software configuration management — SCM), а также о широко используемом продукте SCM — ClearCase, который автоматизирует и поддерживает практическое применение SCM посредством модели, называемой унифицированным управлением изменениями (Unified Change Management — UCM).
Настоящая книга раскрывает базовые концепции, типичные проблемы SCM, возникающие по мере роста и усложнения программных систем, а также способы применения инструментов и процессов SCM для решения этих проблем. Также обсуждаются расширенные темы SCM, включая управление географически разделенными командами разработчиков, и сочетания SCM с управлением запросами на изменение (или отслеживанием дефектов).
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
Äýâèä Áåëëàäæèî, Òîì Ìèëëèãàí Разработка программного обеспечения: управление изменениями
David E. Bellagio, Tom J. Milligan Software Configuration Management and IBM Rational ClearCase A Practical Introduction Second Edition ÛÛïï
Москва, 2023 Äýâèä Áåëëàäæèî, Òîì Ìèëëèãàí Разработка программного обеспечения: управление изменениями 2-е издание, электронное
УДК 004.4 ББК 32.973.26-018.2 Б43 Б43 Белладжио, Дэвид. Разработка программного обеспечения: управление изменениями / Д. Бел- ладжио, Т. Миллиган ; пер. с англ. Н. А. Мухина. — 2-е изд., эл. — 1 файл pdf : 385 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-614-2 Эта книга об инженерной дисциплине, которая называется управлением конфигурацией программного обеспечения (software configuration management — SCM), а также о широко используемом продукте SCM — ClearCase, который автоматизирует и поддерживает практическое применение SCM посредством модели, называемой унифицированным управлением изменениями (Unified Change Management — UCM). Настоящая книга раскрывает базовые концепции, типичные проблемы SCM, возникающие по мере роста и усложнения программных систем, а также способы применения инструментов и процессов SCM для решения этих проблем. Также обсуждаются расширенные темы SCM, включая управление географически разделенными командами разработчиков, и сочетания SCM с управлением запросами на изменение (или отслеживанием дефектов). УДК 004.4 ББК 32.973.26-018.2 Электронное издание на основе печатного издания: Разработка программного обеспечения: управление изменениями / Д. Белладжио, Т. Миллиган ; пер. с англ. Н. А. Мухина. — Москва : ДМК Пресс, 2016. — 384 с. — ISBN 978-5-97060-341-3. — Текст : непосредственный. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-614-2 © by International Business Machines Corporation. © Перевод на русский язык, оформление, издание, ДМК Пресс
Содержание Благодарности ........................................................................... 15 Похвалы второй редакции SCM и IBM® Rational® ClearCase®: Практическое представление......................... 16 Об авторах................................................................................... 17 Дэвид Белладжио (David E. Bellagio) .......................................... 17 Том Миллиган (Tom J. Milligan) ................................................... 17 Предисловие ко второму изданию ........................................ 19 О чем эта книга ............................................................................. 19 Что необходимо знать, прежде чем приступить к чтению этой книги ..................................................................................... 20 Кто вы и почему вам нужно прочесть эту книгу ......................... 20 Для разработчика программного обеспечения........................ 20 Для менеджера программного проекта или технического руководителя ........................................................................... 21 Для специалиста по инструментальным средствам ................. 21 Для тех, кто оценивает возможности ClearCase....................... 21 Для опытных пользователей ClearCase .................................... 22 Как организована эта книга ........................................................ 22 Используемые соглашения ......................................................... 24 Команды и примечания, предупреждения и подсказки............ 24 Формат диаграмм UML ............................................................ 25 Глава 1 Что такое управление конфигурацией программного обеспечения? .................................................. 27 1.1 Практика применения SCM .................................................. 29 1.1.1 Идентификация и хранение рабочих продуктов в защищенном репозитории ......................................... 30
Разработка программного обеспечения: управление изменениями 1.1.2 Контроль и аудит изменений рабочих продуктов .......... 31 1.1.3 Организация версий рабочих продуктов в версии компонентов ................................................... 31 1.1.4 Организация версий компонентов и подсистем в новые версии подсистем ............................................ 33 1.1.5 Создание базовых линий в контрольных точках проекта ......................................................................... 33 1.1.6 Запись и отслеживание запросов на изменение ........... 35 1.1.7 Организация и интеграция согласованных наборов версий посредством видов деятельности ..................... 35 1.1.8 Сопровождение стабильных и согласованных рабочих пространств .................................................... 38 1.1.9 Поддержка параллельных изменений в рабочих продуктах и компонентах .............................................. 38 1.1.10 Раннее начало интеграции системы и частое ее повторение ............................................................... 39 1.1.11 Обеспечение воспроизводимости сборок программного обеспечения .......................................... 40 1.2 Инструменты SCM и процесс SCM ...................................... 40 1.2.1 Инструменты SCM ........................................................ 40 1.2.2 Процесс SCM ................................................................ 41 1.3 Итоги .............................................................................. 41 Глава 2 Применение решений SCM ..................................................... 42 2.1 Как справиться с изменениями требований в проекте ..... 42 2.1.1 Возрастание сложности разрабатываемой программной системы .................................................. 44 2.1.2 Возрастание сложности среды разработки проекта ..... 46 2.1.3 Изменение фазы жизненного цикла.............................. 47 2.1.4 Изменение процессов и персонала .............................. 48 2.2 Эволюция инструментов SCM.............................................. 50 2.2.1 Пять категорий проектных команд ................................ 52 2.2.2 Что делать при отсутствии инструментов SCM ............. 54 2.2.3 Ранняя поддержка инструментов SCM.......................... 59 2.2.4 Поддержка современных инструментов SCM ............... 65 2.2.5 Расширенная поддержка инструментов SCM ............... 75 2.3 Итоги ....................................................................................... 77
Содержание Глава 3 Обзор модели унифицированного управления изменениями (UCM).................................................................. 78 3.1 Что такое UCM? ..................................................................... 78 3.2 Значение UCM ....................................................................... 79 3.2.1 Абстракция ................................................................... 80 3.2.2 Стабильность ................................................................ 80 3.2.3 Контроль ....................................................................... 81 3.2.4 Коммуникации .............................................................. 81 3.3 Что такое ClearCase? ............................................................. 82 3.3.1 Модель UCM ClearCase ................................................. 82 3.3.2 Модель UCM «Базовая линия + Изменение» ................. 83 3.4 Что такое ClearQuest? ........................................................... 86 3.5 Обзор процесса UCM ClearCase .......................................... 86 3.5.1 Архитектор .................................................................... 88 3.5.2 Менеджер по управлению конфигурацией.................... 88 3.5.3 Менеджер проекта ........................................................ 88 3.5.4 Разработчик .................................................................. 89 3.5.5 Интегратор ................................................................... 89 3.6 Архитектор: определение модели реализации .................. 89 3.6.1 Компоненты ClearCase .................................................. 91 3.6.2 Компоненты в унифицированном языке моделирования .. 92 3.7 Менеджер по управлению конфигурацией: настройка среды SCM ........................................................... 93 3.8 Менеджер проекта: управление проектом ......................... 94 3.9 Разработчик: подключение к проекту и разработка .......... 96 3.10 Интегратор: интеграция, сборка и выпуск версии............ 98 3.10.1 Выпуск компонента ....................................................... 98 3.10.2 Интеграция системы ..................................................... 99 3.10.3 Выпуск систем и подсистем .......................................... 99 3.11 Итоги ................................................................................... 100 Глава 4 Функциональный обзор объектов ClearCase..................... 101 4.1 Репозиторий: база версионных объектов......................... 101 4.2 Рабочие пространства: снимки и динамические представления ..................................................................... 103
Разработка программного обеспечения: управление изменениями 4.2.1 Представленияснимки............................................... 104 4.2.2 Webпредставления .................................................... 106 4.2.3 Динамические представления .................................... 106 4.2.4 Различия между снимками и динамическими представлениями........................................................ 109 4.3 Управление проектами: проекты, потоки и деятельности .................................................................... 110 4.3.1 Проекты ...................................................................... 110 4.3.2 Потоки ........................................................................ 111 4.3.3 Деятельности .............................................................. 116 4.4 Версионные объекты: элементы, ветви и версии ............ 119 4.4.1 Версионность директориев ........................................ 121 4.4.2 Типы элементов .......................................................... 122 4.5 Управление компонентами: компоненты и базовые линии .................................................................................... 124 4.5.1 Компоненты ................................................................ 124 4.5.2 Базовые линии ............................................................ 124 4.6 Процессы: метки, атрибуты, гиперссылки, триггеры ...... 130 4.6.1 Метки .......................................................................... 130 4.6.2 Атрибуты ..................................................................... 131 4.6.3 Гиперссылки ............................................................... 131 4.6.4 Триггеры ..................................................................... 132 4.6.5 Создание и управление типами .................................. 132 4.7 Сборка: Clearmake, порожденные объекты, конфигурационные записи ................................................. 133 4.7.1 Аудит сборок ............................................................... 134 4.7.2 Разделение объектов .................................................. 134 4.7.3 Параллельные и распределенные сборки ................... 135 4.7.4 Clearmake против классического Make ....................... 135 4.8 Итоги..................................................................................... 136 Глава 5 Установка начальной среды SCM ........................................ 137 5.1 Основы архитектуры ClearCase.......................................... 137 5.1.1 Сервер лицензий и сервер регистрации ..................... 138 5.1.2 Сервер VOB и сервер представлений ......................... 139 5.1.3 Сервер ALBD и клиентские процессы.......................... 141 5.1.4 Многоверсионная файловая система ......................... 142
Содержание 5.1.5 Пример аппаратной конфигурации ............................. 143 5.2 Требования ClearCase к аппаратным ресурсам ............... 145 5.2.1 Требования к памяти................................................... 147 5.2.2 Требования к дисковому вводу/выводу ...................... 148 5.2.3 Пропускная способность и надежность сети............... 148 5.2.4 Центральный процессор ............................................. 149 5.2.5 Прочие требования ..................................................... 149 5.2.6 Ограничения числа пользователей, VOB и представлений ......................................................... 152 5.2.7 Соображения о размере VOB ...................................... 152 5.3 Мониторинг и настройка производительности ClearCase .............................................................................. 153 5.3.1 Измерения на низшем уровне..................................... 156 5.3.2 Измерения на среднем уровне ................................... 157 5.3.3 Измерение на верхнем уровне .................................... 158 5.4 Определение модели реализации..................................... 159 5.5 Создание репозиториев VOB ............................................. 160 5.5.1 Создание PVOB в интерфейсе командной строки ....... 160 5.5.2 Создание PVOB в графическом интерфейсе пользователя .............................................................. 161 5.5.3 Использование VOB администратора ......................... 162 5.5.4 Использование более одного PVOB ............................ 164 5.5.5 Создание VOB’ов и компонентов в интерфейсе командной строки ....................................................... 164 5.5.6 Создание VOB’ов и компонентов в графическом интерфейсе пользователя .......................................... 166 5.5.7 Импорт существующего кода...................................... 168 5.6 Уровни продвижения базовых линий ................................ 169 5.7 Итоги..................................................................................... 171 Глава 6 Управление проектами в ClearCase .................................... 172 6.1 Что такое проект ClearCase? .............................................. 172 6.1.1 Кто проводит изменения? ........................................... 172 6.1.2 Что изменяется? ......................................................... 174 6.1.3 Как выполняются изменения? ..................................... 174 6.1.4 Как формируется и интегрируется поток изменений? ... 174 6.2 Создание проекта ClearCase .............................................. 175
Разработка программного обеспечения: управление изменениями 6.2.1 Идентификация менеджера проекта ........................... 175 6.2.2 Идентификация компонентов и базовых линий........... 176 6.2.3 Определение правил вашего проекта ......................... 176 6.2.4 Определение свойств вашего проекта UCM ............... 184 6.2.5 Выбор местонахождения вашего проекта ................... 190 6.2.6 Создание вашего проекта ........................................... 190 6.3 Итоги..................................................................................... 195 Глава 7 Управление и организация проектов ClearCase ............... 197 7.1 Координация множества параллельных версий .............. 197 7.1.1 Проектдоработка ....................................................... 198 7.1.2 Проект главной линии ................................................. 198 7.1.3 Завершение проекта................................................... 199 7.1.4 Создание проекта ....................................................... 200 7.1.5 Множественные параллельные проекты ..................... 201 7.2 Организация масштабной многопроектной разработки .... 202 7.2.1 Архитектурно ориентированные команды разработчиков ............................................................ 202 7.2.2 Функционально ориентированные команды разработчиков ............................................................ 206 7.3 Координация взаимодействующих проектов: независимые компоненты .................................................. 208 7.3.1 Создание проекта ....................................................... 208 7.3.2 Планирование итераций ............................................. 208 7.3.3 Интеграция ................................................................. 210 7.4 Координация взаимодействующих проектов: совместно используемые компоненты ............................. 211 7.4.1 Создание проекта ....................................................... 211 7.4.2 Планирование итераций ............................................. 212 7.4.3 Интеграция ................................................................. 213 7.5 Координация проектов разработки IT/IS .......................... 213 7.5.1 Выбор функций, над которыми нужно работать .......... 216 7.5.2 Реализация процесса утверждения ............................ 216 7.5.3 Срочное исправление ошибок .................................... 217 7.5.4 Планирование главной версии.................................... 217 7.6 Координация проектов документации или малых команд.... 218 7.6.1 Создание проекта ....................................................... 219 7.6.2 Подключение к проекту ............................................... 220
Содержание 7.6.3 Доставка изменений ................................................... 220 7.6.4 Обновление рабочего пространства ........................... 221 7.6.5 Создание базовых линий ............................................ 221 7.7 Итоги..................................................................................... 221 Глава 8 Разработка с применением модели UCM ClearCase ....... 222 8.1 Взгляд разработчика на UCM ............................................. 222 8.2 Работа с проектом............................................................... 223 8.3 Внесение изменений .......................................................... 227 8.3.1 Работа с деятельностями ............................................ 227 8.3.2 Модификация файлов и директориев ......................... 229 8.3.3 Работа из командной строки ....................................... 231 8.4 Доставка изменений в проект ............................................ 232 8.4.1 Checkin всех элементов, полученных checkout ......... 232 8.4.2 Смена базы от последних рекомендованных базовых линий проекта ............................................... 234 8.4.3 Запуск команды ClearCase Deliver ............................... 234 8.4.4 Сборка и тестирование доставки ................................ 236 8.4.5 Завершение или отмена доставки .............................. 237 8.5 Смена базы потока разработки ......................................... 237 8.5.1 Запуск операции Rebase ............................................. 238 8.5.2 Сборка и тестирование ............................................... 239 8.5.3 Завершение или отмена смены базы .......................... 240 8.6 Обработка конфликтующих изменений ............................ 240 8.6.1 Сценарий доставки 1 (конфликтов нет)....................... 240 8.6.2 Сценарий доставки 2 (конфликтов нет)....................... 241 8.6.3 Сценарий доставки 3 (с конфликтами) ........................ 241 8.6.4 Сценарий смены базы 1 (без конфликтов) .................. 242 8.6.5 Сценарий смены базы 2 (с конфликтами) ................... 243 8.6.6 Инструменты слияния ClearCase................................. 243 8.7 Бесшовная интеграция в IDE разработчика ...................... 245 8.8 Итоги..................................................................................... 247 Глава 9 Интеграция................................................................................ 250 9.1 Интеграция программного обеспечения .......................... 251 9.1.1 Интеграция слиянием ................................................. 251
Разработка программного обеспечения: управление изменениями 9.1.2 Интеграция сборкой ................................................... 251 9.1.3 Сценарии интеграции для команд разного размера ... 252 9.2 Изоляция и интеграция с ClearCase .................................. 254 9.2.1 Разделяемое представление: никакой изоляции ........ 256 9.2.2 Разработка «ветвь/ПОСЛЕДНЯЯ»: максимизация интеграции ................................................................. 257 9.2.3 Применение ветвей для изоляции и интеграции ......... 261 9.2.4 Интеграция с UCM ...................................................... 265 9.3 Итоги..................................................................................... 279 Глава 10 Построение, создание базовых линий и развертывание версий........................................................ 280 10.1 Создание базовых линий и сборка с UCM ....................... 281 10.1.1 Блокировка потока интеграции ................................... 282 10.1.2 Создание базовых линий программных компонентов.... 283 10.1.3 Сборка программных компонентов............................. 286 10.1.4 Выполнение поверхностных тестов ............................ 287 10.1.5 Использование стабилизационных сборочных потоков ....................................................................... 287 10.1.6 Продвижение и рекомендация базовых линий программных компонентов ......................................... 288 10.1.7 Разблокирование потока интеграции ......................... 292 10.1.8 Автоматизация ночного процесса сборки ................... 293 10.2 Установка, развертывание и выпуск ................................ 293 10.2.1 Устанавливаемые компоненты.................................... 295 10.2.2 Применение сборочного проекта для развертывания версий ......................................... 295 10.2.3 Моделирование стадий развертывания версии с помощью потоков ..................................................... 297 10.2.4 Роль ClearQuest в развертывании ............................... 298 10.3 Итоги ................................................................................... 305 Глава 11 Географически распределенная разработка ................... 306 11.1 Проблемы распределенной разработки.......................... 307 11.1.1 Организация ............................................................... 307
Содержание 11.1.2 Коммуникации ............................................................ 308 11.1.3 Технология .................................................................. 308 11.2 Как ClearCase поддерживает распределенную разработку ........................................................................... 311 11.2.1 Удаленный терминальный, или настольный, доступ ... 311 11.2.2 Удаленный клиентский доступ .................................... 312 11.2.3 Webдоступ ................................................................. 313 11.2.4 Автономная работа ..................................................... 314 11.2.5 Локальный доступ ....................................................... 314 11.2.6 Что такое ClearCase Remote Client (CCRC)? ................ 315 11.2.7 Что такое ClearCase MultiSite? ..................................... 317 11.2.8 Что такое ClearQuest MultiSite?.................................... 319 11.2.9 Совместное использование ClearCase MultiSite и ClearQuest MultiSite .................................................. 321 11.3 Множество команд: сценарий «поставщик/потребитель» .................................................. 323 11.3.1 Поддержка команд поставщиков/потребителей ......... 326 11.3.2 Как UCM поддерживает модель «Поставщик/потребитель» .......................................... 326 11.3.3 Как базовый ClearCase поддерживает модель «Поставщик/потребитель» .......................................... 327 11.3.4 Итоги о модели «поставщик/потребитель» ................. 329 11.4 Множество команд: cценарий с совместно используемым кодом .......................................................... 329 11.4.1 Как UCM поддерживает разделяемый исходный код .. 332 11.4.2 Как базовый ClearCase поддерживает разделяемый исходный код .............................................................. 333 11.4.3 Итоги по разделяемому коду ...................................... 334 11.5 Единая команда: сценарий с распределенными членами .. 334 11.5.1 Как модель UCM поддерживает локальный доступ ..... 335 11.5.2 Как базовый ClearCase поддерживает локальное использование ............................................................ 336 11.5.3 Ветвление по деятельности ........................................ 339 11.5.4 Единая команда: итоги по работе с распределенными членами ...................................................................... 341 11.6 Другие применения ClearCase MultiSite........................... 341 11.6.1 MultiSite для резервного копирования ........................ 341 11.6.2 MultiSite для доставки ................................................. 341 11.6.3 MultiSite для межплатформенного взаимодействия.... 342 11.7 Итоги ................................................................................... 342
Разработка программного обеспечения: управление изменениями Глава 12 Управление запросами на изменение и ClearQuest ........ 343 12.1 Что такое управление запросами на изменение?........... 343 12.2 Что такое запросы на изменение? ................................... 344 12.3 Процесс управления запросами на изменение .............. 345 12.3.1 Регистрация................................................................ 346 12.3.2 Оценка ........................................................................ 346 12.3.3 Решение ..................................................................... 347 12.3.4 Реализация ................................................................. 348 12.3.5 Верификация .............................................................. 348 12.3.6 Завершение ................................................................ 349 12.4 Что такое ClearQuest? ........................................................ 349 12.5 Как использовать данные ClearQuest? ............................. 351 12.5.1 Запросы ...................................................................... 353 12.5.2 Отчеты ........................................................................ 354 12.5.3 Графики ...................................................................... 356 12.6 Как ClearQuest поддерживает UCM .................................. 359 12.7 ClearQuest MultiSite ............................................................ 361 12.8 Итоги ................................................................................... 361 Приложение A Повторное проведение и отмена наборов изменений с UCM .................................................................... 363 A.1 Нахождение скрипта ........................................................... 363 A.2 Ограничьте применение скрипта только от имени роли Integrator ............................................................................... 364 A.3 Интерфейс скрипта ............................................................. 364 A.4 В чем его польза? ................................................................ 364 A.5 Повторное проведение деятельности в другом потоке... 365 В чем его польза? .................................................................. 365 A.6 Отмена доставки или деятельности .................................. 367 Глоссарий.................................................................................. 368 Список литературы .................................................................... 382
Благодарности Прежде всего авторы этого второго издания хотели бы поблагодарить Брайана Уайта (Brian White), который выполнил большую работу в процессе подготовки первого издания этой книги и который также внес значительный вклад в подготовку второго издания. Мы выражаем благодарности множеству коллег и наших заказчиков, которые в течение ряда времени помогали нам достичь более ясного понимания принципов SCM, функционирования продуктов, а также того, что могут стратегии SCM и чего они не могут. Среди них в наибольшей степени заслуживают упоминания: Ральф Капассо (Ralph Capasso), Стеф Шурман (Stef Schurman), Райан Саппенфилд (Ryan Sappenfield), Роб Будас (Rob Budas), Гарри Абади (Harri Abady), Питер Хак (Peter Hack) и Джордж Моберли (George Moberly). Наши многострадальные и терпеливые редакторы из AddisonWesley, – Мэри О’Брайен (Mary O’Brien) и Крис Зан (Chris Zahn), – также заслуживают множества благодарностей. Еще мы хотим сказать спасибо нашим семьям за то, что им пришлось выдержать в процессе нашей работы. Те люди, которые здорово помогли нам с ClearCase, также достойны благодарности: Скотт Элменхарст (Scott Elmenhurst), Денис ЛеБланк (Denis LeBlanc), Джон Лири (John Leary), Давид Кроуфорд (David Crawford), Марша Шенан (Marsha Shehan) и Дуг Фиерро (Doug Fierro). Большая часть нового материала в этом новом издании является изложением опыта групп поддержки пользователей Rational, использующих ClearCase и UCM. Некоторых из этих ребят мы хотим поблагодарить за их усилия по выявлению стратегий, в наилучшей мере удовлетворяющих нужды крупнейших заказчиков: это Самит Мехта (Samit Mehta), Майк Неллис (Mike Nellis), Ана Джиордано (Ana Giordano), Катрик Канакасабесан (Katrik Kanakasabesan), Дэниел Дайболт (Daniel Diebolt), Дженни Браун (Jennie Brown) и Брайан Миллер (Bryan Miller). Особой благодарности заслуживают люди, которые нашли время для рецензирования этой книги и представили нам свои комментарии, которые позволили улучшить текст: Адам Левенсон (Adam Levensohn), Брэд Эпплтон (Brad Appleton), Дэррил Хан (Darryl Hahn), Деннис Браун (Dennis Brown), Дженни Браун (Jennie Brown), Джим Тикал (Jim Tykal) и Роджер Джаррет (Roger Jarrett). И, наконец, мы выражаем благодарность всем сотрудникам IBM Rational Software, которые прилагают усилия для продвижения вперед ClearCase и UCM. Отличная работа!
Разработка программного обеспечения: управление изменениями Похвалы второй редакции SCM и IBM® Rational® ClearCase®: Практическое представление «Я писал, что первое издание этой книги «соединяет в себе большую часть опыта, мудрости и понимания, которые были приобретены в процессе практического применения SCM, а также ее реализации и развертывания». Второе издание еще более наполнено практическим опытом! Оно не только уточняет и расширяет предыдущий опыт стратегии и практики, но также включает еще более конкретную информацию относительно реализации и развертывания». – Брэд Апплтон (Brad Appleton), соавтор «Software Configuration Management Patterns: Effective Teamwork, Practical Integration» «Прочтите эту книгу, когда вы начинаете изучать управление конфигурацией (CM); прочтите ее шесть месяцев спустя, а потом еще раз – через два года. «Стратегии управления конфигурацией программного обеспечения и IBM Rational ClearCase» выходит за пределы базового описания предмета и представляет последовательный обзор стратегий CM в применении к проектам любого размера и сложности». – Дженни Браун (Jennie Brown), специалист по CM корпорации IBM «Эта книга посвящена теме практического управления конфигурацией программного обеспечения (SCM), ClearCase UCM и его применения проектными группами. Каждый руководитель проекта и специалист SCM должен (пере)читать эту книгу перед началом работы на проектом». – Роджер Джарретт (Roger Jarrett), ведущий разработчик IBM Rational Software «Второе издание охватывает наиболее важные средства и концепции унифицированного управления изменениями (UCM). Оно доносит до читателя описание полного цикла применения всего набора средств UCM, тем самым закладывая фундамент успешной реализации UCM; Белладжио и Миллиган продолжают с того, чем завершалось первое издание. Включение понятий составной базовой линии, единого потока разработки, настройки производительности, а также других средств и понятий делают это издание основой любой новой или старой реализации UCM. Редко бывает так, что второе издание книги представляет такой же интерес, как и первое. Настоящая публикация именно такова… она продолжает оставаться эталоном для пользователей, интересующихся развертыванием UCM». – Адам Левенсон (Adam Levensohn), менеджер IBM Rational Software
Об авторах Дэвид Белладжио (David E. Bellagio) Дэвид занимается разработкой ПО последние 25 лет, – с тех пор, как увлекся этим еще в высшей школе. После того как он осознал, что ему не суждено стать профессиональным игроком в бейсбол, он получил степени Бакалавра и Магистра компьютерных наук с отличием в университете Chico State University, Калифорния. Ранее Дэвид работал в CSC, Tandem Computers, ADP и HP. Впервые он познакомился с ClearCase в 1994 г., и потратил следующие четыре года на внедрение ClearCase у многих разработчиков, работая на ADP и HP. В 1998 г. он поступил в Rational Software в качестве технического представителя в Pacific Northwest. В настоящее время Дэвид является лидером Сообщества практиков Enterprise Change Management в IBM Rational Software. Он работает с заказчиками и командами IBM над успешным развертыванием и адаптацией решений Rational SCM, а также проводит семинары и курсы для специалистов, нацеленные на совершенствование организации разработки программного обеспечения и удовлетворение нужд заказчиков. Кроме того, он работает на местах с заказчиками по всему миру, помогая им управлять успешным развертыванием решений на базе программного обеспечения Rational. Дэвид представлял следующие темы на конференциях пользователей Rational: 1995: «Построение программного обеспечения с Clearmake на хостах, не оснащенных ClearCase» 1996: «ClearAdmin – Набор скриптов и процессов администрирования сайтов ClearCase» 2004: «Стратегии потока UCM и передовой опыт» Дэвид также руководил рабочими семинарами UCM на конференциях пользователей Rational в 2003 и 2004 гг. В настоящее время Дэвид живет в Вашингтоне вместе со своей очаровательной женой и тремя детьми. Когда позволяет время, он также любит заниматься пивоварением и готовит замечательный эль и мед. К нему можно обратиться по электронной почте dbellagio@us.ibm.com. Том Миллиган (Tom J. Milligan) Том Миллиган – ведущий специалист по техническому маркетингу SCM в команде технического маркетинга программного обеспечения IBM Rational. Ранее работал в Rational Software’s Western Region Consulting Organization.
Разработка программного обеспечения: управление изменениями До прихода в Atria Software в 1995 г. работал в Electronic Design Automation, занимался вопросами качества программного обеспечения, инструментальными средствами и разработкой программного обеспечения встроенных систем. Том получил степень бакалавра с отличием в области компьютерных наук в университете Орегона в 1978 г. Несколько раз Том выступал на конференциях пользователей Rational со следующими докладами: 1997: «Интеграция ClearCase NT с приложениями от независимых разработчиков» (в частности, речь шла об интеграции ClearCase с Microsoft Word) 1999: «Интеграция Requisite Pro и DDT» 2001: «Применение Perl с библиотекой ClearCase Automation (CAL)» 2003: «Анализ производительности ClearCase, его мониторинг и настройка» 2004: «Основы качественного управления конфигурацией программного обеспечения, анализ производительности ClearCase, его мониторинг и настройка» Том имеет ряд опубликованных статей в журналах: The Rational Edge Ноябрь 2001: «Применение Perl с библиотекой ClearCase Automation (CAL)» Сентябрь 2002: «Применение Perl с программным интерфейсом Rational ClearQuest» Июль 2003: «Анализ производительности ClearCase, его мониторинг и настройка» (часть 1) Сентябрь 2003: «Анализ производительности ClearCase, его мониторинг и настройка» (часть 2) Websphere Advisor Июль/Август 2003: «Семь атрибутов высокоэффективных систем SCM» Rational Development Network «Шпаргалка ClearCase» Кроме того, Том выступал с программной речью в 2003 г. на конференции Ассоциации управления конфигурацией и данными (ACDM). Том живет на побережье центральной Калифорнии вместе со своей прекрасной женой и тремя детьми. В свободное время он любит играть в игру Ultimate (также называемую Ultimate Frisbee), наблюдать, как его дети играют в волейбол и футбол, а также часто допоздна засиживается за своим телескопом. К нему можно обратиться по электронной почте tmilligan@us.ibm.com.
Предисловие ко второму изданию Добро пожаловать во вторую редакцию «Стратегий управления конфигурацией программного обеспечения и IBM Rational ClearCase»! Мы обновили первую редакцию, чтобы расширить часть, касающуюся стратегии, и отразить эволюцию IBM Rational ClearCase. О чем эта книга Эта книга об инженерной дисциплине, которая называется управлением конфигурацией программного обеспечения (software configuration management – SCM), а также о широко используемом продукте SCM – ClearCase, который автоматизирует и поддерживает практическое применение SCM посредством модели, называемой унифицированным управлением изменениями (Unified Change Management – UCM). Настоящая книга раскрывает базовые концепции, типичные проблемы SCM, возникающие по мере роста и усложнения программных систем, а также способы применения инструментов и процессов SCM для решения этих проблем. Также обсуждаются расширенные темы SCM, включая управление географически разделенными командами разработчиков, и сочетания SCM с управлением запросами на изменение (или отслеживанием дефектов). Большая часть материала в первой редакции этой книги была посвящена вопросам, возникающим в проектах разработки программного обеспечения, и тому, как инструменты SCM позволяют с ними справляться. Материал первой редакции в основном остался без изменений, а в некоторых случаях был несколько расширен, – просто потому, что представляет фундаментальные истины о разработке программного обеспечения, которые вряд ли изменятся до тех пор, пока люди участвуют в этом процессе. Второе издание книги расширено по сравнению с первым за счет добавления описания тех средств ClearCase, которые появились после выхода в свет первого издания, в частности удаленного клиента ClearCase, UCMориентированных однопоточных проектов, полной поддержки неограниченной иерархии потоков «родитель/потомок», композитных базовых линий, расширенных и более гибких настроек политики UCM. Более того, мы добавили дополнительное обсуждение ClearQuest и нового продукта ClearQuest MultiSite. UCM значительно эволюционировал со времени выхода в свет первого издания, и многие дополнения этой редакции отражают наш опыт оказания помощи клиентам в адаптации и достижении успеха в применении ClearCase и UCM в их средах.
Разработка программного обеспечения: управление изменениями Помимо функциональных расширений ClearCase и ClearQuest, мы также включили сюда дискуссию о мониторинге и настройке производительности ClearCase, а также о моделях использования UCM, которые доказали свою эффективность за время, прошедшее после публикации первого издания. Мы уверены, что дополнительная информация, которая включена во второе издание, существенно поможет читателю в освоении среды UCM и пониманию возможностей поддерживаемых моделей разработки UCM, которые доказали свою работоспособность. Эта книга основана на опыте, накопленном авторами во время работы с некоторыми замечательными людьми в области SCM за последние 15 лет. Прочитав ее, вы получите более четкое представление о проблемах управления конфигурацией программного обеспечения, станете лучше понимать, какие проблемы разработки ПО можно решать с помощью инструментов и приемов SCM и как применять для их решения ClearCase, удовлетворяя требования SCM. Авторы искренне надеются, что вам понравится эта книга и вы найдете ее полезной. Что необходимо знать, прежде чем приступить к чтению этой книги Ключом к успеху является понимание SCM, требований к вашему программному проекту и тому, как следует применять инструменты SCM для их удовлетворения. Если вы – новичок в управлении конфигурацией ПО, то эта книга станет для вас хорошей отправной точкой. Но максимальную отдачу от нее вы почувствуете в том случае, если уже имеете некоторый опыт в области SCM и уже использовали в своей работе некоторые базовые инструментальные средства контроля версий. Эта книга предполагает, что вы уже знакомы с процессом разработки программного обеспечения. Также она будет полезна, если в процессе чтения вы будете держать в сознании некоторый конкретный проект разработки. Кто вы и почему вам нужно прочесть эту книгу Эта книга не рассказывает о деталях написания триггеров ClearCase и разработке скриптов доморощенной интеграции с унаследованными инструментами; вместо этого она даст вам высокоуровневое представление о некоторых общих сценариях SCM и применении в них ClearCase. Если вы впервые имеете дело с SCM или ClearCase, читайте ее от корки до корки. Если же вы имеете опыт работы с ClearCase и четкое понимание основ SCM, то просмотрите содержание и отметьте те главы и разделы, которые представляют интерес для вас лично. Для разработчика программного обеспечения Самое главное, что может сделать инструмент SCM для разработчика программного обеспечения, – это остаться незаметным. Инструмент SCM призван выполнять свои функции, будучи насколько возможно, прозрачным. Такой инструмент должен максимально повысить ваши возможности по внесению изменений в программное обеспечение. Плохие инструменты и плохо спроектированные процес
Доступ онлайн
В корзину