Nesne Yönelimli Yazılım Tasarımının Testedilebilirliini Ölçmeye Yönelik Bir Model

Benzer belgeler
Nesneye Dayalı Yazılım Metrikleri ve Yazılım Kalitesi. Ural ERDEMİR, Umut TEKİN, Feza BUZLUCA

#$% &'#(# Konular. Binary Tree Structures. Binary Search Trees AVL Trees Internal Path Reduction Trees Deerlendirme

r i = a i + b i r m + i

Bazı Odundıı Orman Ürünlerinin Üretim, thalat ve hracat Projeksiyonları

Java Tabanlı Akıı Sisteminin Gelitirilmesi

Yazılım Geliştirme Sürecinde Kullanılan Ölçütler

Yazılım Kalite Metriklerinin Kıyaslanması: Örnek Bir Olay İncelemesi. Comparison of Software Quality Metrics: A Case Study

Ölçek Geli tirme Çal malarnda Kapsam Geçerlik ndeksinin Kullanm

TÜLN OTBÇER. Seminer Raporu Olarak Hazırlanmıtır.

Bileen Tümletirmesine Dayalı Otomatik Uygulama Gelitirimi

INVESTIGATION OF THE FACTORS AFFECTING DESIGN OF ANCHORED SHEET PILES

Taıt alımlarının ette tüketim endeksi kapsamında izlenmesi hakkında bilgi notu

EL PARMAKLARINA DEERLER VEREREK KOLAY YOLDAN ÇARPMA ÖRETM YÖNTEMYLE ZHN ENGELL ÖRENCLERE ÇARPIM TABLOSU ÖRETM UYGULAMASI

Sosyo-Ekonomik Gelimilik Aratırması

Vakko Tekstil ve Hazır Giyim Sanayi letmeleri A Tarihi tibarıyla Sona Eren Hesap Dönemine likin Yönetim Kurulu Yıllık Faaliyet Raporu

OTSTK ÇOCUKLARIN ALELERNE YÖNELK GRUP REHBERL NN ANNE BABALARIN DEPRESYON VE BENLK SAYGISINA ETKS

WEB SERVS TABANLI GELTRLEN MOBL UYGULAMALAR: ODTÜ MOBL ÖRENC LER BLG SSTEM (MOBS)

ISO Laboratuar Akreditasyonu Temel Prensipler

Bileen Yönelimli Yazılım Gelitirme çin Süreç Modeli

Mobil Uygulama Yazılımlarında Yazılım Metriklerinin Kullanılması

OTSTK BR OLGUNUN DUYGULARI ANLAMA VE FADE ETME BECERSNN KAZANDIRILMASINA YÖNELK DÜZENLENEN KISA SÜREL BR E TM PROGRAMININ NCELENMES

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

SIKI TIRILMI YOL ZEM NLER N N KOMPAKS YON PARAMETRELER N N KONTROLÜ

AB Uyum Sürecinde Türkiye nin Rekabet Gücü lerleme Raporu Üzerine Tespitler

#$% &'#(# Konular. Bits of Information. Binary Özellikler Superimposed Coding Signature Formation Deerlendirme

BOSAD Boya Sanayicileri Dernei TÜRK BOYA SEKTÖRÜ. Dünya Boya Ticaretindeki Gelimeler

OTSTK ÇOCUKLARDA TEACCH PROGRAMININ GELMSEL DÜZEYE ETKS: OLGU SUNUMU

Nesne Tabanlı Yazılımların Yapısal Özelliklerinin Hata Yatkınlığı Üzerine Etkilerinin İncelenmesi

KONTROL SSTEMLER LABORATUARI

PORTER MODEL: ULUSLARARASI REKABET ÖZLEM ÖZ ODTÜ LETME BÖLÜMÜ

Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi

YMT 412-Yazılım Kalite Ve Güvencesi Gözden Geçirme Teknikleri 1/44

TÜRKYE'DE OTOMOBL SAHPLNN MODELLENMES

HLA Tabanlı Bileenler ile Otomatik Uygulama Gelitirme

#$% &'#(# Konular. Direct File Organization. Computed Chaining Comparison of Collision Resolution Methods Perfect Hashing Cichelli s Algorithm

Mobil Uygulamaların Kalite Özelliklerinin Ölçümü

Yüksek Lisans Çalımalarının Yürütülmesinde Aday Örencinin Sorumlulukları

Dr. Hidayet Takçı. Veri Madencilii Dersi GYTE Dr. Hidayet Takçı 10/05/2008 1

Korelasyon, Korelasyon Türleri ve Regresyon

Yazılım Tasarımı Kalitesi. L 12 Nesneye. Tasarım Kalitesi Nitelikleri

