Yazılımların bakım kolaylığı ölçümü için yazılım ölçütleri önerisi
Software metrics proposal to measure maintainability
Yazar: ALPER KIRAL
Danışman: DR. ÖĞR. ÜYESİ TÜLİN ERÇELEBİ AYYILDIZ
Başkent Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Yazılım projelerinde göz ardı edilen zaman kısıtlılığı, insan faktörü gibi birçok önemli nokta ileriye dönük büyük problemler ortaya çıkarmaktadır. Yazılım kalitesi ölçülerek Bakım-onarım, fonksiyonellik, güvenilirlik gibi önemli noktalarda meydana gelebilecek bu problemlerin önüne geçilebilir. Bu çalışmada ISO 9126 kalite standardı kapsamında yazılımın bakım kolaylığı özelliğinin ölçümünde kullanılan ölçütler incelenmiştir. Çalışmanın gerçekleştirilebilmesi için uzay ve havacılık alanından 40 adet nesne yönelimli açık kaynak kodlu, JAVA programlama dilinde kodlanan yazılım projesi seçilip kod karmaşıklık analizi yapılmıştır; Chidamber and Kemerer (CK), Lorenz and Kidd (LK) ve McCabe's Complexity Suite ölçüt kümelerine ait ölçüt değerleri Understand statik kod analiz aracıyla belirlenmiştir. Bu ölçüt değerlerinin literatür çalışmasında elde edilen eşik değerleri geçip geçmediği karşılaştırılmıştır. 40 adet nesne yönelimli açık kaynak kodlu JAVA yazılım projesi için eşik değerleri geçen ölçüt frekansları hesaplanmıştır. Tespit edilen frekans değerleri arasındaki uyum Waikato Environment for Knowledge Analysis (WEKA) makine öğrenme ile araştırılmıştır. Sonuçlar değerlendirildiğinde, yazılımın bakım kolaylığı özelliği ölçümünde kullanılan Weighted Methods per Class (WMC), Coupling Between Objects (CBO), Response for Class (RFC) gibi CK ölçütlerine ek olarak Number of Children (NOC), Number of Inherited Methods (NIM) ve Ratio of Comment per Code (C/C) ölçütlerinin de anlamlı ölçüm sonuçları verdiği gözlemlenmiştir.

Abstract:
In software projects, many points that are overlooked such as time constraints and human factors are causing great problems in the future. By measuring the quality of software projects, problems that may arise in important parameters such as maintenance-repair, functionality and reliability can be eliminated. In this study, metrics that can be used for measuring maintainability quality attribute within the scope of ISO 9126 Quality Standard are examined. In order to perform the study, 40 open source object-oriented software belonging to space and aviation domain was selected and code complexity analysis was performed. Values of metric sets such as Chidamber and Kemerer (CK), Lorenz and Kidd (LK) and McCabe's complex Suite were determined by the Understand Code Analysis tool. It was determined whether the obtained values exceeded the threshold values indicated in the literature. Frequencies of metrics passing threshold values were determined for 40 open source object-oriented software projects, and the consistency among the metrics was evaluated using WEKA Machine Learning Software. When the results were evaluated, it was observed that in addition to CK metrics such as WMC, CBO, and RFC, which measure the maintainability quality attribute, NOC, NIM, and the Ratio of Comment/Code metrics have been observed to yield significant measurement results.