13.DERS Konfigürasyon Yönetimi 1
Konfigürasyon Yönetimi Nedir? Aşağıda sıralanan teknik ve yönetimsel direktiflerin uygulandığı ve gözlemlendiği bir disiplindir: Konfigürasyon biriminin fonksiyonel ve fiziksel karakteristiklerinin tanımlanması ve dokümante edilmesi, Bu karakteristiklerdeki değişikliklerin kontrol edilmesi, Değişiklik sürecini ve uygulanan statüleri kaydetme ve raporlama Belirlenen gerekliliklerin sağlandığını ve tamamlandığını doğrulama 2
Konfigürasyon Yönetimi Konfigürasyon yönetimi aşağıdaki maddeleri sağlayacak bir yönetim biçimidir. Belli zamanlarda sisteme önerilmiş ve uygulanmış değişiklikleri belirler. Bütün sistem elemanlarına yapılan değişikliklerin bir kaydını tutar. Değişikliklerin kontrolü için gerekli araçları sağlar. Sisteme yaşam döngüsü içinde yapılan bütün değişikliklerin doğrulanmasını sağlar. 3
Konfigürasyon Yönetiminde aranan sorular İyi bir konfigürasyon yönetim sistemi aşağıdaki soruları yanıtlayabilecek nitelikte veri üretmelidir. Sistemin (n)inci versiyonu, alt sistemlerin veya modüllerin hangi versiyonlarından oluşuyor. 4
Bir dökümanın (n+1)inci versiyonunu üretmek için o dökümanın (n)inci versiyonuna uygulanması gereken değişiklikler nelerdir? Programın (n)inci versiyonuna uygulanan değişikliklerin doğrulaması yapıldı mı? Son versiyonun çıkmasından sonra kaç tane hata tesbit edildi ve düzeltildi? Sistem değişikliğine yol açacak kaç tane önerilmiş değişiklik uygulaması kaldı? 5
Konfigürasyon Yönetimi Süreci 6
Konfigürasyon Yönetimi Aktiviteleri Konfigürasyon Yönetimine Giren Yazılım Elemanları Yazılımın geliştirilmesi için gerekli isterler dokümanı, tasarım dokümanı gibi dokümanlar genellikle konfigürasyon yönetimi altındadır. Büyük projelerde bu dokümanlar alt sistemler için üretilmiş de olabilirler. 7
Konfigürasyon yönetimi altına girecek program kodu, projenin yapısına bağlı olsa da genellikle her modül test sonrası kontrol altındadır. Konfigürasyon kontrolü altındaki her şey bir versiyon numarası ile belirlenir. Kabul edilen bütün değişiklikler son versiyona uygulanır. 8
Konfigürasyon Kontrolü Kalite kılavuzunda konfigürasyon için gerekli yöntem, standart ve öneriler bulunmalıdır. İçermesi gereken hususlar: Değişikliklerin yapılması için gerekli işleri izah eden yöntemler, Kontrol grubuna iletilecek değişiklik önerileri için standartlar, Bir değişikliğin kabul edilip edilmemesi için kriterleri gösteren rehber, Değişiklikler için ilgili personelin bilgilendirilmesi amacıyla yöntemler. 9
Değişiklik Kaydı Konfigürasyon kontrolü altındaki bütün yazılım elemanları üzerinde yapılacak değişikliklerin bir kaydı tutulmalı ve versiyon numaraları buna göre değiştirilmelidir. Bir elemanın farklı versiyonları arasındaki değişikliklerin neler olduğu bilinmelidir. 10
Bir eleman üzerindeki değişikliğin, diğer elemanların hangi versiyonlarını ne şekilde etkileyeceğini ve bu elemanların yeni versiyonlarının üretilip üretilmeyeceği tespit edilmelidir. Aynı zamanda, önerilip kabul edilmiş fakat henüz uygulanmamış veya daha sonra uygulanmasına karar verilmiş değişikliklerin kayıtlarının tutulması gereklidir. 11
Sürüm kontrolü Sürüm kontrolü, yazılım yaşam çevrimi içerisinde ortaya çıkabilecek değişikliklerin, yazılımın yeni versiyonlarında ihtiva edilip edilmeyeceğinin veya nasıl ihtiva edileceğinin kontrolüdür. Yapılan değişiklikler hemen uygulamaya yansıtılmaz. Değişikliklerin bir bütünü yeni bir versiyon olarak yansıtılır. Üretilen yeni versiyon sürümden önce sistem ve onaylama testlerinden geçer. Sürüm kontrolü yazılım üzerinde yapılacak değişikliklerin yönetilmesi, izlenmesi ve belgelendirilmesi ile belirtmelidir. ilgili yöntemleri de 12
Konfigürasyon Yönetiminin yararları Belirlenen Hedeflere Ulaşma : Süreç, tanımlanmış ürün girdilerini tanımlanmış çıktılara dönüştürerek süreç alanında belirlenen hedeflere ulaşmayı destekler ve başarı sağlar. Kullanılan bir süreci kurumsallaştır :Süreç düzenlenip şirket ihtiyaçlarına uygun bir süreç haline getirilerek kurumsallaştırılır. 13
Süreci Planla : Konfigürasyon yönetimi sürecini gerçekleştirmek için plan oluşturul ve uygulanır. Kaynakları Sağlar: Konfigürasyon yönetimi sürecini gerçekleştirmek, ürünleri geliştirmek ve süreçleri devam ettirmek için gerekli kaynakları sağlar. Sorumluluk verir : Konfigürasyon yönetimi sürecinde, süreci gerçekleştirmek, ürünlerin geliştirilmesi ve servis sağlanması için sorumluluk ve yetki belirler 14
Süreci Planla : Konfigürasyon yönetimi sürecini gerçekleştirmek için plan oluşturul ve uygulanır. Eğitim Verilir: Konfigürasyon yönetimi süreçlerinde gerektiği şekilde, kullanıcılara uygulama ya da destek konusunda eğitim verilir Konfigürasyonları Yönet :Konfigürasyon yönetimi süreçleri doğrultusunda uygun kontrol seviyeleri altındaki ürünleri belirlenen yerlere yerleştirir 15
İlgili Gruplara Tanımla ve Dahil Etme :Konfigürasyon yönetimi sürecinde planlandığı gibi ilgili gruplar tanımlanır ve sürece dahil edilir Objektif Olarak Değerlendirilir: Konfigürasyon yönetimi elemanları süreç tanımına, standartlara, prosedürlere ve karşı görüşlere uygun şekilde objektif değerlendirilir 16