EKONOM!K KATMA DE"ER (EVA) YAKLA#IMI. Doç.Dr.Cemal ÇAKICI Marmara Üniversitesi,!!BF.!"letme Bölümü Ö#retim Üyesi

Bu model ile çalımayı öngören kuruluların (servis ve içerik salayıcılar),.nic.tr sistemi ile uyumlu, XML tabanlı yazılım gelitirmeleri gerekmektedir.

ÖRETMEN ADAYLARININ ALGILADIKLARI LETM BECERS DÜZEYLERNN NCELENMES

Bilgi Notu ARA TIRMA VE TASN F GRUBU " ç Kontrol: Kamusal Hesapverme Sorumlulu u çin Bir Yapı Olu turulması" Hk.

KOÇ ÜNVERSTES SOSYAL BLMLER (KÜSB) KULÜBÜ TÜZÜÜ

Uygulamaların mobil ve masaüstü sürümlerinin kodtabanlı karşılaştırılması: keşifsel bir çalışma

GÜZEL SANATLAR ETM BÖLÜMÜ ÖRENCLERNN OKUL DENEYM I DERSNE YÖNELK LGLER VE BEKLENTLER **

YAZILIM ÖLÇÜTLERİ GENEL BİLGİLER

TÜBTAK UEKAE Gebze/KOCAEL,

Eitim-Öretim Yılında SDÜ Burdur Eitim Cansevil TEB

6. MOS ANALOG ÇARPMA DEVRELER

BELEDYELERDE NORM KADRO ÇALIMASI ESASLARI

Bileşen kalitesi ölçümünde statik kod analizi yaklaşımı

ODÜ Sosyal Bilimler Enstitüsü Sosyal Bilimler Aratırmaları Dergisi Issn: Cilt: 3 Sayı: 6 Aralık 2012

NSAN GELME ENDEKS LE KAPSAMLI ENDEKS ARASINDAK LKNN BELRLENMES ÜZERNE BR ÇALIMA. Yasemin TÜRKOLU YÜKSEK LSANS TEZ STATSTK

ODÜ Sosyal Bilimler Enstitüsü Sosyal Bilimler Aratırmaları Dergisi Issn: Cilt: 3 Sayı: 6 Aralık 2012

Uygulamada Yazılım Mimarisi Kararlarını Etkileyen Etmenler ve Kritik Fayda-Maliyet Öeleri

DENEY RAPORU. Fotometrik Yöntemle Karıım Tayini (11 No lu deney)

Son vergi düzenlemeleri ile ortaya çıkan fiyat indirimleri tüketiciye yansıtıldı mı?

MATEMATK ÖRETMNDE BULMACA ETKNLNN ÖRENC BAARISINA ETKS

Ders 5: ÖLÇME VE DEĞERLENDİRME. Prof. Dr. Tevhide Kargın

ÜNVERSTELERN GÜZEL SANATLAR ETM BÖLÜMÜ MÜZK ETM ANABLM/ANASANAT DALI BRNC SINIF ÖRENCLERNN KSEL PROFLLER *

BURSA DA GÖREV YAPAN MÜZK ÖRETMENLERNN ULUDA ÜNVERSTES ETM FAKÜLTES GÜZEL SANATLAR ETM BÖLÜMÜ MÜZK ETM ANABLM DALI LE LETM VE ETKLEM

Türkiye'de Kriz Döneminde Kur-Faiz-Borsa likilerinin Dinamik Analizi Banka-Mali ve Ekonomik Yorumlar, Sayı: 11, ss: 47-56, 2002

Bölüm 8 Ön Ürün ve Hzl Uygulama Gelitirme. 8lk Kullanc Tepkileri. Dört Çeit Ön Ürün. Ana Konular. Yamal Ön Ürün. Ön Ürün Gelitirme

ERP MPLEMENTASYONU PROJELERNDE DENETM SÜRECNN ÖNEM ve KARILAILAN RSKLER. Uur Kaan DNÇSOY

GÜNCEL GELMELER IIINDA LKÖRETM: MATEMATK-FEN-TEKNOLOJ-YÖNETM

İletişim Katmanı Yazılım Mimarisinin Kalite Analizi

Koutzamanlı Yazılım Bileenleri için Bir Otomatik Dorulama Çerçevesi: VyrdMC

BKİ farkı Standart Sapması (kg/m 2 ) A B BKİ farkı Ortalaması (kg/m 2 )

1. Satı ve Daıtım lemleri " # $ "!!

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

$- &$ $&" &#' $ & $ )$ )&/ &&!! ( & )* # $!%! &($!

BANKALARIN KRED LEMLERNE LKN YÖNETMELKTE DEKLK YAPILMASINA LKN YÖNETMELK TASLAI

KATI HAL AYDINLATMA ÜRÜNLERİ ÖMÜR ÖLÇÜMÜ VE TAHMİNİ STANDARTLARI

