<!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>Yazılım Ürün Hatları için Otomatik İşlevsel Büyüklük Ölçümü Yaklaşımı</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Önder Eren</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Barış Özkan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>ve Onur Demirörs</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>ASELSAN A.Ş Savunma Sistem Teknolojileri Grubu</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ankara</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bilişim Sistemleri Mühendisliği</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Atılım Üniversitesi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ankara</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Enformatik Enstitüsü</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Orta Doğu Teknik Üniversitesi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ankara</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Anahtar kelimeler: İşlevsel Büyüklük Ölçümü, Yazılım Ürün Hattı</institution>
          ,
          <addr-line>Arayüz Tabanlı Tasarım</addr-line>
        </aff>
      </contrib-group>
      <fpage>121</fpage>
      <lpage>132</lpage>
      <abstract>
        <p>Öz. Yazılım büyüklük ölçümünü doğru yapmak, düşük maliyetli gömülü sistemler geliştirmek için çok önemlidir. Ancak; yazılım büyüklük ölçümü çok yakın zamana kadar büyük çoğunlukla manuel, zaman harcayan ve hataya açık bir süreç olmuştur. Bu zaman ve para kaybıyla sonuçlanabilir. Bu sürecin otomatize edilmesi yazılım geliştiren şirketlerde projenin kalitesini ve bütçe planlamasını iyileştirmek için bir zorunluluktur. Bu çalışmada bileşen tabanlı yazılım ürün hatlarında gerekli olan bilgiyi UML diyagramlarından alarak işlevsel büyüklüğü hızlı ve yaklaşık bir şekilde ölçebilmek için bir otomasyon yaklaşımı önerilmektedir. Çalışmada yazılım işlevsel büyüklüğü yaklaşımı için bileşen tabanlı yazılım ürün hatları ortamlarında kullanılan UML modelleri esas alınmış, COSMIC işlevsel büyüklük yönteminde önerilen işlevsellik öğeleri ile UML modelleri öğeleri arasında eşleştirme yapılmıştır. Yapılan bir durum çalışmasıyla, arayüz tabanlı tasarım ile hazırlanmış bileşen tabanlı ürün hattında manuel olarak ölçülen işlevsel büyüklüğün tahmin edilebildiği gösterilmiştir. Bu çalışma tamamlandığında, yazılım işlevsel büyüklük ölçümü için gerekli olan zaman ve iş gücünün azaltılması, ölçümün doğruluğunun artırılması ve geriye dönük işlevsel büyüklük hesaplamaları mümkün olacaktır.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Giriş</title>
      <p>
        Ölçme bilimin başlangıç noktası ve mühendisliğin en temel parçası olduğundan
