Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Разработка программного обеспечения: управление изменениями

Покупка
Артикул: 134169.03.99
Доступ онлайн
399 ₽
В корзину
Эта книга об инженерной дисциплине, которая называется управлением конфигурацией программного обеспечения (software configuration management — SCM), а также о широко используемом продукте SCM — ClearCase, который автоматизирует и поддерживает практическое применение SCM посредством модели, называемой унифицированным управлением изменениями (Unified Change Management — UCM). Настоящая книга раскрывает базовые концепции, типичные проблемы SCM, возникающие по мере роста и усложнения программных систем, а также способы применения инструментов и процессов SCM для решения этих проблем. Также обсуждаются расширенные темы SCM, включая управление географически разделенными командами разработчиков, и сочетания SCM с управлением запросами на изменение (или отслеживанием дефектов).
Белладжио, Д. Разработка программного обеспечения: управление изменениями : практическое руководство / Д. Белладжио, Т. Миллиган ; пер. с англ. Н. А. Мухина. — 2-е изд. - Москва : ДМК Пресс, 2023. - 385 с. - ISBN 978-5-89818-614-2. - Текст : электронный. - URL: https://znanium.com/catalog/product/2108492 (дата обращения: 28.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Äýâèä Áåëëàäæèî, Òîì Ìèëëèãàí

Разработка программного обеспечения:
управление изменениями
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 призван выполнять свои функции, будучи насколько возможно, прозрачным. Такой инструмент
должен максимально повысить ваши возможности по внесению изменений в программное обеспечение. Плохие инструменты и плохо спроектированные процес
Доступ онлайн
399 ₽
В корзину