=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)== https://ceur-ws.org/Vol-2201/UYMS_2018_paper_70.pdf
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)