dolayı bir projenin bitirilebilmesi için öngörüde bulunabilmeye yardımcı olmaktadır.
Yazılım büyüklük ölçümü kestirimi projenin tamamlanabilmesi için gerekli
kaynakların belirlenmesinde önemli rol oynamaktadır. Proje yöneticileri yazılım
yönetimi ve planlama yapabilmek için yazılımın tahmini büyüklüğünü mümkün
olduğu kadar hızlı ve yaklaşık bir şekilde bilmelidir[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Yazılım ürün hatları, değişen
müşteri isteklerine daha hızlı cevap verebilmek, daha önce yapılan işi tekrar
yapmamak ve projeyi taahhüt edilen sürede tamamlamak için büyük ve yazılım odaklı
projelerde kullanılır[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Yazılım büyüklüğü ölçümü bazı yazılım firmalarında göz ardı
edildiği için yazılım projeleri genel olarak ya zamanında tamamlanamamakta veya
projenin başlangıcında belirlenen maliyet aşılmaktadır[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Yazılım büyüklük
ölçümünün göz ardı edilme nedeni bu yöntemlerin otomatize edilmemesi nedeniyle
zaman alıcı olması ve deneyim gerektirmesidir[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        Bileşen tabanlı yazılım ürün hattı yaklaşımında bileşen havuzu oluşturularak
bileşenlerin tekrar kullanılabilmesi amaçlanır[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Yazılım ürün hattı yaklaşımında
genel olarak UML (Unified Modeling Language) tabanlı yazılım geliştirme araçları
kullanılır[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Model güdümlü yazılım geliştirme araçları platform bağımsızlığı ve
görsel bir kompozisyon sağladığı için günümüzde yaygın olarak tercih edilir[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. UML
araçları özellikle arayüz tabanlı tasarıma elverişli olması sebebiyle yazılım ürün
hattında bulunan bileşenlerin soyutlanması ve farklı projelerde tekrar kullanılmasında
kolaylık sağlar. Arayüz tabanlı bileşen tasarımında bileşenlerde kullanılacak arayüzler
bileşen yazılmadan önce belirlenmiş olduğundan yazılım büyüklük ölçümü her bir
bileşen için otomatik hale getirilerek yazılım süreci başlamadan bileşenin
büyüklüğünün hesaplanması ve dolayısı ile proje yönetimi sürecinin kolaylaştırılması
mümkün olmaktadır. Bu çalışmada arayüz tabanlı ürün hatları için UML diyagramları
kullanılarak bu sürecin otomatize edilmesi ve bu sayede ölçümün daha hızlı yapılması
ve ölçümü yapan kişinin deneyiminden bağımsızlığının sağlanarak objektif bir bakış
açısı elde edilmesi hedeflenmektedir. Günümüzde yaygın olarak kabul görmüş olan
COSMIC yazılım büyüklük ölçüm yöntemi temel alınarak bu yöntemin arayüz tabanlı
ürün hattı tasarımlarında otomatize edilmesi amaçlanmaktadır. COSMIC yöntemi ile
UML araçları kullanılarak yapılan arayüz tabanlı ürün hattı tasarımları arasında bir
ilişki kurulması ve bu ilişkiden otomatik büyüklük ölçümü yapılması halinde yazılım
büyüklük ölçümünde harcanan iş gücünün azaltılması ve tahminin doğruluğunun
artırılması düşünülmektedir.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>UML Modelleri ile İşlevsel Büyüklük Ölçümü</title>
      <sec id="sec-2-1">
        <title>COSMIC İşlevsel Büyüklük Ölçüm Metodu</title>
        <p>
          COSMIC metodu yaygın şekilde kullanılan ve diğer yazılım büyüklük ölçüm
metotlarının platform bağımlılığı, kodlayan kişiye bağımlılık vb. zayıf yönlerini
barındırmayan güncel ve yenilenmiş bir işlevsel büyüklük metodudur[
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. COSMIC
yönteminde sistem sınırlarından giren her giriş ve sistem sınırlarından çıkan her çıkış
1 fonksiyon puanı alır ayrıca veri tabanına giriş ve veri tabanından çıkışlar da 1 ‘er
puan olarak hesaplanır. Şekil 1’de COSMIC yönteminde işlevsel büyüklük
ölçümünde rol oynayan işlemler gösterilmiştir
x
        </p>
        <p>Giriş (E) bir veri grubunun fonksiyonel kullanıcıdan yazılım sınırlarından
geçerek fonksiyonel süreçte kullanılacağı yere taşınması işlemidir.
Çıkış (X) bir veri grubunun fonksiyonel süreçten yazılım sınırlarından
geçerek fonksiyonel kullanıcıya taşınması işlemidir.</p>
        <p>Şekil 1 - Veri Hareket Tipleri
Okuma (R) bir veri grubunun kalıcı bellekten fonksiyonel süreçte
kullanılacağı yere taşınması işlemidir.</p>
        <sec id="sec-2-1-1">
          <title>Yazma (W) bir veri grubunun fonksiyonel süreçten kalıcı belleğe taşınması işlemidir.</title>
          <p>
            Toplam fonksiyon puanı her bir okuma, yazma, giriş ve çıkışların sayılarının
toplamları toplanarak hesaplanır.
Ürün Hattında Arayüz Tabanlı Tasarım
Arayüz tabanlı tasarım, sağlayıcı ve kullanıcı bileşenler arasında arayüzler esas
alınarak hazırlanan bir yazılım mimarisidir[
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]. Bu tasarım nesne tabanlı yazılım
mimarisi sınırları içerisinde kalarak bileşen tabanlı ürün hattı ile uyum içinde
çalışması amacı ile yapılmıştır[
            <xref ref-type="bibr" rid="ref10">10</xref>
            ]. Ara yüz tabanlı tasarım UML tasarım kavramı ile
de uyumludur. Bu metot sayesinde bileşenler Şekil 2’deki gibi belirli arayüzelere
uygun olarak ortak bir amacı gerçekleştirmek üzere uyum içinde çalışan çevreden
soyutlanmış kutular olarak tasarlanır[
            <xref ref-type="bibr" rid="ref11">11</xref>
            ].
          </p>
          <p>
            Arayüz tabanlı tasarımda, bileşenin kullanıcısı önceden belirlenmiş arayüze uygun
olarak bileşene istediği girdileri vererek, bileşen tarafından verilen çıktıları
kullanabilmektedir.[
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]. Kullanıcı bileşen sınırları içerisindeki işlemlerle
ilgilenmediğinden, bileşenler bir kere test edilerek onaylandıktan sonra sorunsuz
olarak herhangi bir yazılıma entegre edilebilmektedir.[
            <xref ref-type="bibr" rid="ref11">11</xref>
            ].
          </p>
          <p>Şekil 2 - Bileşen Etkileşimi
Arayüz Tabanlı Tasarım ile COSMIC Yönteminin Birleştirilerek Otomatize
Büyüklük Ölçüm Metodu Uygulama
Ürün hatlarında yapılan arayüz tabanlı tasarımlarda arayüzler bileşeni kodlamadan
önce belirlenmiş olduğundan yazılımın girdi ve çıktıları büyük oranda belirlidir.
COSMIC metodu ile uyumlu olarak düşünüldüğünde bir bileşenin arayüzündeki
eleman sayısı bileşenin büyüklüğü ile alakalı olmalıdır. Bu çalışmada bir ürün hattı
bileşeninin sağlanmış ve gereksinilmiş arayüzlerini inceleyerek ve COSMIC yöntemi
temel alınarak otomatize ve hızlı bir büyüklük tahmini yapılması amaçlanmıştır. Elde
edilen sonuçlar COSMIC yöntemiyle manuel olarak bulunan sonuçlar ile
karşılaştırılmış ve bir ilgileşim bulunmaya çalışılmıştır. Bu analizden elde edilecek
sonuç hazırlanan otomatize yöntemin ürün hattındaki arayüz tabanlı tasarımlarda
büyüklük ölçümünün COSMIC bazında anlamlı sonuç çıkarıp çıkarmadığı açıklığa
kavuşacaktır.</p>
          <p>Tablo 1- UML COSMIC İlişkisi</p>
          <p>COSMIC</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Kavramı</title>
        <p>Yazılım Sınırı</p>
        <sec id="sec-2-2-1">
          <title>Fonksiyonel</title>
          <p>Kullanıcı</p>
          <p>UML Karşılığı
Bileşen Diyagramı
Kullanım Durumu
Diyagramı ve Bileşen
Diyagramı</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>Tetikleyen Olay</title>
          <p>Bileşen Diyagramı
Kalıcı Veri Grubu
Bileşen Diyagramı ve
Sınıf Diyagramı</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>UML Elemanı</title>
        <p>Bileşenin sınırları
Sisteme direkt olarak bağlanan
harici bileşenler
Harici bileşen tarafından gelen
tetikleyici olaylar</p>
        <p>Sınıf</p>
        <sec id="sec-2-3-1">
          <title>Konuk Veri Grubu</title>
          <p>Süreç
Kullanım Durumu
Diyagramı ve Akış
Diyagramı
Giriş Veri Hareketi
Akış Diyagramı
Çıkış Veri Hareketi
Akış Diyagramı</p>
        </sec>
        <sec id="sec-2-3-2">
          <title>Okuma/Yazma</title>
        </sec>
        <sec id="sec-2-3-3">
          <title>Veri Hareketi</title>
          <p>Akış Diyagramı</p>
          <p>Harici bileşenler tarafından
gönderilen fonksiyonlar ve bu
fonksiyon içerisindeki</p>
          <p>argümanlar
Akış diyagramında gösterilen</p>
          <p>süreç
Harici yazılım bileşeninden
gelen olay ve fonksiyonlar</p>
          <p>(Sağlanmış Ara yüz)
Harici yazılım bileşeninden
gelen olay ve fonksiyonlar</p>
          <p>(Gereksinim Ara yüzü)
Sınıf içerisinde yer alan kalıcı
değişkenler</p>
          <p>UML COSMIC İlişkisi tablosu göz önüne alındığında UML ve COSMIC metodu
birleştirildiğinde arayüz tabanlı tasarım ile hazırlanmış ürün hatlarında bileşenlerin
büyüklüğünü hesaplama işlemi otomatize edilebilir. ASELSAN Silah Sistemleri ve
Modernizasyonları ekibinin ürün hattında yer alan bileşenler farklı projelerin
ihtiyaçlarını karşılamak ve aynı bileşen için tekrar kodlama ve test faaliyeti
yürütmemek için hazırlanmıştır. Bir projede kullanılacak birim kodu ürün hattında
varsa projeden bu ürün hattına referans verilerek kod ortak havuzdan kullanılır.</p>
          <p>Bileşen sınırlarını ve bileşen arayüzlerini daha iyi ifade edebilmek için bir
bileşeninin (Bileşen_7) nesne model diyagramı Şekil 3’te gösterilmiştir. Bileşen_7 bir
kamera bileşenidir. Bu kamera paket halinde termal, TV ve lazer içermektedir.
Bileşen veri haberleşmesini seri kanal aracılığı ile yapmaktadır. Bileşen içerisinde
yapılmış tasarıma göre TV, termal ve lazer işlemlerini yürütebilmesi için 3 adet sınıf
ve bu sınıfların seri kanaldan veri gönderebilmesi ve alabilmesi için ortak bir
haberleşme sınıfı hazırlanmıştır. Bileşen sınırlarında yer alan portlar bileşeni kullanan
sınıflar ile haberleşebilmek için gerekli arayüzleri içermektedir. Bileşenin kullanıcısı
bileşen sınırları içerisinde yapılan işlerden bağımsız olarak girdilerini bu kanallar
üzerinden vererek çıktıları yine bu kanallardan almaktadır.
Şekil 3 – Bileşen_7’nin Nesne Model Diyagramı</p>
          <p>Kamera bileşeni içerisindeki port Thermal portunda yer alan önceden tanımlanmış
arayüz ve bu arayüzlerdeki fonksiyon ve olay elemanları Şekil 4’te gösteriliyor. Bu
arayüzler daha önce de belirtildiği gibi önceden hazırlanmış arayüzlerdir.
ICommonControlProvided arayüzü her bileşen için ortak olan ve her bileşende o
bileşenin başlatılması kapatılması hatalarının iletilmesi vb. işlemlerin üzerinden
yürütüldüğü arayüzdür. ICameraProvided arayüzü ise kamera bileşenleri için
hazırlanan ve yalnızca bir kameranın sağlaması gereken temel fonksiyon ve olayları
barındıran arayüzdür. Kamera bileşeninde tanımlanmamış bir fonksiyon sağlanıyorsa
genişletilmiş (extended) bir arayüz eklenerek bu özellikler de dahil edilir.
Şekil 4 – Bileşen_7’nin Arayüzleri
3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Durum Çalışması</title>
      <p>ASELSAN Silah Sistemleri ve Modernizasyonları ekibinde yazılım büyüklük ölçümü
genel olarak geçmiş tecrübelerle elde edilen deneysel verilere dayandırılmıştır. Yeni
bir bileşen yazılacağında geçmiş veri göz önüne alınarak bir büyüklük tahmini
yapılmaktadır. Ürün hattındaki bileşen arayüzleri iyi tanımlanmış olduğundan yeni bir
bileşen yazılacağında kullanılacak arayüzler önceden belirlenmiştir. Dolayısı ile
arayüzlerde yer alan girdi ve çıktılar yazılım büyüklüğü ile COSMIC bazında
ilişkilendirilebilir elemanlar olmaktadır. Bu çalışmada ihtiyaç duyulan veriyi
toplamak için ASELSAN Silah Sistemleri ve Modernizasyonları yazılım ürün hattı
kullanılmıştır. Ara yüzde bileşen tiplerine göre 15 adet bileşen seçilmiştir.
Bileşenlerin isimleri gizlilik nedeni ile verilmeyerek numaralandırılmıştır.</p>
      <p>Öncelikle bileşenlerin büyüklüğü el yordamıyla COSMIC işlevsel büyüklük ölçüm
metodu ile hesaplanmıştır. Daha sonra ürün hattındaki bileşenlerin arayüzlerindeki
eleman sayıları göz önüne alınarak COSMIC ile arayüz elemanlarının sayısı
arasındaki ilişkiye bakılmıştır. Tablo 2’de görüldüğü üzere İB kolonu her bir bileşen
için el yordamıyla hesaplanan işlevsel büyüklükleri, FS arayüzdeki fonksiyon sayısını
OS arayüzdeki olay sayısını ve ES ise arayüzdeki toplam eleman sayısını (FS + OS)
göstermektedir. Kullanılan Rhapsody UML aracı için bir eklenti hazırlayarak bu
bileşenlerin geçirgen (ing. non-behavioral) portlarından giriş ve çıkışlardaki
fonksiyon ve olayların toplamını bulan bir kod geliştirilmiştir. Burada daha önceden
bahsedilen COSMIC kavramlarından yazılım sınırı olarak bu bileşenin sınırlarının
alındığı ve giriş ve çıkışlar için de harici bileşen ve yazılımlarla haberleşmek için
kullanılan olay ve fonksiyonların kullanıldığı görülebilmektedir.</p>
      <p>Tablo 2 – Ürün Hattı Bileşen Bilgileri
Şekil 5’te arayüzdeki toplam eleman sayısına göre değişen işlevsel büyüklük
grafiği görülmektedir.</p>
      <p>Şekil 5 – İşlevsel Büyüklük ve Eleman Sayısı İlgileşimi</p>
      <p>Bileşenler için işlevsel büyüklük ve fonksiyon ve olay sayıları hesaplandıktan
sonra bu bileşenler için arayüzdeki elemanların tip ve sayılarından yola çıkarak
işlevsel büyüklüğü tahmin etmek amacıyla Çoklu Lineer Yaklaşım (ing. Multiple
Linear Regression) analizi yapılmıştır. Çoklu Lineer Yaklaşım metodu bir değişkeni
bağımlı diğer değişkenler bağımsız seçilerek yapıldığından bu yaklaşım yöntemi
yapılacak işlevsel büyüklük tahmini için uygun bulunmuştur. Çoklu Lineer Yaklaşım
metodu ile yapılan analizler sonucunda Tablo-3’te görüldüğü üzere FS ve OS
bağımsız değişkenleri İB ile sırasıyla 0,859 ve 0,879 gibi yüksek bir ilgileşime
sahiptirler.</p>
      <p>Tablo 3 - Pearson İlgileşimi</p>
      <p>Pearson İlgileşimi
İB
FS
OS</p>
      <p>İB
1,000
,859
,879</p>
      <p>FS
,859
1,000
,609</p>
      <p>OS
,879
,609
1,000</p>
      <p>Tahmini işlevsel büyüklüğün (TİB) arayüzdeki fonksiyon ve olay sayısı ile
arasındaki ilişki, çoklu lineer yaklaşım ile elde edilen Tablo-4’teki katsayılara göre
aşağıdaki fonksiyon ile ifade edilmektedir.</p>
      <p>TİB = 3,588 + 2,313 * FS + 0,921 * OS</p>
      <p>Tablo-4’te görüldüğü gibi FS ve OS bağımsız değişkeleri istatistiksel olarak
anlamlıdır (Sig&lt;0.05).</p>
      <p>Tablo 4 - Katsayılar Tablosu</p>
      <sec id="sec-3-1">
        <title>Model 1 (Constant) FS</title>
        <p>OS</p>
      </sec>
      <sec id="sec-3-2">
        <title>Unstandardized</title>
      </sec>
      <sec id="sec-3-3">
        <title>Coefficients</title>
        <p>B
3,588
2,313
,921</p>
      </sec>
      <sec id="sec-3-4">
        <title>Std. Error 6,960 ,404 ,146</title>
      </sec>
      <sec id="sec-3-5">
        <title>Standardized</title>
      </sec>
      <sec id="sec-3-6">
        <title>Coefficients Beta ,514 ,566</title>
        <p>t</p>
        <p>,516
5,725
6,297</p>
        <p>Sig.</p>
        <p>,616
,000
,000</p>
        <p>Tablo 5’te görüldüğü gibi işlevsel büyüklüğü ölçmekte kullandığımız tahminin
istatistiki olarak anlamlı olduğu sonucu çıkmaktadır. (F(2,12) = 92.563, p&lt;.001).
Tablo 5 - ANOVA Analizi</p>
      </sec>
      <sec id="sec-3-7">
        <title>Model 1</title>
      </sec>
      <sec id="sec-3-8">
        <title>Regression</title>
      </sec>
      <sec id="sec-3-9">
        <title>Residual</title>
      </sec>
      <sec id="sec-3-10">
        <title>Total</title>
        <p>Sum of Squares
44716,771
2898,562
47615,333
df
2
12
14</p>
      </sec>
      <sec id="sec-3-11">
        <title>Mean Square F 22358,385 92,563</title>
        <p>Sig.</p>
        <p>,000b
241,547
Çoklu lineer yaklaşım sonucunda elde edilen Tablo 5’teki model özetine göre
işlevsel büyüklüğü tahmin etmekte kullanılan fonksiyonda standart tahmin hatasının
%15 olduğu görülmektedir. Tablo 5’te görüldüğü gibi “R Square” değeri 0,939’dur.
Bu da işlevsel büyüklüğün değişiminin arayüzdeki elemanlar ile %93 oranında
açıklanabildiğini göstermektedir.</p>
        <p>Tablo 6 - Model Özeti</p>
      </sec>
      <sec id="sec-3-12">
        <title>Model</title>
        <p>1</p>
        <p>R
,969a</p>
      </sec>
      <sec id="sec-3-13">
        <title>R Square ,939</title>
      </sec>
      <sec id="sec-3-14">
        <title>Adjusted R Square</title>
      </sec>
      <sec id="sec-3-15">
        <title>Std. Error of the Estimate ,929 15,542</title>
        <p>ASELSAN Silah Sitemleri ve Modernizasyonları için yukarıda ifade edilen
büyüklük tahmini ile elde edilen bileşenlerin tahmini işlevsel büyüklüklerinin hata
yüzdeleri Tablo 7’de verilmiştir.</p>
        <p>Tablo 7 - İB ve Tahmini İB Karşılaştırması</p>
        <p>Tahmini İB
11
43
48
20
45
144
175
192
134
46
57
57
62
49
50
%Hata
52
8
61
1
26
7
12
12
14
28
15
0
20
7
16</p>
        <p>Çalışma Kısıtları
Bu çalışma devam eden bir tez çalışmasına girdi sağlama amacı ile gerçekleştirilmiş
bir keşif (ing. explorative) çalışmasıdır. Çalışma arayüz tabanlı tasarım ile
hazırlanmış bileşen tabanlı ürün hatlarında yapıldığı için sonuçlar başka mimari
tasarımlı ürün hatlarında genelleştirilemeyebilir. Çıkan tahmin fonksiyonu çalışmanın
yapıldığı ürün hattına özeldir başka bir ürün hattında aynı katsayılar elde
edilemeyebilir. Analiz için kullanılan veri kümesi küçüktür, dolayısı ile istatistiksel
analizlerden elde edilen sonuçların gücü kısıtlıdır. Ürün hattında ele alınan bileşen
sayısı artırılarak işlevsel büyüklük yaklaşımı daha doğru sonuçlar verebilir.</p>
        <p>Başka bir çalışma kısıtı da işlevsel büyüklük ölçümlerinin bu çalışmanın ana yazarı
tarafından yapılmış olmasıdır. Birden fazla kişi ile yapılması daha güvenli bir işlevsel
büyüklük tahmini elde etmeye yardımcı olacaktır.
5</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Sonuç ve Gelecek Çalışmalar</title>
      <p>COSMIC işlevsel büyüklük ölçüm metodundan elde edilen işlevsel büyüklük arayüz
tabanlı tasarımı ile hazırlanmış ürün hatlarındaki bileşenlerin arayüzlerindeki olay ve
fonksiyon sayısı ile paralellik göstermektedir. İki bileşenden arayüzünde daha fazla
fonksiyon ve olay bulunanın işlevsel büyüklüğünün daha fazla olduğu görülmektedir.
Arayüz tabanlı tasarım yapılmış ürün hatlarında yeni bir bileşen hazırlanacağında
bileşenin işlevsel büyüklüğü bileşen için önceden bilinen arayüzlere göre
hazırlanacağından bileşenlerin işlevsel büyüklükleri önerilen yöntem ile hızlı ve
doğruluk payı kabul edilebilir şekilde tahmin edilebilir. Bu şekilde geçmiş tecrübeye
dayandırılan işlevsel büyüklük tahminleri bir metoda oturtularak geçmiş tecrübeye
dayalı olmaktan çıkarılır. Geçmiş tecrübe ile yapılan tahminlerde hata payı istatistiki
olarak %25 ile %30 civarında bulunmaktadır. Tasarım tabanlı arayüzlerde yer alan
elemanlara bakılarak yapılan tahminde ise yapılan hatanın mutlak ortalaması %15
olarak bulunmaktadır. Tahminin doğruluğunun artırılması amacıyla UML’den elde
edilebilecek başka girdiler araştırılarak işlevsel büyüklüğün tahminindeki doğruluk
payının artırılması planlanmaktadır. UML şemaları ile COSMIC işlevsel büyüklük
metodu konseptleri arasında hazırlanan ilişkilendirme detaylandırılarak tahmin yerine
ölçümün yapılması planlanmaktadır.</p>
    </sec>
    <sec id="sec-5">
      <title>Kaynakça</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Pressman</surname>
            ,
            <given-names>R. S.</given-names>
          </string-name>
          (
          <year>2001</year>
          ).
          <article-title>Software Engineering: A Practicioner's Approach. McGraw Hill</article-title>
          .
          <source>ISBN: 0-07-365578-3</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Dikel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kane</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ornburn</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loftus</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          &amp; Wilson,
          <string-name>
            <surname>J.</surname>
          </string-name>
          (
          <year>1997</year>
          ).
          <article-title>Applying Software Product-Line Architecture.</article-title>
          .
          <source>IEEE Computer</source>
          ,
          <volume>30</volume>
          ,
          <fpage>49</fpage>
          -
          <lpage>55</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Moløkken</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Jørgensen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2003</year>
          ).
          <article-title>A Review of Surveys on Software Effort Estimation.</article-title>
          .
          <source>ISESE</source>
          (p./pp.
          <fpage>223</fpage>
          -
          <lpage>231</lpage>
          ), : IEEE Computer Society. ISBN:
          <fpage>0</fpage>
          -
          <lpage>7695</lpage>
          -2002-2
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Verner</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Tate</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>1992</year>
          ).
          <article-title>A Software Size Model.</article-title>
          .
          <source>IEEE Trans. Software Eng.</source>
          ,
          <volume>18</volume>
          ,
          <fpage>265</fpage>
          -
          <lpage>278</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Völter</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Groher</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          (
          <year>2007</year>
          ).
          <article-title>Product Line Implementation using Aspect-Oriented and Model-Driven Software Development.</article-title>
          .
          <source>SPLC</source>
          (p./pp.
          <fpage>233</fpage>
          -
          <lpage>242</lpage>
          ), : IEEE Com- puter Society
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ziadi</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , H´elou¨et, L. &amp; J´ez´equel, J.-M. (
          <year>2003</year>
          ).
          <article-title>Towards a UML Profile for Software Product Lines.</article-title>
          . In F. van der Linden (ed.),
          <source>PFE</source>
          (p./pp.
          <fpage>129</fpage>
          -
          <lpage>139</lpage>
          ), : Springer.
          <source>ISBN: 3-540- 21941-2</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Krajnc</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hericko</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerlec</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goljat</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Polancic</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>Experimental investigation of the quality and productivity of software factories based develop- ment</article-title>
          ..
          <source>Comput. Sci. Inf</source>
          . Syst.,
          <volume>9</volume>
          ,
          <fpage>667</fpage>
          -
          <lpage>689</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>COSMIC - Common Software Measurement International Consortium: The COS- MIC Functional</surname>
          </string-name>
          <article-title>Size Measurement Method - version 3.0.1 Measurement Manual (The COSMIC Implementation Guide for ISO</article-title>
          /IEC 19761:
          <year>2003</year>
          ), May
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Jezequel</surname>
          </string-name>
          , J.-M. &amp;
          <string-name>
            <surname>Meyer</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          (
          <year>1997</year>
          ).
          <article-title>Design by Contract: The Lessons of Ariane</article-title>
          . IEEE Computer,
          <volume>30</volume>
          ,
          <fpage>129</fpage>
          -
          <lpage>130</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Garion</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>van der Torre</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          (
          <year>2005</year>
          ).
          <article-title>Design by Contract Deontic Design Lan- guage for Multiagent Systems.</article-title>
          . In O. Boissier,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Padget</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Dignum</surname>
          </string-name>
          , G. Lin- demann, E. T. Matson,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ossowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Sichman</surname>
          </string-name>
          &amp;
          <string-name>
            <surname>J. V´</surname>
          </string-name>
          azquez-Salceda (eds.),
          <source>AAMAS Workshops</source>
          (p./pp.
          <fpage>170</fpage>
          -
          <lpage>182</lpage>
          ), : Springer. ISBN:
          <fpage>3</fpage>
          -
          <lpage>540</lpage>
          -35173-6.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Cheesman</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Daniels</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Szyperski</surname>
            ,
            <given-names>C</given-names>
          </string-name>
          . (ed.) (
          <year>2001</year>
          ).
          <article-title>UML Components - A Simple Process for Specifying Component-Based Software</article-title>
          . Addison-Wesley,
          <string-name>
            <given-names>M.</given-names>
            <surname>Klein</surname>
          </string-name>
          , and T. W. Malone, “
          <article-title>Programming the Global Brain,” Commun</article-title>
          . ACM, vol.
          <volume>55</volume>
          , no.
          <issue>5</issue>
          , pp.
          <fpage>41</fpage>
          -
          <lpage>43</lpage>
          , May
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>