STATİK. Ders_9. Doç.Dr. İbrahim Serkan MISIR DEÜ İnşaat Mühendisliği Bölümü. Ders notları için: GÜZ

Vakum teknolojisi. Sistem kılavuzu

Bilgi Sistemleri Tasarımı (SE 503) Ders Detayları

!!"#! $#$%& '(& )*$+,( -. )/0 1-2 *. / *. /0 3 )56 7

Çok Katmanlı WEB Tabanlı Uygulamalarda Yetkilendirme Problemi

Dr. Hidayet Takçı. Veri Madencilii Dersi G Y T E Dr. Hidayet Takçı 10/05/2008 1

Eitim Notu. Konu : SÜREÇLERLE YÖNETM

Servis Tabanlı Kurumsal Yazılım Gelitirilmesinde XP Kullanımı ve Eletirisi

DI TCARET HADLERNDEK DEMN CAR LEMLER DENGES VE GSYH ÜZERNE ETKLER ( )

2. Bölgesel Kalkınma ve Yönetiim Sempozyumu Ekim 2007, zmir

KORELASYON VE REGRESYON ANALİZİ. Doç. Dr. Bahar TAŞDELEN

TEMZ BR HAYAT ÇN SZ DE DETERJANI KESN

Sarıçam (Pinus sylvestris L.) Mecerelerinin Hacim Artımının Mecere Yaı, Bonitet Endeksi ve Sıklık Derecesine Göre Deiimi

2. Bölgesel Kalkınma ve Yönetiim Sempozyumu Ekim 2007, zmir

MATEMATK ÖRETMENLER NN ETKLEM DÜZEYLER. Yüksel DEDE * ÖZET

TURBOCHARGER REZONATÖRÜ TASARIMINDA SES İLETİM KAYBININ NÜMERİK VE DENEYSEL İNCELENMESİ

Tüketim eilimleri analizine taıt alımının dahil edilme gerekçesi

IRROMETER NASIL ÇALIIR...

QUANTILE REGRESYON * Quantile Regression

Bu proje Avrupa Birliği ve Türkiye Cumhuriyeti tarafından finanse edilmektedir. ÇALIŞMA HAYATINDA SOSYAL DİYALOĞUN GELİŞTİRİLMESİ PROJESİ

Nesneye Yönelik Tasarım ve Programlama (COMPE 501) Ders Detayları

AX5000 KONTROL PANELLER

Y = 29,6324 X 2 = 29,0871 X 3 = 28,4473 y 2 = 2,04 x 2 2 = 0,94 x 2 3 = 2,29 yx 2 = 0,19 yx 3 = 1,60 x 2 x 3 = 1,06 e 2 = 0,2554 X + 28,47 X 3-0,53

BA ALANLARINDAK AZALMA NEDENLER VE BALICA BACILIK SORUNLARI: TEKRDA MERKEZ LÇE ÖRNE

İTME ANALİZİ KULLANILARAK YÜKSEK RİSKLİ DEPREM BÖLGESİNDEKİ BİR PREFABRİK YAPININ SİSMİK KAPASİTESİNİN İNCELENMESİ

Transkript:

Nesne Yönelimli Yazılım Tasarımının Testedilebilirliini Ölçmeye Yönelik Bir Model A New Model To Measure Testability in Object Oriented Software Design Tolga YURGA METU Informatics Institute Information Systems Ph.D. Student e-posta: tyurga@tr.net ÖZET Bu aratırmanın amacı, nesne yönelimli yazılım tasarımının testedilebilirliini, belirli tasarım parametreleri cinsinden ifade etmeye yönelik bir yaklaım gelitirmektir. Mevcut proje verilerini kullanarak, testedilebilirlik ve tasarım parametreleri arasındaki korelasyon çıkarılmaktadır. Çoklu Dorusal Regresyon kullanılarak da, en çok ilintili tasarım parametreleri ile testedilebilirlik endeksi arasında bir model oluturulmaktadır. Gelitirilen model ve yaklaımın, organizasyon için anahtar yorumlama ve deerlendirme yol göstericisi olarak, yazılım gelitirme adımlarını, daha testedilebilir hale getirmek üzere gelitirmesi hedeflenmektedir. ABSTRACT This research work aims to identfiy a measure of testability of object-oriented software design in terms of certain design parameters. Using available project data, the correlation among the design parameters and testability is extracted. Multiple Linear Regression is then used to compose a model among the mostly correlated design parameters and testability index. Developed model is anticipated to improve development efforts through better testability that is considered as the key assessment aid for the organization. 1. Giri Bu yazıdaki aratırmada, yazılım tasarımı üzerine younlaıp, test etme ileminin kolaylatırılması sayesinde, yasarım aamasının nasıl gelitirilebilecei incelenecektir. Bir yazılım sisteminin ya da bileeninin, test etme aamasını kolaylatırma derecesine, testedilebilirlik denilir. Test aamasını dikkate alarak bir yazılım sistemini tasarlamaya ise testedilebilirlik için tasarım denilir. [10] IEEE, testedilebilirlii, Bir sistem ya da bileenin, test kriterlerinin belirlenmesini ve bu kriterlerin karılanma durumuna testlerin performansı sayesinde karar vermeyi kolaylatırma derecesi olarak tanımlamaktadır[6]. Dier bir deyimle, bir yazılım sisteminin testedilebilirlii, sistemi test etmek için gerekli emein miktarını veya test ederek program içerisinde bir hata ortaya çıkarma olasılıını iaret etmektedir. Projelerin testedilebilirlii, yazılım proje yönetiminin önemli bir nitelii olarak ortaya çıkmaktadır. Test aaması, yazılımcılar ve yöneticiler için gelitirilen ürünü izlemek ve deerlendirmekte büyük

