Артефакт: Хранилище проектов
Этот рабочий продукт хранит все версии файлов и каталогов проекта. В нем также хранятся все порожденные данные и мета-данные, связанные с этими файлами и каталогами.
Домены: Управление конфигурацией и изменениями
Типы рабочих продуктов: Инфраструктура
Назначение

В хранилище проектов хранятся все файлы и каталоги, управляемые инструментом CM проекта. Хранилище проектов является глобальным ресурсом, доступ к которому требуется большинству "клиентов" коллектива проекта.

В зависимости от размера проекта, может существовать несколько хранилищ проектов, каждый из которых может содержать десятки тысяч файлов и каталогов. Число файлов в любом данном хранилище проектов будет зависеть от размера системы, в которой выполняется сервер хранилища, и от числа пользователей, которые могут параллельно получать доступ к данным. Сервер хранилища управляет потоком данных чтения / записи в хранилище проектов.

Взаимосвязи
РолиОтветственный: Изменен:
ЗадачиВход для:
Выход из:
Использование процесса
Доводка
Опции представленияПредставление UML: (Необязательно) можно представить этот рабочий продукт как пакет, имеющий стереотип <<project repository>>.

Настройка данного рабочего продукта должна быть задокументирована в Рабочий продукт: План управления конфигурацией.

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

  • Требования к памяти: Память - один из самых дешевых способов увеличения производительности инструмента CM. Требуемый объем оперативной памяти системы сервера можно приблизительно рассчитать следующим образом: сложить весь объем баз данных, используемый хранилищем проектов, и разделить на два. Например, 1Мб оперативной памяти должно быть достаточно для кэширования и подготовки данных, записанных на 2Мб памяти баз данных. Предполагается, что в любой момент времени осуществляется активный доступ примерно к половине данных в хранилище проектов. Система сервера должна иметь минимум 256Мб памяти. На стороне клиента каждая система разработчика должна иметь минимум 128Мб оперативной памяти.
  • Требования к вводу / выводу диска: Вторым наиболее вероятным узким местом производительности в среде CM является скорость записи данных на диск. Интенсивными операциями чтения/записи являются контроль на входе, контроль на выходе и создание контрольной версии. Рекомендуется иметь выделенный контроллер и канал для каждого диска.
  • Пропускная способность сети: Поскольку инструмент CM обычно является распределенным приложением, для высокой производительности требуется соответствующая емкость и надежность сети. Рекомендуется размещать системы, содержащие хранилище проектов и просматривающие его, в одной и той же подсети. И если локальная сеть (LAN) слишком насыщена, на что указывают тайм-ауты и отсутствие ответа, следует увеличить емкость сети или добавить подсеть для системы, содержащей инструмент CM. 
  • Дисковая память хранилища проектов: В зависимости от размера проекта, может существовать несколько хранилищ проектов, каждый из которых может содержать десятки тысяч файлов и каталогов. Число файлов в любом данном хранилище проектов будет зависеть от размера системы, в которой выполняется сервер хранилища, и от числа пользователей, которые могут параллельно получать доступ к данным. Хранилище проектов разработки кода с активными чтением/записью может содержать меньше элементов по сравнению с менее изменчивым хранилищем, не имеющим такого же уровня пользовательского потока данных. В проекте разработки программного обеспечения ожидается, что хранилище будет содержать примерно от 3000 до 5000 элементов. Рекомендуется обеспечить дисковую память для роста хранилища и иметь порядка 50% свободной памяти, выделяя 2 Гб памяти на каждое хранилище проектов.

Хранилище проектов должно находиться на выделенном сервере. Это означает, что сервер хранилища проектов не следует использовать для:

  • компиляции, компоновки или тестирования
  • запуска инструментов других фирм
  • почтового сервера
  • web-сервера