Proqram konfiqurasiyasının idarə edilməsi

Proqram konfiqurasiyasının idarə edilməsi () — proqramın inkişaf prosesi zamanı meydana gələn bütün dəyişiklikləri izləmək, idarə etmək və nəzarət etmək üçün istifadə edilən sistematik yanaşmadır. Bu, proqram təminatının keyfiyyətini və sabitliyini qorumaq, layihədə dəyişikliklərin təsirlərini anlamaq və layihənin hər mərhələsini uyğunlaşdırmaq üçün çox vacibdir.Aiello, R. (2010). Configuration Management Best Practices: Practical Methods that Work in the Real World (1st ed.). Addison-Wesley. 

 Əsas mərhələləri 
Versiya izləmə ()
Proqramın müxtəlif versiyalarının izlənilməsi və saxlanılması üçün istifadə edilir.
Məsələn, Git, SVN və ya Mercurial kimi versiya idarəetmə sistemləri (VCS) ilə proqram fayllarının hər dəyişiklikdə yeni versiyaları qeyd olunur.
Versiya izləmə həm də komanda üzvlərinin eyni faylda konflikt yaratmadan çalışmasına imkan verir.
Dəyişikliklərin İdarə Edilməsi ()
Layihəyə əlavə ediləcək və ya dəyişdiriləcək hər hansı tələbin və ya funksionallığın təsdiqlənməsi, izlənməsi və tətbiq edilməsi prosesidir.
Dəyişikliklərdən əvvəl və sonra proqramın vəziyyətini müqayisə etmək və dəyişikliklərin müsbət və mənfi təsirlərini qiymətləndirmək üçün istifadə edilir.Babich, W.A. (1986). Software Configuration Management, Coordination for Team Productivity. 1st edition. Boston: Addison-Wesley
Konfiqurasiya elementlərinin identifikasiyası ()
Proqramda izlənilməsi vacib olan hər bir element müəyyənləşdirilir və unikal bir identifikatorla qeyd olunur.
Bu elementlərə kod faylları, sənədlər, kitabxanalar, qurma () skriptləri, testlər və ya sistem arxitekturası sənədləri aid ola bilər.
Dəyişikliklərin təhlili və təsdiqi ()
Proqramda baş verən hər bir dəyişiklik konfiqurasiya idarəetmə komitəsi () tərəfindən təsdiqlənməlidir.
CCB dəyişikliklərin layihəyə təsirini qiymətləndirir və tətbiq olunacaq dəyişiklikləri təhlil edərək qərar qəbul edir.
Konfiqurasiya statusunun hesabatı ()
Konfiqurasiyanın vəziyyəti və dəyişikliklərin tarixçəsi barədə hesabatların aparılmasıdır.
Bu hesabatlar dəyişikliklərin izlənməsini, problemlərin həllini və konfiqurasiyanın düzgün aparılmasını təmin edir.
Auditoriya və nəzarət ()
Proqramın müəyyən versiyalarının tələblərə uyğun olaraq hazırlanıb-hazırlanmadığını yoxlamaq məqsədilə konfiqurasiya yoxlamaları həyata keçirilir.
Bu, həmçinin tətbiq edilən hər dəyişikliyin düzgün olub olmadığını və proqramın uyğun versiyada olmasını yoxlayır.

 Proqram konfiqurasiyasının idarə edilməsinin əhəmiyyəti 
 Davamlılıq — proqramın hər hansı bir mərhələdə dəqiq vəziyyətini əldə etmək və əvvəlki versiyalara qayıtmaq üçün imkan yaradır.
 Problem həlli — kodda problem yaranarsa, problemli versiyanı və kodu tez bir zamanda müəyyən etməyə imkan verir.
 Komanda işini təşviq — versiya nəzarət sistemləri ilə bir çox inkişafçı eyni layihədə təhlükəsiz işləyə bilər və işlər bir-birinə mane olmadan inteqrasiya olunur.
 Keyfiyyətə nəzarət — SCM sistemləri vasitəsilə kodun düzgün işləyib-işləmədiyi, hər dəyişiklikdən sonra testlərin icra olunması və keyfiyyətin qorunması təmin edilir.

 Konfiqurasiya idarəetmə alətləri 
Bir çox SCM aləti proqram konfiqurasiyasının idarə edilməsində geniş istifadə olunur. Əsas alətlərdən bəziləri bunlardır:

 Git — ən populyar SCM alətlərindən biridir, versiyaların idarə olunması və kodun müvəqqəti (branching) şaxələndirilməsi üçün istifadə edilir.
 SVN () — açıq mənbəli VCS olub, versiya izləmə və dəyişikliklərin idarə olunmasını təmin edir.
 Jira və Trello — dəyişikliklərin idarə olunması, tapşırıqların izlənməsi və layihə idarəetmə sistemləri kimi istifadə olunur.

Proqram konfiqurasiyasının idarə edilməsi vasitəsilə layihələrdə səmərəlilik artır, dəqiqlik təmin olunur və proqram təminatı yüksək keyfiyyət standartlarına uyğun hazırlanır.

 İstinadlar 

 Ədəbiyyat 
 Dennis, A., Wixom, B.H. & Tegarden, D. (2002). System Analysis & Design: An Object-Oriented Approach with UML. Hoboken, New York: John Wiley & Sons, Inc.
 Department of Defense, USA (2001). Military Handbook: Configuration management guidance (rev. A) (MIL-HDBK-61A). Retrieved January 5, 2010, from http://www.everyspec.com/MIL-HDBK/MIL-HDBK-0001-0099/MIL-HDBK-61_11531/
 Futrell, R.T. et al. (2002). Quality Software Project Management. 1st edition. Prentice-Hall.
 International Organization for Standardization (2003). ISO 10007: Quality management systems – Guidelines for configuration management.
 Saeki M. (2003). Embedding Metrics into Information Systems Development Methods: An Application of Method Engineering Technique. CAiSE 2003, 374–389.
 Scott, J.A. & Nisse, D. (2001). Software configuration management. In: Guide to Software Engineering Body of Knowledge. Retrieved January 5, 2010, from http://www.computer.org/portal/web/swebok/htmlformat
 Paul M. Duvall, Steve Matyas, and Andrew Glover (2007). Continuous Integration: Improving Software Quality and Reducing Risk. (1st ed.). Addison-Wesley Professional. .

 Xarici keçidlər 
SCM and ISO 9001 by Robert Bamford and William Deibler, SSQC
Use Cases and Implementing Application Lifecycle Management 
Parallel Development Strategies for Software Configuration Management

Kateqoriya:İnformatika