<!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>R-COVER: Yazılım Büyüklük Ölçümü Hata Tespit Aracı</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Gökçen Yılmaz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Seçkin Tunalılar</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Onur Demirörs</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Anahtar Kelimeler. İşlevsel Büyüklük Ölçümü</institution>
          ,
          <addr-line>Güvenilirlik, Hata Kategorileri, Hata Yakalama, Hata Yakalama Aracı, COSMIC</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Enformatik Enstitüsü</institution>
          ,
          <addr-line>Bilişim Sistemleri Bölümü, ODTÜ, Ankara</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>MGEO Grubu</institution>
          ,
          <addr-line>Aselsan, Ankara</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Özet. Maliyet ve bütçe tahminleri, süreç kıyaslama ve proje kontrolü gibi yazılım proje yönetimi aktivitelerinin pek çoğu yazılım işlevsel büyüklük ölçümlerine bağlı olduğu için bu değerin ölçümü ve güvenilirliği çok önemlidir. Bu sebeple, İşlevsel büyüklük ölçümlerin güvenilirliğini artırmak için, ölçüm sürecinin sonunda büyüklük dokümanları kontrol edilmeli ve gözden geçirilmelidir. Ancak, ölçümlerdeki hataları tespit etmek için yapılan ve kişilere bağlı olan manüel gözden geçirme yöntemi zaman ve emek alıcı bir işlemdir. Ayrıca ölçümlerde var olan hataları gözden kaçırma olasılığı da bulunmaktadır. Bu tür sorunları aşmak için, büyüklük dokümanlarını otomatik olarak kontrol eden bir araç geliştirilmesine ihtiyaç vardır. Bu amaçla, bu çalışmada günümüzün en çok kullanılan COSMIC İşlevsel Büyüklük Ölçüm yöntemi için bir yazılım aracı, R-COVER geliştirilmiştir. Bu makalede, bu aracın geliştirilme süreci ve aracın hataları doğru olarak tespit etme açısından verimliliğini gösteren vaka çalışmalarının ilk sonuçları sunulmuştur. Araç ilk olarak Yönetim Bilişim Sistemleri projeleri için geliştirilmiş olup, ileride yapılacak güncellemeler ile gerçek zamanlı ve gömülü sistem yazılımları gibi pek çok yazılım türüne yönelik kullanılabilecektir.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Giriş</title>
      <p>
        Yazılım proje aktiviteleri ve planları büyüklük ölçümlerine dayandığı için ölçümlerin
güvenilir ve doğru olması çok kritiktir. Ölçüm sonuçlarının kalitesini artırmak için
araştırmacılar, ölçüm sonuçlarındaki tekrarlanabilirliği arttıran yeni kılavuzların
oluşturulması [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], ölçüm yaklaşımını standartlaştırmak için standart ölçüm
şablonlarının oluşturulması [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], ileride kullanmak için ölçüm sonuçlarının
belgelenmesi [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], Yazılım gereksinim Dokümanlarının (YGD)kalitesinin arttırılması [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] ,
uzmanlar tarafından karşılıklı kontrol yöntemi ile ölçümlerin doğrulanması [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]
[
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] ve çeşitli yaklaşımları entegre eden metodolojiler [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] gibi farklı ve değerli
yaklaşımları önermektedirler. Tekrarlanabilir ve doğru ölçümlere ulaşabilmek için, bu
yaklaşımlar ile ölçüm sırasında hataları önlemek mümkünse de ölçüm
tamamlandığında, ölçüm hatalarının tespitini sağlayan süreçlere de ihtiyaç
bulunmaktadır. Bu amaçla, COSMIC tarafından bir kılavuz "Ölçüm Doğruluğunun Sağlanması
için Kılavuz" yayımlanmıştır [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], Bu kılavuz COSMIC İşlevsel Büyüklük Ölçüm
(İBÖ) metodu ile ölçülmüş ölçümlerdeki hataların tespiti için bir takım yöntemler
tanımlamakta ve genel hata kategorilerini sınıflandırmaktadır. Ayrıca, yazılım
projelerinin işlevsel büyüklük ölçümlerinin ortak kusurları ve sorunlarını [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] ve
ayrıntılı hata kategorilerini [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] tespit etmek için bir dizi araştırma da yapılmıştır.
Fakat tüm bu çalışmalarda, ölçümlerdeki ortak sorunlar ve kusurlar uzman görüşü ile
manüel olarak bulunmuştur. Hata tespitinin uzmanlar tarafından manüel olarak
yapılması zaman alıcı bir iştir. Daha önceki ölçümlerde karşılaşılan ve standartlarda
yazmayan her türlü beklenmedik durumu ve bu durumlardaki varsayımları çok iyi
hatırlayan, yorumlayan iyi eğitimli ve sertifikalı uzmanların bu çalışmalarda görev
alması gerekir.
      </p>
      <p>
        Ölçümlerdeki hataların tespiti için gerekli süreyi azaltmak, ölçüm doğrulamayı
standardize etmek, hataların gözden kaçma olasılığını ortadan kaldırarak, insan
kaynaklı ölçüm hatalarını önlemek için bu hataları otomatik olarak yakalayan ve ölçüm
yapan uzmanları yönlendiren özel bir araca gereksinim vardır. Literatürde, COSMIC
İBÖ [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] yöntemini otomatik olarak gerçekleştiren bazı yaklaşımlar [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] bulunmasına
rağmen, ölçümlerdeki hataları otomatik olarak yakalayan bir araç ya da bir yaklaşım
önerisi bulunmamaktadır.
      </p>
      <p>
        Bu araştırmada, bu amaçla geliştirdiğimiz "R-COVER Aracı" geliştirme
faaliyetleri ve sonuçları sunulmuştur. Hata tespiti yapılacak yazılım cinsleri için öncelikle hata
kategorileri belirlenmiş ve bu Hata Kategorilerine (HK) bağlı olarak [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], hata tespit
yaklaşımı ve algoritmaları geliştirilmiştir. Araç geliştirilirken, Yönetim Bilişim
Sistemleri (YBS) uygulama tipleri göz önüne alınarak HK oluşturulmasına rağmen
ileride gerçek zamanlı sistemlere de uygulanabilmesi amacı ile bu yönde de incelemeler
yapılmış ve ilk bulgular sunulmuştur.
      </p>
      <p>Çalışmanın geri kalanı şu şekilde düzenlenmiştir; bölüm 2’de ilgili literatür
araştırmaları özetlenmiş, bölüm 3’te ise çalışmanın amaçları ve yapılan vaka çalışması
verilmiştir. Vaka çalışmalarının sonuçları bölüm 4’te sunulurken, çalışmanın
geçerliliğini tehdit eden faktörler bölüm 5’te anlatılmıştır. Son olarak sonuçlar ve gelecekte
yapılabilecek olası çalışmalar ise bölüm 6'da verilmektedir.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Literatür</title>
      <p>
        Yazılım büyüklüğünü ölçmek için kullanılan metriklerden birisi olan Fonksiyon