önem taıyan bir faaliyettir. Endüstrinin bu konuya yapmı olduu vurgu neticesinde, testedilebilirlik, önemli bir aratırma sahası olarak benimsenmitir. Yazılım endüstrisi tarafından da önerildii üzere, testedilebilirlik, kurumun daha dikkatli olması gereken alanları belirlemesi çabasında, dier tasarım parametrelerine balantılı olacaktır[8]. Pratikte, test aaması, ortalama bir yazılım gelitirme projesinde, önemli bir zaman ve emek tüketmektedir. Bir yazılımın modül veya bileenlerini, en yeni teknolojilerle, en iyi tasarımcılarla tasarlamak, tasarımı ve sonuç olarak da tasarıma göre kodladıklarınızı test edemediimiz sürece hiçbir anlam ifade etmeyecektir[7]. Bu makalenin amacı, nesne yönelimli tasarımın testedilebilirliini ölçmeye ve dorulamaya yarar yeni bir yaklaım ve model ortaya koymaktır. Bu sayede, yazılım gelitirme yaamdöngüsünün sonraki aamalarında, testedilemeyen tasarım nedeniyle ortaya çıkabilecek sorunların giderilmesi için gerekli igücü ve maliyeti minimuma indirmektir. Modeli gelitirebilmek için, gerçek yaamda kullanılmakta olan projelere ait ölçüt verileri kullanılıp, matematiksel teknikler yardımıyla bu veriler analiz edilip, model için gerekli bilgi ortaya çıkarılacaktır. 2. Modelin Oluumu 2.1. Tasarım Parametreleri ve Ölçütleri Bu aratırmada, bir yazılım projesinin tasarımının testedilebilirliini ölçebilmek amacıyla, yazılım tasarımı ile dolaylı ya da dorudan balantılı çok sayıda yazılım ölçütünden faydalanılmıtır. Bu aamadaki amaç, modelin oluumunda kullanılacak tasarım parametrelerini temsil eden ölçütleri belirlemektir. Modelin güvenirlii ve doruluu açısından, parametre ve ölçüt alanımı mümkün olduunca geni tutmaya çalıılmıtır. Konuyla ilgili yapılan literatür taraması sonuçları, eldeki proje verileri, yazılım endüstrisi ve akademik dünyada genel olarak kaydı tutulan ölçütlerin kapsamı neticesinde, aaıda belirtilen tasarım parametreleri ve bunlara balı önemli ölçütlerin kullanımının model için uygun olduüu ortaya çıkmıtır[2,4,5,7,10]. Bu parametreler: Balaım (Coupling) Yapııklık (Cohesion) Kalıtım (Inheritance) Çok ekillilik (Polymorphism) Sarma (Encapsulation) Boyut (Size) Karmaıklık (Complexity) 2.1.1. Balaım (Coupling) Nesne yönelimli bir tasarımda, balaım, haberleen modüller arasındaki iliki ve baımlılıkları göstermektedir. Nesneler Arası Balaım (NAB-CBO=Coupling Between Objects), balaım özellii için en belirleyici ölçüt olup, bir sınıfın balı olmu olduu dier sınıfların sayısını belirtmektedir. Yüksek ölçüt deeri, sınıflar arasında yüksek derecede iliki ve baımlılık olduunu göstermektedir[11].

