Создание крупных ИС требует согласованной работы целой группы программистов.
Основной из остальных задач, решаемых системами коллективной разработки приложений, является обеспечения управляемости и контролируемости процессов разработки и сопровождения приложения. Для этого необходимо выполнение как минимум двух функций:
1 Регистрация всех изменений, вносимых в проект;
2 Централизованного хранения файлов проекта.
Под проектом понимают множество файлов с исходными текстами программ, а также файлов ресурсов и всех прочих файлов (исполняемых файлов, библиотек DLL, элементов ActiveX, объектных модулей, документов), необходимых для компиляции и запуска приложения.
Обе указанные выше функции реализуются с помощью, так называемых систем контроля версий проектов (PVCS). Системой контроля версий проектов называется комплекс ПО, назначением которого является централизованное хранение и обработка всех или большей части объектов (файлов), из которых состоит проект. Системы PVCS должны обеспечивать:
· Идентификацию состояния как отдельных компонентов, так и проекта в целом;
· Контроль за вносимыми в компоненты и структуру проекта изменениями;
· Координированное управление всеми составляющими проекта.
Идентификация
Чтобы осуществлять управление объектами, необходимо их идентифицировать. При идентификации объектов в системах PVCS используется понятие версии. Версией проекта называется некий уникальный идентификатор, обозначающий текущий номер разработки. Так как в отдельные составляющие проекта во время разработки могут вноситься изменения, каждому из объектов, помещенных в PVCS-хранилище, присваиваются идентификаторы версий самого объекта и проекта в целом. Это позволяет определить, какие именно файлы должны быть использованы для сборки заданной версии приложения.
Тема 17. Хранение файлов и контроль за изменением файлов. Блокировки. Последовательность работы с PVCS.
Хранение файлов и контроль за их изменением
Хранение объектов в системах PVCS могут организовываться на базе самых разных технологических решений, вплоть до применения специализированных баз данных. Допускается также использование в рамках одной системы PVCS нескольких способов хранения одновременно.
В процессе работы над проектом промежуточное состояние файлов периодически сохраняется в хранилище проекта. Одновременно с этим ведутся записи о времени сохранения и соответствии друг другу нескольких вариантов разных файлов проекта. Кроме того, фиксируются имена разработчиков, ответственных за тот или иной файл, состав файлов промежуточных версий проекта и пр. Это позволяет при необходимости вернуться к какому-либо из предыдущих состояний файла (например, при обнаружении ошибки, которую в данный момент трудно исправить).
В хранилище обычно содержатся все версии файлов проекта, любая ид которых может быть оттуда извлечена. Во избежание бесполезного расходования дискового пространства обычно сохраняются только изменения базовой версии файла.
Блокировки
Система контроля версий обязательно должна обеспечивать блокировку. Блокировка преследует две основные цели.
Обеспечение централизованного управления файлами проекта. В этом случае задачей блокировки является устранение возможности случайной или намеренной модификации исходных текстов файлов проекта после его отладки и принятия версии (всего проекта или одной из его частей) как окончательной. Для защиты финальной версии проекта (или отдельных его составляющих) от модификации обычно используются различные схемы, включая применение паролей для снятия блокировки, шифрование и некоторые другие.
Исключение конфликтов при одновременной модификации одной и той же составляющей несколькими участниками проекта. Возможность таких конфликтов обусловлена тем, что практически никогда нельзя разделить проект на несколько полностью изолированных друг от друга частей. Поэтому ряд файлов проекта может одновременно относиться к нескольким частям проекта и, следовательно, их могут модифицировать разные программисты.
Последовательность работы
Последовательность операций, выполняемых при использовании системы PVCS:
1. Ввод исходной операции о структуре проекта и его составляющих. Создание первой версии проекта в PVCS-хранилище.
2. Определение авторов проекта, назначение ответственных за отдельные составляющие проекта, задание связей между отдельными объектами, настройка прав доступа (возможность чтения, внесения изменений, управления и т.п.) разработчиков как к отдельным объектам, так и ко всему проекту.
3. Предоставление отдельных составляющих проекта для изменения с учетом прав доступа и возможности блокировки разных версий объекта до момента помещения модифицированного объекта в хранилище.
4. Занесение в PVCS-хранилище измененных (или вновь созданных) составляющих проекта с присвоением номеров версий как самим составляющим, так и проекту в целом.
5. Предоставление всех составляющих проекта заданной версии для компиляции либо всего проекта, либо отдельной его составляющей.
Существует множество инструментов, предназначенных для контроля версий проектов. Наиболеепопулярны StarTeam, TeamSourse, Microsoft Visual Sourse Safe QSC Team Conerence.






