Mobil platformlarda yapısal tasarım örüntülerinin yazılım kalitesi üzerine etkisinin incelenmesi
Investigation of the effect of architectural design patterns on software quality in mobile platforms
Yazar: FURKAN ÖZBAY
Danışman: PROF. DR. OYA KALIPSIZ
Yıldız Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2022
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Kodlar = Codes ; Mobil platformlar = Mobile platforms ; Tasarım = Design ; Yazılım kalitesi = Software quality

Özet:
Son yıllarda mobil platformların yeteneklerinin ve popülerliklerinin artmasıyla mobil uygulama geliştirmeye verilen önem ve ayrılan bütçe artmıştır. Mobil uygulamalar da diğer yazılımlar gibi doğası gereği değişime ve gelişime açıktır ve bu nedenle mobil uygulamalar yaşam döngüleri boyunca birçok değişikliğe uğramaktadır. Bu değişimlere; yeni özellikler, hata düzeltmeleri, performans iyileştirmeleri gibi örnekler verilebilir. Yapılan değişikliklere yazılımın hızlı ve kolay bir şekilde uyum sağlayabilmesi için yazılımın kaliteli olması gerekmektedir. Yazılım kalitesinden yoksun yazılımların hem şirketler hem de ülke ekonomileri üzerinde yıkıcı etkileri olabilmektedir. Yazılımın kalitesinin bu kadar önemli olması; hazırlanan yazılımların belirli bir kalitenin üzerinde olması için büyük ve titiz çabalar gösterilmesi gerektiğini göstermiştir.
Yazılım kalitesi iki ana başlık altında incelenebilir. Bunlardan birincisi geliştirme evresi kalitesi, ikincisi ise operasyonel evredeki kalitedir. Yazılım kalitesini iyi seviyelerde tutabilmek için özellikle geliştirme evresindeki kaliteyi sağlamak gerekir. Bunu sağlamak için ilk aşama olarak yazılım geliştirme sürecini iyileştirmek gerekir. Geliştirme sürecinin önemli faktörlerinden biri olan tasarım aşamasının ana bölümü yazılımın tasarımına karar vermektir. Bu noktada tasarıma büyük etki yapan yapısal tasarım kalıplarının seçimi önem arz etmektedir. İkinci aşama olarak ise yazılım kodunun kalitesinin, yazılım kod kalite metrikleri veya nitelikleri gibi somut, bağımsız, tekrarlanabilir ve güvenilir ölçüm yöntemleri ile ölçülmesi, değerlendirilmesi ve gerekli aksiyonların alınması gerekir.
Bu tez çalışmasında geliştirme gereksinimleri alt başlığında; yazılım kod kalitesi ve yazılım kod kalite metrikleri, Android platformunda kullanılan yapısal tasarım örüntüleri araştırılmış ve yazılım kod kalite metrikleri kullanılarak bir Android uygulamasının farklı iki yapısal tasarım örüntüsü ile yazılmış versiyonlarının yazılım kod kalitesinin farkı gözlemlenmiştir.

Abstract:
In recent years, with the increase in the capabilities and popularity of mobile platforms, the importance given to mobile application development and the allocated budget have increased. Mobile applications, like other software, are open to change and development by nature, and therefore mobile applications undergo many changes throughout their lifecycle. Examples of these changes include new functionality, bug fixes, and performance enhancements. In order for the software to adapt to the changes made quickly and easily, the software must be of high quality. Software that lacks software quality can have devastating effects on both companies and national economies. The software's quality is crucial, and it has been demonstrated that in order for it to be above a specific standard, tremendous and careful efforts must be taken.
Software quality can be examined under two main headings. The first is the quality of development requirements, and the second is the quality of operational requirements. In order to keep the software quality at good levels, it is necessary to ensure the quality especially in the development phase. In order to achieve this, it is necessary to improve the software development process as a first step. The main part of the design phase, which is one of the important factors of the development process, is to decide on the design of the software. At this point, the selection of structural design patterns, which have a great impact on the design, is important. As a second step, the quality of the software code should be measured and evaluated with concrete, independent, repeatable and reliable measurement methods such as software code quality metrics or attributes, and necessary actions should be taken.
In this thesis, under the development requirements heading; software code quality and software code quality metrics, architectural design patterns used in the Android platform were investigated and the difference in software code quality of versions of an Android application written with two different structural design patterns was observed using software code quality metrics.