Концепция: Структура каталогов продукта
Структура каталогов продукта представляет собой иерархическое дерево вложенных каталогов, файлов и папок, в которых хранятся относящиеся к этому продукту рабочие продукты.
Взаимосвязи
Связанные элементы
Основное описание

Структура каталогов продукта представляет собой логическое хранилище всех рабочих продуктов с поддержкой версий, имеющих отношение к рассматриваемому продукту. Рабочие продукты создаются на всем протяжении жизненного цикла разработки, включая разработку всех элементов реализации конечной системы.

На следующем рисунке показана система System-X, состоящая из "N" подсистем, каждая из которых состоит из "N" компонентов. Структура каталогов продукта представляет собой единое централизованное хранилище рабочих продуктов, необходимых для разработки всех компонентов системы.

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

Структура каталогов продукта

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

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

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

Требования к системе

Модели

Модель вариантов использования Пакет вариантов использования
База данных Атрибуты требований
Документы Видение
Глоссарий
Запросы заинтересованных лиц
Дополнительные спецификации
Спецификации требований к программному обеспечению
Раскадровки

Отчеты

Отчет: Отчет: модель вариантов использования
Отчет: спецификации вариантов использования
Проектирование и реализация системы Модели Модель анализа Реализация варианта использования
Модель проекта Проектирование подсистемы
Интерфейс
Проектирование пакета
Модель данных
Описание анализа нагрузки
Прототип интерфейса
Документы Документация по архитектуре программного обеспечения
Отчет: модель проекта
Схема навигации
Подсистема Subsystem-1 Структура дерева подсистем
Подсистема Subsystem-N Структура дерева подсистем
Интеграция системы Планы Плане компоновки интеграции
Библиотеки  
Тестирование системы План тестирования Комплекты тестов
Тесты Сценарии тестирования
Данные тестирования  
Результаты тестирования  
Развертывание системы План развертывания  
Документы Информация о выпуске
Руководства Материалы поддержки пользователей
Учебные материалы
Артефакты установки  
Управление системой Планы План разработки программного обеспечения
План повтора План управления требованиями
Перечень рисков План управления рисками
Вариант разработки План инфраструктуры
План приемки продукта План управления конфигурацией
План документирования План контроля качества
План устранения неполадок План управления подрядчиками
План улучшения процессов План измерения показателей
Оценка Оценка повтора
Оценка организации разработки
Оценка состояния
Инструменты Инструменты среды разработки Редакторы
Компиляторы
Инструменты управления конфигурацией Rational ClearCase
Инструменты управления требованиями Rational RequisitePro
Инструменты визуального моделирования Rational Rose
Инструменты тестирования Rational Test Factory
Мониторинг ошибок Rational ClearQuest
Стандарты и рекомендации Требования Атрибуты требований
Рекомендации связанные с проектом
Эскиз Рекомендации связанные с проектом
Реализация Рекомендации связанные с проектом
Документация Руководство по стилю публикаций

В процессе анализа и проектирования, когда возникнет относительно ясное понимание того, какие подсистемы и в каком количестве потребуются для системы в целом (Задача: проектирование подсистем), нужно будет привести структуру каталогов продукта в соответствие с множеством подсистем.

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

Структура каталогов на уровне подсистем

На уровне подсистем в структуре каталогов хранится информация, относящаяся к разработке конкретных подсистем. Количество таких структур напрямую определяется количеством подсистем, подлежащих разработке по итогам анализа и проектирования. Например, у системы System-y могут быть три подсистемы (Subsystem-A, Subsystem-B и Subsystem-N). В структуре каждой из этих подсистем будет храниться информация, необходимая для проектирования и реализации этой подсистемы.

Общая структура каталогов продукта на уровне подсистем выглядит следующим образом:

Структура каталогов продукта на уровне подсистем

Требования подсистемы Subsystem-N

Модели Модель вариантов использования Пакет вариантов использования
Раскадровка
Вариант использования (текст)
Прототип интерфейса
База данных Атрибуты требований
Документы Видение
Глоссарий
Запросы заинтересованных лиц
Дополнительные спецификации
Спецификации требований к программному обеспечению
Раскадровки

Отчеты

Отчет: Отчет: модель вариантов использования
Отчет: спецификации вариантов использования
Проектирование и реализация подсистемы Subsystem-N Модели Модель анализа Реализация варианта использования
Модель проекта Пакеты проекта
Пакеты интерфейса
Пакеты тестирования
Модель реализации
Модель данных
Модель нагрузки
Документы Документация по архитектуре программного обеспечения
Отчет: модель проекта
Схема навигации

Отчеты

Отчет: реализация вариантов использования

Компонент Component-1

Каталог Component-1

Компонент Component-N

Каталог Component-N
Интеграция подсистемы Subsystem-N Планы Плане компоновки интеграции
Библиотеки  
Тестирование подсистемы Subsystem-N План тестирования Комплекты тестов
Тесты Сценарии тестирования
Результаты тестирования  
Данные тестирования  

Структура каталогов на уровне компонентов

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

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

Такая логическая структура позволяет создавать рабочие области разработки и интеграции и привязывать их к структуре групп разработчиков.

Правила присвоения имен рабочим продуктам обсуждаются в разделе Задача: разработка правил управления конфигурацией, шаг: формулировка практики управления конфигурацией