2.1.2. Yapııklık (Cohesion) Yapııklık, bir tasarım parçasının, tek, iyi belirlenmi bir hedefi gerçekletirmek için bulunduklar katkı derecesini göstermektedir. Sınıf seviyesinde yüksek yapııklık deeri, sınıfın bütün elemanlarının kuvvetli olarak ilintili olduunu göstermektedir. Metotlardaki Yapııklık Eksiklii (MYE LCOM=Lack Of Cohesion in Methods), yapııklık özellii için en belirleyici ölçüt olup, bir sınıf içerisinde ortak deiken kullanan metot çiftleri sayısı ile ortak deiken kullanmayan metod çiftleri sayısı arasındaki farkı göstermektedir. Düük ölçüt deeri, sınıfın yapıık olduunu gösterirken, yüksek deerler ise sınıfın, daha yüksek yapııklık deerlerine sahip ayrı sınıflara bölünebileceini göstermektedir[13]. 2.1.3. Yapısal Karmaıklık (Structural Complexity) Bir sınıfın yapısal karmaasını ölçmek için, bütün metotlarının karmaa deerlerinin toplanması gerekir. Bu da, Sınıf Baına Aırlıklı Metod (SBAM-WMC=Weighted Methods Per Class) ölçütünün özünü oluturmaktadır[17]: SBAM n = i = 1 k i fade içerisindeki k i, sınıf içerisindeki n tane metodun ayrı karmaa deerini ifade etmektedir. Siklomatik Karmaa (SK-CC=Cyclomatic Complexity) ölçütü, bir modülün (sınıfın alt bileeni, örn. Metot) karar yapısının karmaasını ölçmeye yarar. Dorusal olarak baımsız karar patikalarının sayısını gösterir[16]. Çocuk Sayısı (ÇS-NOC=Number Of Children) ise, sınıf hiyerarisi içerisinde bir sınıfın alt sınıflarının sayısını göstermektedir. Kaç alt sınıfın, ebeveyn sınıfın metodlarını kalıtımsal olarak içereceinin bir ölçüsüdür. 2.1.4. Sarma (Encapsulation) Sarma, bir sınıfın dı arayüzü ve dahili implementasyonu arasında temiz bir ayrım olmasına çalıan bir tür soyutlama olarak tanımlanabilir. Yüzdesel Genel Veri Oranı (YGVO-PUB=Public Percent Data) ölçütü, bir sınıf içerisindeki genel ve korunumlu veri yüzdesini gösterir. Genel olarak, düük deerler yüksek sarmayı iaret eder[12]. 2.1.5. Çok ekillilik (Polymorphism) Çok ekillilik, tam yapısını bilmeden, ayrı sınıfların nesnelerini, sadece ortak özelliklerinin bilgisini kullanarak etkilemek, deitirmek ve kullanmak olarak tarif edilebilir. Sınıfa Yönelik Karılık (SYC-RFC=Response For Class) ölçütü ise, bir sınf içerisinde bulunan metot sayısı ile kalıtım sayesinde, bir nesne tarafından ulaılabilir durumdaki metotların sayılarının toplamından ibarettir.

2.1.6. Kalıtım (Inheritance) Bir sınıfın kalıtım hiyerarisindeki derinlii, Kalıtım Aacı Derinlii (KAD-DIT=Depth In Tree), sınıfın bulunduu noktanın, aacın kökünden olan maksimum uzaklıı olup, ata sınıfların sayısı ile ölçülür. Bir sınıfın hiyeraride daha derinlerde olması, davranılarını tahmin etmeyi daha karmaık hale getirecek ekilde daha çok metodu kalıtımsal olarak yapısı içerisine katmasını ifade etmektedir. 2.1.7. Boyut (Size) Sınıf Baına Toplam Satır Sayısı (SBTSS-TLOCC=Total Lines Of Code per Class), sınıf seviyesinde boyutu ölçmek için kullanılabilecek en basit, kolay hesaplanabilir bir boyut ölçüm olup, sınıf içindeki yorum ve çalıtırılabilir kod satırları dahil tüm satır sayısını belirtir. 2.2. Model Çalıması Deneysel olarak modelin oluturulabilmesi amacıyla, NASA Independent Verification & Validation (IV & V) Facility Ölçüts Data Program ına ait veriler kullanılmıtır. Bu verilerin içerisinde bulunan, farklı dillerle yazılmı iki adet nesne yönelimli yazılım projesine ait ölçüt ve proje izleme ve ölçüm verileri, aratırma ihtiyaçlarıyla büyük oranda örtümütür. Proje veri ambarı, aratırmada kullanılmaya karar verilen ölçütlerin ve tasarım parametrelerinin önemli bir kısmını içermekteydi. Bu veri ambarı, NASA nın kendi ihtiyaçları dorultusunda hazırlamı olduu çeitli amaçlara hizmet eden yazılımlarına ait, problem verileri, ürün verileri ve ölçüt verilerini içeren, önemli bir kaynak durumundadır.[19] Veri ambarında bulunan ölçütlerden yararlanarak, yeni bir testedilebilirlik endeksi oluturulmaya çalıılmıtır. Özellikle de, projenin gerçek hayatta aktif olarak kullanılması sırasında ortaya çıkan hata kayıt kütüüne ait veriler, testedilebilirlik kavramını ölçme konusunda çok yardımcı olmutur. Bu üç ölçüt verisi unlardır: 6 Ay çindeki Hata Kayıtları (HK6-ER6) 12 Ay çindeki Hata Kayıtları (HK12-ER12) 24 Ay çindeki Hata Kayıtları (HK24-ER24) Bu ölçütler, her bir tasarım nesnesin, projenin gerçek hayatta kullanımı sırasında ortaya çıkan, kodlama, test ve entegrasyon fazları içerisinde farkedilmemi ve kullanıcı kullanımı sırasında farkedilen hataları göstermektedirler. Eer bir nesne hakkında projenin yaamdöngüsü sırasında herhangi bir hata kaydı yoksa, bu o nesnenin mükemmel derecede test edilebilir olduunu gösterir. Hata olması ise, nesnenin yeteri kadar test edilebilir olmaması sonucunda gizli bazı hataların durmaya devam ettiini ve de test aamasında bu hataların ortaya çıkartılamadıını gösterir. Çeitlli deneme-yanılma çalımaları neticesinde, bu üç ölçüt verisi kullanılarak, aaıdaki ifadede belirtilen katılım oranları ile beraber bir Ortalama Hata Kayıt Deeri oluturmanın doru olduu gözlemlenmitir. Bir sınıfa ait Ortalama Hata Kayıt Deeri : SINIF _ ORTALAMA _ HATA = + +

