dc.contributor.advisor | Tarhan, Ayça | |
dc.contributor.author | Cankurtaran, Ezgi | |
dc.date.accessioned | 2018-12-26T10:21:34Z | |
dc.date.issued | 2018 | |
dc.date.submitted | 2018-08-15 | |
dc.identifier.uri | http://hdl.handle.net/11655/5477 | |
dc.description.abstract | Software reuse is an important practice in software development because of its potential to reduce costs by shortening development time and increasing software quality. Although software reuse is applied in different development methodologies, it is the main concept in Component Based Software Development and Software Product Line Development approaches. The academia has proposed different methods and metrics to analyze software reusability. This study aims at improving the reusability of a radar user interface software, which has an architecture based on a software product line approach, and which has been developed by using a service based platform for modular software, namely the OSGi Framework. Studies that measure reusability of OSGi and product line based software have been searched systematically. According to the results of systematic research study, software reusability factors and software reusability metrics are determined. According to software reusability measurement results, software is refactored based on Feature Tree method. The method, which is proposed in this study, has been used to refactor for four radar user interface software that have been developed using Java to improve reusability. The method, which is proposed in this study, has been used to refactor for four radar user interface software that have been developed using Java to improve reusability. After refactoring, it’s observed that LCOM, CC, WMC and ACD (Average Cycling Dependency) metrics were dropped down. Statistical significance analysis is used to evaluate change of significance of ACD metrics that were measured before refactoring and after refactoring. Accordingt to results, it’s observed that method proposed is significance for Project-1, Project-2 and Project-4 while it’s insignificant for Project-3. | tr_TR |
dc.description.tableofcontents | ÖZET i
ABSTRACT iii
TEŞEKKÜR v
1. GİRİŞ 1
1.1. Problemin Tanımı 1
1.2. Önerilen Metot 2
1.3. Özellik Ağacı Oluşturma Kriteri 4
1.4. Tez Organizasyonu 5
2. ÖN BİLGİ 6
2.1. Yeniden Kullanım ve Yeniden Kullanılabilirlik 6
2.2. OSGi Çerçevesi (İng. Open Services Gateway initiative Framework) 7
2.2.1. Java ve Modülerlik 7
2.2.2. OSGi Teknolojisi 7
2.2.3. OSGi Çerçevesi Alternatifleri 8
2.3. Ürün Hattı Yaklaşımı 9
2.4. Yeniden Kullanılabilir Yazılım Bileşenlerinin Yaşam Döngüsü 11
2.5. Hedef-Soru-Metrik Yaklaşımı 16
2.6. Tez Kapsamında Kullanılan Metrikler ve Ölçüm Araçları 17
2.6.1. Sınıfın Ağırlıklı Metot Sayısı (İng. Weigted Methods Per Class - WMC) 19
2.6.2. Metotlardaki Uyum Eksikliği (İng. Lack of Cohesion Of Methods - LCOM) 19
2.6.3. Çevrimsel Karmaşıklık (İng. Cyclomatic Complexity- CC) 19
2.6.4. Ortalama Döngüsel Bağımlılık (İng. Average Cycling Dependency - ACD 21
2.6.5. Ölçüm Araçları 21
2.7. Nesneye Yönelik Yazılım Metriklerinin Yorumlanması 21
3. İLİŞKİLİ ÇALIŞMALAR 24
3.1. Yeniden Kullanılabilirlik Faktör ve Metrikleri 24
3.1.1. Araştırma Hedefi ve Soruları 24
3.1.2. Araştırma Stratejisi 25
3.1.3. Seçim Kriteri 25
3.1.4. Makalelerin Kalite Değerlendirmesi 26
3.1.5. Veri Çıkarım 26
3.1.6. Araştırma Sonuçları 26
3.2. Bileşenlerin Yeniden Kullanılabilirliği 29
3.3. Yazılım Ürün Hattının Yeniden Kullanılabilirliği 35
4. DURUM ÇALIŞMALARININ TASARIMI 39
4.1. Yeniden Yapılandırma için Özellik Ağacı Kullanılarak Yetenek Seçimi 42
4.2. Araştırma Soruları 44
5. DURUM ÇALIŞMALARININ BULGULARI 46
5.1. Durum Çalışması-1’in Bulguları 45
5.2. Durum Çalışması-2’nin Bulguları 47
5.3. Durum Çalışması-3’ün Bulguları 49
5.4. Durum Çalışması-4’ün Bulguları 50
5.5. Ortalama Çevrimsel Bağımlılığa Yönelik Bulguların Anlamlılık Analizi 51
6. BULGULARA YÖNELİK DEĞERLENDİRME 56
6.1. Nicel Değerlendirme 56
6.2. Nitel Değerlendirme 57
7. GEÇERLİLİĞE YÖNELİK TEHDİTLER 60
7.1. İçsel Tehditler 60
7.2. Yapısal Tehditler 60
7.3. Sonuçla İlgili Tehditler 60
7.4. Dışsal Tehditler 61
8. SONUÇLAR 62
9. GELECEK ÇALIŞMALAR 64
10. EK-1 Sistematik Haritalama ile İncelenen Araştırma Soruları ve Yanıtları 65
11. EK-2 Sistematik Haritalama ile İncelenen Çalışmalar ve Metrikler 66
14. EK-3 Özellik Ağacı 69
15. EK-4 Anket Çalışması 81
16. EK-5 Anket Sonuçları 83
17. KAYNAKLAR 87
18. ÖZGEÇMİŞ 92 | tr_TR |
dc.language.iso | tur | tr_TR |
dc.publisher | Fen Bilimleri Enstitüsü | tr_TR |
dc.rights | info:eu-repo/semantics/openAccess | tr_TR |
dc.subject | Research Subject Categories::TECHNOLOGY::Information technology::Computer engineering | tr_TR |
dc.subject | yeniden kullanılabilirlik | |
dc.subject | yazılım metrikleri | |
dc.subject | bağlaşım | |
dc.subject | bileşen tabanlı yazılımlar | |
dc.subject | ürün hattı | |
dc.subject | özellik ağacı | |
dc.subject | osgi | |
dc.title | Yazılım Ürün Hattındaki Modüllerin Özellik Ağacı Analizi İle Yeniden Kullanılabilirliğinin Arttırılması: Osgi Çerçeveli Radar Kullanıcı Arayüzü Örneği | tr_TR |
dc.type | info:eu-repo/semantics/masterThesis | tr_TR |
dc.description.ozet | Yazılımı yeniden kullanma, kısalttığı geliştirme zamanı ile maliyeti düşürmesi ve yazılım kalitesinde artış sağlaması ile yazılım geliştirmede önemli bir pratik olarak görülmektedir. Yeniden kullanım birçok yazılım geliştirme yaklaşımında uygulansa da Bileşen Tabanlı Yazılım Geliştirme ve Yazılım Ürün Hattı yaklaşımının temelini oluşturmaktadır. Literatürde yeniden kullanılabilirliği değerlendirmek için farklı yöntem ve metrikler sunulmuştur. Bu tez çalışmasında, yazılım geliştirme için servis platformu sağlayan OSGi çerçevesi kullanılarak geliştirilmiş ve Yazılım Ürün Hattı yaklaşımına dayalı mimarisi olan bir radar kullanıcı arayüzü yazılımının, yeniden kullanılabilirliğinin arttırılması hedeflenmiştir. Çalışmada, bileşen tabanlı geliştirmede ve ürün hattı geliştirmede yeniden kullanılabilirliği ölçmek için yapılmış çalışmalar, sistematik yöntemle araştırılmıştır. Araştırma sonucunda yeniden kullanılabilirliği ölçmek için en çok kullanılan yazılım faktörleri ve bu faktörleri sayısallaştıran metrikler belirlenmiştir. Belirlenen metriklerle edinilen ölçüm sonuçlarına göre, yazılım Özellik Ağacı metoduna göre yeniden yapılandırılmıştır. Tez çalışmasında önerilen metot, Java dilinde geliştirilmiş dört kullanıcı arayüzü yazılımının yeniden kullanılabilirliğinin arttırılması için uygulanmıştır. Yapılandırma sonrasında ölçümü alınan LCOM, CC, WMC ve ACD (Ortalama Çevrimsel Bağımlılık) metrik değerlerinin her proje için düştüğü görülmüştür. Yapılandırma öncesi ve sonrasında ölçülen Ortalama Çevrimsel Bağımlılık metriğinin değerindeki değişimin anlamlılığını değerlendirmek için istatistiksel anlamlılık analizi uygulanmıştır. Elde edilen sonuçlara göre uygulanan metodun Proje-1, Proje-2, Proje-4 için anlamlı Proje-3 için ise anlamlı olmadığı sonucuna ulaşılmıştır. | tr_TR |
dc.contributor.department | Bilgisayar Mühendisliği | tr_TR |
dc.embargo.terms | Acik erisim | tr_TR |
dc.embargo.lift | 2018-12-26T10:21:34Z | |