Yazılımda Kalite Yönetimi (Part 1)

byanigli

Hectopat
Katılım
3 Ocak 2014
Mesajlar
541
Yer
İzmir, Turkey, Turkey
Daha fazla  
Cinsiyet
Erkek
Meslek
student of software engineering
Bu başlık altında, Yazılımda kalite nedir ? Yazılım projelerinde kalite nasıl yönetilir ? Kalite nedir gibi konulara değineceğiz. Bu tanımları yaparken 5 alt baslıkta tartışacağız. Sırasıyla alt başlıklar listede verilmiştir.

  1. Yazılım Kalitesi
  2. Yazılım Standartları
  3. Yazılımı gözden geçirme ve Denetlenmesi
  4. Kalite Yönetimi ve Çevik Geliştirme (Agile Development)
  5. Yazılım Ölçümü
Yazılım kalite yönetimi

Yazılım kalite yönetiminin amacı, bir yazılım ürünündeki gerekli kalite adımlarının başaralı bir şekilde geçmesini sağlamaktadır. Kalite yönetimi, 3 ana adımla ilgidir.

1. Adım: Kalite yönetimi, organizasyon safhasında, yüksek kaliteli bir yazılım elde etmek için, organizasyon süreçlerine ve standartları için bir iskelet yapı oluşturmakla yükümlüdür.

2. Adım: Proje safhasında kalite yönetimi, belirlenen kalite süreçlerinin uygulamaları projeye dahil etmekle ve bu planlanmış süreçlerin takip edilip edilmediği kontrol etmekle yükümlüdür

3. Adım: Proje safhasında, kalite yönetimi, proje için bir kalite planı oluşturmakla ilgilidir ve oluşturulan plan, kalite hedeflerini belirlemeli, hangi süreç ve standartları kullanılacağını belirtilmekle yükümlüdür.

Kalite Güvencisi ve Kalite Kontrolü
Kalite Güvencisi : bir ürün veya hizmetin kalite konusunda belirtilmiş gerekleri yerine getirmesinde yeterli güveni sağlamak için uygulanan planlı ve sistematik etkinlikler bütünü olarak tanımlanmaktadır.​
Kalite Kontrol : Kalite süreçlerinin uygulanmasıdır.​
Kalite Yönetim Aktiviteleri
  • Kalite yönetimi, yazılım geliştirme süreci üzerinde bağımsız bir kontrol sağlar.
  • Kalite yönetim süreçleri, proje çıktılarının, organizasyon standartlarının ve hedeflerinin tutarlı olduğundan emin olmak için kontrol sağlar.
  • Kalite yönetim takımları, yazılım geliştirme takımlarından ayrı olmalıdır. Böylece, kalite yönetim takımı, yazılımı objektif bir gözle inceleyebilir ve kalite raporu düzenlenirken, yazılım geliştirme sürecindeki sorunlara maruz kalmadığı için, bazı problemi göz ardı etme gibi bir eylem gerçekleşmez.
Kalite Yönetimi ve Yazılım Geliştirme

Yazılım geliştirilmeye başlanmadan evvel, Kalite Yöneticileri, gerekli kalite standartlarını ve prosedürleri belirlemeli daha sonra kalite planlaması yapmalıdır. Buna takiben yazılım geliştirilmeye başlamalıdır ve her geliştirme safhasında kalite inceleme raporu yazılmalıdır.​
Kalite Planlaması
  • Kalite planlaması, istenen ürünün niteliklerini, bunların nasıl değerlendirildiğini ve en önemli özelliklerini belirler.
  • Kalite planı, Kalite değerlendirme süreçlerini belirtir.
  • Kalite planı, organizasyon standartlarının kullanımı, nerede gerekli olacağını, yeni standartları kapsamalıdır.
Humphrey'e Göre Bir Kalite Planın Taslak Yapısı

