=Paper=
{{Paper
|id=Vol-1483/43_Bildiri
|storemode=property
|title=Bir Yazılımın Çevre ve Kalite Açısından Değerlendirilmesi için Önerilmiş Karar Alma Modeli
|pdfUrl=https://ceur-ws.org/Vol-1483/43_Bildiri.pdf
|volume=Vol-1483
|dblpUrl=https://dblp.org/rec/conf/uyms/KocakAB15
}}
==Bir Yazılımın Çevre ve Kalite Açısından Değerlendirilmesi için Önerilmiş Karar Alma Modeli==
Bir Yazılımın Çevre ve Kalite Açısından
Değerlendirilmesi için Önerilmiş Karar Alma Modeli
Sedef Akınlı Koçak1, Gülfem Işıklar Alptekin2, Ayşe Başar Bener3
1
Data Science Laboratory, Environmental Applied Science, Ryerson University, Canada,
Sedef.akinlikocak@ryerson.ca
2
Bilgisayar Mühendisliği, Galatasaray Üniversitesi, Istanbul, Türkiye, gisiklar@gsu.edu.tr
3
Data Science Laboratory, Mechanical and Industrial Engineering, Ryerson University,
Canada, Ayse.bener@ryerson.ca
Özet. Yeşil yazılım geliştirme, yeşil bilgi teknolojileri alanında yeni sayıla-
bilecek bir çalışma alanıdır. Yazılım geliştirme endüstrisi artık, çevresel etmen-
leri daha fazla göz önünde bulundurarak yazılım ürünleri ortaya koymaktadır-
lar. Yeşil yazılıma duyulan bu ilgi, bir yazılımın sahip olması gereken çevresel
özellikleri de, yazılımın ana kalite özelliklerinin içine alınması fikrini doğur-
muştur. Bu çalışmada, akademik yazında sıklıkla kullanılan çok ölçütlü karar
alma yöntemlerinden biri olan Analitik Ağ Süreci kullanılarak, yazılımın
çevresel sürdürülebilirlik ve kalite kriterlerinin bir arada değerlendirilmesi
yapılmıştır. Çalışmanın amacı, bilinen kalite kriterleri ile yeni ortaya çıkan
çevresel kriterler arasındaki ilişkiyi göstermek ve kriterlerin öncelik sırasını be-
lirlemektir. Elde edilen sonuçlar, bir yazılımı ‘yeşil’ olarak geliştirmede
kullanılabileceği gibi, kriterlerin hesaplanan ağarlıkları kullanılarak birbiri ile
çelişen kalite ve çevresel kriterler arasındaki seçimde de yol gösterici olacaktır.
Sonuçlar ayrıca, enerji harcamak zorunda olan bir çeşit ürünün, mümkün olan
en üst seviyelerde enerji tasarrufu sağlayacak şekilde geliştirilmesinde yardımcı
olabilecektir.
Anahtar Kelimeler: Yeşil yazılım; enerji verimliliği; yazılım geliştirme
1 Giriş
Yazılımların hayatımızdakı önemi ile birlikte, yazılım ürünlerinin sürdürülebilirliği
ve çevresel etkilerinin önemi de gittikçe artmaktadır. Kullanıcıların gereksinimlerini
karşılayacak kalitede yeşil yazılım ürünleri geliştirmek veya mevcut ürünleri çevresel
etkilerini (örneğin enerji harcama) azaltacak şekilde yeniden düzenlemek karmaşık bir
problemdir. Çevresel sürdürülebilirliğe ulaşmayı hedefleyen yeşil bilgi ve iletişim
teknolojileri ve yeşil yazılım kalitesinin değerlendirilmesi son zamanlarda önemli
araştırma konuları arasına girmiştir. Yeşil ve sürdürülebilir yazılım kavramı akademik
yazında ilk defa 2011 yılında Neumann et al. (2011) tarafından şu şekilde
tanımlanmıştır: “Yeşil ve sürdürülebilir yazılım, yazılımı geliştirme, piyasaya sürme
ve kullanma aşamalarında ekonomiye, sosyal hayata, insanoğluna ve çevreye doğru-
418
dan ve dolaylı olarak en az şekilde olumsuz etkisi olan ve/veya sürdürülebilir
kalkınmaya olumlu katkıda bulunan yazılımdır.” (Neumman et al., 2011, pp:296). Bu
bağlamda, geleneksel ürün kalite modelleriyle belirlenen gereksinimlerin yanında
çevresel ve sürdürülebilir gelişmeye etkileri gözeten yeşil gereksinimlerin de ürün
geliştirme aşamasında değerlendirilme gerekliliği ortaya çıkmıştır.
Yazılım geliştiren firmalar rakiplerinden daha kaliteli, daha fazla ve daha iyi
işlevsellik içeren ürünler geliştirmek için yoğun bir baskı altındadırlar. Ancak
yazılımın kalite gereksinimleri (örneğin performans, kullanılabilirlik, güvenlik, vb.)
ve fonksiyonel özellikleri çoğu zaman birbirleriyle çelişmektedirler. Yazılım
geliştiriciler, bu çelişkiler ışığında kalite ve fonksiyonellik arasında seçim yapmak
zorunda kalabilecek ve/veya bunları bir öncelik sırasına koyarak çözüm bulma yoluna
gidecektir. Pek çok açıdan bakıldığında, fonksiyonel gereksinimler ve kalite gereksin-
imleri birbirlerini tamamlayıcı ve bağlayıcı nitelik taşımaktadırlar. Aralarındaki bu
ilişkiden dolayı seçim kararı yazılım geliştiriciler açısından karmaşık olmaktadır (Ti-
wari et al., 1996).
Buna ek olarak, değişen çevre şartları sürdürülebilirlik kaygılarını arttırmış ve
ürün geliştirme ve ürün kalitesine çevresel (yeşil) gereksinimlerin eklenmesini zorun-
lu bırakmıştır. Sözkonusu yeşil gereksinimler, çoğunlukla, fonksiyonel gereklilikler
ve kalite gereklilikleri arasında uyuşmazlık yaratmaktadır. Bunlar arasındaki ilişkiler
daha gizli ve birbirlerine etkileri daha az anlaşılırdır. Bu nedenle, çevresel sürdürüle-
bilirliğe katkısı olacak yeşil bir yazılım geliştirme sırasındaki gerekliliklerin belirlen-
mesinin önemli olduğuna inanıyoruz. Akademik yazında yazılım gereksinimlerinin
önceliklendirilmesine (Karlsson et al., 1998) ve yazılım kalite gereksinimlerinin
arasında seçim yapılmasına (tradeoff-ödünleşim) (Kazman et al., 2000, Chang et al.,
2008) ilişkin yaklaşım ve modeller vardır. Bu çalışmalarda çok kriterli karar verme
tekniklerinden biri olan Analitik Hiyerarşi Prosesi (AHP), Analitik Ağ Süreci (ANP)
ve ANP/AHP birleştirilmis yöntemler, hedef modelleme (goal modeling), ikili arama
ağacı yaratma (binary search tree creation) ve fırsatçı (greedy) algoritmalar en çok
kullanılanlardır. Bunlardan başka, yazılım mimarisi seçiminde karar verme süreci için
bazı ayrıntılı ödünleşim teknikleri de kullanılmıştır (Zhu et al., 2005). Yazılım
mühendisliği karar verme süreçlerini destekleyen, en önemli yöntemlerin başında
Ruhe et al. tarafından geliştirilen teknik yer almaktadır (Ruhe et al., 2003). Bu yönt-
emde, gereksinim önceliklendirilmesi müşteri memnuniyeti, kaynak dağılımı ve iş
değeri/maliyeti gibi etmenlere göre yapılmaktadır (Ruhe et al 2003, Ruhe/Ngo-The
2009). Önceliklendirmeyi yaparken iteratif ve genel bir algoritmaya sahip olan bir
optimizasyon metodu kullanılmaktadır.
Akademik yazında şimdiye kadar yapılan çalışmalar incelendiğinde, çevresel ger-
eksinimler ile kalite gereksinimlerinin arasındaki ilişkiye odaklanan ve yeşil yazılım
geliştirme sürecinde karar vermenin incelendiği bir çalışmaya rastlanmamıştır. Bu
çalışmada, kriterler arasındaki ilişkiyi/ bağıntıyı oldukça iyi gösteren çok kriterli karar
verme tekniklerinden biri olan Analitik Ağ Prosesi (ANP) kullanılmış ve gereksinim-
lerin öncelik sırası ortaya konmuştur. Çok ölçütlü karar verme yöntemleri, kriterler
arasındaki ilişkiyi belirlemekle kalmayıp, ağırlıklarını da ortaya koymakta; böylece
karar kalitesini arttırmaktadırlar (Campanella, Ribeiro, 2011).
419
Çalışmanın geri kalan kısmı şu şekilde düzenlenmiştir. İkinci bölümde akademik
yazın araştırması kapsamında yeşil ve sürdürülebilir yazılım kavramı, çevresel kriter-
ler beraberinde yeşil ölçütler, yazılım kalite modelleri ve ANP yöntemi anlatılmıştır.
Üçüncü bölümde ANP yöntemi hakkında bilgi verilmiştir. Dördüncü bölümde, öner-
ilen yöntem ve ANP uygulama sonuçları verilmiştir. Beşinci ve son bölümde ise
sonuçlar ve tartışma bölümüne yer verilmiş ve çalışmanın teorik ve pratik katkıları
anlatılmıştır.
2 İlgili Akademik Yazın
2.1 Yeşil ve Sürdürülebilir Yazılım
Akademik yazında yazılımın sürdürülebilirliği hakkındaki çalışmalar öncelikle
donanımın enerji etkinliğinin ölçülmesi, enerji etkin yazılım mimarileri ve/veya opti-
mizasyon algoritmaları ile başlamıştır (Kothiyal et al., 2009) (Bhattacharjee et al.,
2009). Sürdürülebilirlik ve yazılım mühendisliği kavramlarının kullanıldığı ve yeşil
yazılım geliştirmede referans teşkil eden ilk çalışma “GreenSoft” referans modeliyle
Neumann et al. (2011) tarafından yapılmıştır. Bu model yazılım ürününün yaşam
döngüsü, sürdürülebilirlik kriterleri ve ölçütleri, prosedürleri ve bir yazılım ürününün
çevreye ve sürdürülebilirliğe olumlu katkı sağlayacak şekilde kullanılması gerektiği
hakkında öneriler ve kullanılabilecek araçları ele almıştır. Bir diğer çalışmada Alber-
tao et al. (2010), çok kullanılan yazılım kalite kriterlerini (etkinlik, performans, uy-
gunluk vb.) sürdürülebilirliğin boyutları (ekonomik, sosyal ve çevresel) ile
ilişkilendirmiştir. Ancak bu çalışmada herbir kalite kriterinin sürdürülebilirlik boyut-
larına nasıl bir bireysel etki yapacağı irdelenmemiştir. Bir diğer çalışma, sürdürülebil-
irliği yazılım ürün kalitesini etkileyen yepyeni bir etmen olarak kabul etmiş ve
sürdürülebilirliğin yazılım kalite standartlarının içerisine dahil edilmesi gerekliliğini
ortaya koymuştur (Calero ve Barteo, 2013). Diğer bir yaklaşımda, yeşil ve sürdürüle-
bilir yazılım için bir kalite modeli geliştirilmistir (Kern et al., 2013). Bu model,
doğrudan ve dolaylı olarak yazılımın sürdürülebilirliği ile ilişkili tüm kriterleri
içermektedir. Çalışmada ayrıca etkin bir karar verme süreci için kalite kriterlerinin
özelleştirilmesi gerekliliğinin de üzerinde durulmuştur. Bu gereklilik bizim
çalışmamızın da ana motivasyonunu oluşturmaktadır. Çalışmamızda yazılım kalite ve
çevresel sürdürülebilirlik kriterlerinin aralarındaki bağlantıyı göstererek, bu ilişkilerin
karar verme sürecinde kullanılması amaçlanmıştır.
2.2 Yeşil Ölçütler
Yeşil ölçütler BT sistemlerinin yeşil performanslarının ölçülmesinde kullanılan
ölçütler olarak akademik yazındaki yerini almıştır. Kipp et al., (2011)’e göre, yeşil
ölçütler, sistemlerin eneri harcamalarıyla ilişkili ölçütlerdir. Yazarlara göre bu ölçütler
BT sistemlerinin ‘yeşillik’ oranının belirlenmesinde kilit etmen olarak da
düşünülmektedir. Diğer yandan, enerji harcama, enerji etkinliği ve enerji tasarrufu
olasılıklarını belirtmektedir. Çalışmada yeşil performans belirliyicileri (green perfor-
mance indicators) göz önüne alınarak, ölçütler dört sınıfa ayrılmıştır (Tablo 1):
420
BT kaynak kullanım ölçütleri: BT sisteminin enerji kullanımı ile yakından ilgi-
lidir.
Yaşam döngüsü ölçütleri: Ürünün yaşam döngüsünde enerji kullanımını takip
etmek için geliştirilmiştir.
Enerji etki ölçütleri: Ürünün yaşam döngüsündeki elektrik harcama, güç,
kullanılan materyal ve karbondioksit salınımı gibi çevreye olan etkisini görmek
için geliştirilmiştir.
Organizasyonel ölçütler: Enerji bağlantılı maliyetlerin hesaplanması ve takibi için
geliştirilmistir.
Tablo 1. Yeşil ölçüt sınıfları (Kipp et al., 2011, Mahmoud ve Ahmad, 2012)
BT kaynak kullanım Yaşam döngüsü Enerji etkisi Organizasyonel
- BT ekipman - Yaşam döngü mali- - Güç enerjisi (yeşil - Kanun ve regülasyonlar
kullanımı/etkinliği yeti enerji kullanımı) - Kaynak çabaları
- BT ekipman saklama - Süreç mühendisliği - Isı ve nem - Sera gazları kredisi
alanı etkinliği - Servis kalitesi - Karbondioksit - BT’nin toplam maliyeti
salınımı - Yeşil çözümler (Yeşil
yatırım geri dönüş mali-
yeti)
2.3 Yazılım Kalite Modelleri
Yazılım kalitesi, IEEE Std. 1061, (1998) standardına göre “yazılımın istenilen
kalite kriterlerinin kombinasyonlarına sahip olması” olarak tanımlanmıştır. Yazılım
kalitesinin belirlenmesi için bu tanımlamada geçen, istenilen kalite kriterleri kom-
binasyonun açık bir şekilde belirlenmesi gerekmektedir. Yazılım geliştirme pro-
jelerindeki, belirli özelliklerin belirlenen zaman içinde ve belirlenen maliyetin altında
olması istendiğinden dolayı yöneticiler kalite kriterleri arasında seçim yapmak zorun-
da kalmaktadırlar. Bu nedenle, kalite modelleri hem bu seçimin yapılmasında
yardımcı olmakta, hem de kullanım kolaylığı sağlamaktadır.
Akademik yazında pek çok kalite modeli geliştirilmiştir. En çok kullanılanları Ta-
blo 2’de gösterilmiştir (Marciniak 2003, Berander et al., 2005).
McCall (1977) ve Boehm et al. (1978) modelini esas alarak geliştirilen ISO/IEC
9126 (ISO/IEC 9126-1, 2001) en yeni modellerden biridir. Bu kalite standart modeli,
içsel ölçütler, dışsal ölçütler ve ürün kullanım kalitesi olmak üzere dört bölüm içer-
mektedir. ISO 9126-1, son kullanıcı kullanım kalitesine yönelik dört etmen
(fonksiyonellik, kullanılabilirlik, etkinlik ve güvenilirlik) ve geliştiriciye yönelik iki
etmen (bakım ve taşınabilirlik) içermektedir (Şekil 1).
421
Tablo 2. Akademik yazındaki kalite modelleri ve kriterleri
(McCall, 1977) (Boehm et al., (Bowen et al., (Murine, 1983) Diğerleri
1978) 1985)
Doğruluk Güvenilirlik Doğruluk Doğruluk Doğruluk
Güvenilirlik Etkinlik Güvenilirlik Güvenilirlik Güvenilirlik
Etkinlik Anlaşılabilirlik Etkinlik Etkinlik Etkinlik
Kullanılabilirlik Değiştirilebilirlik Kullanılabilirlik Kullanılabilirlik Kullanılabilirlik
Bütünlük Test edilebilirlik Bütünlük Bütünlük Bütünlük
Değiştirilebilirlik Taşınabilirlik Değiştirilebilirlik Değiştirilebilirlik Değiştirilebilirlik
Esneklik Esneklik Esneklik Esneklik
Test edilebilirlik Çeşitlilik Test edilebilirlik Test edilebilirlik
Taşınabilirlik Taşınabilirlik Taşınabilirlik Taşınabilirlik
Yeniden Yeniden Yeniden Yeniden kullanıla-
kullanılabilirlik kullanılabilirlik kullanılabilirlik bilirlik
Birlikte Birlikte Birlikte Birlikte çalışabilir-
çalışabilirlik çalışabilirlik çalışabilirlik lik
Kalımlılık Kalımlılık
Genişletilebilirlik Güvenlilik
Yönetilebilirlik
İşlevsellik
Desteklenebilirlik
İçsel ve Dışsal Kalite
İşlevsellik Güvenilirlik Kullanılabilirlik Etkinlik Bakım Yapılabilirlik Taşınabilirlik
-Uygunluk -Olgunluk -Anlaşılabilirlik -Süreye karşı -İncelinebilirlik -Uyum sağlaya-
-Kesinlik -Hata da- -Öğrenebilirlik davranış -Değiştirilebilir- bilirlik
-Birlikte yanıklılığı -İşletilebilirlik -Kaynak lik -Kurulabilirlik
çalışılabilirlik -Geri kazanıla- -Dikkat çekici kullanımı -Kararlılık -Birlikte
-Güvenlik bilirlik olma -Etkinlik uygun- -Test edilebilir- çalışabilirlik
-Fonksiyonel -Güvenilirlik -Kullanım uy- luğu lik -Değiştirilebilirlik
uygunluk uygunluğu gunluğu -Bakım uygun- -Taşıma uygunluğu
luğu
Şek. 1. ISO 9126-1 yazılım kalite etmenleri
422
3 Analitik Ağ Süreci (ANP)
ANP yaklaşımı, 1980 yılında Saaty tarafından önerilen Analitik Hiyerarşi Sü-
reci’nin genelleştirilmiş halidir (Saaty, 1980) (Saaty, 2004). ANP problemleri, kriter-
lerin aralarındaki ilişkileri ve bu ilişkilerin yönlerini tanımlayarak, problemi bir ağ
şeklinde tasarlamayı sağlar. Oysa AHP yaklaşımında kriterler birbirlerine tek yönden
bağlı varsayılır. ANP ve AHP arasındaki en önemli farklardan biri de hiyerarşik
yapılarıdır. AHP’de yukarıdan aşağı doğru bir hiyerarşik yapı söz konusuyken,
ANP’de etkileşimli bir hiyerarşik yapı vardır. Kriterler diğer kriterlere bağımlı
olabildikleri gibi, kendi içlerinde de bağımlı olabilirler.
ANP altyapısında üç önemli adım vardır: (1) Amacı, kriterleri ve alt kriterleri belir-
lemek (2) Aradaki bağıntıları ve ağı belirlemek, ve (3) Süpermatrisi oluşturmak
(Gürbüz et al., 2012). AHP’de de yapılan ikili karşılaştırmalar, bir elemanın bir diğer
eleman üzerindeki göreli önemini belirtmeye yarayan Saaty’nin 1-9 ölçeği esas alına-
rak yapılmıştır (Tablo 3) (Saaty, 2004). ANP yaklaşımı, bu karşılaştırma matrislerinin
tutarlılığının kontrolünü şart kılar (Saaty 1980). Ardından, kriterler ve alt kriterler
arasındaki ilişkiler uyarında bağıl (composite) ağırlıklar hesaplanır. Bağıl ağırlıkları
içeren süpermatis, her sütunu 1’e eşit olacak hale getirilerek ağırlıklandırılmış
süpermatris haline getirilir. Son adımda ise, her seçeneğin (alternatifin) genel puanını
hesaplamak için, her bir seçenek verilen kriterler ve alt kriterler uyarınca değer-
lendirilir. Bu çalışmada, iki alternatif olduğu varsayılmıştır: Yeşil yazılım ve yeşil
olmayan yazılım. Çalışmada, ANP yaklaşımı yeşil ölçütlerin önem derecelerini
(ağırlıklarını) hesaplamak için kullanılmıştır.
Tablo 3. Değerlendirme yapılırken kullanılan ölçek (Saaty, 2004)
Önem derecesi Tanım
1 Eşit önemde
3 Biraz daha önemli
5 Daha önemli
7 Çok daha önemli
9 Son derece önemli
4 ANP Yaklaşımının Uygulanması
4.1 Model Tasarımı
Öznel kriterlerin önceliklendirme prosedürü dört adımdan meydana gelir:
1. Kriter ve alt kriterlerin belirlenmesi.
2. ANP modelinin oluşturulması.
3. Bir anket yardımıyla ikili karşılaştırmaların yaptırılması.
4. Kriter ve alt kriterler arasındaki bağıntıların incelenmesi.
423
Kriter ve Alt Kriterlerin Belirlenmesi.
Bir yazılım ürününün sürdürülebilirliği ile ilgili ana kriterler, ilgili akademik
yazında verilenlere uygun olarak belirlenmiştir (Bölüm 2.3 ve Bölüm 2.4). Ardından,
ana kriterlerle doğrudan ilgisi olan kriterler, alt kriterler olarak belirlenmiştir. ANP
modelini kurmakta kullandığımız kriterler ve alt kriterlerin tamamı, Tablo 4’te
özetlenmiştir. Çevresel sürdürülebilirlik kriterleri arasında yer alan enerji tüketimi ve
CO2 salınımı, aslında sayısal olarak ölçülebilen değerlerdir. Bunların anket yoluyla
değerlendirilmesinin sebebi, bu kriterlerin yeşil bir yazılım geliştirilirkenki
önceliğini/önemini sayısıllaştırmaktır.
ANP Altyapısı.
Önerilen ANP modelinde, hedef, kriterler ve alt kriterler arasındaki ilişkiler Şekil
2’de gösterilmiştir. Önerilen karar modelinde iki seviye vardır. Hedef (yeşil ve
sürdürülebilir bir yazılım geliştirmek) ilk seviyede yer alır. İkinci seviyede kriterler
bulunmaktadır. Önerilen hiyerarşide, kriterler ve alt kriterler arasında içsel ve dışsal
bağlantılar olduğu varsayılmış ve bunlar oklarla gösterilmiştir.
Tablo 4. Yazılım kalite ve sürdürülebilirlik kriterleri
Yazılım Kalite Kriterleri (QC) (ISO / 9126-1, 2001)
QC1 İşlevsellik
QC2 Güvenilirlik
QC3 Kullanılabilirlik
QC4 Etkinlik
Çevresel Sürdürülebilirlik Kriterleri (EC) (Mahmoud ve Ahmad, 2012)
EC1 Enerji Tüketimi
EC2 CO2 Salınımı
EC3 Yeşil Enerji Kullanımı
EC4 Yeşil Yatırımın Geri Dönüşü
Hedef: Yeşil
bir yazılım
geliştirmek
Çevresel
Yazılım
sürdürülebilirlik:
kalitesi: QC1,
EC1, EC2, EC3,
QC2, QC3, QC4
EC4
Şek. 2. ANP’de kullanılan kriterler ve hedef
424
Anket ve İkili Karşılaştırmalar.
Önerilen modelde sekiz kriter bulunmaktadır. Her bir elemanın hedef üzerindeki
etkisini belirleyebilmek için, bir anketten faydalanılmıştır. Her bir kriter ve alt kriter
grubu için, ayrı ayrı matrisler oluşturulmuştur. Anketler, on farklı Türk yazılım şirket-
inde çalışan, on karar verici tarafından doldurulmuş ve verdikleri puanların geometrik
ortalaması alınmıştır (Saaty ve Vargas 2006).
Kriter ve Alt Kriterler Arasındaki İlişkilerin Analizi.
Son adım olarak, kriterlerin son ağırlıklarını hesaplayabilmek için, ANP’nin gerek-
tirdiği matris işlemleri yapılmıştır. Bu işlemleri yapmak için Super Decisions adlı
yazılım ürünü kullanılmıştır (Creative Decisions Foundation, 2013). Super Decision
yazılımı, ANP hiyerarşik modelini oluşturup, matris işlemlerini yapabildiğimiz,
kullanımı oldukça kolay bir araçtır. İkili karşılaştırma matrislerinin tutarlılık indisle-
rinin hepsi 0.1’den düşük çıkmıştır; yani karşılaştırmaların tutarlı olduğu varsayıla-
bilir.
Sonuçlar.
Tablo 5’teki gibi bir ikili karşılaştırma matrisinde, karar vericinin, yeşil ve
sürdürülebilir bir yazılım geliştirirken, hangi kriter kümesinin (yazılım kalitesi ve
sürdürülebilirlik kriterleri) daha önemli olduğunu değerlendirmesi beklenmektedir.
Tablo 3’te verilen Saaty’nin ölçekleri kullanılmış ve karar vericilerin cevaplarının
geometrik ortalaması alınarak tek bir değer oluşturulmuştur. Tablo 6(a, b) ise, sırasıy-
la, yazılım kalitesi ile ilgili alt kriterlerin geometrik ortalaması ve çevreyle ilgili alt
kriterlerin geometrik ortalamasını vermektedir.
Tablo 5. İki ana kriter grubuna ait ikili karşılaştırma matrisi
EC QC
EC 1 6
QC 1/6 1
Tablo 6. (a) Kalite ile ilgili alt kriterlere ait ikili karşılaştırma matrisi (b) Çevreyle ilgili alt
kriterlere ait ikili karşılaştırma matrisi
(a) QC1 QC2 QC3 QC4
QC1 1 1/3 1/2 1/2
QC2 3 1 4 3
QC3 2 1/4 1 1/3
QC4 2 1/3 3 1
(b) EC1 EC2 EC3 EC4
EC1 1 2 2 1
EC2 1/2 1 2 1/2
EC3 1/2 1/2 1 1
EC4 1 2 1 1
425
ANP yöntemi her bir karşılaştırma matrisine uygulanmış ve kriter ve alt kriterlerin
öncelik sıraları bulunmuştur. Tablo 7 ve Şekil 3’de sonuçlar ve Tablo 8’de ise bu
ağırlıklardan meydana gelen süpermatris yer almaktadır. Süpermatris, göreli öncelik
vektörlerinden oluşmaktadır. Süpermatrisin bir sütunundaki ağırlık değerlerinin top-
lami bire eşitlenecek şekilde normalize edilerek oluşturulan matrise, normalize
edilmiş süpermatris denmektedir.
Tablo 7. Kriter ve alt kriterlerin ağırlıkları
Kriter Ağırlık Alt Kriter Ağırlık
İşlevsellik (F) 0.23
Güvenilirlik (R) 0.24
Kalite 0.14
Kullanılabilirlik (U) 0.19
Etkinlik (E) 0.34
Enerji Tüketimi (EC) 0.35
CO2 Salınımı (CO2) 0.24
Çevre 0.86 Yeşil Enerji Kullanımı (GEU) 0.18
Yeşil Yatırımın Geri Dönüşü 0.23
(ROGI)
Sonuçlara bakıldığında, çevresel sürdürülebilirlik kriteri, %86’lık ağırlığı ile, yeşil
bir yazılım geliştirmek için en çok ihtiyaç duyulan kriter olmuştur. Bu kriterin dört alt
kriterinden, enerji tüketimi %35 ile en yüksek ağırlığa sahip çıkmıştır. Bunu %24
ağırlık ile CO2 salınımı ve %23 ağırlık ile yeşil yatırım geri dönüşümü izlemiştir.
Kalitenin dört alt kriterinden en yüksek ağırlığa sahip olan %34 ile kaynakların etkin
kullanılması olarak belirlenmiştir.
Tablo 8. Normalize edilmiş süpermatris
EC CO2 GEU ROGI E F R U
EC 0 0.274 0.129 0.194 0.247 0.217 0.137 0.247
CO2 0.156 0 0.164 0.085 0.116 0.098 0.213 0.117
GEU 0.098 0.105 0 0.222 0.068 0.088 0.085 0.068
ROGI 0.245 0.123 0.206 0 0.068 0.097 0.065 0.068
E 0.254 0.260 0.247 0.250 0 0.050 0.206 0.130
F 0.134 0.115 0.10 0.083 0.130 0 0.130 0.206
R 0.058 0.056 0.070 0.083 0.206 0.3 0 0.163
U 0.053 0.069 0.082 0.083 0.164 0.150 0.164 0
5 Sonuç ve İlerideki Çalışmalar
Yazılım şirketlerinin çoğu, geliştirme süreçlerini müşterilerin iş standartları ve talep-
lerine göre şekillendirmektedirler. Çevreyi önemseyen ürünler, günümüzde bu talep-
ler arasındaki yerini almıştır. Çevreye duyarlı yazılım üretmek için, bazı kaynakların
kullanımını azaltırken, bazılarınınkini arttırmak gerekebilmektedir. İşte bu noktada,
426
şirketler kullanıcıların talepleriyle, sürdürülebilirlik gereksinimleri arasında ödü-
nleşim problemleriyle karşı karşıya kalmaktadırlar. Bu çalışmada, bu gereksinimleri
önceliklendirmek için bir çok ölçütlü karar verme yaklaşımı olan ANP’den fayda-
lanılmıştır. ANP uygularken, kalite ve çevresel kriterler arasında bağıntılar olduğu
varsayılmıştır. Bunlar ışığında kriter ve alt kriterlerin ağırlıkları hesaplanmıştır. Gele-
neksel ödünleşimler, birbiriyle çelişen kalite kriterleri arasında olur. Çalışmada bu
kriterlerin ağırlıklandırıldığından, ödünleşim problemlerinde bu değerler kullanılabilir
ve bu sayede daha doğru kararlar alınabilir. Kullanılan bu yaklaşım, herhangi bir
sektör veya faaliyet alanı için uygulanabilir.
Bundan sonraki adımda, önerilen bu altyapı gerçek bir yazılım şirketine ait gerçek
verilerle çalıştırılacaktır. Şirkete ait bütçe, kaynak ve süre kısıtları göz önünde bulun-
durularak, bir hedef programlama tasarlanabilir .
Şek. 3. Kriterler ve alt kriterlerin ağırlıkları
Kaynaklar
1. Albertao, F., Xiao, J., Tian, C., Lu, Y., Zhang, K. Q., & Liu, C. (2010): Measuring the sus-
tainability performance of software projects. In e-Business Engineering (ICEBE), 2010
IEEE 7th International Conference on (pp. 369-373). IEEE, pp. 369–373.
2. Berander, P., Damm, L., Eriksson, J., Gorschek, T., Henningson, K., Jonsson, P.,
Kagstrom, S., Milicic, D., Martensson, F., Renkko, K., and Tomaszewski, P. (2005): Soft-
ware quality attributes and trade-offs. Blekinge Institute of Technology.
3. Bhattacharjee, B., Lim, L., Malkemus, T., Mihaila, G., Ross, K., Lau, S., McArthur, C.,
Toth, Z., Sherkat, R. (2009): Efficient index compression in DB2 LUW, In Proceedings of
the VLDB Endow. 2(2), pp.1462-1473.
4. Boehm, B.W, Brown, J.R., Kaspar, J.R. (1978): Characteristics of Software Quality, TRW
Series of Software Technology, Amsterdam, North Holland.
5. Bowen, T.P., Wigle, G.B., Tsai, and J.T. (1985): Specification of software quality attrib-
utes, Technical Report RADC-TR-85-37, Rome Air Development Center.
427
6. Calero C. and Bertoa, M.F. (2013): 25010+S: A software quality model with sustainable
characteristics. Sustainability as an element of software quality. GIBSE 2013, Fukuoka,
Japan.
7. Campanella, G., Ribeiro, R.A. (2011): A framework for dynamic multiple-criteria decision
making. Decision Support Systems, 52, pp. 52–60.
8. Creative Decisions Foundation. (2013): Super Decisions (ver. 2.2.6) [Open source Soft-
ware]. Retrieve February 2, 2013. Available from: http://www.superdecisions.com.
9. Gürbüz, T, Alptekin, S.E. and Işıklar Alptekin, G. (2012): A hybrid MCDM methodology
for ERP selection problem with interacting criteria, Decision Support Systems, 54, pp.
206–214.
10. IEEE Std.061-1998 (1998): IEEE Standard for a SW Quality Metrics Meth., IEEE Com-
puter Society.
11. ISO/IEC 9126-1 (2001): Information technology - Software quality characteristics and
metrics - Part 1: Quality characteristics and subcharacteristics, ISO, Int. Electrotechnical
Commission, Geneva.
12. Kazman, R., Klein, M., and Clements, P. (2000): ATAM: Method for architecture evalua-
tion (No. CMU/SEI-2000-TR-004). Carnegie-Mellon Univ Pittsburgh PA Software Engi-
neering Inst.
13. Karlsson, J., Wohlin, C., and Regnell, B. (1998): An evaluation of methods for prioritizing
software requirements, Information and Software Technology, 39, pp. 939–947.
14. Kern, E. Dick, M., Naumann, S, Guldner, A, and Johann, T. (2013): Green Software and
Green Software Engineering – Definitions, Measurements, and Quality Aspects, In Pro-
ceeding of the First International Conference on ICR for Sustainability (Zurich), pp. 87-94.
15. Kipp, A., Jiang, T., Fugini, M. (2011): Green metrics for energy-aware IT systems, IEEE
Computer Society, 42, pp. 241-248.
16. Kothiyal, R., Tarasov, V., Sehgal, P., Zadok, E. (2009): Energy and performance evalua-
tion of lossless file data compression on server systems, In Proceedings of ACM SYSTOR
2009: The Israeli Experimental Systems Conference, pp. 4-16.
17. Mahmoud, S., Ahmad, I. (2012): Green performance indicators for energy aware IT sys-
tems: Survey and assessment, in: Journal of Green Engineering, 3, pp. 33–69.
18. Marciniak, J.J. (2003): Encyclopedia of Software Engineering, 2003, Wiley.
19. McCall, J.A. (1994): Quality Factors, Encyclopedia of Software Engineering, John Wiley
& Sons.
428
20. Murine, G.E. (1983): Improving management visibility through the use of software quality
metrics, IEEE Computer Society’s 7th International Computer Software & Applications
Conference, pp. 638-639.
21. Naumann, S., Dick, M., Kern, E., Johann, T. (2011): The GREENSOFT Model: A refer-
ence model for green and sustainable software and its engineering, in: Sustainable Compu-
ting: Informatics and Systems, 1, pp. 294-304.
22. Ruhe G, Greer, D. (2003): Quantitative studies in software release planning under risk and
resource constraints. In Proceedings of International Symposium on Empirical Software
Engineering (ISESE), IEEE, Los Alamitos CA, pp. 262-271.
23. Ruhe, G. and Ngo-The, A. (2009): Optimized resource allocation for software release
planning. Trade-off analysis for requirements selection. IEEE Transactions on Software
Engineering, 35, pp.109–123.
24. Saaty, T.L. (1980): The Analytical Hierarchy Process. New York: McGraw Hill. Pitts-
burgh: RWS Publications, 4922 Ellsworth Avenue, Pittsburgh, PA 15213.
25. Saaty, T.L. (2004): Fundamental of the analytic network process-Dependence and feed-
back in DM with a single network. Journal of Systems Science and Systems Engineering,
13(2), pp. 129-157.
26. Saaty, T.L., and Vargas, L. (2006): Decision making with the Analytic Network Process:
Economic, political, social and technological applications with benefits, opportunities,
costs, risks. Springer, NY.
27. Tiwari, V., Malik, S., Wolfe, A., Tien-Chien Lee, M. (1996): Instruction Level Power
Analysis and Optimization of Software. The Journal of VLSI Signal Processing, 13,
pp.223–238.
28. Zhu, L., Aurum, A., Gorton, I., and Jeffery, R. (2005): Tradeoff and sensitivity analysis in
software architecture evaluation using analytic hierarchy process, Software Quality Jour-
nal, 13(4), pp.357-375.
429