<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Türkiye'deki Üniversitelerdeki Yazılım Mühendisliği Öğretim Programlarının SWEBOK Kılavuzu Kullanılarak Değerlendirilmesi</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Görkem Giray</string-name>
          <email>gorkemgiray@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eray Tüzün</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vahid Garousi</string-name>
          <email>vahid.garousi@hacettepe.edu.tr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>SWEBOK 3.0 Yazılım Gereksinimleri Yazılım Tasarımı Yazılım İnşası Yazılım Testi Yazılım Bakımı Yazılım Konfigürasyon Yönetimi Yazılım Mühendisliği Yönetimi Yazılım Mühendisliği Süreci Yazılım Mühendisliği Modelleri ve Yöntemleri Yazılım Kalitesi Yazılım Mühendisliğinin Mesleki Uygulaması Yazılım Mühendisliğinin Ekonomisi Bilgisayar Mühendisliğinin/Bilimlerinin Temelleri Matematiksel Temeller Mühendislik Temelleri</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Yazılım Mühendisliği Araştırma Grubu, Bilgisayar Mühendisliği Bölümü, Hacettepe Üniversitesi</institution>
          ,
          <addr-line>Ankara</addr-line>
          ,
          <country country="TR">Türkiye</country>
        </aff>
      </contrib-group>
      <fpage>574</fpage>
      <lpage>585</lpage>
      <abstract>
        <p>As the importance of software in our lives increases, the importance of software engineering education is also increasing. In this regard, software engineering departments have been established in Turkey starting from the beginning of 2000. In this paper, software engineering curricula of 13 software engineering departments are assessed using SWEBOK guide which compiles and classifies software engineering body of knowledge. Weekly topics covered in software engineering courses have been analyzed quantitatively and assessed their compliance with SWEBOK guide's 15 knowledge areas. According to the results obtained, suggestions were made for improving the curricula.</p>
      </abstract>
      <kwd-group>
        <kwd>Software engineering education</kwd>
        <kwd>Software engineering curriculum</kwd>
        <kwd>SWEBOK</kwd>
        <kwd>Curriculum assessment</kwd>
        <kwd>Curriculum improvement</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Bilgi ve iletişim teknolojilerindeki gelişmeler hayatımızı derinden etkilemektedir. Bu
teknolojiler insanların yaşam biçimlerini, üretim süreçlerini, şirketlerin iş yapma
biçimlerini, eğitim kurumlarının kullandıkları yöntemleri, kısaca birçok hayati ögeyi
dönüştürmektedir.</p>
      <p>
        Bu gelişmeler devletlerin de bilgi ve iletişim teknolojilerindeki gelişmeleri
izlemesine ve buna yönelik politikalar geliştirmesine neden olmuştur. T.C. Kalkınma
Bakanlığının yayımladığı 2014-2018 dönemini kapsayan, Onuncu Kalkınma
Planı’ndaki [
        <xref ref-type="bibr" rid="ref2">1</xref>
        ] yazılım ile ilgili maddeler şu şekildedir: (1) adli süreç ve hizmetlerin
elektronik ortama taşıyan donanım ve yazılım altyapısının geliştirilmesine devam
edilmesi [
        <xref ref-type="bibr" rid="ref2">1</xref>
        ]; (2) açık kaynak kodlu yazılımlar, büyük veri, bulut bilişim, yeşil bilişim,
mobil platform, nesnelerin interneti gibi alanlar değerlendirilerek kamu için uygun
olabilecek çözümlerin hayata geçirilmesi [
        <xref ref-type="bibr" rid="ref2">1</xref>
        ]; (3) imalat sanayi ile yazılım sektörü
arasındaki işbirliğinin geliştirilerek katma değerin arttırılması, çevreye duyarlı yeni
teknolojilerin geliştirilmesi [
        <xref ref-type="bibr" rid="ref2">1</xref>
        ]. Ayrıca kalkınma planında bilgi ve iletişim
teknolojileri sektöründe nitelikli insan kaynağı açığı bulunduğu belirtilmektedir [
        <xref ref-type="bibr" rid="ref2">1</xref>
        ].
      </p>
      <p>Yazılımın dünyamızda ve ülkemizdeki bu artan önemi göz önüne alınarak,
yazılımın geliştirilmesinde ve işletilmesinde rol alan yazılım mühendislerini yetiştiren
Türkiye’deki üniversitelerdeki yazılım mühendisliği bölümlerinin öğretim
programları incelenmiştir. Bu öğretim programlarında yapılacak güncellemelerle bu
artan gereksinimleri karşılayacak insan kaynağının oluşturulması mümkün
olabilecektir. Bu güncellemelerin hızla artan ve değişen gereksinimler doğrultusunda
sürekli yapılması gerektiği unutulmamalıdır.</p>
      <p>Bildirinin ikinci bölümünde konunun bağlamı ve ilgili çalışmalar özetlenmiştir.
Üçüncü bölümde, yazılım mühendisliği öğretim programları, belirlenen yönteme göre
değerlendirilmiştir ve değerlendirme sonuçlarına göre iyileştirme önerileri
paylaşılmıştır. Dördüncü bölümde ise, sonuçlar ve gelecek çalışmalar sunulmuştur.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Bağlam ve İlgili Çalışmalar</title>
      <p>Bu bölümde, ilgili çalışmalar, Türkiye’deki yazılım mühendisliği eğitimi ve yazılım