Kalite Planı Yapısı
  • Ürün hakkında giriş
  • Ürün Planlaması
  • Süreç Tanımlamaları
  • Kalite Hedefleri
  • Riskler ve Risk yönetimi
Kalite planı kısa, öz ve etkili bir doküman olmalıdır. Eğer aksi bir doküman yazıldı ise, kimse onu okumakla uğraşmaz.​
Kalite Yönetimi Kapsamı
  • Kalite Yönetimi genellikle, karmaşık sistemler için önemlidir.
  • Kalite dokümanı, ilerlemelerin kayıtlarını kapsamalı ve geliştirme takımındaki değişiklikler gibi, değişimlere adaptasyon sağlaya bilmelidir.
  • Küçük sistemler için, Kalite dokümantasyonu daha az olmalı ve kalite kültürüne odaklanmalıdır.
  • Çevik geliştirme yönetimi kullanıldığında, teknikler adapte olmalıdır.
Yazılım Kalitesi

Yazılım kalitesi, kısaca tanımlamak gerekirse, Gereksinimde ve tasarım aşamalarında ortaya çıkan belirtimleri karşılaması olarak tanımlanır. Yazılımda kalite konusu bazı durumlarda problemlere yol açabilir. Örnek olarak, hızlı ve etkili kullanım, güvenirlik gibi müşterinin istediği kalite gereksinimleri ile, bakım, tekrar kullanım gibi geliştirici kalite gereksinimleri bir birini engellemesi gibi. Böyle durumlarda, gereksinimlere uygunluğundan çok, amaça uygunluğu kontrol edilmelidir.

Amaç için yazılım uygunluğu

Amaç için yazılım uygunluğu kontrol edilirken, aşağıdaki soruların cevaplarını inceleriz.
  1. Yazılım uygun şekilde test edildi mi ?
  2. Kullanıma yeterince güvenli bir yazılım mı ?
  3. Günlük kullanımda yazılım performansı yeterli mi ?
  4. Yazılım kullanışlı mı ?
  5. Yazılım iyi yapılandırılmış mı ve anlaşılabilir mi ?
  6. Programlama ve doküman standartları, geliştirme süreçleri ile eşleşiyor mu ?
Fonksiyonel olmayan Karakteristikler

Yazılımın kalitesi genellikle, fonksiyonel olmayan karakteristikler üzerinedir (Güvenebilirlik, Taşınabilirlik, vs ). Bu durum, kullanıcı deneyimini yansıtır. Yazılım işlevselliği belirtilmiyorsa, kullanıcılar bu konu üzerinde çalışmalı ve onların istediklerini başka bir yol bularak anlatmalılardır. Aksi taktirde, ortaya emniyetsiz veya çok yavaş bir sistem çıkabilir ve bu durumda kalite hedeflerine ulaşmak imkansızdır.

Yazılım Kalite Nitelikleri

Aşağıdaki tabloda nitelikler gösterilmiştir.


Emniyet (safety)

Anlaşılabilirlik (Understandability)

Taşınabilirlik (Portability)

Güvenlik (security)

Test Edilebilirlik (Testable)

Güvenirlik (Reliablity)

Esneklik (Resilince)

Parçalana bilirlik (Modulebility)

Sağlamlık (Robutsness)

Karmaşıklık (Complexity)

Kalite Çatışmaları

Hiç bir sistem kalite niteliklerinin tamamına optimizasyon olamaz. Bir örnek vermek gerekirse, sağlamlığı artırmak, performans kayıplarına yol açabilir. Bu yüzden, kalite planı, en önemli nitelikleri barındırmalıdır.
 
Son düzenleyen: Moderatör:
Bu Turkce yazilim muhendisliginin neden olmadigini gosterir nitelikte olmus.
Resilience ( Resilince degil ) esneklik diye cevrilmis, portability tasinabilirlik diye vs. Bunlar birebir cevrilebilecek seyler degil. Emniyet ile Guvenlik ayni sey ama security ile safety degil. Non functional characteristics dedigin seyde "Guvenebilirlik" yok, Guvenilebilirliktir o olsa olsa, o da reliability demek degil. Bu kelimeleri cevirecegim diye takla atiyor insanlar gereksiz yere, ortaya da anlamsiz sonuclar cikiyor.
 
