Введение

Задача отслеживания и контроля изменений программного обеспечения

В разработке программного обеспечения управление конфигурацией программного обеспечения (SCM или S/W CM; также расшифровывается как процесс управления конфигурацией исходного кода и управление изменениями и конфигурацией программного обеспечения) — это задача отслеживания и контроля изменений в программном обеспечении, являющаяся частью более широкой междисциплинарной области управления конфигурацией. Практики SCM включают управление версиями и установку базовых конфигураций. В случае возникновения проблем SCM позволяет установить "что, когда, почему и кто" изменил программное обеспечение. Если конфигурация работает стабильно, SCM позволяет определить, как воспроизвести её на множестве хостов.

История

История управления конфигурацией программного обеспечения (SCM) в вычислительной технике восходит к 1950-м годам, когда управление конфигурацией (CM), изначально разработанное для разработки и производственного контроля аппаратного обеспечения, стало применяться к разработке программного обеспечения. Раннее программное обеспечение имело физический носитель, такой как перфокарты, магнитные ленты и другие медиа. Первоначальное управление конфигурацией программного обеспечения осуществлялось вручную. С развитием языков программирования и усложнением программного обеспечения, инженерия программного обеспечения, включающая управление конфигурацией и другие методы, стала серьезной проблемой из-за вопросов, связанных со сроками, бюджетом и качеством. Практический опыт, накопленный с годами, привел к определению и внедрению процедур и инструментов. В конечном итоге, эти инструменты превратились в системы управления изменениями программного обеспечения. Отраслевые практики предлагались как решения, как в открытом, так и в проприетарном формате (например, система контроля версий). С расширением использования компьютеров появились системы, охватывающие более широкий спектр задач, включая управление требованиями, альтернативные варианты проектирования, контроль качества и многое другое. Последующие инструменты стали соответствовать рекомендациям организаций, таких как Модель зрелости возможностей Института программной инженерии.