=Paper=
{{Paper
|id=Vol-2201/UYMS_2018_paper_70
|storemode=property
|title=Yazilim Gelistirme Sureclerini Egitmek Amaciyla Tasarlanan Sanal Ofis Ortaminda Ortamin Gercekligini Arttiran Etmenler(Factors that Raise the Reality of the Virtual Office Environment Designed to Educate Software Development Processes)
|pdfUrl=https://ceur-ws.org/Vol-2201/UYMS_2018_paper_70.pdf
|volume=Vol-2201
|authors=Ulas Gulec,Murat Yilmaz,Veysi Isler
}}
==Yazilim Gelistirme Sureclerini Egitmek Amaciyla Tasarlanan Sanal Ofis Ortaminda Ortamin Gercekligini Arttiran Etmenler(Factors that Raise the Reality of the Virtual Office Environment Designed to Educate Software Development Processes)==
Yazlm Geli³tirme Süreçlerini E§itmek Amacyla
Tasarlanan Sanal Os Ortamnda Ortamn
Gerçekli§ini Arttran Etmenler
1,3 1 2,3
Ula³ Güleç , Murat Ylmaz ve Veysi ³ler
1
Çankaya Üniversitesi, Bilgisayar Mühendisli§i Bölümü, Ankara, Türkiye
{ulasgulec,myilmaz}@cankaya.edu.tr
2
Hasan Kalyoncu Üniversitesi, Bilgisayar Mühendisli§i Bölümü, Gaziantep, Türkiye
veysi.isler@hku.edu.tr
3
Orta Do§u Teknik Üniversitesi, Bilgisayar Mühendisli§i Bölümü, Ankara, Türkiye
Özet. Sanal ortam içerisinde ya³anan yazlm geli³tirme i³lemi, projenin
gereksinim analizinden ba³layarak test a³amasna kadar geçen sürede ya-
plmas gereken görevleri ki³ilere deneyimletmeyi hedeemektedir. Bu de-
neyim, katlmclar, geli³tirme sorunlar ya³adklar bir yazlm geli³tirme
organizasyonunun dünyasna ta³r. Tasarlanan bu ortamda katlmc, ya-
pay zeka ile oynanan be³ sanal karakterle birlikte çal³mas gereken yeni
bir yazlm geli³tiricisinin rolünü üstlenmektedir. Bu çal³mann amac,
ki³ilere gerçek os ortamna benzer bir sanal ortamda yazlm geli³tirme
süreçlerini deneyimletebilmek için tasarlanan sanal os ortamnda bu-
lunmas gereken etmenleri açklamaktr. Ki³ilerin deneyim kazanabilmesi
için, simüle edilen yazlm geli³tirme sürecinin gerçek os ortamnn at-
mosferi ve dinamizmini içermesi gerekmektedir. Bu nedenle, bu çal³ma
kapsamnda sanal os ortamnn atmosferini etkileyen etmenler alanda
çal³m³ uzman ki³ilerin görü³leri do§rultusunda ortaya konmu³tur. Yap-
lan bu çal³mann sonuçlarna göre, böyle bir sanal os ortamnn yazlm
geli³tirme alannda çal³acak ki³ilerin e§itiminde kullanlabilecek faydal
bir araç oldu§u anla³lm³tr.
Anahtar Kelimeler: Sanal gerçeklik, E§itim simülasyonu, Yazlm geli³-
tirme ya³am döngüsü
Factors that Raise the Reality of the Virtual
Oce Environment Designed to Educate Software
Development Processes
Abstract. Software Development Virtual Reality (SDVR) is an inter-
active virtual reality (VR) experience based on the tasks of software
development starting from requirement analysis through software test-
ing. The SDVR experience transports participants to a virtual world of
a software development organization where they experience development
problems and conicting situations. In SDVR, the participant takes on
the role of a new software developer being recruited into software de-
velopment rm who should work alongside with ve virtual characters,
played by articial intelligence. The purpose of this study is to explain
the properties of the virtual oce environment where the participants
can experience software development processes in real oce conditions.
In order for people to gain experience, the simulated software develop-
ment process should include the atmosphere and dynamism of the actual
oce environment. For this reason, the factors aecting the atmosphere
of the virtual oce environment are presented in the light of the opinions
of the experts working in the eld of software engineering. According to
the results of this study, it is revealed that such a virtual oce environ-
ment is a useful tool that can be used in the training of individuals who
will work in software development eld.
Keywords: Virtual reality, Training simulation, Software development life cy-
cle
1 Giri³
Literatürde yazlm, bilgisayar üzerinde çal³abilen, geni³letilebilir, i³levsel ve
programlanabilir bir ürün olarak tanmlanmaktadr [14]. Yazlmn tanm basit
gibi görünse de, analiz, tasarm, geli³tirme ve test a³amalaryla birlikte yazlm
geli³tirilme süreci karma³k bir yapya sahiptir [15]. Bu nedenle yazlm, tanm-
land§ gibi kolay bir ürün olmayp, birçok zorlu ve uzun süreçten sonra elde
edilen bir ürün olarak ortaya çkmaktadr. Bu a³amada, yazlm basit bir yapya
sahip olmad§ için yazlm geli³tirmenin tanm daha anlaml hale gelmektedir.
Süreç sonunda ba³arl bir ürün elde edebilmek için yazlm geli³tirme sürecinin
belirli bir mantksal çerçevede tamamlanmas gerekmektedir. 1971 ylnda Wein-
berg [23] bu süreci; tasarm, yaratm, uygulama ve bakm a³amalarndan olu³an
bir insan etkinli§i olarak tanmlam³tr. Bu tanma ek olarak bu süreç, mü³teri
gereksinimlerini bir yazlm ürününe dönü³türen çe³itli önemli a³amalarn bir
kombinasyonu olarak da dü³ünülebilir [21].
Yazlm geli³tirme sürecinde bulunan her a³ama yararl ve ba³arl yazlm
ürünleri geli³tirmede kritik bir rol oynar [11]. Ancak, yazlm geli³tirme süreci-
nin ba³arl bir yazlm ürünü ortaya çkarmada çok önemli bir rolü oldu§u halde,
ço§u yazlm pro jesi mü³teri beklentilerini kar³layamayarak ba³arsz bir ³ekilde
tamamlanm³ veya yarda kalm³tr [5]. Bu durum birçok ³irketin ba³arl yazlm
ürünü geli³tirirken hem zamann hem de parasn bo³a harcad§n göstermekte-
dir. Bu tip istenmeyen durumlar önleyebilmek için yazlm geli³tirme sürecinin
bu alanda çal³acak olan ki³ilere etkili bir ³ekilde ö§retilmesi gerekmektedir.
Bu nedenle, birçok farkl çal³ma alannda ki³ilerin bilgi ve tecrübe seviyelerini
arttrmada kullanlan sanal gerçeklik teknolo jisinin yazlm geli³tirme sürecinin
e§itiminde kullanlmas önemlidir [12]. Bu çal³mada, ki³ilere yazlm geli³tirme
sürecini gerçek hayat riskleri içermeden e§itme ve tecrübe etme frsat sunan sa-
nal os ortamnn gerçek os ortamna benzer bir ortam olabilmesi için içermesi
gereken etmenler anlatlmaktadr.
Bildirinin geri kalan ksm ³u ³ekilde olu³turulmu³tur: Bir sonraki bölümde,
çal³mann alt yapsn olu³turmak için literatürdeki benzer çal³malar detayl
bir ³ekilde anlatlacaktr. Üçüncü bölümde, sanal os ortamnda kullanlan ma-
teryaller sistem ile ilgili görseller ile açklanacaktr. Bir sonraki bölümde, uzman
ki³ilerin sistem ile ilgili dü³ünceleri payla³lacaktr. Son bölümde ise, çal³madan
elde edilen sonuçlar tart³larak makale sonlandrlacaktr.
2 Literatür De§erlendirmesi
Sanal Gerçeklik teknolo jisi ki³ilere gerçek hayat risklerini içermeyen e§itim or-
tamlar sunmaktadr [22]. Bu teknolo jisi sayesinde ki³iler mühendislik [9], sivil
savunma [3], psikolo ji [16], spor [10] ve sa§lk [8] gibi birçok farkl alanda ken-
dilerini geli³tirme frsat bulmaktadr. Bu kapsamda yazlm mühendisli§i alan
incelendi§i zaman, literatürde bu alanda çal³an ki³ilerin bilgi ve tecrübe seviye-
lerini arttrmak için tasarlanm³ baz çal³malar bulunmaktadr. Bu çal³malarn
ço§u 2 boyutlu oyunlar veya kart oyunlar olsa da baz çal³malarda bireylerin
daha aktif bir ö§renme süreci deneyimleyebilmesi için 3 boyutlu sanal ortamlar
da tasarlanm³tr.
Bu çal³malara örnek olarak bu alanda geli³tirilmi³ bir çal³mada, yazlm
geli³tirme süreçleri ile ilgili ki³ilerin deneyimlerini arttrmak amacyla bir kart
oyunu geli³tirilmi³tir [2]. Çok oyuncu ile oynanan bu oyunda, her oyuncuya ger-
çek hayat projelerinde verilen görevlere benzer görevler verilir. Oyunculardan,
bu görevleri bütçelerine uyacak bir ³ekilde en ksa sürede yerine getirmeleri bek-
lenmektedir. elale yazlm geli³tirme modeli ile ilgili ki³ilerin bilgi seviyelerini
arttrmay hedeeyen bu oyunda ki³iler, görevlerde ya³anlan aksaklklar ile ilgili
kararlar pro je takm lideri pozisyonunda vermektedir. Bu çal³madan elde so-
nuçlara göre bu kart oyunu, oyuncular arasnda rekabetçi bir atmosfer yaratarak
ki³ileri daha çok oynamaya te³vik etti§i için ki³ilerin e§itiminde kullanlabilecek
faydal bir araçtr.
Benzer bir ³ekilde, Bollin ve di§erleri [4] hem katlmclara farkl yazlm ge-
li³tirme metodolojilerini deneyimletebilmek hem de sistem yöneticisi veya takm
lideri pozisyonunda sistemi kullanan ki³ilere sistemde yaptklar seçimler ile il-
gili e§itici geri bildirimler vererek ki³ilerin karar verme yeteneklerini geli³tirmek
amacyla bir simülasyon çerçevesi geli³tirmi³lerdir. çerisinde ak³ ³emas bile-
³enlerini içeren bu masaüstü uygulamasnda katlmclar, bu bile³enleri birbirine
ba§layarak bir konu hakknda karar verebilir ya da proje geli³tirebilirler. Bu sa-
yede katlmclar, proje yönetimi ile ilgili deneyimlerini gerçek hayat riskleri ile
kar³la³madan ya³ama ³ansna sahiptir.
Yazlm mühendisli§i e§itiminde oyun kullanma kri, bireylere bir pro jenin
gereksinimlerinin nasl toplanmas ve analiz edilmesi gerekti§i konusunda yar-
dmc olan bir oyun üreten Hainey ve di§erleri [13] tarafndan da desteklendi.
Bu oyunda oyuncular; takm lideri, sistem analisti, tasarmc ya da proje yöne-
ticisi gibi farkl rollerde yazlm projelerinin gereksinim analizi a³amalarn yö-
netme veya bu süreçte ortaya çkan görevleri tamamlama frsatna sahiptir. Ayn
zamanda bu oyunda, oyununun e§itici yönündeki ba³arsn arttrmak amacyla
oyuncular görevleriyle ilgili yönlendiren sanal karakterler de bulunmaktadr. Ge-
li³tirilen bu oyunun ki³iler üzerindeki etkisini anlayabilmek için oyun 92 ö§renci
ile test edilmi³tir. Bu testlerden elde edilen bulgular bu oyunun insanlarn ilgisini
çekerek ki³ileri daha çok çal³maya te³vik etmesinden dolay pro jelerin gereksi-
nim analizi ile ilgili katlmclarn bilgi düzeylerini arttrmak için kullanlabilecek
etkili bir araç oldu§unu göstermektedir.
Rusu ve di§erleri [20] tarafndan tamamlanan di§er bir benzer çal³mada
ise, yazlm geli³tirme ya³am döngüsünde yer alan bakm a³amasnn içeri§i hak-
knda ö§rencileri ö§reten etkile³imli bir oyun geli³tirilmi³tir. Klasik kule savunma
oyunlarnn dinami§ine benzer bir dinami§e sahip olan bu oyunda katlmclar,
sistemin tesliminden sonra ortaya çkan hatalar ile ilgili do§ru çözümleri bul-
maya çal³rlar. 18 ö§renci ile test edilen bu çal³mann sonuçlarna göre, oyun-
lar, yazlm mühendisli§i konularnn e§itiminde etkili bir ³ekilde kullanlabilecek
alternatif bir ö§retme tekni§idir.
Bu alanda, 2 boyutlu oyunlar ve kart oyunlar geli³tirildi§i gibi ayn zamanda
3 boyutlu sanal ortamlar da geli³tirilmi³tir. Aydan ve di§erlerinin [1] tamamlam³
oldu§u çal³ma bu çal³malara örnek olarak gösterilebilir. Bu çal³mada, birey-
lere ISO / IEC 12207: 1995'in temellerini keyii bir ³ekilde ö§retmek amacyla
"Floors " ad verilen ciddi oyun tasarlanm³tr. Bu oyunda, çal³maya katlan ka-
tlmclarn gerçeklik hissiyatn arttrmak için 3 boyutlu bir sanal os ortam
tasarlanm³ olup, bu ortam oyuncu olmayan sanal karakterler ile de desteklen-
mi³tir. Bu sanal ortam, Bilgisayar Mühendisli§i bölümünde okuyan 40 birinci
snf ö§rencisi ile test edilmi³tir. Geli³tirilen bu sistemin ba³arl olup olmad§n
anlayabilmek için bu 40 ö§renci, biri kontrol grubu di§eri ise deney grubu olmak
üzere e³it bir ³ekilde 2 gruba ayrlm³tr. Kontrol grubunda bulunan ö§renciler
ISO / IEC 12207: 1995 standartlarn geleneksel yöntemler ile çal³maya de-
vam ederken deney grubunda yer alan ö§renciler ise kendilerini tasarlanan sanal
ortamda test etmi³tir. Ki³ilerin bilgi seviyelerindeki de§i³imi görmek amacyla
yaplan testler sonucunda elde edile bulgulara göre, deney grubunda bulunan
ö§renciler kendilerini kontrol grubunda bulunan ö§rencilere göre daha çok geli³-
tirmi³tir.
Bu kapsamda geli³tirilmi³ di§er bir çal³mada ise "Second Life " sanal dünyas,
ö§retim üyelerinin ö§rencilerin yazlm mühendisli§i ile ilgili sorularn yantla-
yabilecekleri bir e§itim arac olarak kullanlm³tr [24]. Ö§renciler ve ö§retim
üyeleri arasnda ileti³im sa§lamak için Second Life 'da gerçek snfa benzer bir
sanal snf tasarlanm³tr. Bu snfta, hem ö§renciler hem de ö§retim üyeleri
kendilerini temsil etmek için avatar kullanm³tr. 25 ö§renci ile test edilen bu
çal³madan elde edilen sonuçlar, ö§rencilerin kendilerini sanal ortamda daha ra-
hat hissetmesinden dolay sanal ö§retim stratejisinin geleneksel yöntemlere göre
ö§rencilerin yazlm mühendisli§i alan hakkndaki bilgi düzeylerini geli³tirmede
daha avanta jl oldu§unu göstermektedir.
Di§er bir benzer çal³ma Rodriguez ve di§erleri [19] tarafndan geli³tirilmi³tir.
Bu çal³mada, yazlm mühendisli§i ö§rencilerine Scrum uygulamalarn zaman
ve tesis snrlamalar olmakszn ö§retmek için 3 boyutlu bir sanal seminer salonu
tasarlanm³tr. Tasarlanan bu sanal ortam, yaz tahtas, grakler ve takvim gibi
bir toplant odasndaki gerçek ö§elere benzer sanal ö§eleri içermektedir. Ayrca,
Scrum metodolojisinin ak³n göstermek için sisteme bir örnek pro je de entegre
edilmi³tir. Bu ortam 45 ö§renci ile test edilmi³ olup, bu çal³madan elde edilen
sonuçlar bu ortamn ki³ilerin Scrum yazlm geli³tirme metodunun özellikleri ile
ilgili bilgi seviyelerini arttrmada etkili bir araç oldu§unu göstermektedir.
Bu alanda geli³tirilmi³ son çal³mada ise [17], katlmclar çevik yazlm ge-
li³tirme metodolo jisinin özellikleri hakknda e§itmek için "Open Wonderland "
sanal dünyas kullanlarak bir uzaktan e§itim arac tasarlanm³tr. Bu çal³mada,
yazlm mühendisli§i ile ilgisi olmayan bir pro jenin basit bir ³ekilde geli³tirilme-
siyle, katlmclarn çevik yazlm sürecine ili³kin bilgi düzeylerinin arttrlmas
beklenmektedir. Bu çal³mann bulgular, geli³tirilen aracn, pro jenin gerçekçi
olmamas ve tüm proje geli³tirme sürecini içermemesi gibi önemli eksikleri ol-
masna ra§men, bireylerin yazlm mühendisli§i süreçleri hakknda e§itilmesinde
kullanlabilece§ini ortaya koymaktadr.
Literatürde ki³ilere yazlm mühendisli§i e§itimi vermek amacyla tasarlanan
baz çal³malar bulunmasna ra§men, bu çal³malar detayl bir ³ekilde incelendi-
§inde bu çal³malarda a³a§daki gibi önemli eksikliklerin oldu§u görülmektedir:
Snrl Gerçeklik: Tasarlanan sanal ortamlarn ba³arl olarak saylmas
için içermesi gereken en önemli özellik sanal ortamn gerçek ortama ben-
zer olmasdr [18]. Bu özellik e§itim araçlar için önemli bir özellik olma-
sna ra§men, kart oyunlar ve 2 boyutlu oyunlar yeterli donanm ve yazlm
fonksiyonlar içermedi§i için bu özelli§i tam olarak sa§layamamaktadr. Do-
laysyla, bu durum tasarlanan ortamn ba³arsn gösteren en önemli faktör
olan orada bulunma duygusunu azaltr [7]. 3 boyutlu ortamlar içerisinde
barndrd§ özellikler sayesinde bu duyguyu sa§layabildi§i halde literatürde
varolan çal³malar ki³ilerin bu duygusunu ölçmek için herhangi bir çal³ma
yapmam³tr.
Bütün Yazlm Geli³tirme Sürecini çermeme: Yazlm, yazlm geli³-
tirme ya³am döngüsündeki her a³amada bulunan görevlerin tamamlanma-
sndan sonra elde edilen bir üründür. Ancak, yazlm uzun süreçlerden sonra
ortaya çkan bir ürün olmasna ra§men mevcut çal³malar katlmclarn ya-
zlm geli³tirme ya³am döngüsündeki belirli a³amalar hakkndaki bilgi düze-
yini arttrmay amaçlamaktadr. Di§er bir söylemle, bu çal³malardan hiçbiri
ki³ilere yazlm geli³tirme sürecinin bütününü deneyimletmemektedir.
Snrl Sayda Proje Senaryosu: Ki³ilerin gerçek hayat pro jeleri ile il-
gili deneyim kazanabilmesi için birçok farkl projenin içerisinde yer almas
gerekti§i halde literatürde bulunan çal³malar sadece bir pro jeyi örnek bir
test projesi olarak ki³ilere deneyimletmi³tir. Üstelik, bu pro jelerin birço§u
yazlm mühendisli§i pro jesi olmayp farkl alanlardaki küçük projelerdir. Bu
çal³malar, hem yazlm mühendisli§i ile ilgili pro jeleri içermemesinden hem
katlmclara say bakmndan az proje sunmasndan hem de pro jelerin ger-
çek hayattakine benzer büyük çapl pro jeleri olmamasndan dolay ki³ilerin
geli³imini tam olarak sa§layamadklar için önemli eksikliklere sahiptir. Bu
eksiklikler katlmclarn farkl türdeki projelerde meydana gelen farkl so-
runlarla yüzle³ememesine yol açmaktadr.
Yapay Zekaya Sahip Oyuncu Olmayan Sanal Karakterlerin Olma-
mas: Ki³ilerin bir konuda sürekli tekrar yapmas ki³ilerin o konuda sahip
oldu§u bilgi seviyesini arttrmaktadr [6]. Tekrar etme, ki³isel geli³imi etki-
leyen önemli bir faktör oldu§u halde mevcut çal³malarda tasarlanan plat-
formlar, yazlm geli³tirme a³amalarndaki eylemleri deneyimlemek için bir-
den çok oyuncuya ihtiyaç duymaktadr. Katlmc sistemi kullanabilmek için
ba³ka kullanclar bulamad§ zaman sistemi kullanamayarak konu ile ilgili
deneyim ya³ayamamaktadr.
Özetle, ki³ilerin yazlm geli³tirme süreci ile ilgili bilgi ve tecrübe seviyele-
rini, literatürde bulunan mevcut çal³malarn eksikliklerini gidererek arttrmay
hedeeyen bir sistemin tasarlanmas önemlidir. Bir sonraki bölümde, bu amaçla
tasarlanan 3 boyutlu sanal os ortamnda gerçekli§i sa§layan etmenler detayl
bir ³ekilde tart³lacaktr.
3 Yöntem
Ki³ilerin 3 boyutlu olarak tasarlanm³ sanal os ortamnda kendilerini yazlm
geli³tirme süreci ile ilgili geli³tirerek bu konu ile ilgili ba³arlarn arttrabilme-
leri çok önemlidir. Bu nedenle, bu amaçla tasarlanan ortamn gerçek sanal os
ortamna benzemesi ki³ilerin motivasyonunda önemli bir rol oynamaktadr. Ça-
l³mann bu bölümünde, ki³ilerin gerçek hayat projelerini sanal ortamda dene-
yimleyebilmeleri açsndan tasarlanan 3 boyutlu sanal os ortamnn detaylar
anlatlacaktr.
lk olarak, tasarlanan sanal ortam, farkl yazlm projelerini ki³ilere ya³atmak
amacyla içerisinde yazlm pro je senaryosu ile ilgili bütün bilgileri bulunduran
bir XML dosyasn okuma özelli§ine sahiptir. Bu özellik sayesinde, ki³iler sa-
nal ortamda bir pro jenin gereksinim analizinden ba³layarak bakm a³amasna
kadarki geçen süreyi deneyimleme ³ans bulurlar. Ayrca, farkl XML dosyalar
okuyabilen bu ortam sayesinde ki³iler, farkl pro je senaryolarn da tecrübe etme
frsat bulurlar. Böylece, bu özelliklere sahip olan sanal os ortam, literatürde
bulunan çal³malarn eksikliklerinden olan "Bütün Yazlm Geli³tirme Sürecini
çermeme " ve "Snrl Sayda Proje Senaryosu " eksikliklerini a³m³ olur. Si-
mulasyon ba³langcnda XML dosyasn okuyan program, sanal ortam kullanan
katlmcy sanal osin giri³ine ekil 1'deki gibi yerle³tirir.
ekil 1. Sanal Os Ortam
ekil 1'de gösterildi§i gibi, sanal os 5 farkl kübikten olu³maktadr. Her
kübik yazlm geli³tirme ya³am döngüsünde bulunan her a³amay temsil etmek-
tedir. Bu sayede, literatürde bulunan mevcut çal³malarn eksikliklerinden biri
olan "Bütün Yazlm Geli³tirme Sürecini çermeme " problemi, ki³iler projenin
gereksinim analizinden ba³layarak srasyla tasarm, geli³tirme, test ve bakm
a³amalar ile ilgili görevleri tamamlama frsat buldu§u için çözülmü³ olur.
Ki³i sanal ortamda gerçek yazlm pro jesini deneyimleyece§i için, sanal or-
tama özel bir zaman dilimi olu³turulmu³tur. Olu³turulan bu zaman dilimini sanal
ortamda göstermek amacyla ekrann sol üst kö³esine bir saat, sa§ üst kö³esine
ise bir takvim yerle³tirilmi³tir. Sanal ortamda geçen her saat gerçek hayattaki
1 dakikaya e³it olacak ³ekilde ayarlanm³tr. Sonuç olarak, sanal ortamdaki 1 i³
günü gerçek hayattaki 9 dakikaya e³ittir. Her 9 dakikada bir yeni bir i³ günü
ba³lad§ için ekrann sa§ üst kö³esinde bulunan takvim de güncellenmektedir.
Sanal ortamda kullanlan malzemeler incelendi§i zaman, sanal ortamn ger-
çekçili§ini arttrmak için gerçek os ortamndakine benzer masa, sandalye, bilgi-
sayar ve takm arkada³lar ekil 2'deki gibi ortama dahil edilmi³tir. Bu e³yalara
ek olarak ekil 2'de de görüldü§ü üzere, tasarlanan e§itim platformunda her kü-
bikte 1 tanesi katlmc ile ayn projede görev yapan olmak üzere toplam 4 tane
oyuncu olmayan karakter bulunmaktadr. Toplam 20 oyuncu olmayan karakter
bulunan sanal os ortamnda ki³iler, oyuncu olmayan karakterler ile etkile³ime
girerek proje ile ilgili görevleri yerine getirirler. Bu karakterler, katlmcnn pro-
jenin hangi a³amasnda oldu§unu bilerek ki³iye pro je admlar ile ilgili gerekli
yönlendirmeleri yaparlar. Bu özellik sayesinde, literatürde bulunan mevcut çal³-
malarn eksikliklerinden biri olan "Yapay Zekaya Sahip Oyuncu Olmayan Sanal
Karakterlerin Olmamas " probleminin bir derecede olsa a³lmas hedeenmi³tir.
ekil 2. Sanal Oste Bulunan Kübik
Yukarda belirtilen özelliklere ek olarak, projenin gereksinim analizinden önce
pro je tanm dosyasn ki³ilere okutabilmek adna ekil 3'deki gibi yanp sönen
bir dosya modeli de sanal ortama entegre edilmi³tir. Pro je tanm dosyasn oku-
yan katlmc, pro jenin gereksinim analizini yaparak projeye ba³lar. Gereksinim
analizinde katlmclardan proje ile ilgili do§ru gereksinimleri bulmas beklenir.
Katlmc gereksinim analizini bitirdikten sonra projenin tasarm a³amasna ge-
çer. Bu a³amada, katlmcdan projede bulunan aktörleri ve fonksiyonlar bularak
bir "Use-Case " diyagram olu³turmas beklenir. Tasarm a³amasn bitiren ka-
tlmc gerçekle³tirme a³amasna geçer. Bu a³amada, katlmcdan projenin bir
modülünü C# programlama dili kullanarak geli³tirmesi beklenmektedir. Bu a³a-
mada katlmc tarafndan yazlan kod, sistem içerisinde geli³tirilmi³ bir derleyici
tarafndan derlenerek programn do§ru sonuç verip vermedi§i sistem tarafndan
otomatik bir ³ekilde kontrol edilir. mplementasyon a³amasn tamamlayan kat-
lmc yazlm ya³am döngüsündeki bir sonraki a³ama olan test a³amasna geçer.
Test a³amasnda katlmcdan içerisinde hatalar bulunan bir kodu gözden ge-
çirerek hangi satrda hangi tip hatann oldu§unu bulmas beklenmektedir. Son
a³amada ise, katlmcya projenin bakm ile ilgili bütün görevler verilerek ka-
tlmcdan bu görevleri uygulama zamanna göre do§ru bir ³ekilde sralamas
beklenmektedir.
Pro jede ortaya çkan görevleri tamamlayan katlmcya pro jenin admlarnda
yapt§ i³lemler ile ilgili bilgi verebilmek adna sanal ortamda ekil 4'teki gibi
bir toplant odas tasarlanm³tr. Sanal ortamdaki tarihe göre her i³ günü saat
10:00'da yaplan toplantya simülasyonu kullanan katlmc ve pro jenin her a³a-
masndan sorumlu 5 oyuncu olmayan karakter katlmak zorundadr. Bu top-
lantda, katlmcnn vermi³ oldu§u kararlar ekil 4'te gösterilen pro jeksiyona
ekil 3. Sanal Oste Bulunan Dosya Modeli
yanstlarak toplantya katlan karakterler ile tart³lr. Bu tart³ma esnasnda,
e§er katlmc süreç ile ilgili yanl³ karar veya kararlar vermi³se katlmcya geri
bildirim vermek amacyla yanl³ verilen kararlarn do§rular oyuncu olmayan ka-
rakterler tarafndan katlmcya anlatlr.
ekil 4. Toplant Odas
4 Deneyler ve Analizler
Geli³tirilen sanal ortamn hem gerçek os ortamna benzeyip benzemedi§ini hem
de yazlm geli³tirme alannda çal³acak ki³ilerin e§itiminde kullanlabilecek bir
araç olup olamayaca§n anlayabilmek için konunun uzman 3 ki³i ile bir gö-
rü³me düzenlenmi³tir. Yaplan bu görü³mede, uzmanlardan a³a§da belirtilen 3
ara³trma sorusuna cevap vermesi beklenmi³tir.
S1: Ki³ilerin, tasarlanan bu simulasyonu kullanarak yazlm mühendisli§i
ile ilgili bilgi düzeylerini arttrabilece§ini dü³ünüyor musunuz?
S2: Sizce sanal ortam ki³ilere gerçek hayata uygun bir çal³ma ortam su-
nuyor mu?
S3: Size göre bu çal³mann avantajlar ve dezavantajlar nelerdir?
Bir uzman:
Yazlm mühendisli§i dersi kapsamnda verilen e§itim daha çok pratik
hayata yönelik oldu§u için bu bilgilerin gerçek hayata yakn bir ortamda
ki³iler tarafndan test edilmesi ki³ilerin geli³imleri açsndan çok olumlu.
Ö§renciler aldklar bu bilgileri en erken staj yaparken ya da bitirme
projeleri esnasnda deneyimleme frsat buluyorlar. Bu ortam sayesinde
snrl sayda olan test ortam artmakta. Ki³iler genel olarak projedeki
bütün admlar görerek bu admlarda olu³an görevlerden bazlarn de-
neyimleme frsat buluyor. Bu durum sonucunda ki³ilerin yazlm mü-
hendisli§i konusundaki bilgi seviyelerinin artaca§n ve böyle bir ortamn
e§itim arac olarak kullanlabilece§ini dü³ünüyorum.
Di§er bir uzman:
Yazlm projelerinin bütün a³amalarn ba³tan sona ki³ilere deneyim-
letmek çok güzel bir kir. Özellikle piyasada geli³tirilen projeler ki³iler
için riskler yaratt§ için proje geli³tirme esnasnda ki³iler üzerinde bir
bask olu³makta. Bu bask olmadan ki³ileri e§itmeyi hedeeyen böyle bir
platform ki³ilerin geli³iminde olumlu bir rol oynayacaktr.
Ba³ka bir uzman ise:
Proje yönetimi veya projede ya³anlan aksaklklarn çözümü ki³ilerin
tecrübesiyle do§rudan ilgilidir. Ki³i ne kadar çok proje içerisinde yer
alrsa kar³la³t§ problemleri çözmede o kadar ba³arl olur. Çünkü, ki³i
daha önce yapt§ hatalar sayesinde bir problemi nasl çözmesi gerekti§i
ile ilgili tecrübe kazanr. Ancak, bu tecrübeyi gerçek hayatta kazand§
için tecrübenin yannda kaybettikleri de olur. Bu ortam ki³ilerin gerçek
hayatta herhangi bir ³eyi kaybetmesine engel olarak tecrübe kazanma-
sn sa§layacaktr. Bir öneri olarak ise, proje geli³tirme ya³am döngü-
sünde yaplan görevlerin biraz daha çe³itlenmesi ki³ilerin bilgi seviyele-
rine olumlu bir ³ekilde katk sa§layacaktr.
5 Sonuçlar ve Gelecek Çal³malar
Bu çal³mann temel amac, ki³ilerin gerçek hayata benzer bir ortamda yazlm
pro jeleri geli³tirebilmeleri için tasarlanan sanal ortamda hangi elemanlarn kul-
lanld§n göstermektir. Di§er bir amac ise bu amaçla geli³tirilen ortamn bir
e§itim arac olarak kullanld§ zaman ba³arl olup olamayaca§n anlamaktr.
Bu do§rultuda, bu çal³ma kapsamnda sanal bir os ortam geli³tirilmi³ olup,
geli³tirilen bu ortam yazlm mühendisli§i alannda uzmanla³m³ 3 ki³i ile test
edilmi³tir. Uzmanlarla yaplan görü³melerden elde edilen sonuçlara göre, geli³ti-
rilen sanal os ortamnn yazlm mühendisli§i alannda çal³acak olan ki³ilerin
e§itiminde kullanlabilecek faydal bir araç olabilece§i dü³ünülmü³tür.
Gelecek çal³malarda ise, geli³tirilen sanal ortam Bilgisayar Mühendisli§i bö-
lümünde okuyan ö§renciler ile test edilecektir. Yazlm Mühendisli§i dersini al-
mam³ ö§renciler üzerinde yaplmas planlanan çal³mada, yakla³k 50'ye yakn
ö§renci biri deney di§eri ise kontrol grubu olmak üzere toplam 2 gruba ayr-
lacaktr. Kontrol grubunda yer alan ö§renciler yazlm mühendisli§i konularn
geleneksel yöntemler olan kitap, sunum vb. araçlar kullanarak çal³acakken de-
ney grubunda bulunan ö§renciler ise bu konular geli³tirilen sanal os ortamnda
deneyimleyeceklerdir. Geli³tirilen sanal os ortamnn ba³arsn anlayabilmek
için ö§rencilere biri çal³madan önce di§eri ise çal³madan sonra olmak üzere
toplam 2 test uygulanacaktr. Testlerden elde edilen sonuçlar istatistiksel yön-
temlerle de§erlendirilip, geli³tirilen sanal os ortamnn yazlm mühendisli§i ile
ilgili konularda ki³ilerin e§itiminde kullanlabilecek faydal bir araç olup olmad§
istatistiksel bir ³ekilde incelenecektir.
Kaynaklar
1. Aydan, U., Yilmaz, M., Clarke, P.M., O'Connor, R.V.: Teaching iso/iec 12207
software lifecycle processes: a serious game approach. Computer Standards & In-
terfaces 54, 129138 (2017)
2. Baker, A., Navarro, E.O., Van Der Hoek, A.: An experimental card game for te-
aching software engineering processes. Journal of Systems and Software 75(1-2),
316 (2005)
3. Bliss, J.P., Tidwell, P.D., Guest, M.A.: The eectiveness of virtual reality for ad-
ministering spatial navigation training to reghters. Presence: Teleoperators &
Virtual Environments 6(1), 7386 (1997)
4. Bollin, A., Hochmüller, E., Mittermeir, R.T.: Teaching software project ma-
nagement using simulations. In: Software Engineering Education and Training
(CSEE&T), 2011 24th IEEE-CS Conference on. pp. 8190. IEEE (2011)
5. Braude, E.J., Bernstein, M.E.: Software engineering: modern approaches. Wave-
land Press (2016)
6. Buckingham, M.: What great managers do. IEEE Engineering Management Review
33(2), 310 (2005)
7. Çiikli, B., Güdükbay, U.: Increasing the sense of presence in a simulation environ-
ment using image generators based on visual attention. Presence 19(6), 557568
(2010)
8. Elledge, R., McAleer, S., Thakar, M., Begum, F., Singhota, S., Grew, N.: Use of
a virtual learning environment for training in maxillofacial emergencies: impact
on the knowledge and attitudes of sta in accident and emergency departments.
British Journal of Oral and Maxillofacial Surgery 54(2), 166169 (2016)
9. Fang, Y., Teizer, J.: A multi-user virtual 3d training environment to advance colla-
boration among crane operator and ground personnel in blind lifts. In: Computing
in Civil and Building Engineering (2014), pp. 20712078 (2014)
10. Güleç, U., Yilmaz, M., Gozcu, M.A.: Futbol hakemlerinin egitimi amaciyla tasarla-
nan futbol simulasyonunda macin dinamizmini saglayan etmenler. In: UYMS. pp.
284294 (2016)
11. Gulec, U., Yilmaz, M., Isler, V.: A literature survey: Is it necessary to develop
a new software development methodology for virtual reality projects? Journal of
Universal Computer Science 23(8), 725754 (2017)
12. Gulec, U., Yilmaz, M., Isler, V., O'Connor, R.V., Clarke, P.: Adopting virtual
reality as a medium for software development process education. In: Proceedings
of the 2018 International Conference on Software and System Process. pp. 7175.
ACM (2018)
13. Hainey, T., Connolly, T.M., Stanseld, M., Boyle, E.A.: Evaluation of a game
to teach requirements collection and analysis in software engineering at tertiary
education level. Computers & Education 56(1), 2135 (2011)
14. Humphrey, W.S.: The software engineering process: denition and scope. ACM
SIGSOFT Software Engineering Notes 14(4), 8283 (1989)
15. McConnell, S.: Who needs software engineering? IEEE Software 18(1), 5 (2001)
16. Nazligul, M.D., Yilmaz, M., Gulec, U., Gozcu, M.A., O'Connor, R.V., Clarke, P.M.:
Overcoming public speaking anxiety of software engineers using virtual reality
exposure therapy. In: European Conference on Software Process Improvement. pp.
191202. Springer (2017)
17. Parsons, D., Stockdale, R.: Cloud as context: Virtual world learning with open
wonderland. In: Proceedings of the 9th World Conference on Mobile and Contex-
tual Learning, Malta. pp. 123130 (2010)
18. Psotka, J.: Immersive training systems: Virtual reality and education and training.
Instructional science 23(5-6), 405431 (1995)
19. Rodriguez, G., Soria, Á., Campo, M.: Virtual scrum: A teaching aid to introduce
undergraduate software engineering students to scrum. Computer Applications in
Engineering Education 23(1), 147156 (2015)
20. Rusu, A., Russell, R., Burns, E., Fabian, A.: Employing software maintenance
techniques via a tower-defense serious computer game. In: International Conference
on Technologies for E-Learning and Digital Entertainment. pp. 176184. Springer
(2011)
21. Salo, O., Abrahamsson, P.: Empirical evaluation of agile software development: The
controlled case study approach. In: International Conference on Product Focused
Software Process Improvement. pp. 408423. Springer (2004)
22. Sampaio, A.Z., Martins, O.P.: The application of virtual reality technology in the
construction of bridge: The cantilever and incremental launching methods. Auto-
mation in construction 37, 5867 (2014)
23. Weinberg, G.M.: The psychology of computer programming, vol. 932633420. Van
Nostrand Reinhold New York (1971)
24. Ye, E., Liu, C., Polack-Wahl, J.A.: Enhancing software engineering education using
teaching aids in 3-d online virtual worlds. In: Frontiers in education conference-
global engineering: knowledge without borders, opportunities without passports,
2007. FIE'07. 37th annual. pp. T1E8. IEEE (2007)