Yazılım Mühendisliğinde Yazılım Konfigürasyon Yönetimi
⚡ Akıllı Özet
Yazılım Yapılandırma Yönetimi (SCM), Yazılım Geliştirme Yaşam Döngüsü boyunca belgelerde, kodda ve diğer öğelerde yapılan değişiklikleri sistematik olarak yönetme, düzenleme ve kontrol etme sürecidir. Birincil amacı, verimliliği artırırken aynı zamanda sürdürülebilirliği sağlamaktır.ping Hataları en aza indirmek.

Yazılım Konfigürasyon Yönetimi Nedir?
Yazılım Mühendisliğinde, Yazılım Yapılandırma Yönetimi (SCM) Yazılım Geliştirme Yaşam Döngüsü boyunca belgelerde, kodlarda ve diğer varlıklarda yapılan değişiklikleri sistematik olarak yönetme, organize etme ve kontrol etme sürecidir. Birincil amaç, minimum hata ile verimliliği artırmaktır. SCM, disiplinler arası bir alan olan konfigürasyon yönetiminin bir parçasıdır ve hangi revizyonu kimin yaptığını doğru bir şekilde belirleyebilir.
Konfigürasyon yönetimine neden ihtiyacımız var?
Teknik Yazılım Yapılandırma Yönetim Sistemi'nin uygulanmasının başlıca nedenleri şunlardır:
- Sürekli güncellenen bir yazılım üzerinde birden fazla kişi çalışıyor.
- Bir yazılım yapılandırma projesinde birden fazla sürüm, dal ve yazarın yer aldığı, ekibin coğrafi olarak dağılmış ve eş zamanlı olarak çalıştığı bir durum söz konusu olabilir.
- Kullanıcı gereksinimlerindeki, politikalardaki, bütçedeki ve zaman çizelgesindeki değişikliklere uyum sağlanması gerekmektedir.
- Yazılım çeşitli makinelerde çalışabilmelidir ve OperaAyarlama Sistemleri.
- Paydaşlar arasında koordinasyonun geliştirilmesine yardımcı olur.
- Tedarik zinciri yönetimi süreci, sistemde değişiklik yapmanın maliyetlerini kontrol etmek açısından da faydalıdır.
Yazılım yapılandırma öğelerindeki herhangi bir değişiklik nihai ürünü etkileyecektir. Bu nedenle konfigürasyon öğelerindeki değişikliklerin kontrol edilmesi ve yönetilmesi gerekir.
SCM sürecindeki görevler
- Yapılandırma Tanımlaması
- taban
- Kontrolü değiştir
- Konfigürasyon Durumu Hesaplama
- Yapılandırma Denetimleri ve Revgörünüm
Yapılandırma Tanımlaması
Yapılandırma tanımlama, yazılım sisteminin kapsamını belirleme yöntemidir. Bu adım sayesinde, ne olduğunu bilmeseniz bile bir şeyi yönetebilir veya kontrol edebilirsiniz. CSCI türünü (Bilgisayar Yazılımı Yapılandırma Öğesi), proje tanımlayıcısını ve sürüm bilgilerini içeren bir açıklamadır.
Bu süreçteki faaliyetler:
- Kaynak kodu modülleri gibi konfigürasyon öğelerinin tanımlanması, test durumuve gereksinim spesifikasyonu.
- Nesne yönelimli bir yaklaşım kullanılarak, SCM deposundaki her bir CSCI'nin tanımlanması.
- Süreç, temel nesnelerle başlar ve bunlar toplu nesneler halinde gruplandırılır. Testte yapılan değişikliklerin ayrıntıları, neden, ne zaman ve kim tarafından yapıldığıyla ilgilidir.
- Her nesnenin, adını diğer tüm nesneler için açıkça belirten kendine özgü özellikleri vardır.
- Gerekli kaynakların listesi; belge, dosya, araçlar vb.
Örnek:
Dosyaya login.php yerine login_v1.2.php adı verilmelidir; burada v1.2 dosyanın sürüm numarasını temsil eder.
Klasöre isim vermek yerine “Code", adı " olmalıdırCode_D” ifadesi, D harfinin kodun günlük olarak yedeklenmesi gerektiğini temsil ettiği yerdir.
Temel
Temel, bir yazılım yapılandırma öğesinin resmi olarak kabul edilen bir sürümüdür. SCM süreci yürütülürken belirli bir zamanda belirlenir ve sabitlenir. Yalnızca resmi değişiklik kontrol prosedürleri yoluyla değiştirilebilir.
Bu süreçteki faaliyetler:
- Bir uygulamanın çeşitli sürümlerinin oluşturulmasını kolaylaştırın.
- Bu çalışma ürünlerinin çeşitli sürümlerini yönetmek için mekanizmaların tanımlanması ve belirlenmesi.
- İşlevsel temel, gözden geçirilmiş sistem gereksinimlerine karşılık gelir.
- Yaygın olarak kullanılan temel ölçütler arasında fonksiyonel, gelişimsel ve ürün temel ölçütleri yer almaktadır.
Basit bir ifadeyle temel, yayına hazır anlamına gelir.
Kontrolü değiştir
Değişiklik kontrolü, yapılandırma nesnesinde değişiklikler yapıldığında kalite ve tutarlılığı sağlayan prosedürel bir yöntemdir. Bu adımda, değişiklik talebi yazılım yapılandırma yöneticisine gönderilir.
Bu süreçteki faaliyetler:
- İstikrarlı bir yazılım geliştirme ortamı oluşturmak için anlık değişiklikleri kontrol edin. Değişiklikler depoya kaydedilir.
- Talep, teknik yeterliliği, olası yan etkileri ve diğer yapılandırma nesneleri üzerindeki genel etkisi göz önünde bulundurularak incelenecektir.
- Yazılım yaşam döngüsü boyunca değişiklikleri yönetir ve yapılandırma öğelerini kullanılabilir hale getirir.
Konfigürasyon Durumu Hesaplama
Yapılandırma durumu muhasebesi tracSCM süreci boyunca her sürümde ks kullanılır. Bu aşama şunları içerir: tracHer sürümün ne içerdiğini ve bu sürüme yol açan değişiklikleri ele alalım.
Bu süreçteki faaliyetler:
- Önceki temel değere yapılan tüm değişikliklerin kaydını tutarak yeni bir temel değere ulaşılmasını sağlar.
- Yazılım yapılandırmasını tanımlamak için tüm öğeleri belirleyin.
- Değişiklik taleplerinin durumunu takip edin.
- Son temel ölçümden bu yana meydana gelen tüm değişikliklerin tam listesi.
- verir tracBir sonraki temel seviyeye doğru ilerlemenin kralı.
- Önceki sürümlerin/versiyonların tekrar kullanılabilmesine olanak tanır.tractest için hazırlandı.
Yapılandırma Denetimleri ve Revgörünüm
Yazılım Konfigürasyonu denetimleri, tüm yazılım ürününün temel ihtiyaçları karşıladığını doğrular. İnşa edilenin teslim edilen şey olmasını sağlar.
Bu süreçteki faaliyetler:
- Konfigürasyon denetimi, denetçiler tarafından tanımlanan süreçlerin takip edildiğinin kontrol edilmesi ve SCM hedeflerinin karşılanmasının sağlanması yoluyla gerçekleştirilir.
- Yapılandırma kontrol standartlarına uyumluluğu doğrulamak, yapılan değişiklikleri denetlemek ve raporlamak.
- Tedarik zinciri yönetimi denetimleri ayrıca şunları da sağlar: tracSüreç boyunca güvenilirlik korunmaktadır.
- Temel yapılandırmada yapılan değişikliklerin yapılandırma durum raporlarıyla uyumlu olmasını sağlar.
- Eksiksizlik ve tutarlılığın doğrulanması.
SCM sürecinin katılımcısı
Tedarik zinciri yönetiminde yer alan başlıca katılımcılar şunlardır:
1. Yapılandırma Yöneticisi
- Yapılandırma Yöneticisi, yapılandırma öğelerini belirlemekten sorumlu olan baş kişidir.
- CM, ekibin SCM sürecini takip etmesini sağlar.
- Değişiklik taleplerini onaylaması veya reddetmesi gerekiyor.
2. Geliştirici
- Geliştirici, standart geliştirme faaliyetlerine veya değişiklik taleplerine göre kodu değiştirmelidir. Kodun yapılandırmasının sürdürülmesinden sorumludur.
- Geliştirici, değişiklikleri kontrol etmeli ve çakışmaları çözmelidir.
3. denetçi
- Denetçi, SCM denetimlerinden ve incelemelerinden sorumludur.
- Yayınların tutarlılığını ve eksiksizliğini sağlamak gerekiyor.
4. Proje Yöneticisi:
- Ürünün belirli bir zaman dilimi içinde geliştirilmesini sağlayın.
- Tedarik zinciri yönetimi sürecindeki gelişmeleri izler ve sorunları tespit eder.
- Yazılım sisteminin durumu hakkında raporlar oluşturun.
- Oluşturma, değiştirme ve test etme süreçlerinde ve politikalarda izlenen kurallara uyulduğundan emin olun.
5. Kullanıcı
Son kullanıcının, yazılımın en güncel sürümüne sahip olduğundan emin olmak için temel SCM terimlerini anlaması gerekir.
Yazılım Konfigürasyon Yönetim Planı
Yazılım Yapılandırma Yönetimi Planlaması (SCMP) süreci, projenin erken kodlama aşamalarında başlar. Planlama aşamasının sonucu, proje boyunca genişletilebilecek veya revize edilebilecek olan SCM planıdır.
- SCMP, IEEE 828 gibi kamuya açık bir standardı veya kuruluşa özgü bir standardı takip edebilir.
- Yönetilecek belge türlerini ve belge adlandırma kuralını tanımlar. Örnek: Test_v1.
- SCMP, tüm SCM sürecinden ve temel çizgilerin oluşturulmasından sorumlu olacak kişiyi tanımlar.
- Sürüm yönetimi ve değişiklik kontrolü için politikaları düzeltin.
- Tedarik zinciri yönetimi sürecinde kullanılabilecek araçları tanımlayın.
- Yapılandırma bilgilerini kaydetmek için yapılandırma yönetimi veritabanı.
Yazılım Konfigürasyon Yönetimi Araçları
Herhangi bir değişiklik yönetimi yazılımı aşağıdaki 3 temel özelliğe sahip olmalıdır:
Eşzamanlılık Yönetimi:
İki veya daha fazla görevin aynı anda gerçekleşmesine eşzamanlı işlem denir. Tedarik zinciri yönetimi (SCM) bağlamında eşzamanlılık, aynı dosyanın aynı anda birden fazla kişi tarafından düzenlenmesi anlamına gelir.
Eşzamanlılık SCM araçlarıyla doğru şekilde yönetilmezse, birçok acil soruna neden olabilir.
Sürüm Kontrolü:
SCM, bir arşivleme yöntemi kullanır veya bir dosyada yapılan her değişikliği kaydeder. Arşivleme veya kaydetme özelliği sayesinde, sorunlar ortaya çıktığında önceki sürüme geri dönmek mümkündür.
Synckronizasyon:
Kullanıcılar birden fazla dosyayı veya deponun tamamını ödünç alabilirler. Ardından kullanıcı ihtiyaç duyduğu dosya üzerinde çalışır ve değişiklikleri depoya geri gönderir. Diğer ekip üyeleri tarafından yapılan değişikliklerden haberdar olmak için yerel kopyalarını senkronize edebilirler.
Aşağıda popüler araçlar yer almaktadır:
1.Git: Git, sürüm kontrolüne yardımcı olan ücretsiz ve açık kaynaklı bir araçtır. Her türlü projeyi hızlı ve verimli bir şekilde yürütmek için tasarlanmıştır.
Download linki: https://git-scm.com/
2. takım Foundation Sunucu: Team Foundation ekibin bir ürün oluşturmak için işbirliği yapmasına ve koordine etmesine olanak tanıyan bir grup araç ve teknolojidir.
Download linki: https://azure.microsoft.com/en-us/services/devops/server/
3. Ansible: Açık kaynaklı bir yazılım yapılandırma yönetim aracıdır. Yapılandırma yönetiminin yanı sıra uygulama dağıtımı ve görev otomasyonu da sunmaktadır.
Download linki: https://www.ansible.com/