mühendisliği bilgi birikimini sınıflandıran kılavuzlar hakkında kısaca bilgi
verilecektir.</p>
      <sec id="sec-2-1">
        <title>2.1 İlgili Çalışmalar</title>
        <p>
          Mishra ve Yazıcı Türkiye’deki üniversitelerdeki yazılım mühendisliği lisans öğretim
programlarını 2004 yılında yayımlanmış olan SWEBOK kılavuzuna göre
değerlendirmiştir [
          <xref ref-type="bibr" rid="ref3">2</xref>
          ]. Toros Üniversitesi Bilgisayar ve Yazılım Mühendisliği bölümü
dahil 11 bölümün öğretim programı değerlendirilmiştir. Bu çalışmada ise
SWEBOK’un son sürümündeki 15 bilgi alanı (bir önceki sürümündeki 10 bilgi
alanının yerine) ve 13 yazılım mühendisliği bölümünün (Toros Üniversitesi
Bilgisayar ve Yazılım Mühendisliği bölümü hariç; Celal Bayar, İstanbul Sabahattin
Zaim ve Karadeniz Teknik Üniversitesi yazılım mühendisliği dahil) öğretim
programları değerlendirilmiştir.
        </p>
        <p>
          Garousi ve arkadaşları, SWEBOK kılavuzunun 3.0 sürümünü kullanarak Atılım
Üniversitesinin yazılım mühendisliği bölümünün öğretim programını
değerlendirmişler ve bazı iyileştirme önerileri sunmuşlardır [
          <xref ref-type="bibr" rid="ref1 ref4">3</xref>
          ]. Bu çalışmada benzer
bir yöntemle, Türkiye’deki 13 yazılım mühendisliğinin öğretim programları
değerlendirilmiştir.
        </p>
        <p>
          Bir anket çalışmasında [
          <xref ref-type="bibr" rid="ref5">4</xref>
          ], Garousi ve arkadaşları Türkiye’deki yazılım
mühendisliği uygulamalarını ve pratikleri araştırıp raporlamıştır. Bu çalışmada
yazılım mühendislerinin en çok kaynak ayırdıkları etkinliklerin yazılım inşası (%31),
yazılım testi (%14), yazılım gereksinimleri (%12), yazılım tasarımı (%12) ve yazılım
bakımı (%11) bilgi alanları kapsamında olduğu bulunmuştur.
        </p>
        <p>
          Jaakkola ve arkadaşları, yazılım mühendisliği öğretim programının değişik
boyutlarını tartışmışlardır [
          <xref ref-type="bibr" rid="ref6">5</xref>
          ]. Yazılım mühendisliğinin bilgi birikimini sınıflayarak
kapsamaya çalışan farklı kaynakları kullanarak yinelemeli bir öğretim programı
geliştirme süreci deneyimlemişlerdir. Bu süreç sonunda herhangi bir öğretim içeriğini
ya da programını yayınlarında paylaşmamışlardır.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 Türkiye’de Yazılım Mühendisliği Eğitimi</title>
        <p>
          Dünyadaki ve Türkiye’deki teknolojik ve yazılım sektöründeki gelişmeler nedeniyle
yazılım mühendisliği eğitimi almış nitelikli insan kaynağına olan talep artmıştır.
Türkiye’deki üniversitelerde 2000’li yılların başlarından itibaren yazılım mühendisliği
bölümleri kurulmaya başlanmıştır. Türkiye’de bulunan 193 üniversitenin 13’ünde
lisans eğitimi veren yazılım mühendisliği bölümü bulunmaktadır [
          <xref ref-type="bibr" rid="ref7">6</xref>
          ]. Bu 13 bölüme
ek olarak Mersin ilindeki Toros Üniversitesinde Bilgisayar ve Yazılım Mühendisliği
Bölümü bulunmaktadır.
        </p>
        <p>
          T.C. Ölçme, Seçme ve Yerleştirme Merkezinin (ÖSYM), 2015 yılı Öğrenci Seçme