Kesinlikle size katılıyorum, gerekli düzeltmeleri en kısa zamanda gerçekleştireceğim. Ancak Türkçede de emniyet ile güvenlik farklı manalar kazanmaktadır. Ornek olarak özel emniyet görevlisi tabiri kullanmıyoruz. Ne yazık ki TDK, bile Emniyet, güvenlik kelimelerini eş anlamlı kabul ederken büyük sözlükte emniyetin sesteş anlamları icin bilgi verir, güvenliğin eş anlamlısı olduğunu kabul edet. Ancak büyük sözlük, güvenliğin eş anlamlısı olarak emniyeti kabul etmez. Bu durumda, sonuc olarak, emniyetin güvenliği kapsadığını rahatlıkla soylebilirken güvenliğin emniyeti kapsadığından söz edilemez. Kısaca özetlemek gekirse, emniyet risk faktörlerine karşı yapılan faliyeet olarak düşünürken, güvenlik ise yapilan saldıra karşı koyma olarak düşünülebilir
 
Kesinlikle size katılıyorum, gerekli düzeltmeleri en kısa zamanda gerçekleştireceğim. Ancak Türkçede de emniyet ile güvenlik farklı manalar kazanmaktadır. Ornek olarak özel emniyet görevlisi tabiri kullanmıyoruz. Ne yazık ki TDK, bile Emniyet, güvenlik kelimelerini eş anlamlı kabul ederken büyük sözlükte emniyetin sesteş anlamları icin bilgi verir, güvenliğin eş anlamlısı olduğunu kabul edet. Ancak büyük sözlük, güvenliğin eş anlamlısı olarak emniyeti kabul etmez. Bu durumda, sonuc olarak, emniyetin güvenliği kapsadığını rahatlıkla soylebilirken güvenliğin emniyeti kapsadığından söz edilemez. Kısaca özetlemek gekirse, emniyet risk faktörlerine karşı yapılan faliyeet olarak düşünürken, güvenlik ise yapilan saldıra karşı koyma olarak düşünülebilir
Problem, mesleki terminolojinin Turkce karsiliginin olmamasi. Biz hayatimizda "emniyet" ve "guvenli" kelimelerini esanlamli olarak kullanip hic bir sorunla karsilasmiyoruz. Ama soz konusu yazilim muhendisligi ise, terimleri direkt cevirmek buyuk hata. O sebeple Turkce'de diretmemek gerek.
Adaptability, Portability, Maintainability, Compatibility, Robustness, Resilience, Reliability, Reusability, Fault, Defect, Bug, Issue, Task vs gibi yazilim kavramlarini Turkce'ye cevirirsen daha anlamli hale getirmez, daha anlasilmaz hale getirirsin. Seni elestirmiyorum bu arada, genel yanlisi soyluyorum. Bu sebeple once Ingilizce, sonra yazilim.
 
Genel bir yanlış üzerinde konuştuğumuzu ve beni elestirmedigini biliyorum. Kesinlikle size katılıyorum. Zira bir makaleyi referans alıp onu türkçe anlatmaya kalktığımızda bu sorunlara karşılıyoruz, mesleki terminoloji yeterli değil. Ancak, iki durum belirtmek istiyorum. Bu yazı, lisans seviyesindeki kişilere hatırlatmak için kısa özet bir yazı olarak düşündüm. Ve bir bilimi kavraya bilmek bazen kendi anadilinde bile zordur. Bu yüzdende sağlıklı bir terminoloji oluşturulması gereklidir
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Yeni konular

Yeni mesajlar

Geri
Yukarı