Конфигурационное управление (англ. software configuration management, SCM) в программнойинженерии — комплекс методов, направленных на систематический учёт изменений, вносимыхразработчиками в программный продукт в процессе его разработки и сопровождения, сохранениецелостности системы после изменений, предотвращение нежелательных и непредсказуемых эффектов,формализацию процесса внесения изменений.
В целом, конфигурационное управление отвечает на вопрос: «Кто-то уже сделал нечто, как нам этовоспроизвести?»
Изначально управление конфигурацией применялось не в программировании. Под конфигурациейпонимался состав деталей конечного продукта и «взаимное расположение частей» физического изделия.Таким образом, конфигурацией можно управлять, контролируя документы, описывающие конечный продукт,требования к нему, всю его проектную и технологическую документацию.
В связи с высокой динамичностью сферы разработки ПО, в ней конфигурационное управление особеннополезно. К процедурам можно отнести создание резервных копий, контроль исходного кода, требованийпроекта, документации и т. д. Степень формальности выполнения данных процедур зависит от размеровпроекта, и при правильной её оценке данная концепция может быть очень полезна.
Цели конфигурационного управления:
· Контроль: SCM позволяет отслеживать изменения в контролируемых объектах, обеспечивает соблюдение процесса разработки
· Управление: SCM диктует процесс автоматической идентификации в ходе всего жизненного цикла ПО, обеспечивает простоту модификации и сопровождения ПО
· Экономия средств: снижается риск потерь от ротации кадров в организации, предоставить возможность сменить организацию-разработчика без перепроектирования
· Качество
Задачи конфигурационного управления:
· идентификация конфигурации
· контроль конфигурации: контроль над изменениями материалов
· учёт текущего состояния: состояние документов, состояние кода, состояние отдельных задач и всего проекта в целом
· управление процессом разработки
· управление сборкой
· управление окружением
· отслеживание задач и проблем (в частности, отслеживание ошибок)
Процедуры управления конфигурацией
Ревизия конфигурации — процесс проверки того, что документ нижнего уровня соответствует всем требованиям документа верхнего уровня.
Аудит конфигурации — процесс проверки того, что готовый продукт или его часть соответствуют документации.
Контроль конфигурации — процесс, при котором все предлагаемые изменения продукта проходят одобрение специальной группы (или отдельного человека). Одна из функций такой группы — контроль актуальности всех имеющихся документов, а также контроль того что все изменения сначала вносятся в документацию, а уже затем в объект изменения.
Учет состояния конфигурации — процесс подготовки отчетов о текущем состоянии продукта и состоянии утвержденных изменений.
Г) Современные методологии, технологии и особенности разработки ПО
7. Технологии ООП