1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /140, 1996 г./ | Бонус | Поиск  

Продукты

Командный дух PVCS

Александр Гершойг


© 2004, Еженедельник «Компьютерра» | http://www.computerra.ru/offline
Этого материала на сайте "Компьютерры", к сожалению, нет

Несмотря на очевидные преимущества коллективной разработки по сравнению с индивидуальной – значительное сокращение временных и материальных затрат, групповая работа тем не менее может привести к крупным неприятностям. Потеря модификаций исходного кода при одновременной работе с ним нескольких разработчиков, дублирующие или конфликтующие друг с другом копии модулей, некорректная сборка конечного продукта при наличии нескольких версий одного модуля – вот далеко не полный перечень проблем, возникающих в этой области.

За несколько десятков лет эволюции программы, поддерживающие процесс коллективной разработки других программ, превратились в так называемые системы управления конфигурацией ПО – Software Configuration Management (SCM). И сегодня, когда многие организации, ранее применявшие сети PC, стали переходить к архитектуре "клиент-сервер", значение SCM возрастает многократно.

Одним из популярных средств такого рода является пакет PVCS компании Intersolv (Роквилл, штат Мэри-лэнд, США). Сейчас он поддерживает 17 операционных систем, 45 инструментальных сред и любые типы объектов разработки.

PVCS Version Manager

Основу пакета PVCS составляют две утилиты – Version Manager и Tracker. Version Manager позволяет руководителю всегда иметь на своем столе полный отчет о текущем состоянии проекта и действиях всех членов команды и контролировать продвижение проекта по этапам (разработка, тестирование, коммерческое распространение). Администратор проекта получает возможность упорядочивать доступ разработчиков к файлам и папкам проекта для сборки той или иной версии приложения, точно определять версии входящего в нее файла, вести историю всех изменений. Наконец, сточки зрения разработчика, PVSC – это удобное средство обеспечивать откат к старому варианту файла в любой момент, надежно защищать свою работу от перезаписи другим программистом, автоматически вести параллельные версии одного и того же файла, сливать воедино параллельные версии и визуализировать их отличия.

Version Manager (VM) представляет собой архив проекта в виде иерархии папок с вложенными в них файлами, например, папка с исходными текстами, папка с файлами ресурсов, папка с главами документации и т. д. Один файл может одновременно присутствовать в нескольких папках, что очень удобно для группировки по различным признакам.

VM хранит в архиве последние варианты (втерминологии VM – "ревизии") файлов, а также списки отличий каждой предыдущей ревизии от последующей. Таким образом, доступна любая прошедшая ревизия. Вместе с ревизией VM автоматически записывает служебную информацию: данные о времени включения ее в архив, порядковый номер, имя разработчика, внесшего изменения, и т.д. Разработчик может присоединить к ревизии сообщение-памятку о том, что именно он изменил.

Разработчик взаимодействует с Version Manager по классическому сценарию, привычному со времен систем SCCS, RCS и др.:

 – извлечение файла или целой папки из архива в личную рабочую директорию (check out);

 – внесение изменений;

 – запись новых ревизий файлов в архив (check in).

Обычно все эти операции доступны непосредственно из среды разработки. Если один и тот же файл одновременно редактируют два разработчика, VM позволяет им работать параллельно (ветвление ревизии), а затем сводить исправления в единый файл.

Некоторые внутренние события VM (скажем, передача файла с этапа разработки на этап тестирования) могут инициализировать внешнее приложение – например, PVCS Configuration Builder или компилятор.

PVCS Tracker

PVCS Tracker (TR) помогает менеджерам проекта следить за его ходом и предпринимать корректирующие действия. TR применяется как при ведении разработок, так и при сопровождении продуктов. Он позволяет управлять решением проблем, таких как обнаружение клиентом ошибок в ПО, затягивание сроков разработки, неправильная расстановка людей или приоритетов и т. п., выполняя три функции:

- сбор данных и анализ статистики по проблемам,включая создание соответствующих отчетов;

- оперативное управление процессом решения проблем,

 – тематический обмен информацией при решении проблемы группой, включая поддержку телекоммуникаций (WAN).

 

Для реализации перечисленных функций TR ведет специализированную базу данных, хранящую записи о выявленных ошибках (кто обнаружил ошибку, кто автор содержащего ее модуля, степень тяжести ошибки, контекст возникновения, связанные с нею файлы, их местонахождение в архиве Version Manager, действия по исправлению, текущее состояние и т.п ), а также записи о времени, затраченном на ту или иную работу. Последняя версия TR поддерживает Oracle, MS SQL Server и Sybase, что позволяет менеджерам иметь полный доступ к базе данных наравне с доступом к бухгалтерской и торговой информации.

Обратимся к рабочему циклу TR Менеджер заносит информацию об обнаруженной ошибке или другой проблеме в БД с одновременным (возможно автоматическим) оповещением всех заинтересованных лиц и пересылкой им необходимых материалов (например, файлов, связанных с ошибкой). По мере установления авторства ошибки, определения модуля, в котором она возникла, исправления его и передачи на тестирование происходит регистрация каждого из этих событий в БД, и ошибка перемещается из входного лотка (in tray) в группу обрабатываемых (in process), а затем и исправленных (corrected) ошибок.

На всех этапах менеджеры, осуществляя запросы к базе данных о ходе исправления ошибки, связанных с ней материалах, времени, затраченном на каждом этапе, а также о накопленной статистике, получают графические и табличные отчеты (имеется 15 предустановленных запросов и отчетов с возможностью создания новых), по результатам которых могут быть предприняты оперативные действия. Накопленные в БДдан-ные используются при разработке последующих версий ПО, а также для принятия стратегических решений.

PVCS Tracker и Version Manager тесно интегрированы между собой и замыкают цикл от получения сообщения о возникновении проблемы до выпуска соответствующей исправленной версии.

Дополнительные возможности

PVCS Configuration Builder автоматизирует процесс построения приложения, позволяет стандартизовать сборку, точно воспроизводит предыдущие версии приложения, автоматически отслеживает зависимости между файлами и может автоматически вызываться из других компонентов PVCS по событию.

Production Gateway синхронизирует на локальных сетях – а также между удаленными локальными сетями – части проекта на больших ЭВМ с архивами версий.

PVCS Notify – средство, используемое для интеграции Tracker с электронной почтой предприятия PVCS Reporter – мощный генератор отчетов, расширяющий презентационные возможности других компонентов PVCS.

Наконец, многим пользователям PVCS пригодился Developer's Toolkit, позволяющий использовать все функциональные возможности PVCS в собственных инструментальных средствах и приложениях. Он содержит интерфейсы к средам разработки, собственный графический интерфейс, интерфейс командной строки и библиотеку вызовов.

 


1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /140, 1996 г./ | Бонус | Поиск  

© 2004, Издательский дом «Компьютерра» | http://www.computerra.ru
Телефон редакции: (095) 232-22-61
E-mail редакции: inform@computerra.ru