Dasturiy ta'minot konfiguratsiyasini boshqarish

**Dasturiy ta'minot konfiguratsiyasini boshqarish** (**SCM** , *software configuration management*), shuningdek, **dasturiy o'zgarishlar va konfiguratsiyani boshqarish** (**SCCM** , *software change and configuration management*) deb ham ataladi — bu dasturiy muhandislik (software engineering) sohasidagi dasturiy tizim (software system) o'zgarishlarini kuzatish va nazorat qilish amaliyotidir. U konfiguratsiyani boshqarish (configuration management - CM) deb nomlanuvchi kengroq va fanlararo sohaning bir qismi hisoblanadi. SCM o'z ichiga versiyalarni boshqarish (version control) va bazaviy holatlarni (baselines) o'rnatishni oladi.

## Maqsadlar

SCM ning maqsadlari quyidagilardan iborat:

* Konfiguratsiyani identifikatsiyalash (Configuration identification) - konfiguratsiyalarni, konfiguratsiya elementlarini (configuration items) va bazaviy holatlarni aniqlash.
* Konfiguratsiyani nazorat qilish (Configuration control) - nazorat qilinadigan o'zgarishlar jarayonini amalga oshirish. Bu odatda barcha bazaviy holatlarga nisbatan yuborilgan o'zgarish so'rovlarini tasdiqlash yoki rad etish funktsiyasini bajaruvchi o'zgarishlarni nazorat qilish kengashini (change control board) tashkil etish orqali erishiladi.
* Konfiguratsiya holati hisobi (Configuration status accounting) — ishlab chiqish jarayonining holati to'g'risidagi barcha zarur ma'lumotlarni yozib borish va hisobot berish.
* Konfiguratsiya auditi (Configuration auditing) - konfiguratsiyalar barcha mo'ljallangan qismlarni o'z ichiga olishini hamda talablar, me'moriy spetsifikatsiyalar va foydalanuvchi qo'llanmalari kabi hujjatlarga muvofiqligini ta'minlash.
* Yig'ishni boshqarish (Build management) - dasturiy ta'minotni yig'ish (build) jarayoni va unda qo'llaniladigan vositalarni boshqarish.
* Jarayonlarni boshqarish (Process management) - tashkilotning ishlab chiqish jarayoniga rioya qilinishini ta'minlash.
* Muhitni boshqarish (Environment management) - tizim joylashtirilgan dasturiy va apparat ta'minotini boshqarish.
* Jamoaviy ish (Teamwork) — jarayon bilan bog'liq jamoaviy o'zaro hamkorlikni osonlashtirish.
* Nuqsonlarni kuzatish (Defect tracking) - har bir nuqsonning manbasigacha kuzatilishini ta'minlash.

Bulutli hisoblashlar (cloud computing) va DevOps joriy etilishi bilan, ba'zi holatlarda SCM vositalarining maqsadlari birlashib ketdi. SCM vositalarining o'zi virtual mashina sifatida ishga tushirilishi hamda holati va versiyasi bilan birga saqlanishi mumkin bo'lgan virtual qurilmalarga (virtual appliances) aylandi. Ushbu vositalar bulutga asoslangan virtual resurslarni, jumladan, virtual qurilmalar, saqlash birliklari va dasturiy paketlarni modellashtirishi va boshqarishi mumkin. Ishtirokchilarning rollari va mas'uliyatlari ham o'zaro birlashdi; endilikda dasturchilar virtual serverlar va tegishli resurslarni dinamik ravishda ishga tushirish imkoniyatiga ega bo'ldilar.

## Manbalar

## Qo'shimcha adabiyotlar
* 
* Aiello, R. (2010). *Configuration Management Best Practices: Practical Methods that Work in the Real World* (1st ed.). Addison-Wesley. .
* Babich, W.A. (1986). *Software Configuration Management, Coordination for Team Productivity*. 1st edition. Boston: Addison-Wesley
* Berczuk, Appleton; (2003). *Software Configuration Management Patterns: Effective TeamWork, Practical Integration* (1st ed.). Addison-Wesley. .
* Bersoff, E.H. (1997). Elements of Software Configuration Management. *IEEE Computer Society Press, Los Alamitos, CA,* 1-32
* 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. .

## Tashqi havolalar
*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