Zamansal Periyottaki Hata Kayıtlarının balarındaki çarpanlar, Ortalama Deer içerisindeki aırlıklarını göstermektedir. Uzun sure zarfında ortaya çıkan hatalar, daha zor bulunur hatalar demek olduundan, aırlık olarak daha fazla deer ifade etmektedirler. Ortalama Hata Oranını, testedilebilirlik ölçümüne çevirebilmek için, çeitli deneme-yanılma çalımasından sonra, aaıdaki endeksin, en doru sonuçları verdiii gözlemlenmitir. Her bir sınıfın testedilebilirlik endeksi öyle hesaplanır: Testedilebilirlik Endeksi = { SINIF _ ORTALAMA _ HATA 3 * STD _ SAP( SINIF _ ORTALAMA _ HATA) 100 * MUT( ), 3 * STD _ SAP( SINIF _ ORTALAMA _ HATA) SINIF_ORTALAMA_HATA TUM_ORTALAMA_HATA + 3 * STD_SAP (SINIF_ORTALAMA_HATA) 0, dier koullarda} MUT mutlak deeri, TUM_ORTALAMA_HATA tüm sınıfların ortalama hata deerini, ve STD_SAP de sınıf bazında ortalama hata deerlerinden oluan örneklemenin standart sapma deerini göstermektedir. Hesaplamalarım ve varsayımlarıma gore, bütün sınfların ortalama hata deerinden 3 standart sapmasından büyük hata deerlerinin testedilebilirii 0 olarak kabul edilmekte, bu deerden büyük deerili hatalara sahip sınıfları testedilemez derecede bir yapıya sahip olduunu ifade etmektedir. Hata oranı 0 olan sınıflar ise, mükemmel testedilebilir olarak kabul edilmekte, %100 testedilebilir denilmektedir. 2.3. Matematiksel Sonuçlar PUB CBO DIT LCOM NOC RFC WMC CCOMP TLOCC ORT.HATA Testedilebilirlik YGVO - PUB 1,00 NAB - CBO 0,05 1,00 KAD - DIT -0,07 0,47 1,00 MYE - LCOM 0,27 0,26 0,26 1,00 ÇS - NOC 0,13-0,03-0,03-0,03 1,00 SYC - RFC 0,06 0,39 0,65 0,33-0,05 1,00 SBAM - WMC 0,15 0,25 0,14 0,32 0,04 0,63 1,00 SK - CCOMP 0,02 0,63 0,56 0,20 0,01 0,30 0,11 1,00 SBTSS - TLOCC 0,04 0,65 0,52 0,10-0,02 0,28 0,08 0,91 1,00 ORT.HATA 0,05 0,34 0,07 0,07-0,07 0,12 0,09 0,26 0,30 1,00 Testedilebilirlik 0,00-0,44-0,05-0,05 0,07-0,14-0,13-0,28-0,32-0,95 1,00 Figure 1: Ölçütler Ve Testedilebilirlik Arasındaki Korelasyon Katsayıları Yukarıdaki tabloda bulunan ölçütler ve testedilebilirlik arasındaki katsayıların incelenmesi sonucunda, Balaım, Boyut ve Karmaıklık parametrelerine ait ölçütlerin testedilebilirlik endeksi ile daha güçlü bir korelasyona sahip oldukları gözlemlenmitir. Sadece YGVO ölçütünün 0