Nokta, 1979 yılında Albrecht tarafından öne sürülmüştür [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. Fonksiyon nokta yazılımın
büyüklüğünü yazılımın işlevselliği açısından ölçmektedir. Zaman içerisinde
Fonksiyon Nokta Analizi (FNA) olarak bilinen yöntem sıklıkla kullanılan bir işlevsel
büyüklük ölçüm yöntemi haline gelmiştir ve yöntemin türevleri ortaya çıkmıştır [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>
        COSMİC İBÖ son yıllarda sıklıkla kullanılan büyüklük ölçüm yöntemlerinden
biridir. Şuanda ISO tarafından onaylanmış 5 adet yöntem bulunmaktadır. Bunlar;
ISO/IEC 19761 (ISO/IEC, 2003b), ISO/IEC 20926 [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], ISO/IEC 24570 [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], ISO/IEC
29881 [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] ve ISO/IEC 20968 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] şeklinde sıralanabilir.
      </p>
      <p>
        Mevcut veri tabanımızda, aracın hata tespit doğruluğunu belirlemek için yapılacak
olan durum çalışmasında kullanılabilecek COSMIC İBÖ metodu ile ölçülmüş çok
sayıda projeye ait ölçüm dokümanları bulunmaktadır. Bu nedenle çalışma kapsamında
popüler, tüm yazılım tipleri için uygulanabilir ve dünyaca kabul edilen son
metotlardan biri olarak COSMIC İBÖ yöntemi [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] seçilmiştir.
      </p>
      <p>
        COSMIC İBÖ’mü ile yazılım gereksinim dokümanı temel alınarak yazılımın
işlevselliği ölçülür. COSMIC İBÖ’nün Fonksiyonel Kullanıcı Gereksinimi (FKG),
Fonksiyonel Süreç (FS), Veri Hareketi (VH), İlgi Nesnesi (İN), Veri Grubu (VG) ve Veri
Özniteliği (VÖ) olmak üzere 6 ana bileşeni bulunmaktadır. Yönteme göre bu
bileşenlerden VÖ’nin belirlenmesi diğer bileşenler gibi zorunlu tutulmamış, ölçüm
uzmanının inisiyatifine bırakılmıştır [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] :
      </p>
      <p>FKG yazılımın ne yapacağını tanımlayan kullanıcı gereksinimlerinin alt kümesidir.
FS, bir grup VH’inden meydana gelmiş FKG’lerinin temel parçasıdır.
İN, fonksiyonel kullanıcı açısından tanımlandığında verini saklandığı varlıktır. İlgi
nesneleri veri tabanında tablolara denk gelmektedir.</p>
      <p>VG ise herhangi bir ilgi nesnesi ile ilişikli olan ve bir grup veri özniteliğinin bir
araya gelmesinden oluşmuş veri kümeleridir.</p>
      <p>VÖ, kullanıcı açısından anlam taşıyan, bir veri grubunun en küçük parçasıdır.</p>
      <p>VH, fonksiyonel kullanıcılar ve uygulama arasında veri taşırlar.
Şekil 1’de görüldüğü gibi 4 FS tipi bulunmaktadır. Büyüklük hesaplanırken her FS
için ―Giriş‖ ―Çıkış‖ ―Okuma‖ ―Yazma‖ işlemlerinin sayısı göz önünde bulundurulur.
Fonksiyonel kullanıcılar ―kişi‖, makine, ya da bir başka yazılım olabilir.</p>
      <p>
        Şekil 1. VH tipleri ve bunların FS ve VG ile olan ilişkisi [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
İşlevsel büyüklük ölçümlerinin güvenilirliği yazılım mühendisliği araştırma
alanlarının önemli konularından biridir. Yazılım projelerinin efor, maliyet ve bütçelerini
doğru kestirmek için, uygulamaların işlevsel büyüklük ölçümleri doğru ölçülmelidir.
Ölçüm hataları proje yönetimi ve kontrolünde hatalara sebep olabileceği için, ölçüm
hatalarının önlenmesi gereklidir [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Bu nedenle işlevsel büyüklük ölçümlerinin
güvenilirliğini azaltan hataların kaynaklarını araştırma ve gidermeye yönelik bir dizi
araştırma yapılmıştır [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ][
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        Kemerer ve Porter, işlevsel büyüklük ölçümlerindeki farklı değerlerin kaynağını
bulmak için IFPUG yöntemini kullanarak bir vaka çalışması yapmış ve işlevsel
büyüklük ölçümlerinin güvenilirliğini artırmak için tavsiyeler vermiştir. Temel
önerilerinden birisi, ölçüm süreci ve insan hatası maliyetini azaltmak için işlevsel büyüklük
ölçüm sürecinin otomatik hale getirilmesidir [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        2009 yılında, Ungan ve arkadaşları ölçüm yapan uzmanlar arasındaki farklılıkları
saptamak için İBÖ’leri içindeki farklılıkları tespit eden deneysel bir çalışma
yapmıştır. Çalışmanın sonuçlarına göre COSMIC ölçümlerindeki farklılıklar bireylerin farklı
yorumlar ve varsayımları ile ölçüm yöntemlerindeki temel kurallarının uygulanması
sırasında ortaya çıkmaktadır. Bu çalışma, farklı bilgi ve deneyim düzeyine sahip farklı
ölçüm uzmanlarının işlevsel büyüklük ölçüm varyasyonlarına neden olabileceğini
göstermiştir [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. 2010 yılında devamında gerçekleştirdikleri çalışmada COSMIC
işlevsel büyüklük ölçümlerinin güvenilirliğini arttırmak için ölçücülere durum
çalışmaları ve örneklerle zenginleştirilmiş detaylı eğitim verilmesi gerektiğini ve ölçücülerin
yazılım gereksinimlerini detaylı olarak anlamaları gerektiğini vurgulamışlardır [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        Tunalılar ve Demirörs, büyüklük ölçüm sürecini, efor kestirimi metodolojisi
(EFES) ile tanımlamışlardır. Bu metodolojinin gereklerini tanımlarken, bazı
durumlarda ortak fikir birliği oluşturmak için standart kılavuzların yeterli olmadığını
vurgulamışlar, ölçüm sürecini iyileştirmek için, yazılım firmalarına, standart kılavuzlara ek
olarak, kurumsal ölçüm prosedürü, şablon ve şirketin proje uygulama tiplerine özel
uyarlama notları oluşturmayı tavsiye etmişlerdir. Bu şablonlar gelecekte ölçüm
uzmanlarını desteklemek için kullanılmak üzere nadir görülen durumları ya da
varsayımları kaydetmektedir [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        COSMIC güvenilirliğini belirlemek ve sık karşılaşılan COSMIC hatalarını
gözlemlemek için, Top [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], 12 sanayi yazılım projesini kullanarak bir çalışma yapmış,
ölçümü gerçekleştirmeden önce pilot çalışma yapanların ölçüm raporlarındaki hata
miktarlarının daha az olduğunu gözlemiştir. Ayrıca ölçüm uzmanlarının bilgi ve deneyim
seviyelerinin ölçüm sonuçlarının doğruluğuna etki eden 2 ana faktör olduğunu
belirterek, eğitimlerde sıklıkla yapılan hataların vurgulanması gerektiği sonucuna varmıştır.
      </p>
      <p>
        Ölçümlerin doğruluğunu arttırmak için 2011 yılında, "Ölçüm Doğruluğunun
Sağlanması için Kılavuz" isimli bir rehber yayınlanmıştır [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Bu kılavuz Hata Önleme ve
Hata Tespiti olmak üzere iki alt başlık içermektedir. Hata tespiti süreci için, sıklıkla
karşılaşılan COSMIC hatalarından oluşan bir kontrol listesi verilmiştir. Kılavuzdaki
kontrol listesi ile ölçüm uzmanlarının, ölçüm raporlarını kontrol etmeleri ve herhangi
bir hata varsa, bu hataları ortadan kaldırmalarına yardımcı olmak amaçlanmıştır.
Ancak, kılavuzda sıklıkla yapılan COSMIC hataları detaylı ve açıkça tanımlanmadığı
için, önerilen hata tespiti kontrol listesi yeterli değildir. Ayrıca, kontrol listesi çok
genel hataları ve onların yüzeysel tanımlarını içermektedir. Ölçüm uzmanlarının
ölçüm raporlarını kolaylıkla kontrol etmesi ve gözden geçirmesine izin veren bir yapıya
sahip değildir.
      </p>
      <p>
        2010 yılında, Yılmaz ve arkadaşları, YGD’larının kalitesinin İBÖ’lerine etkisi
üzerine yapılmış bir çalışmanın ilk sonuçlarını sunmuştur. Bu çalışma, yazılım
gereksinim dokümanlarının COSMIC İBÖ’lerinin güvenilirlik ve doğruluğu için ölçüm
yöntemleri kadar önemli olduğunu göstermiştir. Ayrıca, çalışmada ―Ölçüm
Doğruluğunun Sağlanması için Kılavuz‖ [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] referans alınarak, sıklıkla yapılan COSMIC hataları
belirlenip tanımlanmıştır [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>Araştırma Yaklaşımı</title>
      <sec id="sec-3-1">
        <title>Araştırmamız iki adımdan oluşmaktadır: COSMIC işlevsel büyüklük ölçümleri için bir hata tespit aracı geliştirmek Aracın etkinliğini araştırmak</title>
        <p>3.1</p>
        <p>
          Aracın Geliştirilmesi
Şekil 2’de gösterildiği üzere; hata yakalama aracının bir hata tespit yaklaşımı baz
alınarak, projelerin İBÖ’lerinin tutulduğu bir ortama entegre olarak geliştirilmesi
planlanmıştır. Hata tespit yaklaşımının oluşturulması için, işlevsel büyüklük ölçüm
metodunun kendisi [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], onun üzerindeki farklılıklar (varyansları) ve sık karşılaşılan
hatalar tanımlanmalıdır. Aracımızın geliştirilmesi için aşağıdaki adımlar
gerçekleştirilmiştir:
        </p>
        <p>Hata tespit aracının entegre olarak çalışacağı ortamın kurulması,
Hata kategorilerinin belirlenmesi
Hata tespit yaklaşımının geliştirilmesi</p>
        <p>Hata yakalama algoritmalarının ve R-COVER aracının oluşturulması</p>
        <sec id="sec-3-1-1">
          <title>Hata tespit aracının çalışacağı ortamı kurma. Hata tespit aracının çalışabilmesi</title>
          <p>
            için yazılım projelerinin İBÖ’lerinin bulunduğu bir ortam gereklidir. Bunun yanında
hata yakalama aracının geliştirilmesi tamamladıktan sonra, aracın hataları yakalama
doğruluğu ve verimliliği de pek çok projenin ölçümlerinin bulunduğu bu ortamda test
edilerek araç iyileştirilebilecektir. Bu amaçla, farklı alanlardaki yazılım proje bilgileri
ve ölçümlerinin bulunduğu bir veri tabanı gereklidir. CUBIT [
            <xref ref-type="bibr" rid="ref20">20</xref>
            ], ODTÜ-Enformatik
Enstitüsü’nde geliştirilen, yazılım projelerini ölçmek, ölçüm büyüklüklerini saklamak
ve yazılım proje yönetimini kolaylaştırmak için yazılım projelerinin tüm verilerini
saklayarak bir veri seti oluşturulmasına yardımcı olan, kolay kullanılabilir, web
tabanlı bir araçtır. CUBIT’te halihazırda farklı yazılım projelerinin İBÖ’leri
bulunduğu için, sıfırdan bir veri seti oluşturmak yerine hata yakalama aracının
CUBIT’e entegre olarak çalışabilen bir modül olarak geliştirilmesine karar verilmiştir.
          </p>
          <p>
            Hata kategorilerinin belirlenmesi: Ortamın seçiminden sonra, hata yakalama
aracının hata tespit işlemi bir "temel‖e dayandırılmalıdır. Geliştirilecek olan araç, bu
temeli esas alarak İBÖ’lerindeki hataları otomatik olarak bulabilmelidir. Bu amaçla,
önceden yapılmış araştırmalarda [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ][
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] belirtilen ortak ölçüm hatalarını bulmak için
literatür gözden geçirilmiş ve ayrıca çeşitli ampirik çalışmalar yapılmıştır [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ][
            <xref ref-type="bibr" rid="ref8">8</xref>
            ]. Bu
çalışmalardan yola çıkarak, otomatik hata tespitine olanak sağlayacak ―temel‖ hata
kategorileri tanımlanmıştır.
          </p>
          <p>
            Hata kategorilerinin belirlenmesi için, YBS uygulama tipi ve ilgili İBÖ’leri
seçilmiştir. Bu seçimin sebebi CUBIT ortamının çok sayıda YBS projelerine ait
ölçüm bilgilerinin bulunmasıdır. Belirlenmiş bir YBS projesine ait yazılım gereksinim
dokümanını 10 farklı ölçüm uzmanı ölçmüştür. Bu ölçümler kullanılarak toplamda 23
hata kategorisi tanımlanmıştır. Hata Kategorilerini (HK) oluşturmak için izlenilen
yöntem ve süreçlerin detayları bir önceki araştırmamızda belirtilmiştir [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ]. 23 hata
kategorisinden 15,’i hata tespit aracının temelini oluşturmuştur. Diğer 8 hata
kategorisinin varlığını tespit edebilmek için yazılım gereksinim dokümanlarının konrol
edilmesi gerekmektedir. Araç tarafından otomatik olarak tespit edilebilen 15 HK’si
Tablo 1’de verilmiştir. Hata kategorileri, Ölçücü Kaynaklı (Ö-K), Ölçüm Süreci
Kaynaklı (ÖS-K) ve Yazılım Gereksinim Dokümanı Kaynaklı (YGD-K) olabilir. Hata
kategorilerinin Referans Kaynakları da (RK) Tablo 1’de gösterilmektedir. HK’leri
YBS uygulamalarının COSMIC İBÖ dokümanları kullanılarak oluşturulduğu için,
çoğu hata kategorisinin kapsamı YBS'ye özeldir. Başka bir deyişle hata
kategorilerinin bazıları genel olarak tüm yazılım uygulama alanları için geçerliyken bazıları
sadece YBS uygulamaları için geçerlidir ve diğer uygulama alanlarında bu tarz
hatalara rastlanmayabilir.
Şekil 2. COSMIC İBÖ metodu ile hata yakalama yaklaşımı ve aracı arasındaki ilişki
          </p>
          <p>Hata kategorilerinin belirlenmesi ve hataların ortaya çıkış nedenleri araştırıldıktan
sonra, her bir hata kategorisinin yapısı sırası ile tüm ölçüm dokümanlarında analiz
edilmiştir. Aynı hata kategorisine ait ölçüm hataları, farklı dokümanlarda da
bulunuyorsa hataların otomatik tespiti için bu yapı yeterli ise, yani YGD bilgisine ihtiyaç
duyulmadan tespiti sağlanacaksa, ilgili hata kategorisi için hata yapısı olarak
tanımlanmıştır. Bu hata yapıları daha sonra aracın geliştirilmesi sırasında algoritmaları
oluşturmak için kullanılmıştır. Algoritmaların temelini oluşturan hata yapıları Tablo
1’de belirtildiği gibi İstatistiksel, Anlamsal ve Sözdizimsel olmak üzere 3 sınıf altında
toplanabilir.</p>
          <p>Hata tespit yaklaşımının geliştirilmesi. Bu çalışmada Tablo 1’deki hata kategorileri
tipindeki hataları otomatik olarak tespit etmek için bir yaklaşım geliştirilmiştir ve bu
yaklaşım da kısaca ―R-COVER yaklaşımı‖ olarak isimlendirilmiştir. Hata kategorileri
YBS uygulamalarının COSMIC İBÖ’leri temel alınarak tespit edildiği için, bu
yaklaşım özellikle YBS uygulamalarının İBÖ’leri için geçerlidir. R-COVER yaklaşımı ve
hata kategorileri, hata tespit aracının temelini oluşturmaktadır.</p>
          <p>
            R-COVER yaklaşımı, standart COSMIC İBÖ yönteminin [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ] bazı bileşenleri
üzerinde değişiklikler yapmayı ve zorunluluklar tanımlamayı öngörmektedir. Şöyle ki;
COSMIC İBÖ yöntemi ana bileşenlerinden birisi olan veri özniteliği (VÖ)’nin
standartta [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ] ölçüm sırasında tespiti zorunlu kılınmamış, eklemek ölçücünün kendisine
bırakılmıştır. Ancak, R-COVER yaklaşımının kullanılabilmesi için ölçümlerde bu
          </p>
          <p>Hata
Kaynağı</p>
          <p>Hata
yapısı
ÖS-K</p>
          <p>Anlamsal
ÖS-K</p>
          <p>Anlamsal
ÖS-K</p>
          <p>Anlamsal
1
2
3
4
5
6
7
8
9
11
12
Anlamsal
Anlamsal
Anlamsal
Anlamsal
Anlamsal
İst.</p>
          <p>İst.</p>
          <p>Anlamsal 10</p>
          <p>Güncelleme öncesi silme
listeleme unutulmuş
Silme öncesi listeleme</p>
          <p>unutulmuş
Güncelleme öncesi
oku</p>
          <p>ma unutulmuş
Yazma/Silme/Güncelleme
tipindeki FS'lerde "W"
tipinde VH unutulmuş
Listeleme tipindeki FS
"W" tipinde VH içerir
Bir FS birden fazla aynı</p>
          <p>VH içerir
Her FS en az 2 VH'den</p>
          <p>oluşur
Her FS en az 1 "W" veya
"X" tipinde VH içerir
Her FS en az 1 "E" VH</p>
          <p>içerir
Listeleme tipindeki FS,
Güncelleme/Silme
tipindeki FS'lerin içinde
öl</p>
          <p>çülmüş
Yazma/Silme/Güncelleme
FS'leri tek bir FS olarak</p>
          <p>ölçülmüş
Anlamsal 13</p>
          <p>VG tekrarı
Sözd.</p>
          <p>14</p>
          <p>Kullanıcı ara yüz
parçaları ve sistem kullanıcıları
VG/İN olarak
düşünül</p>
          <p>müş
bilgi mutlaka olmalıdır. Çünkü, ölçümlerde veri özniteliği bilgileri boş bırakılırsa,
İN’ne yönelik hatalar tespit edilemez.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Tablo 1. Hata kategorileri</title>
        <p>Hata Kategorisi</p>
        <p>Referans</p>
        <p>Kapsamı</p>
        <p>Tanımı
Ö-K</p>
        <p>Anlamsal</p>
        <p>
          FS tekrarı
[
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]
        </p>
        <p>
          Genel
[
          <xref ref-type="bibr" rid="ref7">7</xref>
          ][
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]
[
          <xref ref-type="bibr" rid="ref7">7</xref>
          ][
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]
[
          <xref ref-type="bibr" rid="ref7">7</xref>
          ][
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]
[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]
[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]
[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]
[
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]
[
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]
        </p>
        <p>YBS
özel
YBS
özel
YBS
özel
YBS
özel
Genel
Genel
Genel
Genel
Genel
YBS
özel
YBS
özel
Genel
Genel
Genel
İki farklı FS aynı (VG, VH)
ikililerine sahipse ve aynı
işlevselliği temsil ediyorsa,
FS'lerden biri fazla olabilir
Güncelleme tipindeki bir
FS için, Listeleme tipindeki</p>
        <p>FS'in ölçümü unutulmuş</p>
        <p>olabilir.</p>
        <p>Silme tipindeki bir FS için,
Listeleme tipindeki FS'in
ölçümü unutulmuş olabilir.</p>
        <p>Güncelleme tipindeki bir
FS için, Okuma tipindeki
FS'in ölçümü unutulmuş</p>
        <p>olabilir.</p>
        <p>Yazma/Silme/Güncelleme
FS'lerinde Y tipinde VH</p>
        <p>ölçülmemiş olabilir
Listeleme tipindeki FS'te W
tipindeki VH yanlış
ölçül</p>
        <p>müş olabilir
Bir FS'te birden fazla aynı
VH bulunuyorsa, bu
VH'lerin bazıları fazladan
ölçül</p>
        <p>müş olabilir
Bir FS'te 1 veya daha az</p>
        <p>VH bulunamaz
Bir FS'te Wveya X tipinde</p>
        <p>VH yoksa
Bir FS'te E tipinde en az 1</p>
        <p>VH yoksa
Listeleme tipindeki FS,
güncelleme veya silme
tipindeki FS içinde
ölçül</p>
        <p>müş olabilir
3 farklı FS
(Yazma/Silme/Güncelleme) tek
bir FS olarak ölçülmüş</p>
        <p>olabilir
Birden fazla aynı VG</p>
        <p>mevcut olabilir
Ölçüm uzmanı
"ekran","düğme","menü" gibi
kullanıcı arayüzü
bölümlerini İN veya VÖ olarak
düşünerek FS olarak
ölç</p>
        <p>müş olabilir
İN'lerini isimlendirirken
"kaydet", "seç", "bul" gibi
filleri kullanmış olabilir
Ayrıca, R-COVER yaklaşımımızda, ―FS tipi‖ isimli ―yeni bir işlevsel büyüklük
bileşeni‖ tanımlanmıştır. Bu yeni bileşenin örneği Şekil 2’de YBS uygulamaları için
gösterilmiştir: ―Silme‖, ―Yazma‖, ―Okuma‖ ―Güncelleme‖, ve ―Listeleme". Herhangi
bir FS tipine uymaması durumu için ―Diğer‖ olmak üzere bir FP tipi daha eklenmiştir.</p>
        <sec id="sec-3-2-1">
          <title>Hata yakalama algoritmalarının ve R-COVER aracının oluşturulması. Hata ya</title>
          <p>kalama aracımız CUBIT’in bir modülü olarak geliştirileceği için, CUBIT’in E-R
şeması ve mevcut veri tabanı yapısı fonksiyonel süreç tipi ve veri özniteliği büyüklük
bileşenleri göz önünde bulundurularak incelenmiştir. ―VÖ‖ büyüklük bileşeni
CUBIT’in mevcut veri tabanı tablolarında bulunmaktadır ancak, ―FS tipi‖ yeni
tanımlanmış bir büyüklük bileşeni olduğu için veri tabanına eklenmesi gerekmiştir.
Bu nedenle CUBIT’in bazı veri tabanı tablolarına FS tipi alanı eklenerek, CUBIT veri
tabanı ve E-R şeması güncellenmiştir.</p>
          <p>Şekil 3. HK1’in sözde kodu</p>
          <p>Tablo 1’de gösterilen 3 farklı hata yapısına göre farklı algoritmalar geliştirilmiştir.
―İstatistiksel‖ kontrol yapan algoritmalar, bu hesaplamaları yapabilmek için CUBIT
veri tabanındaki yazılım projelerinin büyüklük ölçümlerini kullanmaktadır.
―Anlamsal‖ hata yapıları oluşturan hata kategorilerine ait hataları yakalamak için ölçüm
dokümanlarını anlamsal olarak kontrol eden algoritmalar oluşturulmuştur.
―Sözdizimsel‖ hata yapılarına sahip hataları yakalamak için ise dokümanları sözdizimsel olarak
kontrol eden algoritmalar oluşturulmuştur.</p>
          <p>Şekil 4. FS ve VH hataları sonuç ekranı
Hata yakalama algoritmalarının geliştirilmesi için her bir hata kategorisi için tespit
edilen hata yapıları kullanılarak öncelikle sözde (pseudo) komut, daha sonra ilgili
algoritmaları oluşturulmuştur. Bir sözde kod örneği Şekil 3’te verilmiştir. Bu sözde
kod, HK1 için oluşturulmuştur. Bu sözde koddan oluşturulan algoritma, eğer iki farklı
fonksiyonel süreç aynı (VG, VH) çiftlerini taşıyorsa ve iki fonksiyonel sürecin
büyüklükleri aynı ise ölçümde HK1 tipinde bir hata olduğuna dair uyarı vermektedir.
Aslında iki farklı fonksiyonel süreç aynı (VG, VH) ikililerine sahip olabilir, burada
belirleyici olan bileşen fonksiyonel süreçlerin tipidir.</p>
          <p>Araç kullanıcıya, uyarı ve hata mesajı olmak üzere 2 farklı mesaj vermektedir.
Hata mesajı, COSMIC İBÖ yönteminin en temel kurallarının yanlış kullanılması
sonucunda verilmektedir. Uyarı mesajlarının hepsinde ölçüm hatası olmayabilir. Ölçüm
uzmanlarının uyarı mesajlarındaki hataları düzeltmeden önce YGD’larını kontrol
etmeleri gerekir. R-COVER aracının ürettiği bir sonuç raporu Şekil 4’te sunulmuştur.
3.2</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Aracın Hata Yakalama Doğruluğunun ve Verimliliğinin Tespit Edilmesi</title>
          <p>Durum Çalışmasının Planı. Aracın hata yakalama doğruluğunu ve verimini tespit
etmek için, 7 farklı YBS uygulamasının 26 COSMİC İBÖ’ü ile 17 gerçek zamanlı ve
gömülü yazılım projesinin ölçümleri kullanılmıştır. Durum çalışması sırasında farklı
verim testleri için YBS uygulamalarının ölçümleri 3 ayrı grupta toplanırken, gerçek
zamanlı ve gömülü yazılım projelerinin İBÖ’leri 1 grup altında toplanmıştır. Aracın
hata yakalama doğruluk ve performansını farklı durumlarda gözlemlemek için,
deneyimli ve deneyimsiz ölçücüler tarafından ölçülmüş çok çeşitli COSMIC İBÖ’ler
durum çalışmasına dahil edilmiştir. Tablo 2’de hangi grupta hangi projenin olduğu ve
kaç adet işlevsel büyüklük ölçümü kullanıldığı özetlenmektedir.</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Tablo 2. Proje ve ölçüm grupları</title>
        <p>Gru
p
G1
G2</p>
        <p>Prj No v
e Adı</p>
        <p>Ref. Ana
htar</p>
        <p>Firma</p>
        <p>Uygula
ma Tipi
Ölçümler
in Sayısı
Endüstriden alınmış gerç
G3 5,[3P-r7o]je AAnnaahhttaarr37- Firma A YBS 5 3 yıl deneyimli ek proje aörlaçcüımlerinde
test etmek</p>
        <p>Gerçek Farklı uygulama alanları
G4 17[8,-P2r4o]je AAnnaahhttaarr284- Firma B za mveanlı 17 5 yıl deneyimli nda aracınliğuiyngiulanabilir</p>
        <p>Gömülü test etmek
Şekil 5’te gösterildiği gibi, aracın hata tespit doğruluğunu gözlemlemek için,
uzmanlar tarafından manüel olarak gözden geçirme yöntemi ile bulunmuş hata
sonuçları ile aracın bulduğu hataların her ölçüm için tek tek kontrol edilmesi
planlanmıştır.</p>
        <p>Ölçüm dokümanlarındaki hataların kayıt altında tutulması için, aracı çalıştırırken
ve gözden geçirme yöntemi sırasında kullanılmak üzere ―Hata İşaretleme Formu‖
oluşturulmuştur. Her bir ölçüm dokümanındaki hatalar gözden geçirme yöntemi ve
araç ile tespit edilirken, hatalar bu forma girilecektir. Hata İşaretleme Formunun bir
kısmı örnek olması için Tablo 3’te verilmiştir.</p>
        <p>Uzman gözden geçirme süreci. Gözden geçirme sürecine başlamadan önce, işlevsel
büyüklük ölçüm dokümanlarındaki hataları tespit etmek için her farklı yazılım projesi
için referans olarak kullanılabilecek doğruluğu onaylanmış COSMIC işlevsel
büyüklük ölçümüne ihtiyacımız vardır. Tablo 2’de her grup için kaç adet referans
olarak kullanılacak cevap anahtarı oluşturulduğu bilgisi verilmiştir. Örneğin, G1’de
Proje1 bulunmaktadır ve bu proje için Ref. Anahtar1 oluşturulmuştur. Bu grupta
toplamda 10 işlevsel büyüklük ölçümü bulunmaktadır. Bu ölçümler Proje1’in yazılım
gereksinim dokümanı kullanılarak 10 farklı ölçücü tarafından gerçekleştirilmiştir.
Ölçüm dokümanları sistemde Excel formatında bulunduğundan referans cevap
anahtarları da excel formatında hazırlanmıştır.</p>
        <p>Şekil 5. Durum çalışmasının akışı
Gözden geçirme sürecinin hata kategorileri bazında sürdürülmesi öngörülmüştür.
Örneğin, Hata Kategorisi 1 tipindeki hataların varlığının kontrolüne ilk ölçüm
dokümanından başlayarak, son ölçüm dokümanına gelinceye kadar devam edilecek, her
hata bulunduğunda ilgili ölçüm dokümanı için ―Hata İşaretleme Formuna‖ kayıt
edilecektir. Hata kategorisi-1 için bu süreç tamamlandığında, aynı süreci uygulamak
üzere hata kategorisi 2’ye geçilecektir.</p>
        <p>Tablo 3. G1 ölçümlerinin hata işaretleme formundan bir kesit
1
2</p>
        <p>Hata Kategorileri</p>
        <p>FS tekrarı</p>
        <p>Güncelleme öncesi listeleme unutulmuş
15
İlgi nesnelerinin isimleri fiil içeriyor</p>
        <p>Kontrol Tipi Toplam</p>
        <p>Manüel 60
Araç 62
ÖD1 ÖD2
4 16
0 16
Manüel
Araç
Manüel
Araç
17
27
66
64
1
5
0
0
1
1
1
1
…
…
…
…
…
…
…
ÖD10
11
11
1
0
2
0</p>
        <p>Aracın Çalıştırılması. Aracı kullanarak hata tespiti yapmadan önce, CUBIT veri
tabanında bulunan Tablo 2’de gösterilen şekilde gruplandırılmış bütün işlevsel
büyüklük ölçümlerinin R-COVER yaklaşımda belirtilen kurallara uygunluğunun
kontrol edilmesi gerekmektedir. Bu kuralları ihlal eden eksikler varsa, ölçümler veri
tabanında güncellenir.</p>
        <p>Her bir ölçüm dokümanı için, her bir fonksiyonel sürecin FS tipi bilgisinin tespit
edilip veri tabanında güncellenmesi gerekmektedir. Ayrıca, tanımlanmamış VÖ’ler
tespit edilecek ve CUBIT veri tabanına girilecektir. FS tiplerinin ve VÖ’lerinin tespiti
için her bir projenin yazılım gereksinim dokümanı kullanılmalıdır.</p>
        <p>Bu çalışmamızda aracın etkisini görmek amacıyla, G1 ölçümleri için manüel ve
otomatik R-COVER araç kullanımı eforunun karşılaştırılması da planlanmıştır.
Bileşenleri tespit etmek için harcanacak efor, bu yöntemlerin performans kıyaslaması için
kayıt altında tutulmuştur.</p>
        <p>Aracın çalışması için gerekli her bir ölçümün eksik bilgileri CUBIT veri tabanında
güncellendikten sonra, araç sırası ile her bir ölçüm dokümanı için çalıştırılmalıdır.</p>
        <p>Durum Çalışmasının Uygulanması. Planlamaya uygun olarak 2 aktivite şeklinde
uygulanmıştır.</p>
        <p>Uzman gözden geçirme süreci. Gözden geçirme sürecinin ilk adımı olarak, her
projenin güvenilir ve doğru bir işlevsel büyüklük ölçümü gerçekleştirilmiş, daha sonra bu
ölçümler ölçüm deneyimine ve COSMIC sertifikasına sahip uzman bir ölçücü
tarafından kontrol edilmiştir. Bulunan hatalar düzeltilmiş ve her farklı yazılım projesi için
güvenilir bir referans işlevsel büyüklük ölçümü hazırlanmıştır.</p>
        <p>Durum çalışmasının planı kısmında anlatıldığı gibi gözden geçirme yöntemi ile
ölçümlerdeki hata tespitlerine G1 ölçümlerinden başlanmıştır. Gözden geçirme
yöntemini kullanarak hata tespiti için harcanan süreler sadece G1 grubu ölçümleri için kayıt
altında tutulmuştur ve bu süreler Tablo 5’te verilmektedir. G1 ölçüm dokümanlarında
15 hata kategorilerinin kontrolü tamamladıktan sonra, aynı süreç diğer gruplar için
gerçekleştirilmiştir.</p>
        <p>Aracın Çalıştırılması. Araç çalıştırılmadan önce yazılım projeleri ölçümleri
CUBIT veri tabanında R-COVER yaklaşımına göre güncellenmiştir. Bu nedenle YBS
uygulamalarının olduğu G1, G2 ve G3 gruplarında bulunan yazılım proje
ölçümlerinin fonksiyonel süreçlerinin tipleri ve ilgi nesnelerinin veri öznitelikleri
belirlenmiş, bu bileşenler CUBIT veri tabanında güncellenmiştir. Ancak G4’teki gerçek
zamanlı ve gömülü yazılım projelerinin FS tiplerini belirlemeye çalışırken bazı
zorluklarla karşılaşılmıştır. R-COVER yaklaşımın tanımladığı fonksiyonel süreçlerin
tiplerinin (Yazma, Silme, Güncelleme, Listeleme, Okuma ve Diğer) gerçek zamanlı
ve gömülü sistemlerin ölçümlerinde geçerli olmadığı bu uygulamalarda fonksiyonel
süreç tiplerinin bu tanımlı tiplerden tamamen farklı olduğu fark edilmiştir. Bu
nedenle, G4’teki ölçümlerin sadece veri öznitelikleri CUBIT veri tabanında güncellenmiştir.
Aracın hata tespit doğruluğunu ve verimli çalışmasını analiz etmek için, uzman
gözden geçirme süreci sonunda bulunan hatalar ile aracın bulduğu hatalar
karşılaştırılmıştır. Analiz sonuçları bölüm 4’te özetlenmiştir.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>R-COVER Uygulama Sonuçları</title>
      <p>Tablo 4, G1, G2 ve G3 ölçümleri için gözden geçirme yöntemi ile bulunmuş hata
sonuçları ile aracın bulduğu hata sonuçlarının karşılaştırılmasını göstermektedir. G4
gerçek zamanlı ve gömülü yazılım projelerinin ölçümlerini içerdiği için bu grubun
ölçümlerindeki hata sonuçlarını YBS uygulamaları ile birlikte değil kendi içinde
ayrıca değerlendirmek daha uygundur.</p>
      <p>Tablo 4’teki ―aynı hataların tespiti‖ kolonu gözden geçirme yöntemi sonucunda
bulunan hatalar ile aracın bulduğu hataların aynı olma oranını, ―Tespit edilemeyen
hatalar‖ kolonu gözden geçirme yöntemi ile bulunmuş ancak aracın bulamadığı
hataların oranını ve son olarak ―Yanlış bulunan hatalar‖ kolonu ise gözden geçirme
yöntemi sonucunda bulunamamış ancak aracın fazladan bulduğu hataların oranını
göstermektedir.</p>
      <p>Proje1 ve Proje2 hem deneyimsiz ölçücüler (öğrenciler) tarafından ölçüldüğü hem
de benzer süreçler sonucunda ortaya çıktığı için, G1 ve G2 ölçüm dokümanlarında
bulunan hata sonuçlarının birbiri ile tutarlı olması beklenmekteydi. Ancak Tablo 4’e
göre aracın gözden geçirme yöntemi ile bulunan hatalar ile aynı hataları bulma oranı
G2’de daha yüksektir. Bunun nedeni araştırıldığında G1 ölçüm dokümanlarında
hemen hemen her hata kategorisinden hatanın bulunduğu ve hata sayısının çok olduğu
ortaya çıkmıştır. G2 ölçümlerinde ise daha az hata olduğu görülmüştür. Bu nedenle,
aracın doğru hata tespit etme oranı G2 ölçümlerinde daha yüksektir.</p>
      <p>Gözden geçirme yöntemi ve araç tarafından herhangi bir hata tespiti yapılamamış
ise, bu hata kategorisi aracın doğru hata tespiti hakkında fikir vermemiştir. Bu
kategoriler ise Tablo 4’te ―N/A‖ olarak belirtilmektedir.</p>
      <p>
        Tablo 4. G1, G2 ve G3 için aracın doğru hata tespit etme verimliliği [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
      </p>
      <p>Aynı hataların tespiti</p>
      <p>Tespit edilemeyen hatalar</p>
      <p>Yanlış bulunan hatalar
G1</p>
      <p>YBS uygulamaları işlevsel büyüklük ölçümleri için tanımlanan FS tipleri, gerçek
zamanlı ve gömülü yazılım büyüklükleri için kullanılamamıştır. Bu nedenle araç G4
ölçümleri için anlamlı hata tespitleri yapamamıştır. Örneğin, G4 ölçümleri araç
tarafından doğrulanırken, HK1 ve HK7 için bulunan hata sayıları ile diğer hata
kategorilerinin hata sayıları arasında büyük bir fark olduğu ortaya çıkmıştır. Bunun sebebi
incelendiğinde, HK1 Ve HK7’ye ait hata uyarıların hepsinin yanlış olduğu
gözlemlenmiştir. FS tipleri G4 ölçümleri için CUBIT veri tabanında boş bırakıldığı
için aracın yanlış uyarı verdiği ortaya çıkmıştır. FS tiplerinin gerçek zamanlı ve
gömülü sistemlerin ölçümleri için belirlenmiş ve veri tabanında güncellenmiş olmasın
bağlı olarak; gerçek zamanlı ve gömülü sistemlerin İBÖ için aracımızın hata tespit
sonuçlarının doğru olması öngörülebilir.</p>
      <p>Her hata kategorisi için aracın davranışı incelendiğinde, hata kategorilerinin Genel
ve YBS uygulamaları için özel olmak üzere 2’ye ayrılması gerektiği ortaya çıkmıştır.
Hangi hata kategorisinin genel, hangilerinin YBS uygulamaları için özel olduğu
bilgisi Tablo 1’de belirtilmiştir.</p>
      <p>Bulgular ve Tablo 4, 23 hata kategorisinden 15’ine ait hataların ve YGD bilgisi
olmadan otomatik olarak ve kolaylıkla tespit edilebileceğini bize göstermiştir.</p>
      <p>Uzman gözden geçirme ve aracın çalıştırılma süreci birkaç işlemden oluşmaktadır.
Her bir işlem için harcanan efor Tablo 5’te verilmiştir. Efor adam*saat cinsinden
kaydedilmiştir. G1 ölçümleri için uzman gözden geçirme süreci için harcanan efor
116 adam * saattir. Aracı kullanmak için gerekli ön hazırlık ve aracın hata tespiti için
harcanan efor 9 adam * saattir. R-COVER aracı COSMIC İBÖ’lerindeki hataların
tespiti için harcanan efordan büyük bir tasarruf sağlar.</p>
      <sec id="sec-4-1">
        <title>Tablo 5. G1 için efor kayıtları [4]</title>
        <p>İşler
Cevap anahtarı hazırlama
Uzman gözden geçirme için Hata İşaretleme Formunun hazırlanması
Hata kategorilerinin belirlenmesi ve seçilmesi
Uzman gözden geçirme süreci
İstatistiksel hesaplamalar
Uzman gözden geçirme (Toplam)
FS tiplerinin belirlenmesi ve CUBIT veri tabanında güncellenmesi
Veri özniteliklerinin belirlenmesi ve CUBIT veri tabanında
güncellenmesi
Aracın çalıştırılması (10 ölçüm dokümanı için)
Aracın çalıştırılması (Toplam)
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Durum Çalışmasının Kısıtları</title>
      <p>Efor (dk)
860</p>
      <p>Efor (saat)</p>
      <p>14
510
Durum çalışmasının uzman gözden geçirme süreçleri, bu makalenin bir yazarı
tarafından yapılmıştır. 3 yıllık deneyime ve COSMİC ölçüm sertifikasyonuna sahiptir.
Çalışmadaki hataları en aza indirgemek için 5 yıl ölçüm deneyimi olan ve COSMIC
İBÖ sertifikasına sahip bir uzman yazara kritik noktalarda yardım etmiş, 9 yıllık bir
başka COSMİC ölçüm uzmanı tarafından sonuçlar gözden geçirilmiştir. Belirlenen
hata kategorileri ve R-COVER aracı, kısıtlı sayıda YBS uygulamalarının COSMIC
İBÖ’lerinden yola çıkılarak geliştirilmiştir. Aracın daha farklı uygulama alanları veya
daha çok sayıda YBS uygulamasının ölçümünde çalıştırılması hata tespitlerinde
benzer sonuçlar yaratmayabilir.</p>
    </sec>
    <sec id="sec-6">
      <title>Sonuçlar ve İleriye yönelik Çalışmalar</title>
      <p>Bu çalışmada, COSMIC İBÖ’lerin güvenilirlik ve doğruluğunu arttırmak için,
COSMIC İBÖ’leirndeki ölçüm hataların otomatik olarak yakalanmasına olanak
sağlayan, bir yaklaşım öne sürülmüş, bu yaklaşım temel alınarak R-COVER aracı
geliştirilmiştir. Araç YBS uygulamalarının COSMIC İBÖ’lerindeki hataların, yazılım
gereksinim dokümanındaki herhangi bir bilgiye ihtiyaç duyulmadan otomatik olarak
yakalanmasını sağlar.</p>
      <p>Sonraki çalışmamızda, R-COVER aracının uygulandığı yazılım uygulama
alanlarının genişletilmesi planlanmıştır. Yaklaşım ve araç COSMIC İBÖ’lerindeki hataları
tespit etmeye yönelik olarak geliştirilmiştir. Ancak, IFPUG, UniFSM gibi farklı
işlevsel büyüklük ölçüm metotları ile ölçülmüş İBÖ’lerdeki hataları bulmaya yönelik
olarak da ileride eklemeler yapılacaktır.</p>
    </sec>
    <sec id="sec-7">
      <title>Kaynaklar</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. ISO/IEC (
          <year>2003c</year>
          ).
          <source>IS 20926: Software Engineering - IFPUG 4</source>
          .1
          <string-name>
            <given-names>Unadjusted</given-names>
            <surname>FSM Method - Counting Practices</surname>
          </string-name>
          Manual.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Kemerer</surname>
            ,
            <given-names>C. F.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Porter</surname>
            ,
            <given-names>B. S. Improving</given-names>
          </string-name>
          <article-title>the reliability of function point measurement: an empirical study</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          ,
          <volume>18</volume>
          (
          <issue>11</issue>
          ),
          <fpage>1011</fpage>
          -
          <lpage>1024</lpage>
          . doi:
          <volume>10</volume>
          .1109/32.177370 (
          <year>1992</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. ISO/IEC (
          <year>2002c</year>
          ).
          <volume>20968</volume>
          :2002:
          <string-name>
            <given-names>Software</given-names>
            <surname>Engineering - MkII Function Point Analysis - Counting Practices</surname>
          </string-name>
          <string-name>
            <surname>Manual</surname>
          </string-name>
          , (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Yilmaz</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <source>An Automated Defect Detection Approcah For COSMIC Functional Size Measurement Method</source>
          , Middle East Technical University, Ankara (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Tunalilar</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Demirors</surname>
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>―</surname>
            <given-names>EFES</given-names>
          </string-name>
          , An Effort Estimation Methodology‖,
          <source>Joint Conference of the 22nd International Workshop on Software Measurement and the Seventh International Conference on Software Process and Product Measurement</source>
          (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ungan</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Demirörs</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Top</surname>
          </string-name>
          , Ö., &amp;
          <string-name>
            <surname>Özkan</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <article-title>An Experimental Study on the Reliability of COSMIC Measurement Results</article-title>
          .
          <source>Software Process and Product Measurement, Lecture Notes in Computer Science</source>
          (Vol.
          <volume>5891</volume>
          , pp.
          <fpage>321</fpage>
          -
          <lpage>336</lpage>
          ) (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Top</surname>
            ,
            <given-names>O. O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Demirors</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Ozkan</surname>
            ,
            <given-names>B Reliability</given-names>
          </string-name>
          <source>of COSMIC Functional Size Measurement Results: A Multiple Case Study on Industry Cases. Software Engineering and Advanced Applications</source>
          , Euromicro Conference (Vol.
          <volume>0</volume>
          , pp.
          <fpage>327</fpage>
          -
          <lpage>334</lpage>
          ). Los Alamitos, CA, USA: IEEE Computer Society . (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Ungan</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <article-title>Evaluation of Reliability Improvements for COSMIC Size Measurement Results</article-title>
          .,
          <source>IWSM</source>
          (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>The</given-names>
            <surname>Common Software Measurement International</surname>
          </string-name>
          <article-title>Consortium (COSMIC): Guideline for Assuring the Accuracy of Measurements, Version 1</article-title>
          .0 (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Yilmaz</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ungan</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Demirors</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <article-title>The effect of the quality of software requirements document on the functional size measurement</article-title>
          . [Online].Available: http://www.uksma.co.uk/conference2011/presentations/05GokcenYilmazTheEffectoftheQ ualityofSoftwareonFSM.pdf (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. ISO/IEC (
          <year>2003b</year>
          ). 19761:
          <string-name>
            <given-names>COSMIC</given-names>
            <surname>Full Function Points Measurement Manual</surname>
          </string-name>
          , v.
          <volume>2</volume>
          .2.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Glass</surname>
            ,
            <given-names>R. L.</given-names>
          </string-name>
          <string-name>
            <surname>Facts</surname>
          </string-name>
          and Fallacies of Software Engineering (1st ed.).
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Stern</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guetta</surname>
          </string-name>
          , O.
          <article-title>―Manage the automotive embedded software development cost by using a Functional Size Measurement Method (COSMIC)‖, European Congress of ERTS (</article-title>
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Khelifi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,,
          <string-name>
            <surname>Abran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <article-title>―Design Steps for developing Software Measurement Standard Etalons for ISO 19761 (COSMIC-FFP‖)</article-title>
          , WSEAS International Conference on COMPUTERS (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Tunalilar</surname>
            ,
            <given-names>S. ―EFES</given-names>
          </string-name>
          :
          <article-title>An Effort estimation Methodology‖</article-title>
          ,
          <source>PHD Thesis</source>
          , Middle East Technical University, (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Zubrow</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <article-title>Can you trust your data? Measurement and Analysis Infrastructure Diagnosis</article-title>
          , Presentation, http://www.sei.cmu.edu/library/assets/meas-infrastructure.
          <source>pdf</source>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Ebert</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumke</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bundschuh</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schmietendorf</surname>
          </string-name>
          , A. ―
          <article-title>Best Practices in Software Measurement - How to use metrics to improve project and process performance‖</article-title>
          .
          <source>SpringerVerlag</source>
          (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Symons</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Come Back Function Point Analysis (Modernized</surname>
          </string-name>
          ) - All is Forgiven!),
          <source>4th European Conf. on Software Measurement and ICT Control</source>
          ,
          <string-name>
            <surname>FESMADASMA</surname>
          </string-name>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Diab</surname>
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koukane</surname>
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Frappier</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>St-Denis R.</surname>
          </string-name>
          ,
          <source>―μcROSE: Automated Measurement of COSMIC-FFP for Rational Rose Real Time‖, Information and Software Technology</source>
          , Volume
          <volume>47</volume>
          ,
          <issue>Issue 3</issue>
          , 1 pp
          <fpage>151</fpage>
          -
          <lpage>166</lpage>
          (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>20. CUBIT , Benchmarking Database and Tools http://smrg.ii.metu.edu.tr/cubit/auth/login?targetUri=%2F</mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Trudel</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <source>Improving Quality of Functional Requirements by Measuring Their Functional Size, Software Process and Product Measurement</source>
          , pp
          <fpage>287</fpage>
          -
          <lpage>301</lpage>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Albrecht</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>1979</year>
          ).
          <article-title>Measuring Application Development Productivity</article-title>
          .
          <source>Proc. of IBM Application Development Symp</source>
          . (pp.
          <fpage>83</fpage>
          -
          <lpage>92</lpage>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23. ISO/IEC (
          <year>2005b</year>
          ). IS 24570:
          <string-name>
            <surname>Software Engineering - NESMA Functional</surname>
          </string-name>
          Size Measurement
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24. ISO/IEC (
          <year>2008</year>
          ).
          <volume>29881</volume>
          :2008 Information Technology--
          <source>Software and systems engineering-FISMA 1</source>
          .
          <article-title>1 functional size measurement method</article-title>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>