Mlliyet Milliyet Blog Milliyet Blog
 
Facebook Connect
Blog Kategorileri
 

14 Eylül '09

 
Kategori
Teknolojinin Geleceği
 

"Kaliteli Yazılım" nasıl ortaya konur? - 1

"Kaliteli Yazılım" nasıl ortaya konur? - 1
 

SİBER DÜNYA: Yeni dünyada çimento, taş, demir; yazılım, bellek çipleri ve hızlı işlemciler olacak.


“Biliyorum, çok geniş bir başlık.
Kaliteli yazılım üretiminde "süreç yönetimi" amaç (ana eksen) mıdır, araç (yan bağ) mıdır? Bir başka deyişle; yazılım ürünleri için "ürün kalitesi (product quality)" hedefinin ana teminatı sadece "üretim kalitesi (production quality)" midir?

Tartışmayı belli bir eksende tutabilmek adına "yazılım kalitesi" için genel kabul gören aşağıdaki niteliklere (ref: http://en.wikipedia.org/wiki/Software_quality) atıfta bulunacak şekilde tartışabilirsek, tartışmanın daha somut sonuçlara ulaşabileceğini umuyorum:

YAZILIM KALİTE NİTELİKLERİ:
- Anlaşılabilirlik (Understandability)
- Eksiksizlik (Completeness)
- Sadelik (Conciseness)
- Taşınabilirlik (Portability)
- Tutarlılık (Consistency)
- Bakım Yapılabilirlik (Maintainability)
- Sınanabilirlik (Testability)
- Kullanılabilirlik (Usability)
- Güvenilirlik (Reliability)
- Yapısallık (Structuredness)
- Etkinlik (Efficiency)
- Güvenlik (Security)

Tartışmayı başlatmak için bir de somut örnekleme yapalım:

Örneğin; "güvenlik" kalite niteliği için "birim testleri" ne kadar etkindir? Yazılım güvenliğini test kapsamı (test coverage) altında tutmak için birim testleri hangi tur birimler için ve nasıl yazılmalıdır? Yazılım süreç yönetimi "yazılım güvenliği"ne yönelik birim (veya diğer) testleri ve "versiyon yönetimi (release management)"ni eksiksiz olarak adresleyebilir mi? Bunun için gereken "gereksinim yonetimi teknikleri" klasik çözümleme yöntemleri ile (selale, hikaye tahtası, post-it, vb.) sağlanabilir mi, yoksa farkli bir "alan modellemesi (domain modeling)" tekniği gerektirir mi?

Yukarıdaki örneklemede "yazılım güvenliği" boyutunu özellikle ele aldım, ... Bir işletim sistemi hassasiyetinde olmasa bile acaba bizler yazılım üretirken ‘yazılım güvenliği’ni garanti altına almak için ne tür yöntemler kullanıyoruz? CMMI ya da çevik yöntemlerden birisini tercih etseydik, "yazılım güvenliği" adına garanti altına alabileceğimiz nitelikler değişir miydi? Yoksa her ikisinin de bu anlamda özel bir fark getiremeyeceği bilinciyle başka yaklaşımlara mı yönelirdik?”(1)

Bu sorular ile ilgili cevabım:

“Kalite konusundaki tartışmaya başka bir bakış açısı ile de bakabiliriz.
[ 1 ] Yazılım oluşturma safhası.
[ 2 ] Yazılım işletme safhası.
Tümdengelim yolu ile bir başka açıdan bakmak istiyorum.

Kalite bir referans noktaya göre belirlenir.
Yani bir rakiplik durumu söz konusudur.

Bunu genelde göz ardı eder ve süreci dokümante etmekle işi çözdük zannederiz.
Kıyaslama ve ölçme kriterleridir kaliteyi belirleyen.

Kıyaslama ve ölçme [ 1 ] safhada ekip içinde halledilir. TAMAM
Ya işletmeye verdiğinizde [ 2 ] safhası ve bunu kıyaslama kriterleri.
Bunları her zaman siz belirleyemezsiniz.
Analiz haricinde olaylar olarak: ortam faktörlerine uyum ve esneklik.
Bu ikisi final kalitesini oluşturan kriterlerdir. (Örneğin:paket yazılımlarda)” (2)

Murat SEVGİ
Mental® Teknoloji Danışmanlık

Dipnotlar_______:
(1) Semih ÇETİN, “ "Kaliteli Yazılım" nasıl ortaya konur?”, Türkiye Yazılım Mühendisliği Gurubu, Tuesday, July 08, 2008
(2) Murat SEVGİ, “ "Kaliteli Yazılım" nasıl ortaya konur?”, Türkiye Yazılım Mühendisliği Gurubu, Tuesday, July 08, 2008

 
Toplam blog
: 370
: 1092
Kayıt tarihi
: 10.07.08
 
 

1969 doğumlu. Tasarımcı, endüstriyel otomasyon sistemleri için yazılım geliştiriyor. Yüksek öğren..