ve Yerleştirme Sistemi (ÖSYS) yerleştirme sonuçlarına göre 13 yazılım mühendisliği
bölümündeki 948 kişilik kontenjanın 926’sına yerleştirme yapılmıştır [
          <xref ref-type="bibr" rid="ref7">6</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3 Yazılım Mühendisliği Bilgi Birikiminin Sınıflandırılması</title>
        <p>
          Yazılım mühendisliği disiplininde oluşan bilgi ve deneyim birikimi birçok kişi
tarafından farklı şekillerde ve detay seviyelerinde sınıflandırılmıştır. Örneğin,
Carnegie Mellon Üniversitesi yazılım mühendisliğini üç temel alana ayırmaktadır: (1)
Bilgisayar bilimlerinin temelleri, (2) Mühendislik temelleri, (3) Sosyal ve ekonomik
temeller [
          <xref ref-type="bibr" rid="ref8">7</xref>
          ]. Bu tür bir sınıflandırma, daha detaylı taksonomiler oluşturmak için bir
başlangıç noktası olabilirken bir öğretim programını tasarlamak ya da değerlendirmek
için gerekli olan detaydan yoksundur.
        </p>
        <p>
          Software Engineering Body of Knowledge (SWEBOK), yazılım mühendisliği
alanındaki bilgi birikiminin kapsamını ve içeriğini düzenlemek amacıyla
oluşturulmuştur. 2001 yılında ilk deneme sürümü, 2004 yılında IEEE Computer
Society tarafından resmi olarak onaylanan ilk sürümü yayımlanmıştır. 2014 yılında
ise şu andaki son sürümü olan üçüncü sürümü [
          <xref ref-type="bibr" rid="ref9">8</xref>
          ] yayımlanmıştır. SWEBOK
kılavuzunun beş temel amacından biri öğretim programı geliştirmek için bir temel
oluşturmaktır [
          <xref ref-type="bibr" rid="ref9">8</xref>
          ].
        </p>
        <p>
          ACM Education Board ve IEEE Computer Society Educational Activities Board
tarafından yazılım mühendisliği lisans eğitimi için bir öğretim programı kılavuzu
“Software Engineering SE2014” adıyla yayımlanmıştır [
          <xref ref-type="bibr" rid="ref10">9</xref>
          ]. SE2014’ün bilgi alanları
için SWEBOK kılavuzundaki bilgi alanları başlangıç noktası olarak alınmıştır [
          <xref ref-type="bibr" rid="ref10">9</xref>
          ].
SE2014 bilgi alanları belirlenirken yazılım mühendisliği disiplininin evrimi ve
mevcut lisans programlarından elde edilen deneyimler göz önüne alınmıştır [
          <xref ref-type="bibr" rid="ref10">9</xref>
          ].
SWEBOK 3.0 ve SE2014 bilgi alanlarının karşılaştırmalı listesi Tablo 1’de
gösterilmektedir.
        </p>
        <p>Tablo 1. SWEBOK 3.0 ve SE2014 kılavuzlarının bilgi alanlarının karşılaştırmalı listesi</p>
        <p>SE2014
Gereksinim Analizi ve Belirtimi
Yazılım Tasarımı</p>
        <sec id="sec-2-3-1">
          <title>Yazılım Doğrulama ve Geçerleme</title>
        </sec>
        <sec id="sec-2-3-2">
          <title>Yazılım Süreci Yazılım Modelleme ve Analiz Yazılım Kalitesi Mesleki Uygulama</title>
        </sec>
        <sec id="sec-2-3-3">
          <title>Bilgisayar Mühendisliğinin/Bilimlerinin Temelleri</title>
        </sec>
        <sec id="sec-2-3-4">
          <title>Matematik ve Mühendislik Temelleri</title>
        </sec>
        <sec id="sec-2-3-5">
          <title>Güvenlik</title>
          <p>
            ACM ve IEEE Computer Society’nin desteklediği bilgisayar bilimleri öğretim
kılavuzunda yazılım mühendisliği bir bilgi alanı olarak yer almaktadır [
            <xref ref-type="bibr" rid="ref11">10</xref>
            ]. Bu bilgi
alanı altında şu alt başlıklar yer almaktadır: (1) Yazılım süreçleri, (2) Yazılım proje
yönetimi, (3) Araçlar ve ortamlar, (4) Gereksinim mühendisliği, (5) Yazılım tasarımı,
(6) Yazılım inşası, (7) Yazılım doğrulama ve geçerleme, (8) Yazılım evrimi, (9)
Yazılım güvenilirliği, (10) Biçimsel yöntemler [
            <xref ref-type="bibr" rid="ref11">10</xref>
            ].
          </p>
          <p>
            Yazılım mühendisliği lisansüstü eğitimi için de 2009 yılında ilk sürümü
yayımlanmış olan bir kılavuz bulunmaktadır [
            <xref ref-type="bibr" rid="ref12">11</xref>
            ].
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Yazılım Mühendisliği Öğretim Programlarının Değerlendirilmesi</title>
      <p>Bu bölümde değerlendirme yöntemi ve değerlendirilen öğretim programları hakkında
bilgi verilmiştir. Sonrasında keşfe dayalı çalışma aşamasında nicel verilerin nasıl
oluşturulduğu anlatılmıştır. Son olarak elde edilen sonuçlar ışığında öğretim
programlarının iyileştirilmesi için öneriler sunulmuştur.</p>
      <sec id="sec-3-1">
        <title>3.1 Değerlendirme Yöntemi</title>
        <p>
          Bu çalışmada sistematik bir değerlendirme yapabilmek için “keşfe dayalı” ve
“iyileştirici” durum çalışması yaklaşımı kullanılmıştır. Keşfe dayalı çalışma aşaması,
mevcut durumun anlaşılmasını, yeni anlayışların aranmasını, yeni araştırmalar için
fikirlerin ve hipotezlerin oluşturulmasını kapsamaktadır [
          <xref ref-type="bibr" rid="ref13">12</xref>
          ]. İyileştirme aşamasında
ise üzerinde çalışılan durumun bir yönünün iyileştirilmesi hedeflenmektedir [
          <xref ref-type="bibr" rid="ref13">12</xref>
          ].
        </p>
        <p>Bu çalışmada, keşfe dayalı çalışma aşamasında mevcut öğretim programlarının
değerlendirilmesi için SWEBOK kılavuzundaki bilgi alanları kullanılmıştır. Bunun
nedeni Tablo 1’de görüldüğü gibi SWEBOK kılavuzunun daha fazla bilgi alanını
kapsamasıdır. İyileştirme aşamasında ise bu bilgi alanları içinde yeterince
kapsanmadığı düşünülenler için önerilerde bulunulmuştur.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Değerlendirilen Öğretim Programları</title>
        <p>
          Türkiye’deki üniversitelerdeki yazılım mühendisliği bölümlerinin listesi, ÖSYM’nin
2015 yılına ait lisans programları listesinden [
          <xref ref-type="bibr" rid="ref7">6</xref>
          ] alınmıştır. Bu bölümlerin web
sitelerindeki öğretim programları listesi alınmıştır. Karadeniz Teknik Üniversitesinin
yazılım mühendisliği bölümü için 184 AKTS’lik (Avrupa Kredi Transfer Sistemi),
diğer tüm bölümler için 240 AKTS’lik tam ders listesi elde edilmiştir. Bu listedeki
seçmeli dersler ve Türk Dili, Atatürk İlkeleri ve İnkılap Tarihi dersleri gibi yazılım
mühendisliği ile bağlantısı olmayan dersler listeden çıkartılmıştır. Sonuç olarak 13
bölümdeki toplam 357 ders değerlendirme kapsamına alınmıştır. 13 bölümün yer
aldığı üniversitelerin listesi Tablo 2’de gösterilmektedir.
        </p>
        <p>Tablo 2. Öğretim programları değerlendirilen 13 yazılım mühendisliği bölümünün bulunduğu
üniversiteler
Üniversite
Atılım Üni.</p>
        <p>Bahçeşehir Üni.</p>
        <p>Beykent Üni.</p>
        <p>Celal Bayar Üni.</p>
        <p>Fırat Üni.</p>
        <p>Işık Üni.
İstanbul Aydın Üni.
İstanbul Sabahattin Zaim Üni.
İzmir Ekonomi Üni.
İzmir Üni.</p>
        <p>Karadeniz Teknik Üni.</p>
        <p>Maltepe Üni.</p>
        <p>Yaşar Üni.</p>
        <p>Bulunduğu İl
Ankara
İstanbul
İstanbul
Manisa
Elazığ
İstanbul
İstanbul
İstanbul
İzmir
İzmir
Trabzon
İstanbul
İzmir</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3 Keşfe Dayalı Çalışma Aşaması: Bilgi Alanlarına Göre Değerlendirme</title>
        <p>
          Kapsama alınan 13 bölümdeki toplam 357 dersin içeriklerinin SWEBOK
kılavuzundaki bilgi alanlarına göre dağılımı hafta bazında yapılmıştır. Çalışmamızın
tekrarlanabilmesi ve diğer araştırmacılar tarafından daha derin incelenebilmesi için
değerlendirmeye ait tüm ham veriler [
          <xref ref-type="bibr" rid="ref14">13</xref>
          ]’te sunulmuştur. Dağılım yapılırken
aşağıdaki kurallar uygulanmıştır:
 Bir dersin birden fazla bilgi alanını ilgilendirdiği durumlarda dersin içeriğine
ilgili bölümün web sitesinden ulaşılmaya çalışılmıştır. Dersin hafta bazında
içeriğine ulaşıldığı durumlarda dağılım hafta bazında yapılmıştır. Örnek olarak
bir dersin içeriğinin SWEBOK kılavuzundaki bilgi alanlarına göre dağılımı Tablo
3’te gösterilmektedir.
        </p>
        <p>Tablo 3. Yazılım mühendisliğinin temelleri dersinin (İzmir Üniversitesi) içeriğinin SWEBOK
kılavuzunun bilgi alanlarına göre dağılımı





</p>
        <p>Kapsama alınan 13 bölümdeki toplam 357 dersin içeriğinden oluşan tablonun boş
hali yazarlardan biri tarafından oluşturulduktan sonra, iki yazar birbirinden
bağımsız olarak bu tabloları doldurmuş, daha sonra iki yazarın tabloları arasında
karşılaştırma yapılmıştır. Farklı sonuçlara ulaşılan dersler için anlaşma
sağlanamadığı durumda, üçüncü yazarın görüşü alınıp son değerler elde
edilmiştir.</p>
        <p>Dersin SWEBOK kılavuzundaki bir bilgi alanına karşılık geldiği durumlarda
ilgili bilgi alanı için 14 haftalık ders yapıldığı varsayımı yapılmıştır. Örneğin,
Ayrık Yapılar dersi için Matematiksel Temeller bilgi alanına 14 hafta değeri
verilmiştir.</p>
        <p>Haftalık konular bazında incelenen derslerin sadece ara sınav ve final sınavı
yapılan haftaları değerlendirmede göz önüne alınmamıştır. İçeriği hafta bazında
incelenmeyen derslerin süresi 14 hafta olarak alınmıştır.</p>
        <p>Yazılım mühendisliğine giriş, yazılım mühendisliğinin temelleri gibi birden fazla
bilgi alanını kapsadığı kesin olan ve ders içerikleri hafta bazında elde edilemeyen
dersler için 14 haftalık içerik, SWEBOK kılavuzundaki ilk 12 bilgi alanı için 1,17
(14/12) hafta olarak verilmiştir.</p>
        <p>Stajlar için, Yazılım Mühendisliği Mesleki Uygulamaları bilgi alanına 14 haftalık
bir değer verilmiştir.</p>
        <p>
          Bitirme projesi için, haftalık olarak yapılan etkinliklerin listesi olduğu
durumlarda yine SWEBOK kılavuzunun bilgi alanlarına göre dağılım yapılmıştır;
olmadığı durumlarda ise, Garousi ve arkadaşlarının Atılım Üniversitesi’ndeki
bitirme projesi için oluşturdukları dağılım değerlendirmeye alınmıştır [
          <xref ref-type="bibr" rid="ref1 ref4">3</xref>
          ]. Bu
değerlendirme, bitirme projesinin yazılım mühendisliğindeki çoğu alanına ve
özellikle de tasarım, inşa ve yönetime biraz daha çok ağırlık vermesi deneyimine
dayanmaktadır. Dağılım hafta bazında şu şekilde yapılmıştır: Yazılım
Gereksinimleri (1 hafta), Yazılım Tasarımı (2 hafta), Yazılım İnşası (4 hafta),
Yazılım Testi (1 hafta), Yazılım Mühendisliği Yönetimi (2 hafta), Yazılım
Mühendisliği Süreci (1 hafta), Yazılım Mühendisliği Modelleri ve Yöntemleri (1
hafta), Yazılım Kalitesi (1 hafta), Yazılım Mühendisliği Ekonomisi (1 hafta).
        </p>
        <p>Yukarıdaki kurallar çerçevesinde 13 bölümdeki yazılım mühendisliği ile bağlantılı
tüm zorunlu derslerin içeriklerinin SWEBOK kılavuzundaki bilgi alanlarına göre
dağılımı yapılmıştır. Sonuç olarak bu veriden Tablo 4’teki gibi bir özet tablo elde
edilmiştir.</p>
        <p>Tablo 4. 13 yazılım mühendisliği bölümündeki derslerin içeriğinin SWEBOK kılavuzunun
bilgi alanlarına göre dağılımı</p>
        <p>Tablo 4’teki toplam kolonlarına bakıldığında İzmir Ekonomi Üniversitesinin
zorunlu derslerinin toplam 263 hafta, İstanbul Aydın Üniversitesinin ise 488 hafta
olduğu görülmektedir. Tüm bölümlerin aynı ya da benzer ders yükü ile öğrenci mezun
edeceği düşünüldüğünde İzmir Ekonomi Üniversitesinin seçmeli derslere daha fazla
ağırlık verdiği görülmektedir.</p>
        <p>
          Tablo 4’teki ortalamalardan görüleceği gibi sırasıyla Yazılım Konfigürasyon
Yönetimi, Yazılım Bakımı ve Yazılım Mühendisliği Ekonomisi bilgi alanları zorunlu
derslerle en az kapsanan bilgi alanları olarak karşımıza çıkmaktadır. Bu sonuç,
Garousi ve arkadaşlarının Atılım Üniversitesi Yazılım Mühendisliği öğretim
programını değerlendirdikleri çalışmanın [
          <xref ref-type="bibr" rid="ref1 ref4">3</xref>
          ] sonuçlarıyla birebir örtüşmektedir. Bu üç
bilgi alanından sonra en az kapsanan diğer bilgi alanları ise sırasıyla Yazılım
Mühendisliği Modelleri ve Yöntemleri, Mühendislik Temelleri ve Yazılım
Mühendisliği Süreci bilgi alanlarıdır.
        </p>
        <p>Bilgisayar Mühendisliğinin/Bilimlerinin Temelleri ve Matematiksel Temeller bilgi
alanları tüm bölümler tarafından diğer bilgi alanlarına göre oldukça fazla
leri</p>
        <p>Tasarımı
azılım
Y
İnşası
azılım</p>
        <p>Y
kapsanmaktadır. Bu bilgi alanları için hem ortalama değerler diğerlerine göre
yüksektir hem de bölümler arasındaki farklar görece azdır. Bilgisayar
Mühendisliğinin/Bilimlerinin Temelleri bilgi alanı oldukça geniş bir alanı
kapsamaktadır. SWEBOK kılavuzuna göre bu bilgi alanı algoritma, programlama,
veri yapıları, veri yönetimi ve veritabanı yönetim sistemleri, işletim sistemleri, insan
bilgisayar etkileşimi, bilgisayar ağları, donanım ile ilgili dersleri kapsamaktadır. Bu
kapsamın oldukça geniş olması ve bu derslerin çoğu bölümde zorunlu olması
nedeniyle bu bilgi alanına ayrılan pay tüm bölümlerde yüksektir. Matematiksel
Temeller bilgi alanı genel matematik, kalkülüs, diferansiyel denklemler, olasılık ve
istatistik, analiz, cebir, ayrık yapılar gibi standart dersleri kapsamaktadır ve bu dersler
çoğu bölüm tarafından zorunlu olarak verilmektedir.</p>
        <p>Elde edilen niceliksel verileri görsel şekilde özetlemek amacıyla Şekil 1’de
gösterilen kutu grafiği çizilmiştir. SWEBOK kılavuzundaki yazılım mühendisliği
bilgi alanlarına (ilk 12 bilgi alanı) odaklanmak amacıyla, grafikte Bilgisayar
Mühendisliğinin/Bilimlerinin Temelleri, Matematiksel Temeller ve Mühendislik
Temelleri bilgi alanları gösterilmemiştir. Böylece y ekseninin uzaması ve ilk 12 bilgi
alanı arasındaki farkların küçülerek daha zor gözlenebilir olması engellenmiştir.</p>
        <p>Şekil 1. Tablo 4’teki verilerin kutu grafiği
Şekil 1’de görüldüğü gibi sadece Yazılım Tasarımı, Yazılım Mühendisliği
Yönetimi ve Yazılım Mühendisliği Ekonomisi bilgi alanlarında aykırı değerler (yıldız
ile gösterilmiştir) bulunmaktadır. Aykırı değerlerin çok olmaması değerlendirilen
verinin homojene yakın olduğunu göstermektedir.</p>
        <p>Yazılım Bakımı, Yazılım Konfigürasyon Yönetimi, Yazılım Mühendisliği
Modelleri ve Yöntemleri ve Yazılım Mühendisliği Ekonomisi bilgi alanları tüm
bölümlerde hem en az kapsanmıştır hem de benzer bir dağılıma sahiptir. Ortalamaları
azılım</p>
        <p>Y
esi</p>
        <p>t
T
1,17 ile 3,40 arasında değişmektedir. Sadece Yazılım Mühendisliği Ekonomisi bilgi
alanı için bir aykırı değer bulunmaktadır; bu aykırı değer de 5 haftadır.</p>
        <p>Yazılım Mühendisliği Yönetimi ve Yazılım Mühendisliği Süreci bilgi alanları için
de tüm bölümlerdeki dağılım görece homojen görünmektedir. Yazılım Mühendisliği
Yönetimi bilgi alanı için elde edilen 13 değerden 10 tanesi ortalamaya yakındır.</p>
        <p>Yazılım Gereksinimleri, Yazılım İnşası, Yazılım Testi ve Yazılım Kalitesi bilgi
alanları çok homojen bir dağılım göstermese de aykırı değerlere de sahip değildir.</p>
        <p>Yazılım Mühendisliği Mesleki Uygulamaları bilgi alanında dağılım daha
heterojendir. Ortalama 25,47 hafta iken bu bilgi alanına İzmir Ekonomi Üniversitesi
14 hafta, İstanbul Aydın ve Maltepe Üniversitesi ise 43 hafta ayırmıştır. Dağılım
konusunda bölümler arasında en farklı olan Yazılım Tasarımı bilgi alanıdır.
Ortalaması 24,67 hafta iken bu bilgi alanına Işık Üniversitesi 4 hafta, Beykent
Üniversitesi 59 hafta ayırmıştır.</p>
        <p>Şekil 2’de SWEBOK kılavuzunun ilk 12 bilgi alanının toplamının (Tüm Yazılım
Mühendisliği) ve diğer 3 temel bilgi alanının kutu grafiği gösterilmektedir.
250
200
ı 150
s
ı
y
a
s
a
t
fa100
H
50
0</p>
        <p>Bilgisayar muh. Temelleri</p>
        <p>Matematiksel Temeller</p>
        <p>Mühendislik Temelleri</p>
        <p>Tüm Yazılım Mühendisliği
Şekil 2. Bilgisayar Mühendisliğinin/Bilimlerinin Temelleri, Matematiksel Temeller,</p>
        <p>Mühendislik Temelleri ve geri kalan 12 bilgi alanının toplamının kutu grafiği
Şekil 2’de görüldüğü gibi en az zaman (Ortalama 5,85 hafta) Mühendislik
Temelleri bilgi alanına ayrılmaktadır. Bu bilgi alanına ayrılan zaman homojene
yakındır. Matematiksel Temeller bilgi alanına Mühendislik Temellerine göre daha
fazla zaman (Ortalama 78,62 hafta) ayrılmaktadır ve bu bilgi alanı için de dağılım
homojene yakındır. Bilgisayar Mühendisliğinin/Bilimlerinin Temelleri bilgi alanı için
ortalama 158,31 hafta, Tüm Yazılım Mühendisliği bilgi alanları için ise 135,85 hafta
zaman ayrılmaktadır. Bu iki alan için de üniversiteler arasındaki dağılım heterojendir.
Bir önceki bölümde yapılan nicel değerlendirmenin sonucunda yazılım mühendisliği
öğretim programlarının iyileştirilmesi için aşağıdaki öneriler sunulmuştur.
 Yazılım Bakımı</p>
        <p>
          Yazılım, doğası gereği, yaşam döngüsü içinde çeşitli nedenlerle değişime uğrar
ve yazılım projelerinde kaynakların önemli bir bölümü yazılım bakımına ayrılır
[
          <xref ref-type="bibr" rid="ref15">14</xref>
          ]. Yazılım, birlikte çalıştığı diğer bileşenlerdeki değişikliklerden etkilenir.
Örneğin işletim sistemindeki değişikliklere yazılımı uyarlamak amacıyla bakım
yapılabilir. Yazılım kullanılırken farklı kaynaklardan farklı nedenlerle değişiklik
istekleri gelebilir. Yazılımı daha iyileştirmek için bakım yapılabilir; yani yazılıma
bazı işlevler eklenebilir. Hatasız bir yazılımın olmayacağı genel olarak kabul
görmüştür. Bu nedenle yazılımdaki hataları düzeltmek için düzeltici bakım
etkinliklerinin gerçekleştirilmesi kaçınılmazdır. Bazı durumlarda olası
problemleri önceden önlemek için önleyici bakım etkinlikleri gerçekleştirilebilir.
Bir yazılımın yaşam döngüsü içinde bu bakım etkinlikleri oldukça sık görülür.
Bundan dolayı Yazılım Bakımı bilgi alanı hakkında öğrencilere daha fazla bilgi
verilmelidir.
 Yazılım Konfigürasyon Yönetimi
        </p>
        <p>Yazılım yoğun sistemler gittikçe daha karmaşık hale gelmekte ve ölçekleri
büyümektedir. Dolayısıyla daha büyük takımlar yazılım geliştirmek için birlikte
çalışmakta ve çok sayıda paydaş yazılım sürecinde üretilen iş ürünleri (kod,
gereksinim belgeleri, vs.) üzerinde sık sık değişiklik yapmaktadır. Bu
değişikliklerin takip edilmesi yazılımın kalitesi için büyük önem taşımaktadır.
Dolayısıyla Yazılım Konfigürasyon Yönetimi bilgi alanında öğrencilere daha
fazla bilgi verilmeli ve GitHub, SVN gibi versiyon kontrol araçlarının kullanımı
teşvik edilmelidir.
 Yazılım Mühendisliği Ekonomisi</p>
        <p>Mühendisliğin önemli amaçlarından birisi, bir fayda elde ederken bunun
maliyetini de göz önüne almak ve uygun sınırlar içinde tutmaktır. Dolayısıyla
yazılım mühendisliğinin ekonomik boyutu hakkında öğrencilere bilgi verilmesi
gerekmektedir.
 Yazılım Mühendisliği Modelleri ve Yöntemleri</p>
        <p>Modelleme etkinliği, yazılım mühendisliği alanındaki merkezi etkinliklerden
biridir. Problemi ve problemin bulunduğu alanı anlamak, probleme çözümler
üretmek için soyutlama yaparak modeller üretmek oldukça faydalıdır. Mevcut
öğretim programlarında modellemenin veri modelleme ve UML üzerine
yoğunlaştığı görüşmektedir. Modellemeyi mevcut derslerin içinde daha geniş bir
yelpazede ele almanın öğrenciler için faydalı olacağı düşünülmektedir.
 Yazılım Mühendisliği Süreci</p>
        <p>Yazılım mühendisliği süreci, yazılım mühendisliği etkinlikleri için bir temel
oluşturur. Dolayısıyla öğrencilerin yazılım gereksinimleri, yazılım tasarımı,
yazılım inşası gibi bilgi alanlarını anlayabilmeleri için tüm bu etkinliklerin büyük
resmini gösteren yazılım mühendisliği süreci bilgisine ihtiyaçları vardır.
Dolayısıyla öğretim programlarında plan güdümlü ve çevik yazılım geliştirme
süreçleri hakkında kapsayıcı bilgiler vermek öğrencilerin hem büyük resmi
görmeleri açısından hem de diğer derslerde anlatılanları büyük resim içinde
anlamlandırabilmeleri için önemlidir.</p>
        <p>Zorunlu dersler dışında destekleyici eğitim
Her bölümün kapsadığı bilgi alanlarına bakılarak öğretim programının yeteri
kadar kapsamadığı alanlarda öğrenciler bölüm içindeki seçmeli derslere ve
üniversite dışındaki kaynaklara (endüstride açılan yaz okulları, sertifika
programları, Massive Open Online Courses - MOOC) yönlendirilebilir.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Sonuç ve Gelecek Çalışmalar</title>
      <p>Bu bildiride Türkiye’de yazılım mühendisliği öğretimi veren 13 bölümün öğretim
programları SWEBOK kılavuzu kullanılarak değerlendirilmiştir. SWEBOK
kılavuzunun bilgi alanlarına göre her bir öğretim programının hafta bazında dağılımı
yapılarak bir analiz yapılmıştır. Bu analiz sonucunda öğretim programlarını iyileştirici
öneriler sunulmuştur. Yapılan değerlendirme sonucunda yapılan öneriler şunlardır: (1)
Yazılım yaşam döngüsü içinde önemli bir yeri olan yazılım bakımı hakkında daha
fazla teorik ve pratik bilgi verilmelidir; (2) Yazılım Konfigürasyon Yönetimi bilgi
alanı kapsamında özellikle versiyon kontrol sistemleri hakkında pratik bilgiler
verilmeli ve öğrencilerin çeşitli araçları kullanmaları teşvik edilmelidir; (3) Yazılım
Mühendisliği Ekonomisi bilgi alanında fayda maliyet analizi gibi yazılım
mühendisliğinin ekonomik boyutları hakkında bilgi verilmelidir; (4) Yazılım
Mühendisliği Modelleri ve Yöntemleri bilgi alanı kapsamında problem ve çözüm
alanlarında modellemeye daha fazla değinilmelidir; (5) Yazılım mühendisliği eğitimi
için kapsayıcı bir temel oluşturan Yazılım Mühendisliği Süreci bilgi alanında plan
güdümlü ve çevik süreçler hakkında karşılaştırmalı olarak temel bilgiler ve
endüstriden örnekler verilmelidir; (6) Bu ve buna benzer bir değerlendirme sonucunda
öğrenciler üniversite dışındaki kaynaklara da (MOOC gibi) yöneltilerek kendilerini
geliştirmeleri desteklenmelidir.</p>
      <p>Öğretim programlarının değerlendirilmesi için güncel, doğru, tam ve yeterli
seviyede detaylı bilginin olması büyük önem taşımaktadır. Bu çalışmada sadece web
sitesindeki bilgiler değerlendirme için kullanılmıştır. Bundan sonraki aşamada 13
bölümdeki dersler için ilgili öğretim üyelerinden daha detaylı bilgiler alınarak daha
sağlıklı bir değerlendirme yapılması planlanmaktadır. Seçmeli derslerin de
değerlendirmeye katılması öğretim programlarının daha kapsamlı ele alınması için
gerekli olduğu değerlendirilmiştir. İleriki dönemlerde, Türkiye’deki yazılım
mühendisliği bölümleriyle yurt dışındaki yazılım mühendisliği bölümlerinin
derslerinin içerik dağılımları karşılaştırılabileceği değerlendirilmiştir.</p>
      <p>
        SWEBOK kılavuzundaki 15 bilgi alanına ideal olarak nasıl bir ağırlık verilmesi
gerektiğinden söz edilmemiştir. İlerleyen dönemlerde SWEBOK kılavuzundaki her
bilgi alanına ideal olarak ne kadar ağırlık verilmesi gerektiği konusunda bir çalışma
yapılması değerlendirilebilir. İdeal bir dağılım elde edildiğinde öğretim programları
için daha net öneriler verebilmek mümkün olacaktır. Çalışmada kullandığımız
SWEBOK kılavuzunun içeriğine getirilen eleştiriler de vardır [
        <xref ref-type="bibr" rid="ref6">5</xref>
        ]. SWEBOK
kılavuzu, SE2014 kılavuzu ve yazılım mühendisliği disipliniyle bağlantılı diğer
disiplinler için oluşturulmuş diğer kılavuzlar ve endüstrideki gereksinimler de
incelenerek yeni bir değerlendirme çerçevesi oluşturulabileceği değerlendirilmiştir.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>3.4 İyileştirme Aşaması: Yazılım Mühendisliği Öğretim Programı için Öneriler</mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          1.
          <string-name>
            <surname>T.C. Kalkınma Bakanlığı</surname>
          </string-name>
          ,
          <source>Onuncu Kalkınma Planı</source>
          <year>2014</year>
          - 2018, Ankara,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          2.
          <string-name>
            <surname>Mishra</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yazıcı</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>An Assessment of the Software Engineering Curriculum in Turkish Universities</article-title>
          : IEEE / ACM Guidelines Perspective,
          <fpage>188</fpage>
          -
          <lpage>219</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          3.
          <string-name>
            <surname>Garousi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mishra</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yazıcı</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Üniversite Yazılım Mühendisliği Programları Müfredatının SWEBOK Kılavuzu Kullanılarak Değerlendirme ve İyileştirilmesi: Türkiye'de bir Vaka</surname>
            <given-names>Çalışması</given-names>
          </string-name>
          ,
          <string-name>
            <surname>UYMS</surname>
          </string-name>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          4.
          <string-name>
            <surname>Garousi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Coşkunçay</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Can</surname>
            ,
            <given-names>A.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Demirörs</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>A Survey of Software Engineering Practices in Turkey</article-title>
          ,
          <source>Journal of Systems and Software</source>
          , cilt
          <volume>108</volume>
          ,
          <fpage>148</fpage>
          -
          <lpage>177</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          5.
          <string-name>
            <surname>Jaakkola</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henno</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rudas</surname>
            ,
            <given-names>I.J.:</given-names>
          </string-name>
          <article-title>IT curriculum as a complex emerging process</article-title>
          .
          <source>2006 IEEE International Conference on Computational Cybernetics</source>
          , ICCC (
          <year>2006</year>
          ). http://doi.org/10.1109/ICCCYB.
          <year>2006</year>
          .305731
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          6. ÖSYM, 2015
          <string-name>
            <surname>-ÖSYS Yerleştirme Sonuçlarına İlişkin Sayısal Bilgiler</surname>
            : Tablo-4
            <given-names>Merkezi</given-names>
          </string-name>
          <string-name>
            <surname>Yerleştirme İle Öğrenci Alan Yükseköğretim Lisans Programları</surname>
          </string-name>
          , http://dokuman.osym.gov.tr/pdfdokuman/2015/OSYS/OSYS2015YerlestirmeMinMaxTab lo-
          <fpage>423072015</fpage>
          .pdf,
          <source>Erişim tarihi: 07 Haziran</source>
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          7.
          <string-name>
            <surname>Shaw</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (Editör):
          <article-title>Software Engineering for the 21st Century: A basis for rethinking the curriculum - CMU-</article-title>
          <string-name>
            <surname>ISRI-</surname>
          </string-name>
          05-108, http://www.cs.cmu.edu/~Compose/SEprinciples-pubrev2.
          <source>pdf</source>
          (
          <year>2005</year>
          ).
          <source>Erişim tarihi: 09 Haziran</source>
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          8.
          <string-name>
            <surname>Bourque</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fairley</surname>
            ,
            <given-names>R.E.</given-names>
          </string-name>
          (Editörler):
          <article-title>Guide to the Software Engineering Body of Knowledge, Version 3</article-title>
          .0,
          <string-name>
            <given-names>IEEE</given-names>
            <surname>Computer</surname>
          </string-name>
          <article-title>Society (</article-title>
          <year>2014</year>
          )
          <article-title>www</article-title>
          .swebok.org.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Joint</given-names>
            <surname>Task</surname>
          </string-name>
          <article-title>Force on Computing Curricula IEEE Computer Society Association for Computing Machinery</article-title>
          . (
          <year>2014</year>
          ).
          <source>Software Engineering</source>
          <year>2014</year>
          :
          <article-title>Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering</article-title>
          .
          <source>The Joint Task Force on Computing Curricula IEEE Computer Society Association for Computing Machinery.</source>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          10. ACM/IEEE-CS
          <source>Joint Task Force on Computing Curricula</source>
          .
          <year>2013</year>
          . Computer Science Curricula
          <year>2013</year>
          .
          <article-title>ACM Press and</article-title>
          IEEE Computer Society Press. DOI: http://dx.doi.org/10.1145/2534860
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          11. Graduate Software Engineering
          <year>2009</year>
          (
          <article-title>GSwE2009) Curriculum Guidelines for Graduate Degree Programs in Software Engineering</article-title>
          , Version 1.0 (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          12.
          <string-name>
            <surname>Runeson</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Höst</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Guidelines for conducting and reporting case-study research in software engineering</article-title>
          , Empirical Software Engineering, cilt
          <volume>14</volume>
          ,
          <fpage>131</fpage>
          -
          <lpage>164</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          13.
          <string-name>
            <surname>Giray</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tüzün</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garousi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Ham veriler: Türkiye'deki Üniversitelerdeki Yazılım Mühendisliği Öğretim Programlarının SWEBOK Kılavuzu Kullanılarak Değerlendirilmesi</article-title>
          , http://goo.gl/pVXfjr, Erişim Tarihi:
          <volume>17</volume>
          <year>Haziran 2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          14.
          <string-name>
            <surname>Grubb</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Takang</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          :
          <source>Software Maintenance: Concepts</source>
          and Practice: World Scientific (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>