=Paper= {{Paper |id=Vol-1721/UYMS16_paper_15 |storemode=property |title=Gomulu Yazilim Endustrisinde Kullanilan Yazilim Modellemesi ve Model-Gudumlu Tekniklerde Turkiye'nin Dunyadaki Yeri |pdfUrl=https://ceur-ws.org/Vol-1721/UYMS16_paper_15.pdf |volume=Vol-1721 |authors=Deniz Akdur,Vahid Garousi,Onur Demirors |dblpUrl=https://dblp.org/rec/conf/uyms/AkdurGD16 }} ==Gomulu Yazilim Endustrisinde Kullanilan Yazilim Modellemesi ve Model-Gudumlu Tekniklerde Turkiye'nin Dunyadaki Yeri== https://ceur-ws.org/Vol-1721/UYMS16_paper_15.pdf
  Gömülü Yazılım Endüstrisinde Kullanılan Yazılım
Modellemesi ve Model-Güdümlü Tekniklerde Türkiye’nin
                  Dünyadaki Yeri

            Deniz AKDUR1,2, Vahid GAROUSI3,4, Onur DEMİRÖRS2

                                1
                                 ASELSAN A.Ş. , Ankara
            2
             Bilişim Sistemleri Bölümü, Enformatik Enstitüsü, ODTÜ, Ankara
            3
              Bilgisayar Mühendisliği Bölümü, Hacettepe Üniversitesi, Ankara
              4
                Maral Yazılım Danışmanlık ve Ar-Ge Corp., Calgary, Kanada

                         denizakdur@aselsan.com.tr
                     vahid.garousi@hacettepe.edu.tr
                           demirors@metu.edu.tr



  Özetçe. Yazılım-yoğun gömülü sistemler gün geçtikçe etrafımızda daha fazla gördü-
  ğümüz, yaşantımızın vazgeçilmez bir parçası haline gelen sistemler olarak karşımıza
  çıkmaktadır. Tasarım, geliştirme ve sınanması diğer yazılım sistemlerine göre daha
  karmaşık olan bu sistemlerde, artan karmaşıklıkla başa çıkabilmek için kullanılan en
  etkin yöntemlerden biri yazılım modellemesidir. Yüksek seviyede soyutlama ile mü-
  hendislere kolaylık sağlayan yazılım modellemesinin, paydaşlar arasındaki iletişimi
  kolaylaştırmasının yanı sıra, verimlilik, taşınabilirlik ve sürdürülebilirlik gibi birçok
  kazanımı birlikte getirdiği iddia edilmektedir. Yeterince veri ile desteklenemeyen bu
  iddialar için, farklı uygulama alanlarında farklı amaçlarla kullanılan modelleme yak-
  laşımlarını araştıran bundan önceki çalışmamız, bunların neden, nasıl ve hangi sıklıkla
  kullanıldığını inceleyerek gömülü yazılım endüstrisinde kullanılan modellemenin şu
  anki durumuna ışık tutmuştur. Bu çalışmada ise, 27 ülke beş kıtadan değişik gömülü
  yazılım endüstrilerinden alınmış bu 642 katılımcı verisi, Türkiye dışından elde edilen
  veriler ve Türkiye’den alınan veriler olarak ikiye ayrılıp bir karşılaştırma yapılmıştır.
  Böylelikle, gömülü yazılım endüstrisinde kullanılan yazılım modellemesi ve model-
  güdümlü tekniklerde Türkiye’nin dünyadaki yeri, benzerlik ve farklılıkları görülmüş;
  olası endüstri-akademi işbirliği çalışmalarına zemin hazırlanmıştır.

  Anahtar Kelimeler: gömülü yazılım, modelleme, model-tabanlı, model-güdümlü,
  model-güdümlü mühendislik, deneysel çalışma




                                            641
    Usage of Software Modeling and Model-Driven Techniques
               in the Embedded Software Industry:
                   Turkey's position in the world

       Abstract. Software-intensive embedded systems shape our world by becoming an
       essential aspect of our lives. Design, development and testing of software for modern
       embedded systems have become very complex due to their multiple constraints across
       different dimensions of performance and quality. To cope with these growing
       complexities in embedded software industry, modeling is usually seen as one of the
       best approaches to help engineers design and build these systems at higher levels of
       abstraction by facilitating communication among shareholders. Although software
       modeling claims many potential benefits in productivity, portability, maintainability
       and interoperability, it has been developed largely without the support of empirical
       data to test or support these claims. With the help of our previous study, the state-of-
       the-practice of software modeling was better understood by identifying to what
       degree, why and how it is used in embedded software industry with its possible
       challenges and shortcomings besides its benefits. In this study, the data taken from
       642 subjects, 27 different countries and embedded industrial sectors were separated
       into two groups: (1) the data taken from Turkey, (2) the data taken from the other 26
       countries except Turkey. By this way, by comparing these two dataset and
       enlightening both similarities and differences, Turkey’s position in the world on the
       usage of software modeling and model-driven techniques in the embedded software
       industry was better understood; and more academia-industry collaborations will also
       be encouraged.

       Keywords: Embedded software; modeling; model-based; model-driven; model-
       driven engineering; empirical study


1      Giriş

Arabadan havacılığa ya da savunma sanayinden yüksek çözünürlüklü TV'lere ve akıllı tele-
fonlara kadar etrafımızda sıklıkla karşılaştığımız yazılım-yoğun gömülü sistemlerin tasa-
rım, geliştirme ve test süreçleri diğer sistemlere göre daha karmaşıktır [1-3]. Farklı perfor-
mans ve kalite kriterlerine sahip olan bu sistemler, hem donanım hem de yazılım alt parça-
larının artması ve farklı işlevlerin tek bir sistemde toplanmasıyla diğer yazılım sistemlerine
göre daha zorlu bir geliştirme faaliyeti gerektirmektedir [4]. Tüm bu zorluklar ve artan
karmaşıklıkla başa çıkabildiği iddia edilen yazılım modelleme yaklaşımları [5] farklı gömü-
lü yazılım alanlarında bunların neden, nasıl ve hangi sıklıkla kullanıldığını da değiştirebilir
[6]. Bundan önceki çalışmamız, gömülü sistemlerde kullanılan modellemenin şu anki du-
rumunu anlatmış ve kimlerin ne amaçla, nasıl modelleme yaptığını belirlemiştir [7]. Bu
çalışma, sadece dünyada bu alandaki en son kullanım ve eğilimi ortaya çıkarmakla kalma-
mış, ulusal anlamda bu alandaki ilk çalışma olmuştur.
   Hızla karmaşıklaşan gömülü yazılım mühendisliğinde soyutlama yöntemiyle bu karma-
şıklığı çözen yazılım modellemesinin Türkiye’deki durumunu gösteren bir önceki çalışma-
mız, Türkiye’nin bu alanda dünyadaki yerini anlamak ve modelleme yaklaşımlarını karşı-




                                                 642
laştırmaktan uzaktır. Bu nedenle, Türkiye dışındaki 26 ülkeden elde ettiğimiz anket veri
kümesi ile Türkiye için elde edilen veriler karşılaştırarak, Türkiye yazılım sektörünün bu
alanda dünyadaki yerini görebilmek önemli bir gerek olarak ortaya çıkmaktadır. Bu çalış-
ma, bu eksikliği gidermeyi amaçlamaktadır. Böylelikle, gömülü yazılım endüstrisinde kul-
lanılan yazılım modellemesi ve model-güdümlü tekniklerde Türkiye’nin dünyadaki yeri,
benzerlik ve farklılıkları görülebilecek; bu çalışma ile olası endüstri-akademi işbirliklerine
girdi sağlanacaktır.
   Bu makalenin devamı şu şekilde yapılandırılmıştır: İlgili çalışmalar 2. bölümde sunul-
muştur. Bir önceki çalışmamızdaki amaç ve yöntem ile anket hakkında genel bilgilerin
hatırlatılması 3. bölümde verilmiştir. 4. bölüm ham veri sonuçlarının karşılaştırmasını içer-
mektedir. Bulguların özeti ve geçerliliğe tehditleri veren 5. bölüm sonunda sonuç ve gele-
cek çalışmalar hakkında bilgi verilerek makale sonlandırılmaktadır.


2      İlgili Çalışmalar

Gömülü yazılım endüstrisi özelinde model-güdümlü mühendislik (MGM) yaklaşımlarını
inceleyen az sayıda çalışma bulunmaktadır [8-10]. Daha önceki bu çalışmalardaki katılım-
cılar ya belli bir coğrafi alana / tek bir ulusa mensuptur ya da belli bir projedeki zaten mo-
del-tabanlı/güdümlü geliştirme yapanlardır. Dolayısıyla, kıtalararası katılımcıya sahip olup,
gömülü sistemlerde yazılım modellemesinin ve model-güdümlü tekniklerin kullanımını,
endüstrideki durumunu inceleyen; dahası Türkiye’de bu alandaki durumu gösteren ya da
Türkiye adına katılımcı verisi içeren başka bir çalışma bulunmamaktadır.
    2011 yılında 67 katılımcıyla gerçekleştirilen [8]’de araba endüstrisinde kullanılan mo-
del-tabanlı geliştirmenin maliyet ve yararları incelemektedir. Gömülü sistemlerin bir alt
kolu olan otomotiv sektörünü adresleyen çalışma, gömülü sistem mühendisliğinin sadece
geliştirme kısmını kapsamaktadır. 209 katılımcı verisine sahip olan [9]’da ise UML ve mo-
del-güdümlü yaklaşımlar Brezilya gömülü yazılım sektörü özelinde incelemektedir. 2013
yılında gerçekleştirilen bu çalışma tek bir coğrafi bölgeden sonuçları içerdiğinden genel bir
çıkarımdan uzaktır. 2014 yılına ait [10]’daki çalışmada ise, model-tabanlı yaklaşımın şu
anki durumu gömülü sistemler için incelemiştir. Bu anket, 112 katılımcısını da Avrupa
Birliği destekli CRYSTAL (Critical System Engineering Acceleration) Projesinde yer alan,
zaten model-tabanlı yaklaşımı benimsemiş şirketlerden aldığından, gömülü sistemler için
genel bir katılımcı profilinden uzaktır [10]. Model-tabanlı ve model-güdümlü ayrımını
içermeyen bu anket verileri, aynı yazarlar tarafından 2016 senesinde daha detaylı bir çalış-
mada kullanılmıştır [11]. Tüm bu çalışmaların aksine, bizim çalışmamız kendini ne gömülü
sistemlerin bir alt kolunu ne de belli bir coğrafi alanı / ulusu inceleyerek kısıtlandırmıştır.
Bu bölümün devamında bir önceki çalışmamızdaki bu anket hakkında genel bilgiler hatırla-
tılacaktır.


3      Araştırma amaç ve yöntemi

Ankette, farklı coğrafi bölge ve endüstriyel sektörden çokça ve hızlı bir şekilde veri alabil-
mek, bu verileri kolay bir şekilde tasnif ve analiz edebilmek için çevrimiçi anket yöntemi
kullanılmıştır. Gömülü sistemlerde kullanılan modelleme etkinliklerinin şu anki durumunu
anlamak ve kimlerin ne amaçla, hangi sıklıkla kullandığını, hiç kullanmayandan, kabataslak
kullanana, bunun ötesinde model-tabanlı kullanandan model-güdümlü kullanana [12] kadar




                                             643
        geniş bir yelpazede inceleyen bu ankette Hedef, Soru, Ölçüt (Goal Question Metric, GQM)
        [13] yaklaşımı kullanılmıştır.
           İngilizce olarak hazırlanan ankette kullanılan kelimelerin herkes tarafından anlaşılır ol-
        ması kaliteli veri toplamak adına çok önemli olduğundan, anket endüstride çalışan sekiz
        kişi tarafından pilot çalışmaya tabi tutulmuştur. Bu pilot çalışmada bulunan kişiler değişik
        uluslardan seçilerek (Dört Türk, iki İngiliz, bir Fransız, bir Tayvanlı) alınan geri bildirimler
        ve anket doldurmada geçen zaman da dikkate alınıp sorular tekrar düzenlenmiştir. Güncel-
        lenen anket, ilk pilot çalışmaya katılmayan beş kişi ve ilk çalışmadaki iki kişi ile ikinci defa
        pilot çalışmaya girerek toplam 13 endüstri profesyoneli tarafından gözden geçirilmiş ol-
        muştur. Pilot çalışmanın sonunda, hedeflenen araştırma sorularını adresleyen anket 27 adet
        soru içermiştir [14].
           Anketin hedef kitlesi gömülü yazılım mühendisliği alanında çalışan iş analistinden proje
        yöneticisine, yazılımcıdan testçiye kadar geniş bir yelpazeyi içermektedir. Mart 2015’te
        Orta Doğu Teknik Üniversitesi (ODTÜ) Uygulamalı Etik Araştırma Merkezi’nden etik
        onayı alan anket 14 Nisan 2015 tarihinde çevrimiçi olarak yayınlanıp 1 ay süre ile katılımcı
        kabul etmiştir. Anket tasarımı, soru hazırlama, geçerleme, veri toplama ve analizi ile ilgili
        detaylara [7]’den ulaşılabilir.
           Bildirinin sayfa sınırlamasından dolayı anketteki tüm karşılaştırmalar verilememiş, sade-
        ce dikkat çekici veriler paylaşılmıştır. (Bakınız Tablo 1).

                                Tablo 1. Bildiride karşılaştırılacak ilgi çekici bulgular

Karşılaştırılan     Soru                                                                    Karşılaştırma
Veriler                                                                                     Yöntemi
Demografik          Akademik Branş(lar)                                                     Nicel
Veriler             İş ve Modelleme Tecrübesi ile Modellemenin Nerede/Nasıl Öğrenildiği     Nicel/Nitel
Modelleme           Yazılım Yaşam Döngüsünde Modelleme Kullanım Sıklığı                     Nicel
Yaklaşımları        Hangi Modelleme Dilinin (Dillerinin) Kullanıldığı                       Nicel
                    Modellemede Hangi Diyagram(lar)ın Kullanıldığı                          Nicel
                    Modellemenin Yazılım Yaşam Döngüsünün Hangi Evrelerinde Kullanıldığı    Nicel
Model-              Model-Güdümlü Mühendisliğin Ne Sıklıkla Kullanıldığı                    Nicel
Güdümlü             Model-Güdümlü Mühendisliğin Ne(ler) İçin Kullanıldığı                   Nitel
Teknikler           Karşılaşılan Model-Güdümlü Mühendislik Zorlukları                       Nitel


        4         Sonuçların Karşılaştırılması

        Bu bölümde, sonuçlar karşılaştırılırken, ilk veri kümesini tüm anket verisinden Türkiye’den
        alınan sonuçların çıkarılması ile geri kalan 26 ülkenin verileri; ikinci veri kümesini ise Tür-
        kiye’den alınan veri kümesi [7, 15] oluşturmaktadır. Makalenin geri kalanında “Dünya”
        verisi olarak bu ilk veri kümesinde yer alan Türkiye dışındaki 26 ülkeden elde edilen so-
        nuçlar verilecektir.


        4.1       Demografik Veriler
        Katılımcıların eğitimsel yetenek kümesini anlamak için çoktan seçmeli olarak sorulan aka-
        demik branşlara baktığımızda Türkiye veri kümesinde Bilgisayar Mühendisliğinin dünya-




                                                          644
         dakinden çok daha fazlayken (%44,4’e %19,7), Bilgisayar Bilimleri ve Yazılım Mühendis-
         liğinin ise çok daha az (%7,8’e %26,8 ve %2’ye %8) olduğu göze çarpmaktadır (Bakınız
         Şekil. 1). Eğer Bilgisayar tabanlı bölümler olarak bir gruplama yapıp bu gruba Bilgisayar
         Mühendisliği, Bilgisayar Bilimleri, Yazılım Mühendisliği ve Bilişim Sistemlerini koyarsak,
         her iki veri kümesinde de katılımcı oranının ~%59 olduğu görülmektedir. Bu da aslında,
         ülkeden ülkeye bazı bölüm isimlerinin farklılaşabildiğini; örneğin Türkiye’de bazı üniversi-
         telerde ayrı bir Yazılım Mühendisliği bölümü yokken bunların Bilgisayar Mühendisliği
         çatısı altında toplandığını göstermektedir. Bir diğer göze çarpan farklılık ise, gömülü yazı-
         lım endüstrisinde çalışan Matematik mezunlarının dünya veri setinde %3 seviyesindeyken
         Türkiye’de ise %1 seviyesinde kalmasıdır.
                        Matematik
Makina/Mekatronik Mühendisliği
                                                                                                                   Dünya
            Endüstri Mühendisliği
             Yazılım Mühendisliği                                                                                  Türkiye
                    İşletme/İktisat
                 Bilişim Sistemleri
                Bilgisayar Bilimleri
 Elektrik/Elektronik Mühendisliği
          Bilgisayar Mühendisliği

                                       0%           10%            20%           30%           40%           50%

                                             Şekil. 1. Akademik branş(lar)ın karşılaştırması

            İş tecrübelerinde yoğunluk 10+ senede iken modelleme tecrübesinde yoğunluk aşağıya
         doğru kaymaktadır. Örneğin, Türkiye veri kümesinde 10+ sene iş tecrübesi %45 seviyesin-
         deyken, modelleme tecrübesi %30’a düşmüştür. Aynı şekilde dünya veri kümesinde bu
         oran %57’den %46’ya inmiştir (Bakınız Şekil. 2).
                                       60%
                                       40%
                                       20%
                                        0%
                                               2 seneden az      2-5 sene        6-10 sene        10+ sene
          Dünya (İş Tecrübesi)                      1%              5%              38%             57%
          Türkiye (İş Tecrübesi)                   2%              9%              44%              45%
          Dünya (Modelleme Tecrübesi)              2%              8%              45%              46%
          Türkiye (Modelleme Tecrübesi)            6%              16%             48%              30%

                                       Şekil. 2. İş ve Modelleme Tecrübelerinin Karşılaştırması

            İş tecrübesindeki yoğunluğun modelleme tecrübesine geçerken düşmesinin birkaç sebebi
         olabilir: Katılımcıların bir kısmının işe başladıktan sonra (örneğin, üniversiteden sonra)
         modellemeyi öğrenip uygulaması ya da gömülü sistemlerdeki modellemenin bazı temel
         gömülü sistem bilgi birikimi, dolayısıyla iş tecrübesi gerektirebileceğidir.
            Çoktan seçmeli olarak cevap verilen modellemenin nerede/nasıl öğrenildiği sorusunda
         ise katılımcılar modellemeyi en çok üniversitede; sonrasında, kendi kendine ve res-
         mi/sertifikalı eğitimlerden öğrendiklerini belirtmişlerdir. (Bakınız Şekil. 3)




                                                                  645
Üniversitede (örneğin, yazılım ya da bilgisayar mühendisliği derslerinde)
         Kendi kendine (örneğin, kitaplardan, işte çalışırken iş sırasında)                                                Dünya
                                           Resmi/Sertifikalı Eğitimlerden                                                  Türkiye
                                                                              0%     10%    20%    30%     40%     50%

                                        Şekil. 3. Modellemenin nerede/nasıl öğrenildiğinin karşılaştırması

                   Üniversiteden mezun olduktan sonra modellemenin öğrenilmesi oranının ("Kendi kendi-
                ne" ve "Resmi/sertifikalı eğitimlerden" cevapları toplamının oranının) her iki veri kümesin-
                de de aynı olması dikkat çekicidir (%53). Bir önceki cevapla örtüşen bu veri, modelleme
                tecrübesinde yoğunluğun neden 10+ seneden aşağıya doğru kaydığını da açıklamaktadır
                [15]. Bilgisayar tabanlı bölümler dışından mezun olan katılımcılar (örneğin, Elekt-
                rik/Elektronik Mühendisliği) üniversitede modelleme ile ilgili bir ders almadıklarından,
                modellemeyi işte çalışırken iş sırasında, kitaplardan ya da resmi eğitimlerden öğrenmek
                durumunda kalmaktadırlar. Modelleme tecrübesinin yükseltilebilmesi için üniversitede ders
                içerikleri ona göre güncellenmeli, endüstrinin ihtiyaçları göz önüne alınıp akademi-endüstri
                iş birlikleri sağlanmalıdır.


                4.2       Modelleme Yaklaşımları

                Yazılım Yaşam Döngüsünde Modelleme Kullanım Sıklığı
                Katılımcının modellemeyi ne sıklıkla kullandığını sorgulayan soru, modelleme kullanımına
                hem kabataslak diyagram hem de model kullanımını kabul ettiğinden modellemeyi hiç
                kullanmayan katılımcı oranını anlamaya yöneliktir. Türkiye veri setinde yazılım modelle-
                mesini hiç kullanmayanlar %9 iken dünyada ise bu oran %13 seviyesindedir (Bakınız
                Şekil. 4). 5-dereceli kullanım sıklığı sonucuna baktığımızda ise her iki veri kümesinde de
                kullanım “Sıklıkla (>%50)” aralığına düşmektedir. (Kullanım sıklığı hesaplama yöntemine
                [15]'ten ulaşılabilir).

             Her zaman (%100)
                                                                                                                           Dünya
             Çoğunlukla (>%75)
               Sıklıkla (>=%50)
                                                                                                                           Türkiye
                  Bazen (<%50)
                       Asla (%0)

                                   0%       5%         10%        15%         20%     25%    30%     35%     40%     45%

                                                Şekil. 4. Modelleme kullanım sıklığı karşılaştırması

                Hangi Modelleme Dilinin (Dillerinin) Kullanıldığı
                Çoktan seçmeli bu soruya verilen cevaplarda formal bir modelleme dili olan UML kullanım
                sıklığının (birinci sırada) kabataslak çizim yapanlarla (ikinci sırada) çok yakın olması şaşır-
                tıcıdır. Türkiye’de bu iki kullanım arasındaki fark %6 seviyesindeyken, dünyada bu fark
                %15’tir; bu da Türkiye’de kabataslak çizimin daha fazla yapıldığını göstermektedir (Bakı-
                nız Şekil. 5). Bir başka dikkat çekici farklılık, herhangi bir UML profili, Sistem Modelleme
                Dili (Systems Modeling Language, SysML) ve Servis Odaklı Mimari Modelleme Dili (Ser-
                vice-Oriented Architecture Modeling Language, SoaML) kullanımı Dünya veri kümesinde
                Türkiye’den çok daha fazladır. (Sırasıyla, %23’e %8, %17’ye %5 ve %9’a %3)




                                                                               646
                                                            UML
                      Kabataslak Çizim/Formal bir dil kullanmadan
                                            Alana Özgü Dil (AÖD)                                                            Dünya
                                                         MATLAB                                                             Türkiye
                      Herhangi bir iş süreç modelleme dili (BPML)
                            Herhangi bir UML profili (MARTE gibi)
      Sistem Modelleme Dili (Systems Modeling Language, SysML)
Servis Odaklı Mimari Modelleme Dili (Service Oriented Architecture…

                                                                    0%    10%   20%   30%     40%   50%   60%   70%   80%

                                                Şekil. 5. Modelleme dilleri karşılaştırması

                 Kullanıcıya hazır sunulan cevaplar dışında işaretlenen "Diğer" seçeneklerine baktığımız-
              da “Markov Chain Markup Language” kullanımı Türkiye’de %2 seviyesindeyken, bu oran
              dünyada neredeyse yoktur. Bu dilin kullanım detaylarına baktığımızda, yazılım yaşam dön-
              güsünün test evresinde, kullanıcı elektroniği sektöründe kullanıldığı görülmektedir. Belki,
              Türkiye’deki kullanıcı elektroniği sektöründeki katılımcılar, zamanında markete girebilmek
              adına otomatik test altyapılarına daha fazla önem veriyor ve bu sebeple bu modelleme dilini
              kullanıyor olabilir. “Modelica” ise Türkiye veri setinde olmayan ama dünyada %1 seviye-
              sinde kullanılan bir modelleme dilidir.

              Modellemede Hangi Diyagram(lar)ın Kullanıldığı
              5-dereceli kullanım sıklıklarına göre en fazla kullanılan diyagram tipi her iki veri kümesin-
              de de Ardıl Etkileşim (Sequence) çıkmıştır. Durum (State machine/chart) diyagramı dünya-
              da Türkiye’den daha fazla kullanılırken (ikinci sırada, %62’ye %50); Sınıf (Class) diyag-
              ramı ise Türkiye’de dünyaya göre daha fazla kullanılmaktadır (%58’e %55). Etkinlik
              (Activity) diyagramı ise her iki veri kümesinde de dördüncü sırada yer almaktadır. Diyag-
              ram tiplerinin kullanım sıklıkları Şekil. 6’da verilmiştir.




                                   Şekil. 6. Modellemede kullanılan diyagram tipleri karşılaştırması




                                                                         647
      Dikkat çeken noktalar, Kullanıcı Senaryosu (Use Case) diyagramlarının Türkiye veri se-
   tinde (%22’ye %15); AÖD tabanlı diyagramların ise dünyada diğerine göre açık ara önde
   olmasıdır (%27’ye %17). İş süreçleme modelleme diyagramlarının kullanımının her iki veri
   kümesinde de aynı oranda kullanılması da ilgi çekicidir [15].

   Modellemenin Yazılım Yaşam Döngüsünün Hangi Evrelerinde Kullanıldığı
   Yazılım yaşam döngüsü evrelerinden hangilerinde modellemenin kullanıldığını anlamaya
   çalışan bu soruda göze çarpan farklılık, dünyada bakım evresinde modelleme kullanımının
   Türkiye’den çok daha fazla olmasıdır (%29’a %16). Onun dışındaki evrelerde birbirine
   yakın oranlar olmasına rağmen dünyadaki oranlar hep daha yüksektir.
 Sistem/Yazılım Tasarımı                                                                                  Dünya
                  Kodlama                                                                                 Türkiye
Ön Hazırlık/Sistem Analizi
                    Bakım
                       Test
           İş Süreç Analizi
                  Teslimat
              Entegrasyon

                              0%   10%   20%      30%   40%    50%     60%    70%    80%    90%    100%

                          Şekil. 7.Yazılım Yaşam Döngüsü Evresi kullanımı karşılaştırması


   4.3       Model-Güdümlü Teknikler

   Model-Güdümlü Mühendisliğin Ne Sıklıkla Kullanıldığı
   Bu sorudan önce katılımcıya model-güdümlü ve model-tabanlı ile ilgili terminoloji hakkın-
   da bilgi verilip[14] katılımcının MGM'yi ne sıklıkla kullandığı sorulmaktadır. Model-
   güdümlü teknik kullanmayan katılımcılar için (Türkiye’de %66, dünyada %67) bu noktada
   biten ankette katılımcılardan alınan 5-dereceli kullanım sıklığına göre her iki veri kümesin-
   de de MGM kullanımı “Bazen (<%50)” aralığına düşmektedir [15]. Tüm kullanım sıklığı
   karşılaştırması Şekil. 8'de verilmektedir.
 Her zaman (%100)
                                                                                                          Dünya
 Çoğunlukla (>%75)
                                                                                                          Türkiye
   Sıklıkla (>=%50)
      Bazen (<%50)
           Asla (%0)
                       0%          10%      20%         30%      40%         50%     60%          70%

                                    Şekil. 8. MGM kullanım sıklığı karşılaştırması

   Model-Güdümlü Mühendisliğin Ne(ler) İçin Kullanıldığı
   Çoktan seçmeli olan bu soruya verilen cevaplar Şekil. 9’da verilmiştir. Göze çarpan farklı-
   lık Türkiye’de MGM en fazla “Bir problemi soyut bir seviyede anlamak için” (%24) kulla-
   nılırken dünyada ise “Doküman yaratmak için” (%28) kullanılmasıdır. Ankette kullanılan
   "model-güdümlü" terminolojisi dikkate alındığında [12], yazılım yaşam döngüsü ürünleri-
   nin otomatik olarak oluşturulmasının MGM’nin asıl amacı olduğu düşünülürse (kod, do-
   küman, test durumu, MBT vs), dünya veri kümesindeki sonuçların MGM’nin asıl doğasını




                                                         648
                            yansıttığı (“model-tabanlı” mühendisliğin ötesinde); ancak Türkiye’de bu otomatik oluş-
                            turma kullanımı, amaç ve motivasyonu ile ilgili eksiklik olduğu görülmektedir. (Türkiye’de
                            kod ve doküman yaratmak %23 seviyesindeyken, dünyada bu oran %28 seviyesindedir).
                            Zira, "problemi soyut seviyede anlamak" (kod ya da dokümanın otomatik olarak oluşturul-
                            masının aksine) model-tabanlı yaklaşımın da bir parçasıdır ve model-güdümlü tekniklere
                            özgü değildir.
                               Dünyada “Modelden-Modele dönüşüm” %16 seviyesindeyken, bu oranın Türkiye’de
                            %7’de kalması da ayrı bir farklılık olarak göze çarpmaktadır.
                                  Bir problemi soyut bir seviyede anlamak için
                                                                Kod yaratmak için                                                                Dünya
                                                         Doküman yaratmak için                                                                   Türkiye
                                                Tasarımı dokümante etmek için
                                                                        İletişim için
            Test durumu yaratmak için (model based/driven testing, MBT)
                                       ModeldenModele (M2M) dönüşüm için
                                                         Model simülasyonu için

                                                                                        0%        5%      10%         15%     20%    25%   30%

                                                              Şekil. 9. MGM’nin ne için kullanıldığı karşılaştırması

                            Karşılaşılan Model-Güdümlü Mühendislik Zorlukları
                            Çoktan seçmeli olan bu soruya Türkiye’de en çok “Şirketteki modelleme uzmanlığı”, dün-
                            yada ise “Araç desteği” cevapları verilmiştir. (Bakınız Şekil. 10)

                                                            Şirketteki modelleme uzmanlığı
             Araç desteği (Yazılım çıktıları arasındaki senkronizasyonun garantilenmesi)
 Model güdümlü konseptin anlaşılması ve benimsenmesi / Şirketin değişime direnmesi
                                                 Model doğrulama ve onaylama teknikleri
                                                                                        Eğitim                                                               Dünya
Model kalitesi (örneğin, model kalitesini nasıl tanımlar, tahminler, ölçer ve yönetirsin?)                                                                   Türkiye
                                              Modelleme dilleri (Alana özgü dil ihtiyaçları)
                 Otomatik kod üretme ile ilgili optimizasyon ve performans problemleri
Otomatik kod üretme ile ilgili yazılım sertifikası (örneğin, güvenlik-kritik) alma sıkıntıları
                   Modeller arası dönüşüm ya da modelleri birleştirirken çıkan sorunlar

                                                                                                 0%     10%     20%     30%    40%   50%   60%   70%       80%    90%


                                                   Şekil. 10. MGM kullanımında karşılaşılan zorlukların karşılaştırması

                               MGM’nin kullanılan aracın yeteneklerine bağlı olduğu düşünüldüğünde (çünkü yazılım
                            çıktılarının otomatik oluşturulması araç desteği ile sağlanır), MGM kullanımında karşılaşı-
                            lan “Araç desteği (Yazılım çıktıları arasındaki senkronizasyonun garantilenmesi; örneğin,
                            kod, doküman, simülatör)” zorluğunun Türkiye’de %67 seviyesindeyken dünyada %81
                            seviyesinde olması önemli bir farklılıktır. Bir önceki sorudan, Türkiye verisinde kod ve
                            doküman yaratmak için MGM kullanıldığı toplanmış (%24 ve %22); ancak bunların senk-
                            ronizasyonu konusunda dünyada karşılaşılandan daha az oranda sorunla karşılaşıldığı belir-
                            tilmiştir. Bunun farklı nedenleri olabilir: Türkiye’de dünyadan farklı ve amacına uygun




                                                                                                  649
MGM araçları kullanılıyor ve zorluk çekilmiyor olabilir; ya da Türkiye'de bu senkronizas-
yona çok önem verilmiyor ve model üstünden oluşturulan kod, doküman, simülatör vs.’nin
uyumu önemsenmiyor olabilir. MGM’nin “Modelden-Modele dönüşüm” için Türkiye’de az
kullanılıyor olması, ikinci varsayımı güçlendirmektedir.
   Ayrıca, bu soruya verilen “Modeller arası dönüşüm ya da modelleri birleştirirken çıkan
sorunlar (örneğin, farklı projelerdeki iki ayrı modeli nasıl birleştiririz ya da bir projeden
diğerine nasıl taşırız?)” cevabının dünyada %37 seviyesindeyken Türkiye’de %19 seviye-
sinde olması, bu alanda Türkiye gömülü yazılım endüstrisinin ya çok iyi ve sıkıntısız oldu-
ğunu ya da henüz bu konuda farkındalık ve bilgi birikiminin olmadığını göstermektedir.
Alınan genel veriler ve önceki cevaplar ışığında, ikinci varsayım yine daha güçlü durmak-
tadır.
    “Model kalitesi (örneğin, model kalitesini nasıl tanımlar, tahminler, ölçer, geliştirir ve
yönetirsin?)” cevabının dünyada çok daha fazla olması ise bunun Türkiye’de henüz çok
önemsenmediğini ya da gerekli görülmediğini göstermektedir.


5      Tartışma
Karşılaştırma sonuçlarımızın özeti Bölüm 5.1'de, anket çalışmamızın geçerliliğine tehditle-
rini azaltmak ya da hafifletmek için attığımız adımlar 5.2'de ele alınmıştır.


5.1    Bulguların Özeti
Uluslararası bir anket olarak İngilizce hazırlanan ve dünyanın değişik ülke ve gömülü sek-
törlerinden 642 katılımcı alan anket çalışmamızdaki veriler, Türkiye ve diğer 26 ülkenin
gömülü yazılım profesyonellerinden elde edilen veriler olarak iki kümeye ayrıştırılmıştır.
Demografik verilerimize göre, anket verimizde farklı katılımcı ve şirket profillerinden bir
karma oluştuğundan, bulgularımızın belli bir alan ya da sektörden bağımsız olmasına yar-
dımcı olmuştur. Bu alanda ilk olan bu karşılaştırmada öne çıkanlar aşağıda listelenmiştir:

 Her iki veri kümesinde de katılımcıların iş tecrübelerinde yoğunluk 10+ senede iken
  modelleme tecrübesinde yoğunluk aşağıya doğru kaymaktadır.
 Türkiye veri setinde yazılım modellemesini hiç kullanmayanlar %9 iken dünyada ise bu
  oran %13 seviyesindedir.
 Her iki veri kümesinde de formal bir modelleme dili olan UML kullanım sıklığı (birinci
  sırada) kabataslak çizim yapanlarla (ikinci sırada) çok yakındır. Türkiye’de bu iki kulla-
  nım arasındaki fark %6 seviyesindeyken, dünyada %15’tir; bu da Türkiye’de kabataslak
  çizimin daha yaygın olduğunu göstermektedir. Herhangi bir UML profili, SysML ve
  SoaML kullanımı ise dünyada çok daha fazladır.
 En fazla kullanılan diyagram tipi her iki veri kümesinde de Ardıl Etkileşim (Sequence)
  çıkmıştır. Durum (State machine/chart) diyagramı dünyada Türkiye’den daha fazla kul-
  lanılırken (ikinci sırada); Sınıf (Class) diyagramı ise Türkiye’de daha fazla kullanılmak-
  tadır (ikinci sırada).
 Kullanıcı Senaryosu (Use Case) diyagramları Türkiye veri setinde; AÖD tabanlı diyag-
  ramlar ise dünyada diğerine göre açık ara öndedir.
 Dünya veri kümesinde yazılım yaşam döngüsünün bakım evresinde modelleme kullanı-
  mının Türkiye’den çok daha fazla olması dikkat çekicidir (%29’a %16).




                                             650
 Model-güdümlü teknik kullanmayan katılımcılar Türkiye’de %66, dünyada %67 seviye-
  sindeyken, her iki veri kümesinde de MGM kullanımı “Bazen (<%50)” aralığına düş-
  mektedir.
 Türkiye’de MGM en fazla “Bir problemi soyut bir seviyede anlamak için” kullanılırken
  dünyada ise “Doküman yaratmak için” kullanılmaktadır.
 Dünyada “Modelden-Modele dönüşüm” %16 seviyesindeyken, bu oranın Türkiye’de
  %7’de kalması dikkat çekicidir.
 Türkiye’de en çok “Şirketteki modelleme uzmanlığı”, dünyada ise “Araç desteği”
  MGM’de karşılaşılan zorlukların başında gelmektedir.


5.2    Geçerliliğe Tehditler
Anketten elde edilen veriler karşılaştırılırken, standart kontrol listesi temel alınmış [16],
İngilizce olarak hazırlanan anket verimize sınır teşkil edebilecek olası geçerliliğe tehditlerin
azaltılmasına ve ortadan kaldırılmasına çalışılmıştır [7].
    Bu çalışmada, birçok kaynaktan veri toplanmış; yanlı cevap alınmaması adına anket
anonim olarak yapılmıştır. Ölçüm yöntemi, birçok çalışmada kullanılan, her soru için ista-
tistiki çıkarımlar yapmaya dayandığından, sonuçların modelleme yaklaşım teknikleri, kul-
lanım ve görüşlerini yansıttığına ve yapısal geçerliliği sağlandığına inanılmaktadır. İngiliz-
ce olarak hazırlanan bu ankette kullanılan kelimelerin herkes tarafından anlaşılır olması
kaliteli veri toplamak adına önemli olduğundan, ankette uygulanan pilot çalışma ile içsel
geçerlilik güçlendirilmiştir. Dış geçerliliğe tehditlerden birisi katılımcıların demografik
dağılımında yatmaktadır. Yazarların önceki ve şu anki iş tecrübeleri/ çalıştıkları sektörleri
dolayısıyla bireysel gönderilen anket davetlerinin bu sektörlerden diğerlerine göre çok katı-
lımcı alabileceği etkisini azaltmak adına çevrimiçi sosyal ve profesyonel ağlar (örneğin,
Linkedin ve Twitter), forumlar, yazılım mühendisliği ve üniversitelerin ilişkili email grup-
larında duyurular yapılıp anket bir ay süre ile katılımcılara açık tutulmuştur. Sonuç geçerli-
liği olarak ise, bu çalışma, hem endüstri hem de akademik şapkası olan bir araştırmacı ve
iki ayrı üniversiteden akademisyenle birlikte tasarlandığından, sonuçlardaki "fishing" riski-
ni azaltmaktadır. Email daveti ve çevrimiçi ağlardaki profesyonellere yapılan duyuru aynı
link üstünden olduğundan güvenirliğini de artırmıştır. Ölçümlerin güvenirliği de gözden
geçirme ve pilot çalışmalarla desteklenmiştir.


6      Sonuç ve Gelecek Çalışmalar
Türk yazılım sektörünün değeri her geçen gün artmaktadır [17], ancak canlı bir yazılım
sektörüne sahip olmasına rağmen bundan önceki anket çalışmamız dışında [7], Türkiye ile
ilgili herhangi bir veri bulunmamaktadır. Bu çalışma sayesinde ise, Türk gömülü yazılım
endüstrisinde kullanılan modellemenin dünyadaki yeri daha iyi anlaşılmış; benzerlik ve
farklılıkları görülerek modelleme kullanan ve kullanmayı değerlendirenler için yaygın gö-
rüş oluşturulmuştur.
    Gelecekte yapılacak araştırmalar ile bu çalışmada ortaya çıkarılan farklılıkların nedenleri
araştırılıp; bu farklılıkların –olumlu etkisi olacaksa - giderilmesi amacıyla çözüm aranılabi-
lecektir. Bu da olası endüstri-akademi işbirliklerini artıracaktır.
    Bu çalışmada genel bir karşılaştırma yapılmış, çapraz-faktör analizlerine değinilmemiş-
tir. Katılımcı ve şirket/sektör bazında olabilecek bu çapraz-faktör analizleri gelecek çalış-
malar olarak planlamıştır.




                                              651
Teşekkür. Ankete katılan tüm gömülü yazılım profesyonellerine teşekkür ederiz.


Kaynaklar
 1. C. J. Ebert, Capers, "Embedded Software: Facts, Figures, and Future," IEEE Computer Society, vol.
    42, pp. 42-52, 2009.
 2. D. Akdur and V. Garousi, "Model-Driven Engineering in Support of Development, Test and Mainte-
    nance of Communication Middleware: An Industrial Case-Study," in 3rd International Conference on
    Model-Driven Engineering and Software Development, MODELSWARD, France, 2015.
 3. B. Graaf, M. Lormans, and H. Toetenel, "Embedded software engineering: the state of the practice,"
    Software, IEEE, vol. 20, pp. 61-69, 2003.
 4. C. Walls, Embedded Software: Elsevier Inc., 2012.
 5. D. Thomas, "MDA: revenge of the modelers or UML utopia?," Software, IEEE, vol. 21, pp. 15-17,
    2004.
 6. M. Petre, "UML in practice," in Software Engineering (ICSE), 2013 35th International Conference on,
    2013, pp. 722-731.
 7. D. Akdur, V. Garousi, and O. Demirörs, "Gömülü Sistem Mühendisliğinde Kullanılan Yazılım
    Modellemesi ve Model Güdümlü Teknikler Anketi: Türkiye Sonuçları," presented at the 9th Turkish
    National Software Engineering Symposium (In Turkish: Ulusal Yazılım Mühendisliği Sempozyumu
    (UYMS)), İzmir, Turkey, 2015.
 8. M. Broy, S. Kirstan, H. Krcmar, and B. Schätz, "What is the benefit of a model-based design of em-
    bedded software systems in the car industry?," in Emerging Technologies for the Evolution and
    Maintenance of Software Models, ed, 2011, pp. 343-369.
 9. L. T. W. Agner, I. W. Soares, P. C. Stadzisz, and J. M. Simão, "A Brazilian survey on UML and mod-
    el-driven practices for embedded software development," Journal of Systems and Software, vol. 86, pp.
    997-1005, 2013.
10. G. Liebel, N. Marko, M. Tichy, A. Leitner, and J. Hansson, "Assessing the State-of-Practice of Model-
    Based Engineering in the Embedded Systems Domain," in Model-Driven Engineering Languages and
    Systems. vol. 8767, J. Dingel, W. Schulte, I. Ramos, S. Abrahão, and E. Insfran, Eds., ed: Springer In-
    ternational Publishing, 2014, pp. 166-182.
11. G. Liebel, N. Marko, M. Tichy, A. Leitner, and J. Hansson, "Model-based engineering in the embed-
    ded systems domain: an industrial survey on the state-of-practice," Software & Systems Modeling, pp.
    1-23, 2016.
12. M. Brambilla, J. Cabot, and M. Wimmer, "Model-driven software engineering in practice," Synthesis
    Lectures on Software Engineering, vol. 1, 2012.
13. V. C. Basili, G.; Rombach, D.H. , "The Goal Question Metric Approach," in Encyclopedia of Software
    Engineering, ed: Wiley, 1994.
14. D. Akdur, V. Garousi, and O. Demirörs. (2015). Survey on Software Modeling in Embedded Systems
    Engineering. Available: https://drive.google.com/file/d/0BzPI4c-GGTgoeGxwcWtfaVhNZjg/view
15. D. Akdur, O. Demirörs, and V. Garousi, "Gömülü Sistem Mühendisliğinde Kullanılan Yazılım
    Modellemesi ve Model Güdümlü Teknikler Anketi: Türkiye Sonuçları Teknik Raporu," Orta Doğu
    Teknik Üniversitesi, Enformatik Enstitüsü ODTÜ/II-TR-2015-54, 2015.
16. R. Feldt and A. Magazinius, "Validity Threats in Empirical Software Engineering Research-An Initial
    Survey," in SEKE, 2010, pp. 374-379.
17. M. U. Akkaya, Z. Baktır, M. Canlı, A. Çekiç, H. R. Çetin, M. Duran, et al. (2012). The Software Sec-
    tor      in     Turkey      (In       Turkish:    Türkiye'de     Yazılım     Sektörü).      Available:
    http://www.sde.org.tr/userfiles/file/TURKIYEDE_YAZILIM_%20SEKTORU.pdf




                                                   652