Модель зрелости процессов разработки программного обеспечения - Марк Паулк
Шрифт:
Интервал:
Закладка:
В этих практиках содержание данного репозитария называется «библиотекой базовых линий конфигурации».
Инструменты и процедуры доступа к этому репозитарию называются «системой управления библиотекой конфигураций».
Промежуточные продукты, помещенные в систему управления конфигурацией и воспринимаемые в виде отдельных сущностей, называются отдельными блоками конфигурации.
Блоки обычно состоят из компонентов, а те в свою очередь — из элементов конфигурации. В аппаратно-программной системе все ПО может восприниматься в виде одного блока конфигурации либо может быть разбито на несколько блоков. В данных практиках термины «блок» и «элемент конфигурации» относятся к элементам, помещенным в систему управления конфигурацией.
5. Регулярно проводится аудит базовых линий и работ по управлению конфигурацией ПО.
Необходимые предпосылки
Предпосылка 1 Должна существовать или быть создана комиссия по управлению базовыми линиями проекта (т. е. комиссия по управлению конфигурацией ПО, Software Configuration Control Board, SCCB).
Задачи комиссии SCCB:
1. Санкционирование создания базовых линий, выявление конфигураций и их элементов.
2. Представление интересов менеджера проекта и всех групп, которых могут затронуть изменения базовых линий.
Примеры групп, задействованных в проекте:
обеспечения качества аппаратного обеспечения,
управления конфигурацией аппаратного обеспечения,
проектирования аппаратного обеспечения,
производственного проектирования,
разработки ПО (включая все подгруппы, например, проектирования ПО),
системного проектирования,
системного тестирования,
обеспечения качества ПО,
управления конфигурацией ПО,
управления договорами,
управления документацией.
3. Ревизия и санкционирование изменений базовых линий.
4. Санкционирование создания продуктов из элементов библиотеки базовых линий.
Предпосылка 2 Необходимо наличие группы, ответственной за координацию и реализацию управления конфигурацией в рамках проекта (группа SCM).
Группа представляет собой совокупность отделов, менеджеров и сотрудников, которые несут ответственность за набор задач или операций. Состав группы может варьироваться от одного или нескольких совместителей из различных отделов до нескольких сотрудников, занятых этой деятельностью полный рабочий день. При формировании группы принимаются во внимание объем служебных обязанностей, объем проекта, организационная структура и культура взаимоотношений. Некоторые группы, такие как группа обеспечения качества ПО, концентрируются на деятельности на уровне проектов, другие же, как группа инженерии процессов производства, — на деятельности общекорпоративного уровня.
Группа управления конфигурацией ПО координирует или реализует следующие задачи:
1. Создание библиотеки базовых линий проекта и управление ею.
2. Разработка, сопровождение и распространение планов, стандартов и процедур по управлению конфигурацией.
3. Идентификация набора промежуточных продуктов, помещаемых в систему управления конфигурацией. Промежуточный продукт представляет собой любой артефакт, происходящий из определения, сопровождения или использования процесса разработки ПО.
4. Управление доступом к библиотеке базовых линий конфигурации.
5. Обновление базовых линий конфигурации.
6. Создание продуктов из элементов библиотеки базовых линий.
7. Запись действий по управлению конфигурацией ПО.
8. Создание и распространение отчетов по управлению конфигурацией.
Предпосылка 3 Работы по управлению конфигурацией ПО должны быть обеспечены соответствующими ресурсами и финансированием.
1. Назначается менеджер, на которого возлагаются конкретные обязанности по управлению конфигурацией ПО.
2. Работы по управлению конфигурацией ПО обеспечиваются вспомогательными инструментальными средствами. Примеры вспомогательных инструментальных средств: рабочие станции, средства управления базами данных, инструменты управления конфигурацией.
Предпосылка 4 Члены группы управления конфигурацией ПО должны пройти обучение целям, процедурам и методам выполнения работ по управлению конфигурацией ПО.
Примеры тем учебных занятий: стандарты, процедуры и методы управления конфигурацией, инструменты управления конфигурацией.
Предпосылка 5 Члены группы разработки ПО и других смежных групп должны пройти обучение выполнению своих задач по управлению конфигурацией.
Примеры групп, связанных с разработкой ПО:
группа обеспечения качества ПО,
группа управления документацией.
Примеры тем учебных занятий:
стандарты,
процедуры и методы выполнения работ по управлению конфигурацией группой разработки ПО и другими смежными группами,
роль, сфера ответственности и полномочия группы управления конфигурацией ПО.
Выполняемые операции
Операция 1 Для каждого проекта по разработке ПО готовится план управления конфигурацией в соответствии с документированной процедурой.
Эта процедура обычно определяет следующее:
1. План управления конфигурацией ПО разрабатывается на ранних стадиях общего планирования проекта и параллельно с ним.
2. План управления конфигурацией ПО рассматривается задействованными группами.
3. Документ плана управления конфигурацией ПО должен быть управляемым и контролируемым.
«Управляемый и контролируемый» означает, что в любой момент времени (прошлый или настоящий) известна версия используемого промежуточного продукта (т. е. реализован контроль версий), а внесение изменений происходит управляемым образом (т. е. реализовано управление изменениями).
Если желательно реализовать еще большую степень контроля, промежуточный продукт может быть помещен в условия полномасштабного управления конфигурацией, как это описано в данной группе ключевых процессов.
Операция 2 Документированный и утвержденный план управления конфигурацией используется в качестве основы для выполнения работ по SCM.
План охватывает следующие вопросы:
1. Выполняемые работы по управлению конфигурацией, график работ, назначение сфер ответственности и необходимые ресурсы (включая персонал, инструменты и аппаратное обеспечение).
2. Требования и работы по управлению конфигурацией, выполняемые группой разработки ПО и другими смежными группами.
Операция 3 Устанавливается библиотечная система управления конфигурацией, служащая репозитарием базовых линий.
Задачи, решаемые данной библиотечной системой:
1. Поддержка нескольких уровней контроля управления конфигурацией. Примеры ситуаций, ведущих к нескольким уровням контроля: в разные моменты жизненного цикла требуются различные уровни контроля (например, по мере роста зрелости продукта необходим более жесткий контроль); исключительно программные системы и системы, включающие в себя программное и аппаратное обеспечение, требуют различного уровня контроля.
2. Хранение и извлечение отдельных элементов/блоков конфигурации. 3. Обеспечение совместного использования и передачи элементов/блоков конфигурации между задействованными группами и между уровнями контроля внутри библиотеки. 4. Помощь в применении производственных стандартов к элементам/блокам конфигурации. 5. Хранение и извлечение архивных версий отдельных элементов/блоков конфигурации. 6. Обеспечение корректного создания продуктов на основе элементов из библиотеки базовых линий. 7. Хранение, обновление и предоставление записей по управлению конфигурацией. 8. Поддержка создания отчетов по управлению конфигурацией. 9. Поддержка структуры и содержимого библиотеки.
Примеры функций поддержки библиотеки:
резервное копирование/восстановление библиотечных файлов,
восстановление библиотечной системы после сбоев.
Операция 4 Идентификация промежуточных программных продуктов, помещаемых в систему управления конфигурацией.
1. Выбор отдельных элементов/блоков конфигурации на основании документированных критериев.
Примеры промежуточных программных продуктов, которые можно определить в качестве элементов/блоков конфигурации:
документация по процессу (т. е. планы, стандарты или процедуры), требования к ПО, архитектура ПО, модули программного кода, процедуры тестирования ПО,
программная система, созданная для проведения тестирования ПО,
программная система, созданная для передачи заказчику или конечным пользователям,
компиляторы, другие вспомогательные инструментальные средства.
2. Элементам/блокам конфигурации присваиваются уникальные идентификаторы.