Büyük Veri ve Analitik: İş Kararlarını Nasıl Dönüştürüyor?
Teknoloji
- •
- 02 Dakika Okuma Süresi
QMOOD Modeli ile Nesneye Dayalı Yazılım Kalitesinin Değerlendirilmesi
ISO/IEC yazılım kalitesi modelleri, belirli yazılım tasarım modeline bağlı kalmadan kaliteyi ele alırlar.
Genel yazılım kalitesi modellerin yanı sıra doğrudan nesneye dayalı yazılımların kalite özelliklerini değerlendirmeye hedefleyen modeller ve metrikler bulunmaktadır. Bunlardan birisi QMOOD modeli.
Yazılım kalitesini ölçmeden genel problemler ortaya çıkmıştır. Çok sayıda metrik tanımlanmıştır ancak hepsi tam anlamıyla fayda sağlamamaktadır. Bazı metrikler ise de gerçek projelerde sınanmamıştır. Buna uygun olarak hedefler belirlenmiştir. Daha yüksek düzeyli özellikleri değerlendirmek ana hedef olduğundan dolayı metrikler bir modelle incelenmelidir. Metriklerin eşik değerlerini belirlemek zordur.
Bu konularda nesneye dayalı tasarım bu konuda fayda sağlar. Çünkü bu tasarımda kodlamadan önce tasarım yapılması gereklidir.
Hiyerarşik katmanlı kalite modeli benimsenmiştir. Model, dört katmandan ve aralarındaki ilişkilerden oluşmaktadır.
ISO/IEC 9126’daki işlevsellik, güvenilirlik, verimlilik, kullanışlılık, bakım kolaylığı ve taşınabilirlik ele alınmıştır.
Tasarımdan çok gerçekleme işlemi ile alakalı olan güvenirlirlik ve kullanışlılık listeden çıkarmıştır.
Taşınabilirlik, genişletebilirlik olarak değiştirilmiştir.
Verimlilik, etkinlik olarak değiştirilmiştir.
Bakım kolaylığı, anlaşırlırlık olarak değiştirilmiştir.
Tekrar kullanılabilirlik ve etkinlik eklenmiştir.
İşlevsellik: Tasarımın sınıflarına atanan görevleri, sorumluluğu anlatmaktadır.
Etkinlik: Tasarımın nesneye dayalı tasarım kavramlarını kullanarak işlevselliği ve davranışı ele almayı temsil eder.
Anlaşılırlık: Tasarımın öğrenilmesini kolay anlaşılmasını sağlayan ve tasarımın yapısının karmaşıklığı ile ilgilidir.
Genişletebilirlik: Tasarıma yeni gereksinimi özelliği eklemeyi kolaylaştıran mevcut tasarımdaki özellikleri kullanımı temsil eder.
Tekrar Kullanılabilirlik: Bir tasarımın yeni bir soruna yeniden uygulanmasına izin veren nesneye dayalı tasarımın özelliklerin varlığını yansıtır.
Esneklik: Bir tasarımın işlevsel olarak yeni gereksinimlere göre uyarlanmasının sağlanabilme özelliğidir.
Yazılımdaki tasarım birimlerinin iç niteliklerini, işlevlerini ve aralarındaki ilişkiyi değerlendirecek somut kavramlardır.
Özellikler QMOOD’da bir veya daha fazla tasarım metriği ile değerlendirebilecek şekilde oluşturulmuştur.
Tasarım Boyutu (Design Size): Tasarımda kullanılan sınıfların ölçüsüdür.
Hiyerarşiler (Hierarchies): Tasarımdaki genel özellikleri temsil etmek için kullanılır. Tasarımdaki alt sınıf olmayın türetilmemiş sınıfların sayısıdır.
Soyutlama (Abstraction): Tasarımdaki bir veya daha fazla nesli olan sınıflar, bu özelliği sergiler.
Kapsülleme (Encapsulation): Öznitelik hareketlerini erişimi özel (private) olarak tanımlamayı engeller ve böyleye nesnelerin iç özelliklerini korur.
Bağlanma (Coupling): Tasarımdaki bir nesnenin diğer nesneye bağımlılığını tanımlar.
Tutarlılık (Cohesion): Sınıftaki metotların özelliklerin uyumunu değerlendirir.
Bileşim (Composition): Tasarımdaki sınıflar arasında sahip olma ilişkisini temsil eder.
Kalıtım (Inheritance): Tasarımdaki sınıflar arasında kalıtsal ilişkileri temsil eder.
Çok Biçimlilik (Polymorphism): Nesnede çalışma zamanında dinamik olarak belirlenen hizmetlerin ölçüsüdür.
Mesajlaşma (Messaging): Sınıftan başka bir sınıfa hizmet sağlayan açık (public) servislerin bir ölçüsüdür.
Karmaşıklık (Complexity): Sınıfların iç ve dış yapısının anlama zorluğu.
Tasarım metrikleri yazılım tasarımında elde edilebilir. Tasarımın özelliklerin değerlendirilmesinde doğrudan metrikler kullanılabilir.
QMOOD’taki Tasarım Metrikleri
Nesneye dayalı tasarımın yapısını belirleyen bileşenler; nesneler, sınıflar ve arasındaki ilişkilerdir. Buna göre nesneye dayalı tasarımın değerlendirilmesinde sınıflar, nitelikler, metotlar,ilişkiler, sınıf hiyerarşilerine bakılabilir.
Bileşenlerin kaliteyi etkileyen özellikleri:
Altı kalite niteliğinin değerleri toplanarak o programın toplam kalite indeksi hesaplanır. Projenin toplam kalitesini gösterir.
Modelin geçerliliği iki aşamadan sınanmıştır.
Sınama için iki yazılm grubu kullanılmıştır. Bunlardan biri Microsoft Foundation Classes (MFC) ve bir diğeri de Borland Object Windows Library (OWL) dir.
Yazılımın yeni sürümünü yayınlanmasının iki nedeni vardır. Yazılıma yeni işlevler kazandırmak ve diğeri de belirlenen hataları düzeltmek.
Yazılımın erken sürümleri yazılım yeni özellik kazandırmak için yayımlanır.
Erken sürümde kullanıcı dostu, kullanıcı deneyimi artıracak özellikler eklenir. Bu nedenle erken sürümlerde yapısal değişik büyük olur ve kalitedeki iyileşmede büyük olur.
Yazılım olgunlaştıktan sonra sürümler genellikle hata giderilmesi ve güvenirliğinin artırılması ile yayımlanır.
Modelin geçerli olabilmesi için tekrar kullanılabilirlik, esneklik, işlevsellik, genişletebilirlik her yeni bir sürümde artırılmalıdır.
Özellikle işlevsellik ve etkinlik ilk sürümlerde daha fazla artmış olmalıdır. Yazılım olgunlaştıkça anlaşırlık artmalıdır.
Farklı konularda, farklı amaçlarla yapılan tasarımların karakteristikleri de farklı olacaktır. Aralarında karşılaştırma yapılacak olan tasarımların aynı karakterde olması gereklidir.
Her değerlendiricinin tasarımlardaki 6 kalite niteliğini ölçen kendilerine özgü sezgisel yöntemlerin gerçekleştirilmesi beklenir.