seviyesinde bir korelasyonu olması ve dier ölçütlerin etkilerinin ihmal edilmemesi için, Matematiksel Dorusal Regresyon Modeli içerisinde, YGVO harici bütün ölçütlerin kullanılmasını uygun görülmütür. Testedilebilirlik endeksini etkileyen bireysel tasarım parametrelerinin nispi önemleri, korelasyon iliikisine balı olarak orantılı olarak bir aırlıa sahip olur. Bu aırlık katsayılarının hesaplanabilmesi amacıyla, Matematiksel Dorusal Regresyon Modeli uygulanmıtır. Böyle bir model, baımlı deikenler ve baımsız deikenler arasında, dorusal bir iliki kurmaya yarar. Regresyon denklemi, aaıdaki ekilde olur: y = 0 + 1 x 1 + + m x m x ler baımsız deikenleri, y baımlı deikeni, lar da regresyon katsayılarını belirtmektedir. Bu katsayılar, baımsız deikenler sabit tutulduundan, baımlı deiken üzerindeki ortalama baımlı artı miktarını göstermektedirler[9]. Sonuçlardan da görüldüü üzere, testedilebilirlik, birden çok tasarım parametresine balıdır. Bileen bazındaki etki tahmin edilebiliri ve bileen aırlıı, regresyon denklemi ile sabitlenebilir. Bu suretle, bireysel olarak tasarım parametrelerine ait bileen aırlıkları, regresyon katsayıları ( lar) cinsinden hesaplanmı olur. Resgresyon dorusunu oluturmak için, NASA veri ambarında bulunan [19], biri C++, dieri ise JAVA ile yazılmı bulunan, yaklaık 200 sınıf içeren iki yazılım projesine ait veriler kullanılmıtır. Aaıda, testedilebilirlik endeksini, tasarım parametrelerine iliiklendiren denklem bulunmaktadır: Testedilebilirlik Endeksi (Tasarım Ölçütleri Cinsinden) = 92.59 1.69 * NAB (CBO) + 6.94 * KAD (DIT) 0.13 * SYC (RFC) + 0.03 * MYE (LCOM) 1.95 * ÇS (NOC) + 0.07 * SBAM (WMC) + 0.03 * SK (CCOMP) 0.30 * SBTSS (TLOCC) Testedilebilirlik Endeksi (Tasarım Parametreleri Cinsinden) = 93.79 1.68 * Balaım (Coupling) + 6.37 * Kalıtım (Inheritance) 0.10 * Çok ekillilik (Polymorphism) + 0.03 * Yapııklık (Cohesion) + 0.30 * Karmaıklık (Complexity) 0.32 * Boyut (Size) Karmaıklık katsayısı, üç farklı karmaılık ölçütü içerisinde en güçlü korelasyona Siklomatik Karmaa ölçütü sahip olduu için, sadece bu ölçütü içeren bir regresyon modeli ile yeniden hesaplanmıtır. Her bir tasarım parametresi, kendisini en güçlü ve yaygın ekilde ifade eden tasarım ölçütü tarafından temsil edilmektedir. Bu tablodaki katsayılar, dorusal denklemdeki katsayıları, kesiim ise, dorunun sabit deerini, yani y-ekseni ile kesitii noktayı göstermektedir.

