Proqram konfiqurasiyasının idarə edilməsi (ing.Software Configuration Management, SCM) — proqramın inkişaf prosesi zamanı meydana gələn bütün dəyişiklikləri izləmək,[1] 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.[2]
Proqramın müxtəlif versiyalarının izlənilməsi və saxlanılması üçün istifadə edilir.[3]
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 (ing.Change Management)
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.[4]
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.[5]
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.
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 (ing.Subversion) — 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.
↑Roger S. Pressman. Software Engineering: A Practitioner's Approach (7th International). New York: McGraw-Hill. 2009.
↑Aiello, R. (2010). Configuration Management Best Practices: Practical Methods that Work in the Real World (1st ed.). Addison-Wesley. ISBN0-321-68586-5
Dennis, A., Wixom, B.H. & Tegarden, D. (2002). System Analysis & Design: An Object-Oriented Approach with UML. Hoboken, New York: John Wiley & Sons, Inc.
Paul M. Duvall, Steve Matyas, and Andrew Glover (2007). Continuous Integration: Improving Software Quality and Reducing Risk. (1st ed.). Addison-Wesley Professional. ISBN0-321-33638-0.