Yazılım Yaşam Döngüsü Modelleri için Sistematik
Eşleme Çalışması
Yagup Macit1, Ahsen İkbal Aytekin1, Çağdaş Üsfekes1 1HAVELSAN Askeri Yazılımlar Grup Müdürlüğü
06510 Ankara, Türkiye
{ymacit, ayergok, cusfekes}@havelsan.com.tr
Özet. Uygulama yazılımlarının fikir aşamasından bakım aşamasına kadar olan tüm aşamalarını kapsayan etkinlikler bütünlüğü, Uygulama Yaşam Döngüsü Yönetimi (UYY) süreci olarak tanımlanmaktadır. Sürecin içerisinde bulunan yöntem ve pratikler güncel ihtiyaçlar ve olanaklara göre evrimsel olarak değişkenlik göstermektedir. Yazılım geliştirme yöntem ve pratiklerinin evrimi, endüstri ve akademik çevrelerin işbirliği ve rekabeti altında süregelmektedir. Evrimsel olarak ortaya çıkan her bir yöntem ve pratiğin yaşam eğrisi, kapsama alanı ve soyutlanma düzeyine göre faklılıklar gösterebilmektedir. Yine her bir yöntem ve pratiğin tüm yöntem ve pratikler içerisindeki ağırlığı ve baskınlığı değişebilmektedir. Ayrıca endüstriyel yazılım geliştiriciler kendi yöntem ve pratik ihtiyaçları için akademik yayınlara web üzerinden erişerek ilgili yöntem ve pratiğin ağırlık ve baskınlığını etkilemektedir. Bu çalışma ile UYY yöntem ve pratiklerinin ortaya çıkış zamanları, tüm kütle içerisindeki oranları ve endüstriyel kullanıcının ihtiyacı ile zamansal izdüşümleri, elektronik kütüphaneler ve web arama bilgileri karşılaştırılarak incelenmiştir.
Anahtar Kelimeler: UYY, Uygulama yaşam döngüsü yönetimi, yazılım yaşam döngüsü modelleri, sistematik eşleme
Systematic Mapping Study for Software Lifecycle Models
Yagup Macit1, Ahsen İkbal Aytekin1, Çağdaş Üsfekes1 1HAVELSAN Askeri Yazılımlar Grup Müdürlüğü
06510 Ankara, Türkiye
{ymacit, ayergok, cusfekes}@havelsan.com.tr
Abstract. Activities that cover all phases of application software from idea to maintenance phase are defined as Application Lifecycle Management (ALM) process. The methods and practices in the process vary evolutionarily according to current needs and possibilities. The evolution of software development methods and practices continues under the collaboration and competition of
industry and academic circles. The life cycle of each evolutionary method and practice may vary according to its coverage and level of abstraction. Again, the weight and dominance of each method and practice within all methods and practices may vary. In addition, industrial software developers can access academic publications on the web, depending on their method and practical needs, and influence the weight and dominance of the relevant method and practice. In this study, the emergence times of the ALM methods and practices, their proportions in the whole group and the needs of the industrial user and their time-based projections are examined by comparing the electronic libraries and web search information.
Keywords: ALM, Application Lifecycle Management, Software lifecycle models, Systematic mapping
1
Giriş
Bilgisayar yazılımlarının geliştirilmesi ve yaşatılması, yazılımın tüketicisi ve üreticisi farklılaşmaya başladıktan sonra, yönetilmesi gereken zorlu bir süreç olarak kendisini götermiştir. Büyük yazılım sistemlerinin üretilmesinde ortaya çıkan karmaşıklığa, Şelale yöntemi [1] ile verilen karşılık, evrimsel bir yolculuk ile süregelmektedir.
Bilgisayar yazılımlarının yaşamı, her hangi bir ürünün yaşamına benzer şekilde, sıralı aşamalar içermektedir. Fikir aşamasından başlayan yolculuk, tasarım, geliştirme, doğrulama, dağıtım ve bakım gibi diğer aşamalar tarafından takip edilmektedir. Fikir aşamasından başlayıp, bakımın sonlandırılması ve ürünün geri çekilmesi aşamalarının tamamı Uygulama Yaşam Döngüsü Yönetimi (UYY) olarak tanımlanmaktadır [2].
Yazılımların yaşam döngüsü üzerinde kullanıcılarının ve çalıştığı ortamların etkisi kaçınılmazdır. Başlangıçta sınırlı sayıda kullanıcısı olan MainFrame sistemler için üretilen yazılımlar, günümüzde sınırsız kullanıcısı olan mobil cihazlar için üretilebilmeketedir. Kullanıcı beklentileri ve ortam yeteneklerindeki değişim, rekabet açısından üretim ve dağıtım için sürelerin kısaltılmasını zorlamaktadır. Her döneme özgü kullancı beklentisi ve barındırma ortamının yetenek gelişimi, UYY yöntemlerinin değişimini tetikleyen temel evrim mekanizması olmuştur.
Bu çalışmada, endüstriyel kullanım ve akademik çalışma sıklığıyla önce çıkan UYY yöntem ve pratikleri genel olarak listelenerek inceleme alanı tanımlanmıştır. Akademik yayınlar incelendiğinde yöntem ve pratik listesi oluşturmak için tek bir yayın referansının yeterli olmadığı görülmüş ve çoklu referans ile liste oluşturulmuştur. Yöntem ve pratiklerinin anlaşılırlığını desteklemek ve yöntem isimlerinin tüm süreç içerisinde nereye odaklandığının bilgisini vermek için UYY kavramının aktarımı yapılmıştır. Oluşturulan UYY listesi için yöntemin ortaya çıkış yılı, yöntemin diğer yöntemler arasındaki ağırlığı ve yöntemin web aramalarına yanıt verme eğilimine odaklanan bir Sistematik Eşleme Çalışması yapılmıştır. Sistematik Eşleme Çalışması için verilerin elde edilmesi amacıyla, UYY listesinin her bir öğesi, yaygın olarak kullanılan elektronik kütüphaneler üzerinde sorgulanmıştır.
Bildirinin ikinci bölümünde, incelenen yöntemlerin kavram alanı olan Uygulama Yaşam Döngüsü yönetimi ve inceleme yöntemi olan Sistematik Eşleme Çalışması
hakkında bilgi verilmiştir. Üçüncü bölümde araştırma yönetimi ve ayrıntıları alt başlıklar halinde açıklanmıştır. Son bölümde ise yapılan eşleme çalışması genel olarak özetlenmiş ve sonraki dönemde yapılacak çalışmalar için bilgi verilmiştir.
2
Temel Bilgiler
2.1 Uygulama Yaşam Döngüsü Yönetimi
Uygulama Yaşam Döngüsü Yönetimi (UYY) bir yazılım geliştirme projesinin ortaya çıkışındaki fikir aşaması ile projenin geliştirme, dağıtım ve bakım süreçlerini kapsayan bir yaklaşımdır [2]. Bu sayede UYY, yazılım projelerinde tüm süreçlerde güçlü bir yö-netim ve izlenebilirlik yeteneği sağlar [3].
UYY kavramı, UYY 1.0 yaklaşımı ile ortaya çıkmıştır. UYY 1.0 yaklaşımında bir yazılım projesindeki her disiplin için farklı araçların kullanılması ve bu araçların birbiri ile olan entegrasyonu önerilmiştir. Test, Tasarım, Geliştirme, İnşa gibi süreçleri yöneten farklı araçlar karşılıklı bilgi alışverişi yapabilir [4]. Bu entegrasyonun zor ve maliyetli olması sebebiyle UYY 2.0 yaklaşımı doğmuştur [4] [5]. UYY 2.0 yaklaşı-mında yazılım geliştirme süreçlerinin farklı araçlardan ve süreçlerden takip edilmesi yerine, uygulama yazılımlarının süreçlerin bütünleşik olduğu araçlar üzerinden yöne-tilmesi benimsenmiştir [6] [7] UYY 2.0 yaklaşımına uygun araçlar rol ve yetki tabanlı olarak çalışmaktadır. Bu yaklaşımda süreçler arası iletişim ve bilgi alışverişi sistematik olarak yapıldığından UYY 1.0 yaklaşımındaki entegrasyon maliyetleri ortadan kalk-mıştır.
2.2 Yazılım Yaşam Döngüsü Modelleri
Yazılım geliştirme süreçlerinde yaşanan evrim boyunca pek çok yaşam döngüsü modeli geliştirilmiştir. Bhuvaneswari [8], Sujit Kumar Dora [9], Crnkovic [10] ve Coopera [11] çalışmalarında bu yaşam döngüsü modellerine detaylı açıklamaları ile birlikte değinmiştir. Bu çalışmada ise 22 adet yazılım yaşam döngüsü modeli üzerinde durulmuştur. Bu modeller Tablo 2.’de verilmiştir.
2.3 Sistematik Eşleme Çalışması
Kanıta Dayalı (Evidence-based) [12] kavramı öncelikle tıp sektöründe kullanılmıştır. Bu sektördeki başarılı sonuçlarının ardından diğer alanlarda da kullanılmaya başlanmıştır. Bu kavramın yazılım mühendisliğindeki ilk örneği Kanıta Dayalı Yazılım Mühendisliği (KDYM) adıyla 2004 yılında ortaya çıkmıştır. Bu çalışmada bir alanda yeni bir yöntemin geliştirildiği ve kıyaslamaların yapıldığı en eski referanslı çalışmalardan deneysel kanıt amaçlı veri toplanır. Bu veri üzerinde Sistematik Literatür Taraması (Systematic Literature Review-SLR) veya Sistematik Eşleme Çalışması (Systematic Mapping Study) ile araştırma yapılır. Sistematik eşleme çalışması genel tanım olarak, bir konuda ilk yapılan bir diğer deyişle en eski tarihli çalışmaları sınıflandırmaktır. Bu çalışmalar ilgili konu hakkında detaya inmeden üst düzey bilgiler
verir. Eşleme çalışmalarında kullanılan soruların içeriği genel amaca yöneliktir. Ayrıca kullanılan arama yöntemleri çok katı ve sınırlı olmamakla birlikte temel amaç, arama sonucunda bulunan çalışmaları sınıflandırmaktır.
Bu çalışmada belirlenmiş olan yazılım yaşam döngüsü modeli ile ilgili yayınlanmış, konferans bildirileri, tezler, kitaplar ve makaleler incelenmiştir.
3
Araştırma Yöntemi
Literatürde kullanılan sistematik eşleme çalışması yöntemleri [13] derlenerek, bu bil-diride kullanılmak üzere aşağıdaki adımlar belirlenmiştir:
Araştırma sorularının tanımlanması
UYY listesi ile ilgili yayınlara ulaşmak için elektronik veritabanlarında aramaların yapılması
Elde edilen arama sonuçlarını sınıflandırmak amacıyla, her kütühanedeki her model için yayın tarihlerinin listelenmesi
Yıllara göre her model için yapılan çalışma sayısının belirlenmesi Google Trends üzerinde UYY modelleri için aramaların yapılması
Her iki arama sonuçları üzerinde veri çıkarımının yapılması ve çalışma sonuçlarının yazılması
Şekil 1. ’ de Sistematik eşleme çalışması için akış diyagramı verilmiştir.
Şekil 1. Sistematik Eşleme Çalışması Adımları
3.1 Araştırma Soruları
Sistematik Eşleme Çalışmasının amacı bir konuya ilişkin yayınlanmış çalışmaları sınıflandırmaktadır. Sınıflandırma işlemi için birincil çalışmalara önceden belirlenmiş olan araştırma soruları sorularak cevaplarına göre sonuçlar elde edilmektedir. UYY modelleri eşleme çalışması için aşağıdaki araştırma soruları (AS) ilgili motivasyonlar doğrultusunda belirlenmiştir.
AS1: Model ilk kez ne zaman görülmüştür?
Motivasyon: Modeller arasında genetik/tarihsel devamlılığın araştırılması. Araştırma sorularının belirlenmesi Araştırma kapsamı Arama işlemi Yayınların tümü Yayınların yıllara göre listelenmesi Sınıflandırılmış yayın listesi Google Trends arama işlemi Arama trendi verileri Veri çıkarımı ve eşleme Sistematik eşleme İşlem Adımları Çıktılar
AS2: Modelin diğer modeller içerisindeki ağırlığı / konumu nedir? Motivasyon: Modellerin akademik popüleritesinin gözlemlenmesi.
AS3: Modelin endüstri kullanıcılarının web arama eğilimi ile akademik yayın eğiliminin örtüşme oranı nedir?
Motivasyon: Modeller için akademik ve endüstriyel popularitesinin eşlenikliğinin ölçümlenmesi.
Çalışma sonucunda bu sorulara verilen cevaplar kullanılarak elde edilen sonuçlar, her soruya yanıt olabilecek şekilde raporlanmış ve değerlendirilmiştir.
3.2 Arama Yöntemi
UYY modelleri konusundaki Sistematik Eşleme Çalışmasında kullanılacak yayınlar için IEEE Xplore, ACM Digital Library, Wiley Inter Science Journal Finder, Science-Direct, Springer Link ve ISI Web of Knowledge elektronik veri tabanlarında arama yapılmıştır. Arama yöntemi olarak bu veri tabanlarının gelişmiş arama bölümleri kul-lanılmış ve hazırlanan sorgu cümleleri çalıştırılmıştır. Arama sonucunda UYY model-leri konusunda yayınlanan akademik çalışmalar elde edilmiştir. Araştırma sorularına göre, UYY modellerinin web arama eğilimine ulaşmak için Google Trends üzerinde modellerin yıllara göre arama trendleri CSV formatında çıkarılmış ve arama sonuçla-rına eklenmiştir.
3.3 Sorgu Cümleleri
Arama yönteminde belirtilen veri tabanlarının gelişmiş arama bölümleri için mantık operatörleri kullanılarak her model için sorgu cümleleri hazırlanmıştır. Aşağıdaki tab-loda UYY modellerinden örnek seçilen “V-Model” araması için sorgu cümleleri pay-laşılmıştır. Diğer modeller için sorgu cümleleri “V-Model"/"V-Shaped" metinleri ile değiştirilerek benzer şekilde hazırlanmıştır. Modellerin literatürde yaygın kullanımda olan kısaltmaları, sorgu cümlelerinde “OR” operatörü kullanılarak harfe duyarlı şeklide aranmıştır. Örneğin, Extreme Programming için hazırlanan sorgu cümlesinde “XP” öbeği OR seçeneği ile kullanılmıştır.
Tablo 1. Elektronik veritabanları “V-Model” araması için örnek sorgu cümleleri ACM (acmdlTitle:("V-Model" "V-Shaped") OR
recordAbstract:("V-Mo-del" "V-Shaped") OR keywords.author.keyword:("V-MorecordAbstract:("V-Mo-del" "V-Sha-ped")) AND recordAbstract:(Software)
IEEE (("Publication Title":"V-Model" OR "Abstract":"V-Model" OR "Document Title":"V-Model" OR "Publication Title":"V-Shaped" OR "Abstract":"V-Shaped" OR "Document Title":"V-Shaped") AND ("Publication Title":software OR "Abstract":software OR "Document Title":software))
SienceDirect Title, abstract, keywords: ( "V-Model" OR "V-Shaped" ) AND "Software" Springer https://link.springer.com/search?dc.title="V-Mo- del"+AND+"software"+OR+dc.abstract="V- Model"+AND+"software"+OR+dc.title="V- Shaped"+AND+"software"+OR+dc.abstract="V-Shaped"+AND+"software"&sortOrder=oldestFirst WebOf-Konwledge
TS=("V-Model" OR "V-Shaped") AND TS=(Software)
Wiley
""V-Model" OR "V-Shaped"" anywhere and "Software" in Abstract
Wiley veri tabanı için kullanılan sorgu cümlesiyle yapılan arama sonucundaki sayısal değerler, RSS çıktısındaki değerler ile örtüşmediğinden bu veri tabanından çıkan so-nuçlar değerlendirmeye alınmamıştır.
Google eğilimleri için https://trends.google.com.tr/trends adresindeki metin kutu-suna model isimleri tırnak içerisinde yazılarak arama yapılmıştır. Aramalar, eğilim ve-rilerinin erişilebilir olduğu 2004 senesinden itibaren dünya çapındaki sonuçları içerecek şekilde gerçekleştirilmiştir.
3.4 Veri Çıkarımı
Elektronik veri tabanları üzerinde gerçekleştirilen arama sonuçlarına ait birincil yayın-lar, her model için yıllara göre yapılan yayın sayısına göre sınıflandırılmıştır.
Google Trends üzerinde yapılan arama sonucuna göre 2004 yılından itibaren aylık bazda arama trendlerinin 100 üzerinden ölçeklenmiş formatına erişilmiştir. Trend aramasında gerçek veriler yerine ölçeklenmiş verilere erişilebildiğinden, “AS3” için yayınların yıllara göre olan sayıları da 100 üzerinden ölçeklenerek kullanılmıştır.
Sonuç kümesindeki yayınlara yöneltilen araştırma sorularına göre aşağıda belirtilen hedef çıktılar elde edilerek sonuçlar bölümü için kullanılacak veriler hazırlanmıştır.
Araştırma Soruları Hedef çıktı
AS1. Model ilk kez ne zaman
görülmüştür? UYY modelinin doğum yılı
AS2. Modelin diğer modeller içerisindeki ağırlığı / konumu nedir?
UYY modelinin yayın yoğunluğu
AS3. Modelin endüstri kullanıcıların web arama eğilimi ile akademik yayın eğiliminin örtüşme oranı nedir?
UYY modelleri için yayın üretimi ile web aramaları arasında, ilişkinin varlığı
4
Araştırma ve Bulgular
4.1 Araştırma Verisi
UYY Yöntemlerinin araştırılması için kullanılan IEEE Xplore, ACM Digital Lib-rary, ScienceDirect, Springer Link ve ISI Web of Knowledge elektronik veri tabanları üzerinden elde edilen veriler, Tablo 2.’de yöntem adı ve elektronik veri tabanı boyutla-rına göre bulgu sayısı şeklinde verilmiştir.
Tablo 2. Yöntem Türlerine Göre Arama Sonuçları
Yöntem/Kütüphane ACM IE E E Science Dire ct Sp ring er Wo S T o pla m
Adaptive Software Development 5 20 82 1 29 137
Agile 1194 2885 570 1800 4839 11288
Component Based Software
Development 98 548 107 37 971 1761
Crystal 48 2 7 13 9 79
DevOps 133 163 22 100 202 620
Dynamic System Development 3 2 3 5 6 19
Extreme programming 298 419 193 151 529 1590
Feature Driven Development 3 12 18 16 30 79
Incremental 19 26 35 24 278 382
Iterative 10 13 61 13 256 353
Lean 142 303 248 224 1094 2011
Prototyping 17 3226 47 613 4910 8813
Rapid Application Development 21 75 24 13 148 281
Rational Unified Process 29 99 16 12 165 321
Scrum 182 449 87 214 902 1834
Spiral 54 378 267 9 1673 2381
Test Driven Development 128 190 29 89 300 736
The Big Bang 3 5 5 5 7 25
The Chaos 9 34 102 18 62 225
V-Model 28 87 46 15 250 426
Waterfall 87 256 62 20 410 835
Toplam 2511 9340 2067 3451 17357 34726
4.2 İlk Yayın Yılı İncelemesi
Elektronik veri tabanları üzerinden elde edilen ve Tablo 2.’de verilen yayınlar, türlerine göre birleştirilerek yayın yılı üzerinden inceleme yapılmıştır. Her bir yayın türü için en küçük yayın yılı bulunmuştur. Elde edilen bilgi, yayın türü ve en küçük yayın yılı grafiği olarak Şekil 2.’de verilmiştir.
Şekil 2. Yöntemlerin İlk Bulgu Yılları
4.3 Yöntem Türü Yoğunluğu İncelemesi
Elektronik veri tabanları üzerinden elde edilen ve Tablo 2.’de verilen yayınlar içerisinde yöntem türü toplamları, genel toplama bölünerek her bir yöntem türü için oransal ağırlık değeri hesap edilmiştir.
Elde edilen yayın türü ve ana kütle içerisindeki oran bilgisi grafik olarak Şekil 3. ’de verilmiştir.
4.4 Eğilim Krşılaştırması
Endüstriyel bilişim profesyonellerinin başvuru kaynaklarından bir olan Google arama motoru, geçmiş döneme ait arama istatistiklerini, eğilim bilgisi şeklinde paylaş-maktadır. Arama istatistikleri, 2004 yılından sonrası için ve sorgu sayıları yerine 100 üzerinden eğilim bilgisi olarak alınabilmektedir.
İlk Yayın Yılı İncelemesi başlığında, yayınların yöntem türlerine göre birleştirilme-sinden sonra, her bir yöntem için 2004 ve sonrası yıllara göre yayınlar sayılmıştır. Her bir yöntem için elde edilen yıllara göre yayın sayıları, en yüksek yıl değeri 100 kabul edilerek diğer yıllar bu yıla oranlanmış ve eğilim bilgisi hesaplanmıştır.
Google ve elektronik veri tabanlarının zamana dayalı eğilim serilerinin karşılaştırıl-ması için t-testi [14] incelenmiştir. Karşılaştırmaya konu olan Google ve elektronik veri tabanlarının zaman serileri birbirinden bağımsız ve faklı varyanslara sahip olacağı için t-testinin, bağımsız ve farklı varyansları örneklemlere genelleştirilmiş hali [15] kul-lanılmıştır.
Eğilim benzerliği t-testi için sıfır hipotez (Ho), her bir yöntem türü için Google eğilim ortalaması ile elektronik veri tabanı eğilim ortalaması arasında “%95 olasılıkla anlamlı bir fark yoktur” yargısı ile kurulmuştur. Karşıt hipoteze (H1) göre ortalamalar arasında fark vardır. Hipotezler, matematik modeli olarak aşağıdaki gösterimle tanımlanmıştır.
Ho: μgoogle = μveritabanı H1: μgoogle ≠ μveritabanı
Hipotezlerin sınanması işlemi, Excel Analysis ToolPak ile “t-Test: Two-Sample Assuming Unequal Variances” seçeneği kullanılarak yapılmıştır. Excel ile her bir yön-tem için Google ve veri tabanı yön-temelinde ortalama, varyans ve t-test değerleri hesap-lanmıştır. Hesaplanan t-test değerlerin 0,05 güven aralığı değerinden büyük olması du-rumunda hipotez kabul edilmiştir. Hesaplama sonuçları Tablo 3.’de verilmiştir.
Tablo 3. Google ve Veri Tabanı Eğilim Serileri için İstatislikler
Ortalama Varyans
Yöntem Google
Veri
Tabanı Google
Veri
Ta-banı t-Test Sonuç
Adaptive Software Development 38,39 50,00 587,809 634,074 0,194157 KABUL
Agile 62,03 55,40 414,780 653,293 0,424139 KABUL
Component Based Software
Deve-lopment 21,99 49,02 717,883 685,197 0,007159 RET
Crystal 44,84 50,78 484,255 759,766 0,505705 KABUL
DevOps 23,64 21,77 1138,081 1149,876 0,876749 KABUL
Dynamic System Development 25,77 33,33 551,054 1185,185 0,473963 KABUL
Feature Driven Development 33,00 62,50 666,300 894,558 0,005642 RET
Incremental 59,63 67,31 192,382 489,152 0,250521 KABUL
Iterative 42,07 54,46 652,294 562,143 0,165173 KABUL
Lean 62,12 45,21 286,130 802,374 0,051183 KABUL
Prototyping 43,65 74,69 354,329 430,399 0,000117 RET
Rapid Application Development 27,48 68,38 599,832 423,875 0,000018 RET Rational Unified Process 33,29 43,75 725,159 624,456 0,263897 KABUL
Scrum 56,62 43,02 529,510 1046,831 0,181687 KABUL
Spiral 49,57 67,35 311,832 349,884 0,009635 RET
Test Driven Development 70,54 71,17 219,068 435,961 0,922396 KABUL
The Big Bang 59,74 22,32 387,721 951,531 0,000381 RET
The Chaos 29,44 41,44 595,904 715,535 0,195372 KABUL
V-Model 65,60 54,44 363,259 839,506 0,209568 KABUL
Waterfall 55,41 48,38 304,819 639,977 0,368578 KABUL
Yapılan hesaplama işlemleri için karşılaştırma örneği olabilecek “Agile” ve “Rapid Application Development” yöntemleri için detaylı t-test değerleri Tablo 5.’de verilmiş-tir.
Tablo 4. Karşılaştırmalı t-test Örneklemesi t-Test:
İki Örnekli Eşit Olmayan Var-yans Varsayımı
Agile Rapid Application
Development
Google Veri Tabanı Google Veri Tabanı
Ortalama 62,029159 55,404020 27,480850 68,382353
Bilinen Varyans 414,779592 653,292942 599,831676 423,875433
Gözlem 16 16 16 16
Öngörülen Ortalama Fark 0 0
df 29 29
t Stat 0,81087638 -5,113419259
P(T<=t) tek uçlu 0,21202089 9,25338E-06
t Critical tek uçlu 1,69912703 1,69912703
P(T<=t) iki uçlu 0,42404178 1,85068E-05
t Critical iki uçlu 2,04522964 2,04522964
Karşılaştırması yapılan “Agile” ve “Rapid Application Development” yöntemlerinin eğilim grafikleri Şekil 4. ’de verilmiştir.
Şekil 4. Karşılaştırmalı Eğilim Grafikleri
5
Sonuçlar
Uygulama yazılımlarının yaşam döngüsü yönetimi için endüstri ve akademi çevrele-rinde yöntem arayış ve üretme çalışmalarının varlığı gözlemlenmiştir.
Akademik çalışma yoğunluğu bulgularına bakıldığında, Agile 11301 değeri ile en çok, Dynamic System Development 19 değeri ile en az, çalışılan yöntem olduğu göz-lemlenmiştir.
Yöntemlerin ilk yayın yılı bulgularına bakıldığında, yaşam döngüsü yönetimi ihti-yaçlarına yanıt vermek için şelale ve yinelemeli türlerinin kendi aralarında sürgit devam eden evrimsel bir süreklilik gözlemlenmiştir.
Yöntemlerin ana kütle içerisindeki oransal ağırlıklarına bakıldığında, homojen bir dağılım olmadığı ilk 5 yöntemin %75’lik bir oranı oluşturduğu görülmüştür. Bu durum, ihtiyaca yanıt olarak üretilen yöntemin kullanım karşılığı bulamaması ve sönümlenmesi olarak açıklanabilir.
Yöntemler için endüstri ve akademik eğilimin, sayısal olarak % 67 oranında, oransal ağırlık olarak %57 oranında örtüştüğü gözlemlenmiştir. Bu durum, oransal ağırlığı az olan yeni yöntemler için örtüşmenin daha yaygın olması şeklinde açıklanabilir. Ek ola-rak, eğilimlerin eşleşmediği ve sıfır hipotezinin reddedildiği yöntemler için endüstriyel bilinirliğin belirleyici olduğu gözlemlenmiştir.
Önümüzdeki dönemde, UYY yöntemleri arasında %90 oransal temsil gücüne sahip olan yöntemler için zamana dayalı mimari stil ile eşleme araştırması planlanmaktadır.
Teşekkür. Yazarlar HAVELSAN yönetimine çalışmaya verdiği destek için teşekkür
ederler.
6
Kaynakça
1. W.W.Royce, "Managing the Development of Large Software Systems," Proceedings of IEEE WESCON 26 (August): 1–9, pp. pp.328-338, 1970.
3. E. T. Y. M. B. T. A.İ. Aytekin, "Uygulama Yaşam Döngüsü Yönetimi - Sistematik Eşleme Çalışması,"UYMS, İzmir, 2015.
4. J. V. A. Kääriäinen, "Impact of Application Lifecycle Management – A Case Study," in International Conference on Interoperability of Enterprise (IESA), Berlin, 2008. 5. C. e. a. Schwaber, "The Changing Face of Application Lifecycle Management," in
Forrest-er Research, 2006.
6. K. Shaw, "Application Lifecycle Management for the Enterprise," in Serena Software, 2007.
7. J. K. a. A. Välimäki, "Applying ALM for the Development of Complex Systems : Experi-ences from the Automation Industry," in EuroSPI, 2009.
8. S. P. T Bhuvaneswari, "A Survey on Software Development Life Cycle Models," in IJCSMC, 2013.
9. P. D. Sujit Kumar Dora, "Software Development Life Cycle (SDLC) Analytical Comparison and Survey on Traditional and Agile Methodology," Abhinav National Monthly Refereed Journal of Research in Science & Technology, 2013.
10. I. Crnkovic, "Component‐based software engineering — new challenges in software development," Proceedings of the 25th International Conference on Information Technology Interfaces, 2003.
11. S. R. L. S. K.Coopera, "Integrating visual goal models into the Rational Unified Process", Journal of Visual Languages & Computing, Volume 17, Issue 6, Pages 551-583, 2006. 12. B. A. D. T. a. J. M. Kitchenham, "Evidence-Based Software," in Proc. Of the 26th
International Conference on Software Engineering (ICSE), Scotland, 2004.
13. K, Petersen; R, Feldt; S, Mujtaba; M, Mattsson, "Systematic mapping studies in software engineering," in Proceedings of the 12th International Conference on Evaluation and Assessment in Software Engineering, 2008.
14. Student, "The Probable Error of a Mean," Biometrika, vol. 6, no. 1, pp. 1-25 https://doi.org/10.1093/biomet/6.1.1, Mart 1908.
15. B. L. Welch, "The Generalızatıon Of ‘Student's’ Problem When Several Dıfferent Populatıon Varlances Are Involved," Biometrika, vol. 34, no. 1-2, pp. 28–35, https://doi.org/10.1093/biomet/34.1-2.28, Ocak 1947.
16. P. Feiler and W. Humphrey, "Software Process Development and Enactment:Concepts and Definitions," Software Engineering Institute, 1992.