Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АИС лекционный материал.doc
Скачиваний:
43
Добавлен:
27.10.2018
Размер:
1.01 Mб
Скачать

Структура средств коллективного проектирования и решаемые ими задачи

Рассмотрим спектр задач, решаемых системами обеспечения коллективной разра­ботки приложений. Основной из них является обеспечение управляемости и кон­тролируемости процессов разработки и сопровождения приложения. Для этого необходимо обеспечить выполнение как минимум двух функций:

Q регистрации всех изменений, вносимых в проект; Q централизованного хранения файлов проекта.

Под проектом мы будем понимать множество файлов с исходными текстами про­грамм, а также файлов ресурсов и всех прочих файлов (исполняемые файлы, биб лиотеки DLL, ActiveX, объектные модули), необходимых для выполнения компи­ляции и запуска приложения.

Обе указанные выше функции реализуются с помощью так называемых систем кон­троля версиями проектов (PVCS, Project Version Control Systems). Системой конт­роля версий проектов называется комплекс программного обеспечения, назначени­ем которого является централизованное хранение и обработка всех или большей части объектов (файлов), из которых состоит проект. Для решения задач управле­ния разработкой проекта применяются методы и средства, обеспечивающие: Q идентификацию состояния как отдельных компонентов, так и проекта в целом; О контроль за вносимыми в компоненты и структуру проекта изменениями; Q координированное управление всеми составляющими проекта.

Идентификация

Чтобы осуществлять управление объектами, необходимо их идентифицировать. При идентификации объектов в системах PVCS используется понятие версии. Вер­сией проекта называется некий уникальный идентификатор, обозначающий теку­щий номер разработки. Так как в отдельные составляющие проекта во время раз­работки могут вноситься изменения, каждому из помещенных в хранилище PVCS объектов присваиваются идентификаторы версии самого объекта и версии проек­та в целом. Это позволяет определить, какие именно файлы должны быть исполь­зованы для сборки заданной версии приложения.

Хранилище файлов и контроль за изменением файлов

Хранилища объектов, используемые PVCS, могут организовываться с использова­нием самых разных технологических решений, вплоть до применения специаль­ных баз данных. Возможно также использование одной PVCS нескольких спосо­бов хранения одновременно.

В процессе работы над проектом промежуточное состояние файлов периодически сохраняется в хранилище проекта. Одновременно с этим ведутся записи о времени сохранения и соответствии друг другу нескольких вариантов разных файлов проек­та. Кроме этого, фиксируются имена разработчиков, ответственных за тот или иной файл, состав файлов промежуточных версий проекта и пр. Это позволяет при необ­ходимости вернуться к какому-либо из предыдущих состояний файла (например, при обнаружении ошибки, которую в данный момент трудно исправить). В хранилище обычно содержатся все версии файлов проекта, любая из которых может быть оттуда извлечена. Во избежание бесполезного расходования дисково­го пространства обычно сохраняются только изменения базовой версии файла.

Блокировки

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

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