Керування конфігурацією
Конфігураці́йне керува́ння (англ. software configuration management, SCM) в програмній інженерії — комплекс методів, спрямованих на систематичний облік змін, що вносяться розробниками в програмний продукт в процесі його розробки та супроводу, збереження цілісності системи після змін, запобігання небажаних і непередбачуваних ефектів, формалізація процесу внесення змін.
В ряді джерел можна побачити абревіатуру SCCM — Software Configuration and Change Management. При тому, що в розумінні SWEBOK і відповідних стандартів SCM і SCCM тотожні, термін SCCM іноді використовується для того, щоб підкреслити принципову значимість управління змінами як складової частини конфігураційного управління.
SCM-діяльність тісно пов'язана з роботами по забезпеченню якості програмного забезпечення (Software Quality Assurance — SQA).
Роботи з конфігураційного керування програмного забезпечення включають:
- управління і планування SCM-процесів,
- ідентифікацію програмних конфігурацій,
- контроль конфігурацій,
- облік статусів конфігурацій,
- аудит, а також
- управління випуском (release management)
- і поставкою (delivery).
Керування конфігурацією — це ідентифікація компонентів системи, визначення функціональних, фізичних характеристик системи, апаратного і програмного забезпечення для контролю виконання, внесення змін і трасування конфігурації. Процес керування визначено як один з допоміжних процесів ЖЦ (ISO/IEC 12207), виконуваний технічним і адміністративним менеджментом проекту. При цьому складаються звіти про зміни, внесені у конфігурацію, і ступінь їхньої реалізації, а також проводиться перевірка відповідності внесених змін заданим вимогам.
Конфігурація системи — це склад функцій, програмного і технічного забезпечення системи, можливі їх комбінації залежно від наявності устаткування, загальносистемних засобів і вимог до продукту.
Конфігурація ПЗ складається з набору функціональних і технічних характеристик ПЗ, заданих у технічній документації і реалізованих у готовому продукті. Це сполучення різних елементів продукту з заданими процедурами збирання компонентів і настроювання на середовище. Вхідними елементами конфігурації є графік розробки, проектна документація, вихідний виконуваний код, бібліотека компонентів, інструкції з установки і розгортання системи.
Область знань «Керування конфігурацією ПЗ (Software Configuration Management — SCM)» складається з таких розділів:
– керування процесом конфігурації (Management of SMC Process),
– ідентифікація конфігурації ПЗ (Software Configuration Identification),
– контроль конфігурації ПЗ (Software Configuration Control),
– облік статусу (поведінка або стани) конфігурації ПЗ (Software Configuration Status Accounting),
– аудит конфігурації ПЗ (Software Configuration Auditing),
– керування версіями ПЗ і доставкою (Software Release Management and Delivery).
Керування процесом конфігурації. Це діяльність з контролю еволюції і цілісності продукту при ідентифікації, змінах і забезпеченні звітною інформацією, що стосується конфігурації. Вона містить у собі:
– систематичне відстеження внесених змін в окремі складові частини конфігурації, виконання аудита змін і автоматизованого контролю за внесенням змін у конфігурацію системи або в ПЗ;
– підтримку цілісності конфігурації, її аудит і забезпечення внесення змін в елементи конфігурації;
– ревізію конфігурації з метою перевірки наявності розроблених програмних або апаратних засобів і узгодження версії конфігурації з заданими вимогами;
– трасування змін у конфігурації на процесах супроводу й експлуатації ПЗ.
Ідентифікація конфігурації ПЗ полягає в документуванні функціональних і фізичних характеристик елементів конфігурації, а також в оформленні технічної документація на елементи конфігурації.
Контроль конфігурації ПЗ — це роботи з координації, затвердження або відкидання реалізованих змін в елементах конфігурації після ідентифікації, а також з аналізу вхідних компонентів конфігурації.
Облік статусу або стану конфігурації ПЗ — комплекс заходів для визначення ступеня зміни конфігурації, а також правильності внесених змін у систему при супроводі. Інформація і кількісні показники накопичуються у відповідній БД і використовуються при складанні звітності, оцінюванні якості і виконанні процесів ЖЦ.
Аудит конфігурації — це діяльність, що виконується для оцінки відповідності продукту і процесів стандартам, інструкціям, планам і процедурам. Аудит визначає ступінь задоволення конфігурації функціональним і фізичним (апаратним) характеристикам системи.
Керування версіями ПЗ — це відстеження наявної версії компонентів конфігурації; складання компонентів; створення нових версій системи на основі існуючих шляхом внесення змін у конфігурацію; узгодження версії продукту з вимогами і проведеними змінами на процесах ЖЦ; забезпечення оперативного доступу до інформації про елементи конфігурації і системи, до яких вони належать. Дане керування містить у собі такі основні поняття.
Базис (baseline) — формально позначений набір елементів ПЗ, зафіксований на процесах ЖЦ.
Бібліотека ПЗ — колекція об'єктів ПЗ і документації, призначена для полегшення процесу розроблення, використання і супроводження.
Складання ПЗ — об'єднання коректних елементів і конфігураційних даних у єдину виконувану програму.