
- •Архитектуры баз данных. Преимущества и недостатки
- •Реляционные базы данных, основные понятия.
- •Понятия и терминология, связанные с таблицей реляционной базы данных
- •1.4.1. Отношение "один-ко-многим"
- •Отношение "один-к-одному"
- •Отношение "многие-ко-многим"
- •Понятия терминология, связанные с полем таблицы
- •Понятия ключевых атрибутов для таблиц и индексов.
- •1.7. Индексы и методы доступа
- •Реляционные отношения и целостность данных. Пример
- •1.4.1. Отношение "один-ко-многим"
- •1.4.2. Отношение "один-к-одному"
- •1.4.3. Отношение "многие-ко-многим"
- •1.4.4. Связь между записями одной таблицы
- •1.5. Ссылочная целостность и каскадные воздействия
- •Навигационный и sql ориентированный подход к обработке данных.
- •Нормализация данных. Первая нормальная форма. Пример
- •Нормализация данных. Третья нормальная форма. Пример
- •Индексы. Определение, назначение, характеристики.
- •Жизненный цикл программного обеспечения. Модели жизненного цикла.
- •Основные этапы программирования (структурный, rad технологии, case технологии). Кризис программирования.
- •Методология системного анализа и системного моделирования. Диаграммы idefo.
- •Язык uml. Назначение.
- •Статические диаграммы uml (варианты использования, классов)
- •Диаграммы поведения uml ( состояний, последовательности, деятельности).
- •Основные принципы организации процесса разработки по по rup.
- •Понятие rup. Основные принципы. Структура процесса проектирования. Инструментальная поддержка.
- •Статическая структура описания rup. Понятия исполнителей и артефактов. Основные технологические процессы.
- •Технологический процесс управления проектом.
- •Технологический процесс процесса моделирования производства. 6 сценариев разработки моделей.
- •Технологический процесс управления требованиями
- •Технологический процесс анализа и проектирования
- •Технологический процесс реализации
- •Технологический процесс тестирования
- •Технологический процесс управления конфигурацией и изменениями
- •Технологический процесс управления средой
- •Технологический процесс распространения
- •Конфигурирование и реализация rup
Технологический процесс управления конфигурацией и изменениями
Целью технологического процесса управления конфигурацией и изменениями является наблюдение за активами развивающегося проекта и поддержание его целостности.
И последнее, технологический процесс управления проектом нуждается в предоставлении информации о состоянии ключевых артефактов проекта и сборе метрик, связанных с изменениями этих артефактов. Эти действия также выполняются в ходе процесса управления конфигурацией и изменениями.
Куб ССМ
Управление конфигурацией и изменениями (configuration and change management — ССМ) включает три независимые функции. Проиллюстрировать это можно с помощь так называемого "куба ССМ" (рис. 13.1).
Рис.
13.1. Куб ССМ
Куб имеет три видимые грани, и на каждой грани представлен один аспект проблемы. Стоит отметить, впрочем, что все три аспекта тесно переплетаются.
■ Грань управления конфигурацией относится к структуре продукта.
Управление конфигурацией (configuration management — СМ) связано с определением артефактов, зависимостей между артефактами и конфигураций, являющихся непротиворечивыми множествами взаимосвязанных артефактов. Кроме того, оно связано с вопросами распределения рабочих сред между отдельными сотрудниками и командами с тем, чтобы разработка велась без ненужного дублирования работ.
■ Грань управления запросами на внесение изменений относится к структуре процесса.
Управление запросами на внесение изменений (change request management — CRM) связано со сбором запросов на внесение изменений (поставляемых внутренними и внешними заинтересованными сторонами) и управлением этими запросами. Также оно связано с анализом потенциального влияния изменений и наблюдением за внедрением изменений.
■ Грань управления состоянием и измерениями относится к управляющей структуре проекта.
Управление состоянием и измерениями связано с извлечением из инструментальных средств, поддерживающих управление конфигурацией, и функций управления запросами на внесение изменений информации, необходимой для управления проектом. Эта информация полезна для оценки
состояния, прогресса, общих тенденций и качества продукта;
расходов;
проблемных областей, требующих внимания;
что уже сделано, а что еще нужно сделать.
Управление конфигурацией
Управление конфигурацией — это один из аспектов рассматриваемого технологического процесса, связанный со структурой продукт. Все важные артефакты подчиняются управлению версиями. По мере развития артефакта появляются множественные его версии и требуется определять артефакты, их версии и историю их изменений.
Структура продукта в целом — организация всех артефактов — направляется реализационным представлением архитектуры.
Управление запросами на внесение изменений
Управление запросами на внесение изменений связано со структурой процесса и показано на вершине куба. Запрос на внесение изменений — это документ, в котором предлагается изменить один или несколько артефактов. Запросы на внесение изменений могут появляться вследствие различных причин: для коррекции дефекта, улучшения некоторого параметра качества продукта (такого, как производительность или практичность), введения дополнительного требования или просто для документирования отличий между двумя последовательными итерациями.
Изменения, вносимые в артефакты, отслеживаются и соотносятся с соответствующими запросами. После завершения изменения, выполнения тестирования и включения изменения в версию продукта, запрос на внесение изменений закрывается.
Управление состоянием и измерениями
Последним аспектом рассматриваемого технологического процесса является управление состоянием и измерениями. Данный аспект связан с управляющей структурой продукта и показан на правой боковой грани куба. Помимо прочих параметров, таких как основная причина, природа (например, дефект или улучшение), серьезность, приоритет и область влияния (например, уровень или подсистема), запросы на внесение изменений имеют состояния.
Многочисленные запросы на внесение изменений собираются в базе запросов и представляют большую часть работы, которую необходимо выполнить в ходе итерации, особенно это характерно для итераций фаз построения и развертывания.
Из такой базы данных мы можем извлечь информацию о состоянии прогресса проекта.
Общий прогресс проекта относительно изменений
Число изменений, сделанных в различных состояниях
"Возраст" запросов на внесение изменений — как долго они находятся в определенном состоянии
Кроме того, из этой базы данных можно извлечь отчеты о распределении запросов.
По серьезности и приоритету
По затронутым уровням или подсистемам
По командам разработчиков
По основным причинам
Производная от этих метрик по времени фиксируется в отчете о тенденциях и является весьма полезной при проектировании.
Исполнители и артефакты
Управляющий конфигурацией.
Отвечает за настройку структуры продукта в системе управления конфигурацией, определение рабочих сред и их распределение между разработчиками, а также за интеграцию. Кроме того, он извлекает информацию о состоянии и создает метрики, которые, в форме отчета, передает руководителю проекта.
Управляющий контролем над изменениями.
Наблюдает за процессом контроля над изменениями. Эту роль обычно исполняет орган контроля над изменениями (Change Control Board— CCB), который должен состоять из представителей всех заинтересованных сторон, включая заказчиков, разработчиков и пользователей. В небольшом проекте эту роль может играть одно лицо, например руководитель проекта или архитектор программного обеспечения. Управляющий контролем над изменениями также отвечает за определение процесса управление запросами на внесение изменений, который должен быть задокументирован в плане управления конфигурацией.
Помимо основных, в рассматриваемом процессе задействованы следующие исполнители.
Конструкторы, имеющие доступ к соответствующим рабочим средам и артефак там, необходимым им для реализации изменений, за которые отвечают данные конструкторы.
Интеграторы, принимающие изменения в рабочей среде интеграции и создающие продукт.
Любой исполнитель, который может предлагать запрос на внесение изменений.
Архитектор, воздействующий на структуру продукта через реализационное представление.
Ключевыми артефактами процесса управления конфигурацией и изменениями являются следующие.
■ План управления конфигурацией
Данный план описывает стратегии, которые будут использоваться в проекте при управлении конфигурацией: версии, варианты, рабочие среды и процедуры управления конфигурацией, конструкциями и выпусками; В этом плане определяются правила и обязанности группы ССВ, а сам план является частью плана разработки программного обеспечения.
■ Запросы на внесение изменений
Эти запросы могут быть разнообразными: они могут документировать выявленные дефекты, изменения требований или смещение акцентов при переходе от одной итерации к другой. Каждый такой запрос соотносится со своим автором и основными причинами, которые привели к появлению запроса. Позднее, после проведения анализа влияния, к запросу добавляется описание влияния, выраженное через затронутые артефакты, стоимость и график работ. По мере развития запроса изменяется его состояние; кроме того, к нему добавляется предыстория
Рассматриваемый процесс также включает следующие артефакты.
Модель реализации, направляющую действия управляющего конфигурацией по установке среды управления конфигурацией.
Метрики и отчеты о состоянии, извлекаемые из среды поддержки данного технологического процесса и позднее включаемые в отчеты оценки состояния.
Технологический процесс
В технологическом процессе управления конфигурацией и изменениями существует два взаимосвязанных процесса: один рассматривается с точки зрения структуры управления конфигурацией (рис. 13.6), а второй — с точки зрения "жизни" запроса на внесение изменений.
Рис. 13.6. Технологический процесс управления конфигурацией и изменениями
Планирование конфигурации проекта и управления изменениями
В плане управления конфигурацией описываются все виды деятельности (связанные с управлением конфигурацией), которые в ходе проекта необходимо обеспечить ресурсами, а затем выполнить. Также описываются процедуры и стратегии, используемые для определения артефактов, создаваемых в течение жизненного цикла проекта, обеспечения их безопасности, а также для предоставления отчетов о них.
Цель этого процесса— информирование соответствующих заинтересованных сторон обо всех планируемых или произведенных изменениях артефактов проекта. Руководители и исполнители должны знать о точной природе изменений и понимать их цену и влияние на график работ.
Создание среды управления конфигурацией
Среда управления конфигурацией должна способствовать разработке продукта. Все исполнители проекта должны по мере необходимости получать точные артефакты разработки и работать с ними.
Изменение и предоставление конфигурационных объектов
Данный элемент технологического процесса связан со способом создания исполнителем отдельной рабочей среды. В пределах этой рабочей среды исполнитель может получать доступ к артефактам проекта, вносить в них изменения, а также предлагать изменения в проект в целом. Изменения направляются в рабочую среду интеграции, причем в эту среду могут поступать запросы от различных исполнителей. Идея состоит в объединении вкладов отдельных сотрудников и предоставлении их разработчикам, которые учтут их на следующем этапе разработки.
Основные действия в этом элементе технологического процесса выполняет системный интегратор. Он, действующий в рабочей среде интеграции, выполняет построение продукта, создает базовые линии и делает их доступными для всей команды разработчиков.
Управление запросами на внесение изменений
Целью стандартного, документируемого процесса управления изменениями является обеспечение последовательного внесения изменений в проект и информирования соответствующих заинтересованных сторон о состоянии продукта, его изменениях, а также о влиянии этих изменений на стоимость проекта и график работ.
Целью технологического процесса управления конфигурацией и изменениями является поддержание целостности артефактов по мере их изменения согласно запросам на внесение изменений.
Управление конфигурацией связано со структурой продукта, определением элементов, версий, корректной конфигурации элементов и рабочих сред.
Управление запросами на внесение изменений включает процесс последовательного видоизменения артефактов.
В процессе управления конфигурацией и изменениями могут извлекаться метрики и информация о состоянии, что позволяет проводить оценку состояния.
Наиболее трудоемкие аспекты описанного технологического процесса могут быть автоматизированы с помощью инструментальных средств, таких как ClearCase и ClearQuest.