%95 güven seviyesi ile hesaplanan regresyon modeline ait detaylar aaıdadır: Katsayılar Standart Sapma Alt %95 Üst %95 Kesiim 92,59 4,96 82,79 102,39 NAB - CBO -1,69 0,41-2,50-0,88 KAD - DIT 6,94 2,59 1,82 12,06 MYE - LCOM 0,03 0,06-0,08 0,14 ÇS - NOC 1,95 2,67-3,34 7,23 SYC - RFC -0,13 0,10-0,33 0,07 SBAM - WMC 0,07 0,16-0,25 0,39 SK - CCOMP 0,03 2,79-5,49 5,55 SBTSS - TLOCC -0,30 0,32-0,93 0,34 Figure 2: Regresyon Detayları 3. Sonuç Modeli oluturmakta kullanılan veriler, tek bir kaynaın verileri olduu ve bu kaynaın i akıları hakkında, u an için, herhangi bir veri içermediinden dolayı, modelin sadece bir kurum içerisinde farklı projelerin testedilebilirliinin karılatırılmasına, irket içerisinde bir veri ambarı oluturulmasına yararı hedeflenmektedir. Genele uygulanabilir bir model yaratmak için, çok ve farklı, birbirine baımlı ya da baımsız parametrelerin de iin içine katılması gerekir. Bu parametrelere ait detaylı ölçütlere sahip olunması, ya da kolayca bu ölçütlerin elde edilebilir olması gerekir. Firmanın i akıının, varsa, uygulamakta olduu kalite sürecinin, igücüne ait bilgi birikiminin, ve daha birçok önemli etkenin bu aratırma altında incelenmesi gerekmektedir. Mevcut çalıma, zaman ve hedef konusunda daha farklı bir çizgide olduundan, ve bu tür detay verilerin, u an itibariyle tümünün aynı anda elde edilemeyecek kadar zor olması nedeniyle, belirli bir alanda, belirli varsayım ve kısıtlamalar yapmak zorundadır. Nesne Yönelimli Yazılım Tasarımının Testedilebilirliine ölçmeye yönelik olarak önerilen model, çeitli deneme-yanılma ve varsayımlardan hareket etmektedir. Yakın zaman içerisinde, bu varsayım ve denemeler, daha güvenilir ve matematiksel sonuçlara dayandırılacaktır. Ayrıca süreçlere ilgin veriler ve testedilebilirlik ile projenin yaamdöngüsü içersindeki fazlarla etkileimini ortaya çıkarmaya çalıacak veriler elde edilmeye çalıılacak, bu sayede, ürün bakı açısının yanına süreç bakı açısı da katılmı olacaktır. Modelin son eklini almasıyla beraber, gerçek yaamda kullanılan aynı irkete ait projeler üzerinde uygulanması ve dorulanması hedeflenmektedir. Çalıma, daha farklı ilikiler ortaya çıkarmak üzerine de younlaacaı için, bulunan iliki ve korelasyonlar, çeitli farklı boyutlara göre geniletilecek ve irdelenecektir. Bütün bu çalımalar ve planlar neticesinde ortaya çıkması hedeflenen model, kesin, yaygın bir testedilebilirlik endeksi olmaktan çok, yazılım firmalarına, tasarım konusunda yaamı oldukları sıkıntıları azaltmakta yardımcı olmaya çalıacak, belirli öüt ve yönlendirici ipuçları ile projeye ait zaman, igücü ve maliyet kalemlerini, daha düzgün ve yerinde kullanılmasını salamak amaçlamaktadır.

4. Referanslar 1) A. Arifolu and A. Doru, Yazılım Mühendislii, SAS Biliim Yayınları, 2001 2) L. Briand, J. Wüst and H. Lounis, Investigating Quality Factors in Object-Oriented Designs:An Industrial Case Study, ISERN-98-29 Version 2, 1998 3) B. Baudry, Towards a 'Safe'Use of Design Patterns to Improve OO Software Testability, Beaulieu Üniversitesi, 2001 4) J.M. Voas, Factors that Affect Software Testability, IS Bölümü, NASA LRC, 1998 5) R. Marinescu, Measurement and Quality in Object-Oriented Design, Timisoara Politeknik Üniversitesi, 2002 6) IEEE Std 610.12-1990. IEEE Standard Glossary of Software Engineering Terminology. 1990. 7) M. Bruntink, Testability of Object-Oriented Systems: a Ölçüts-based Approach, Amsterdam Üniversitesi, 2003 8) R.S. Freedman, Testability of Software Components, IEEE Transactions on Software Engineering, Vol. 17, No. 6, Haziran, 1991, syf.553-563. 9) R. A. Khan and K. Mustafa, A Model For Object Oriented Design Quality Assessment, SPDS Kuadası Konferansı, 2004 10) S. Chidamber and C. Kemerer, A Ölçüts Suite for Object-Oriented Design, IEEE Transactions on Software Engineering, Haziran, 1994, syf. 476-492. 11) V.R. Basili and W.L. Melo, A Validation of OO Design Ölçüts as Quality Indicators, IEEE Tran. on Software Engineering, Vol.22, No. 10, Ekim.1996. 12) Nancy S. Eickelmqn and Debra J. Richardson, What Makes One Software Architecture More Testable Than Another?, SIGSOFI 96 Workshop, San Francisco CA USA 13) B. Pettichord, Design for Testability, Pacific Northwest Software Quality Conference, Portland, Oregon, Ekim 2002 14) J.M. Voas and K.W. Miller, Improving the Software Development Process Using Testability Research, Proc. International Conference Software Reliability (ISSRE 2002), 2002 15) L. Tahvildari and K. Kontogiannis, A Ölçüt-Based Approach to Enhance Design Quality Through Meta-Pattern Transformations, Elektrik ve Bilgisayar Müh. Dep., Waterloo Üniversitesi, 2002 16) M. Lorenz and J. Kidd. Object-Oriented Software Ölçüts. Prentice-Hall Object-Oriented Series, Englewood Cliffs, NY, 1994. 17) S. Jungmayr, Testability During Design, Teknik Rapor, Hagen Üniversitesi, 2002 18) S. Jungmayr, Testability Measurement and Software Dependencies, Teknik Rapor, Hagen Üniversitesi, 2002 19) http://mdp.ivv.nasa.gov/index.html, NASA IV&V Facility Ölçüts Data Program