ScholarGate
Ассистент

Управление конфигурацией программного обеспечения

Управление конфигурацией программного обеспечения (УКПО) — это дисциплина идентификации, контроля и отслеживания версий и изменений артефактов программного обеспечения, чтобы состояние системы было известно и воспроизводимо на протяжении всего ее жизненного цикла.

Найти тему в PaperMindСкороFind papers & topics
Tools & resources
Скачать слайды
Learn & explore
ВидеоСкоро

Definition

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

Scope

Эта тема охватывает идентификацию конфигурации и базовые версии; системы контроля версий и модели ветвления и слияния; контроль изменений и роль совета по контролю изменений; управление сборкой и выпуском; учет состояния конфигурации и аудит; а также стандарты, такие как ISO/IEC/IEEE 828, которые определяют процессы УКПО.

Core questions

  • Как идентифицируются и базово определяются элементы конфигурации?
  • Как контроль версий и модели ветвления управляют одновременными изменениями?
  • Как предлагаются, рассматриваются и утверждаются изменения?
  • Как записывается и проверяется статус и целостность конфигураций?

Key theories

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

Clinical relevance

УКПО делает сборки воспроизводимыми, изменения отслеживаемыми, а выпуски контролируемыми; без него команды не могут надежно воспроизвести выпущенную версию, координировать одновременную работу или проверять, что изменилось, что является основополагающим для надежной поставки и автоматизации DevOps.

Evidence & guidelines

ISO/IEC/IEEE 828 определяет процессы управления конфигурацией, а область знаний по управлению конфигурацией программного обеспечения SWEBOK предоставляет консенсусную ссылку для деятельности по УКПО.

History

Контроль версий развивался от ранних инструментов, таких как SCCS и RCS в 1970-х и 1980-х годах, через централизованные системы, такие как CVS и Subversion, до распределенных систем, таких как Git в 2000-х годах; формальная практика управления конфигурацией мигрировала из аппаратных и оборонных стандартов в основную инженерию программного обеспечения.

Debates

Стратегии ветвления
Команды обсуждают рабочие процессы, такие как разработка на основе основной ветки (trunk-based development) против долгоживущих функциональных веток и Git-flow; разработка на основе основной ветки с частой интеграцией поддерживает непрерывную поставку, в то время как более интенсивное ветвление может изолировать работу ценой болезненных слияний.

Key figures

  • Walter Tichy
  • Linus Torvalds
  • Marc Rochkind

Related topics

Seminal works

  • ieee828
  • chacon2014
  • swebok2014

Frequently asked questions

Является ли управление конфигурацией просто контролем версий?
Нет. Контроль версий — это центральный инструмент, но УКПО шире: оно также охватывает идентификацию конфигурации, базовые версии, контроль изменений, управление сборкой и выпуском, а также учет состояния и аудит всех элементов конфигурации, а не только исходного кода.
Почему базовые версии важны?
Базовая версия фиксирует известную хорошую конфигурацию, которую можно воспроизвести и на основе которой можно строить дальнейшую работу; она обеспечивает стабильную точку отсчета для контролируемых изменений, позволяет командам откатываться назад и необходима для воспроизводимых выпусков и аудитов.

Methods for this concept

Related concepts