Yazılım Kalite Yönetimi - Giriş
Kaliteli yazılım, makul ölçüde hatasız veya hatasız, zamanında ve belirlenen bütçe dahilinde teslim edilen, gereksinimleri ve / veya beklentileri karşılayan ve bakımı yapılabilen bir yazılımı ifade eder. Yazılım mühendisliği bağlamında, yazılım kalitesi her ikisini de yansıtır.functional quality Hem de structural quality.
Software Functional Quality - Fonksiyonel gereksinimlere veya spesifikasyonlara dayalı olarak belirli bir tasarımı ne kadar iyi karşıladığını yansıtır.
Software Structural Quality - Sağlamlık veya bakım kolaylığı gibi işlevsel gereksinimlerin sağlanmasını destekleyen işlevsel olmayan gereksinimlerin ele alınması ve yazılımın doğru üretilme derecesi ile ilgilenir.
Software Quality Assurance- Yazılım Kalite Güvencesi (SQA), sonuçta kaliteli yazılım ürünleri ile sonuçlanan yazılım mühendisliği süreçlerinde kaliteyi sağlamak için bir dizi faaliyettir. Faaliyetler, ürün üreten süreçleri oluşturur ve değerlendirir. Süreç odaklı eylemi içerir.
Software Quality Control- Yazılım Kalite Kontrolü (SQC), yazılım ürünlerinde kaliteyi sağlamaya yönelik bir dizi faaliyettir. Bu faaliyetler, üretilen gerçek ürünlerdeki kusurları belirlemeye odaklanır. Ürün odaklı eylemi içerir.
Yazılım Kalitesi Zorluğu
Yazılım endüstrisinde, geliştiriciler, diğer endüstriyel ürün üreticilerinin genellikle yaptığı gibi yazılımın hatasız olduğunu asla beyan etmeyeceklerdir. Bu fark aşağıdaki nedenlerden kaynaklanmaktadır.
Ürün Karmaşıklığı
Ürünün izin verdiği çalışma modu sayısıdır. Normalde, bir endüstriyel ürün, makine ayarlarının farklı kombinasyonlarıyla yalnızca birkaç binden daha az çalışma moduna izin verir. Bununla birlikte, yazılım paketleri milyonlarca işletim olasılığına izin verir. Bu nedenle, tüm bu operasyonel olanakların doğru bir şekilde sağlanması, yazılım endüstrisi için büyük bir zorluktur.
Ürün Görünürlüğü
Endüstriyel ürünler görünür olduğundan, kusurlarının çoğu üretim sürecinde tespit edilebilir. Ayrıca endüstriyel bir üründe parça bulunmaması üründe kolaylıkla tespit edilebilir. Bununla birlikte, disketlerde veya CD'lerde depolanan yazılım ürünlerindeki kusurlar görünmezdir.
Ürün Geliştirme ve Üretim Süreci
Endüstriyel bir üründe, aşağıdaki aşamalarda kusurlar tespit edilebilir -
Product development - Bu aşamada, tasarımcılar ve Kalite Güvence (QA) personeli, kusurlarını tespit etmek için ürün prototipini kontrol eder ve test eder.
Product production planning- Bu aşamada üretim süreci ve araçları tasarlanır ve hazırlanır. Bu aşama aynı zamanda geliştirme aşamasında fark edilmeyen kusurları tespit etmek için ürünü inceleme fırsatı sunar.
Manufacturing- Bu aşamada, ürünlerin kendilerinin arızalarını tespit etmek için QA prosedürleri uygulanır. Üretimin ilk döneminde tespit edilen üründeki kusurlar, genellikle ürünün tasarımında veya malzemelerinde veya üretim araçlarında meydana gelen bir değişiklik ile ileride üretilen ürünlerde bu tür kusurları ortadan kaldıracak şekilde düzeltilebilir.
Ancak yazılım söz konusu olduğunda, kusurların tespit edilebildiği tek aşama geliştirme aşamasıdır. Yazılım olması durumunda, yazılım kopyalarının üretimi ve yazılım kılavuzlarının basımı otomatik olarak yapıldığından ürün üretim planlama ve üretim aşamalarına gerek kalmaz.
Yazılım ürünlerinde diğer endüstriyel ürünlere göre kusur tespitini etkileyen faktörler aşağıdaki tabloda gösterilmektedir.
Karakteristik | Yazılım Ürünleri | Diğer Endüstriyel Ürünler |
---|---|---|
Karmaşıklık | Milyonlarca operasyonel seçenek | bin operasyonel seçenek |
ürünün görünürlüğü | Görünmez Ürün Kusurları görerek tespit etmek zor | Görünür Ürün Görerek kusurların etkili tespiti |
Geliştirme ve üretim sürecinin doğası | Kusurları yalnızca bir aşamada kusur edebilir | aşağıdaki aşamaların tümünde kusurları tespit edebilir
|
Yazılımın karmaşıklık ve görünmezlik gibi bu özellikleri, yazılım kalite güvence metodolojisinin geliştirilmesini ve başarılı bir şekilde uygulanmasını oldukça profesyonel bir zorluk haline getirir.