Shakl 25.3 CM terminologiyasi
Konfiguratsiyani boshqarish standartlarini aniqlash va ulardan foydalanish ISO 9000 standartida ham , SEIning qobiliyat etuklik modelida ham sifat sertifikati uchun zarurdir (Bamford va Deibler 2003; Chrissis, Konrad va Shrum 2011). Kompaniyadagi CM standartlari IEEE 828-2012, konfiguratsiyani boshqarish uchun IEEE standarti kabi umumiy standartlarga asoslanishi mumkin . Ushbu standartlar CM jarayonlariga va CM jarayonida ishlab chiqarilgan hujjatlarga qaratilgan (IEEE 2012). Boshlang'ich nuqta sifatida tashqi standartlardan foydalangan holda, kompaniyalar o'zlarining ehtiyojlariga moslashtirilgan batafsilroq, kompaniyaga xos standartlarni ishlab chiqishlari mumkin. Biroq, tezkor usullar hujjatlar bilan bog'liq qo'shimcha xarajatlar tufayli bunday stendlardan kamdan-kam foydalanadi.
Versiya boshqaruvi Versiyalarni boshqarish - bu dasturiy ta'minot komponentlarining turli versiyalarini va ushbu komponentlar qo'llaniladigan tizimlarni kuzatib borish jarayoni. Shuningdek, u turli ishlab chiquvchilar tomonidan ushbu versiyalarga kiritilgan o'zgarishlar bir-biriga xalaqit bermasligini ta'minlashni o'z ichiga oladi. Boshqacha qilib aytadigan bo'lsak, versiya boshqaruvi kod satrlari va asosiy chiziqlarni boshqarish jarayonidir.
25.4 - rasmda kodli chiziq va asosiy chiziqlar o'rtasidagi farqlar ko'rsatilgan. Kod chizig'i - bu dastlabki versiyalardan olingan ketma-ketlikda keyingi versiyalar bilan dastlabki kod versiyalarining ketma-ketligi. Kodekslar odatda tizim komponentlariga qo'llaniladi, shuning uchun har bir komponentning turli xil versiyalari mavjud. Asosiy chiziq - bu muayyan tizimning ta'rifi. Asosiy chiziq tizimga kiritilgan komponent versiyalarini belgilaydi va foydalanilgan kutubxonalar, konfiguratsiya fayllari va boshqa tizim ma'lumotlarini aniqlaydi. 25.4 -rasmda siz har xil tayanch chiziqlar har bir kod satridagi komponentlarning turli versiyalarini qo'llashini ko'rishingiz mumkin . Diagrammada men asosiy ta'rifdagi komponentlarni ifodalovchi qutilarga soya solib qo'ydim , bular aslida kod chizig'idagi komponentlarga havolalar. Asosiy chiziq - bu asl bazadan ishlab chiqilgan tizim versiyalarining ketma-ketligi.
Asosiy chiziqlar tizimning ma'lum bir versiyasiga qanday komponentlar kiritilishi kerakligini aniqlaydigan konfiguratsiya tili yordamida belgilanishi mumkin. Komponentning individual versiyasini (X.1.2, aytaylik) yoki oddiygina komponent identifikatorini (X) aniq belgilash mumkin. Agar siz konfiguratsiya tavsifiga oddiygina komponent identifikatorini qo'shsangiz, komponentning eng so'nggi versiyasidan foydalanish kerak.
Asosiy belgilar muhim, chunki siz tez-tez tizimning individual versiyasini qayta yaratishingiz kerak bo'ladi. Misol uchun, har bir tizim mijozi uchun maxsus tizim versiyalari mavjud bo'lishi uchun mahsulot liniyasi yaratilishi mumkin. Agar mijoz o'z tizimidagi tuzatilishi kerak bo'lgan xatolar haqida xabar bersa, unga yetkazib berilgan versiyani qayta yaratishingiz kerak bo'lishi mumkin.
Versiyalarni boshqarish (VC) tizimlari komponentlarning turli versiyalariga kirishni aniqlaydi, saqlaydi va nazorat qiladi. Zamonaviy versiyani boshqarish tizimining ikki turi mavjud:
Markazlashtirilgan tizimlar , bu erda yagona asosiy ombor ishlab chiqilayotgan dasturiy ta'minot komponentlarining barcha versiyalarini saqlaydi. Subversion (Pilato, Collins-Sussman va Fitzpatrick 2008) markazlashtirilgan VC tizimining keng qo'llaniladigan namunasidir.
Bir vaqtning o'zida komponentlar omborining bir nechta versiyalari mavjud bo'lgan taqsimlangan tizimlar . Git (Loeliger and McCullough 2012) taqsimlangan VC tizimining keng qo'llaniladigan namunasidir.
Markazlashtirilgan va taqsimlangan VC tizimlari solishtirish mumkin bo'lgan funksionallikni ta'minlaydi, ammo bu funksiyani turli yo'llar bilan amalga oshiradi. Ushbu tizimlarning asosiy xususiyatlari quyidagilardan iborat:
Versiya va reliz identifikatsiyasi Komponentning boshqariladigan versiyalari tizimga yuborilganda ularga noyob identifikatorlar beriladi. Ushbu identifikatorlar komponent nomini o'zgartirmasdan, bir xil komponentning turli versiyalarini boshqarishga imkon beradi. Versiyalarga atributlar ham berilishi mumkin, atributlar to‘plami har bir versiyani yagona aniqlash uchun ishlatiladi.
O'zgarishlar tarixini yozib olish VC tizimi komponentning oldingi versiyasidan yangi versiyasini yaratish uchun kiritilgan o'zgarishlarni qayd qiladi. Ba'zi tizimlarda bu o'zgarishlar muayyan tizim versiyasini tanlash uchun ishlatilishi mumkin. Bu kiritilgan o'zgarishlarni tavsiflovchi kalit so'zlar bilan komponentlarni belgilashni o'z ichiga oladi. Keyin ushbu teglardan asosiy chiziqqa kiritiladigan komponentlarni tanlash uchun foydalanasiz.
Mustaqil ishlab chiqish Turli ishlab chiquvchilar bir vaqtning o'zida bir xil komponent ustida ishlayotgan bo'lishi mumkin. Versiyalarni boshqarish tizimi tahrirlash uchun tekshirilgan komponentlarni kuzatib boradi va turli ishlab chiquvchilar tomonidan komponentga kiritilgan o'zgarishlar xalaqit bermasligini ta'minlaydi.
Loyihani qo'llab-quvvatlash Versiyalarni boshqarish tizimi bir nechta komponentlarni birlashtiradigan bir nechta loyihalarni ishlab chiqishni qo'llab-quvvatlashi mumkin. Bir vaqtning o'zida bitta fayl yoki katalog bilan ishlashdan ko'ra, loyiha bilan bog'liq bo'lgan barcha fayllarni tekshirish va tekshirish mumkin.
Saqlashni boshqarish Komponentning barcha versiyalarining alohida nusxalarini saqlash o'rniga, versiyalarni boshqarish tizimi bir xil fayllarning takroriy nusxalari saqlanmasligini ta'minlash uchun samarali mexanizmlardan foydalanishi mumkin. Fayllar o'rtasida faqat kichik farqlar mavjud bo'lsa, VC tizimi fayllarning bir nechta nusxalarini saqlash o'rniga bu farqlarni saqlashi mumkin. Muayyan versiya farqlarni asosiy versiyaga qo'llash orqali avtomatik ravishda qayta yaratilishi mumkin.
Ko'pgina dasturiy ta'minotni ishlab chiqish jamoaviy faoliyatdir, shuning uchun bir nechta jamoa a'zolari bir vaqtning o'zida bir komponentda ishlaydi. Misol uchun, Alisa tizimga ba'zi o'zgarishlar kiritmoqda, deylik, A, B va C komponentlarini o'zgartirishni o'z ichiga oladi . Shu bilan birga, Bob X, Y va C komponentlariga o'zgartirish kiritishni talab qiladigan o'zgarishlar ustida ishlamoqda. Shuning uchun Elis ham, Bob ham C ni o'zgartirmoqda. Bu erdagi o'zgarishlar bir-biriga xalaqit beradigan vaziyatlardan qochish muhim - Bobning Elisni yozishdan ko'ra C ga o'zgarishi yoki aksincha.
Mustaqil rivojlanishni aralashuvsiz qo'llab-quvvatlash uchun barcha versiyalarni boshqarish tizimlari loyiha ombori va shaxsiy ish maydoni tushunchasidan foydalanadi. Loyiha ombori barcha komponentlarning "master" versiyasini saqlaydi, bu esa tizimni qurish uchun asoslarni yaratish uchun ishlatiladi. Komponentlarni o'zgartirganda, ishlab chiquvchilar nusxa ko'chirishadi.