Fonksiyonel Benzerlik ve İş Gücü: Bir Durum Çalışması Functional Similarity and Effort: A Case Study

Benzer belgeler
COSMIC İşlevsel Yazılım Büyüklüğü Ölçüm Yönteminin Kurumlarda Uygulanmasında Dikkat Edilmesi Gereken Noktalar

COSMIC Đşlevsel Büyüklük Ölçüm Sonuçlarının Güvenilirliği

SOFTWARE ENGINEERS EDUCATION SOFTWARE REQUIREMENTS/ INSPECTION RESEARCH FINANCIAL INFORMATION SYSTEMS DISASTER MANAGEMENT INFORMATION SYSTEMS

Yazılım Projelerinde Büyüklük Tahmini

Yazılım Gereksinim Dokümanı Kalitesinin İşlevsel Büyüklük Ölçümüne Etkisi

Yazılım Projelerinde Büyüklük Tahmini

COSMIC İşlevsel Büyüklük Ölçüm Sonuçlarında Gözlenen Sapmalar Üzerine Bir Deney Çalışması

Yazılım Mühendisliği 1

Bilişim Sistemleri Değerlendirme Modeli ve Üç Örnek Olay İncelemesi

Efor Kestirim Doğruluğu İçin Tasarım Büyüklüğü Ve Problem Büyüklüğü Karşılaştırılması

Bir yazılım geliştirme metodolojisi aşağıdaki adımlardan meydana gelir; Yazılım geliştirme sürecine destek verecek araçlar, modeller ve yöntemler.

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Yaz.Müh.Ders Notları #6 1

K U L L A N I M B İLGİLERİ

Statik Kod Analizi. Proceedings/Bildiriler Kitabı. SSE-CMM[3], ISO/IEC [3] gibi standartlarla. gereklidir.

Yazılım Fonksiyonel Büyüklüğünün Yazılım Proje Yönetiminde Kullanımı

Yaz.Müh.Ders Notları #6 1

Ö Z G E Ç M İ Ş. 1. Adı Soyadı: Mustafa GÖÇKEN. 2. Doğum Tarihi: 12 Haziran Unvanı: Yrd. Doç. Dr. 4. Öğrenim Durumu: Ph.D.

R-COVER: Yazılım Büyüklük Ölçümü Hata Tespit Aracı

Arş. Gör. Dr. Mücahit KÖSE

Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım

HASTANE HİZMET KALİTE STANDARTLARI METODOLOJİSİ

SİSTEM ANALİZİ VE TASARIMI

Yazılım İnşası ve Evrimi (SE 556) Ders Detayları

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Deneyim Raporu. , Ankara, Türkiye. {gokhan.urul, gokalp.urul}@intest.com.tr. vahid.garousi@atilim.edu.tr

CobiT te Olgunluk Seviyelerinin Anlamı ve Hesaplanması. Altuğ Kul, MA, CISA

IFPUG İşlev Puan Metriği ile Yazılım Üretim Hattı Ölçümü

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 1 ( yılı ve sonrasında birinci

BÖLÜM 12 STUDENT T DAĞILIMI

Bilgi Sistemleri Tasarımı (SE 503) Ders Detayları

Yazılım Gereksinimleri Mühendisliği (SE 221) Ders Detayları

Öğretim planındaki AKTS Ulusal Kredi

ACCURACY OF GPS PRECISE POINT POSITIONING (PPP)

Üniversitesi. {g.karatas, Library, Science Direct ve Wiley veri içerisinde

Sağlık Bilgi Teknolojileri ve Yazılım Süreç Yönetimi

İleri Yazılım Proje Yönetimi (SE 552) Ders Detayları

Yrd. Doç. Dr. Ayça Tarhan. Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü

Yazılım Hata Kestirimi için Örnek Bir Model

Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları

Rekabet Avantajının Kaynağı: Satış

SAMM ile Güvenli Yazılım Geliştirme

SENTEZ TABANLI YAZILIM MİMARİSİ TASARIM YAKLAŞIMININ ESSENCE ÇERÇEVESİYLE MODELLENMESİ

TADES CAR: Yazılım Kalite Maliyetlerini Düşürmeye Yönelik Kök-Neden Analizi Durum Çalışması

Yazılım Ürün Hattı Projelerinde Kalite Maliyeti ve Hata Yoğunluğu Ölçüm Yaklaşımı

İş Süreçlerinin Yeniden Yapılandırılması (IE 320) Ders Detayları

KURUMSAL RİSK YÖNETİMİ (KRY) EĞİTİMİ KURUMSAL RİSK YÖNETİMİ: KAVRAMSAL VE TEORİK ÇERÇEVE

THE DESIGN AND USE OF CONTINUOUS GNSS REFERENCE NETWORKS. by Özgür Avcı B.S., Istanbul Technical University, 2003

Temel ve Uygulamalı Araştırmalar için Araştırma Süreci

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

Gereksinim Mühendisliği (SE 560) Ders Detayları

A. BIÇIME İLIŞKIN ANALIZ VE DEĞERLENDIRME

Üniversitelerde Bilgi Güvenliği Eğitimi. Dr. Mehmet KARA TÜBİTAK - BİLGEM 26 Kasım 2011

İleri Yazılım Mimarisi (SE 658) Ders Detayları

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 9.Hafta. Bakım

MESLEKİ TERMİNOLOJİ I 1. HAFTA YAZILIM MÜH. TEMEL KAVRAMLAR

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: END 3934

Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML (UnifiedModeling Language) Birleştirilmiş Modelleme Dili

Taarruz Helikopteri Simülatörü için İnsan Faktörleri Değerlendirmeleri

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

CV - AKADEMİK PERSONEL

Yrd. Doç. Dr. Büşra ÖZDENİZCİ IŞIK Üniversitesi Enformasyon Teknolojileri Bölümü

YÖNETİM BİLİŞİM SİSTEMLERİ BÖLÜMÜ YENİ DERS MÜFREDATI (1) FAKÜLTESİ: İŞLETME FAKÜLTESİ / BUSINESS SCHOOL

DETERMINATION OF VELOCITY FIELD AND STRAIN ACCUMULATION OF DENSIFICATION NETWORK IN MARMARA REGION

MerSis. Bilgi Teknolojileri Bağımsız Denetim Hizmetleri

R. Orçun Madran & Yasemin Gülbahar BAŞKENT ÜNİVERSİTESİ

Tedarik Zinciri Performans Ölçümü

SAMM (Software Assurance Maturity Model) ile Güvenli Yazılım Geliştirme

İşlevsel Büyüklük Ölçümünde Yedi Efsane

FATMA KANCA. Derece Alan Üniversite Yıl Doktora Matematik Gebze Yüksek Teknoloji Enstitüsü Yüksek Lisans Matematik Kocaeli Üniversitesi 2004

Yazılım Kalite Yönetimi (SE 554) Ders Detayları

Yazılım Mimarisi (SE 322) Ders Detayları

GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı

Yazılım Süreçleri Software Processes

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC)

İleri Yazılım Proje Yönetimi (SE 552) Ders Detayları

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.

KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI

Veri Madenciliği Yöntemleriyle İGDAŞ Çağrı Merkezi Veri Analizi VE Kalite Fonksiyon Yayılımı Yöntemiyle Süreç İyileştirme Çalışması

Enerji Yönetimi 11 Aralık Ömer KEDİCİ

YZM 2108 Yazılım Mimarisi ve Tasarımı

KALİTE FONKSİYON DAĞILIMI QUALITY FUNCTION DEPLOYMENT (QFD)

Proje Yönetimi Profesyonellerinin Yetenekleri LinkedIn üzerinden incelemeler Erdem Seherler, MBA, PMP

CICS / CICP Sertifika Programları. Eğitim Kataloğu. Hazırlayan: İç Kontrol Enstitüsü

Performans Denetimi Hesap verebilirlik ve karar alma süreçlerinde iç denetimin artan katma değeri. 19 Ekim 2015 XIX.Türkiye İç Denetim Kongresi

T.C. TRAKYA ÜNĐVERSĐTESĐ FEN BĐLĐMLERĐ ENSTĐTÜSÜ

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi

BÝLDÝRÝ KÝTABI EJER CONGRESS 2014 EJER CONGRESS 2014 CONFERENCE PROCEEDINGS NISAN 2014 Istanbul Üniversitesi Kongre Merkezi

CICS / CICP Sertifika Programları İçin. Kurs Kataloğu

Requirements Engineering

DSK nın Ortaya Çıkışı ve Gelişimi

İSYS Süreçleri ve Yönetim Sistemleri İçindeki Yeri. Burak Bayoğlu (CISM, CISA, CISSP) TÜBİTAK UEKAE.

GIDA MADDELERİNDE NEM, KÜL, YAĞ VE PROTEİN TAYİNİ YETERLİLİK TESTİ RAPORU

Yazılım Mühendisliğinde İleri Konular (SE 650) Ders Detayları

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 2 ( yılı öncesinde birinci

Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi

Toplantı Çizelgesi. SPICE Süreçleri(Devam) SPICE Notlandırma ve Süreçler. Hedef ve Ölçümlerin Değerlendirilmesi. Firmanızın ve Projelerinizin Tanıtımı

PİEZOELEKTRİK YAMALARIN AKILLI BİR KİRİŞİN TİTREŞİM ÖZELLİKLERİNİN BULUNMASINDA ALGILAYICI OLARAK KULLANILMASI ABSTRACT

ÜRETİM STRATEJİSİ VE VERİMLİLİK

Transkript:

Özden, Özcan Top Bilişim Sistemleri Bölümü Orta Doğu Teknik Üniversitesi, Ankara ozden@ii.metu.edu.tr Benzerlik ve İş Gücü: Bir Durum Çalışması Functional Similarity and Effort: A Case Study Seçkin, Tunalılar ASELSAN A.Ş. Ankara stunalilar@mgeo.aselsan.c om.tr Onur, Demirörs 1 Bilişim Sistemleri Bölümü Orta Doğu Teknik Üniversitesi, Ankara demirors@metu.edu.tr Özet Yazılımın geliştirilmesi için gereken iş gücü ve maliyetinin belirlenmesi için kullanılan yöntemlerde yazılımın fonksiyonel büyüklüğü birincil girdi olmasına rağmen, pratikte fonksiyonel büyüklük ile yazılımın geliştirilmesi için gereken iş gücü arasındaki ilişki net olarak kurulamamaktadır. İlişkinin kesin olarak kurulamamasının sebeplerinden birinin yazılım içerindeki fonksiyonel benzerlikler olduğunu düşünüyoruz. benzerliklerin büyüklüklerinin hesaplanması ile bu sorunun kısmi olarak çözümlenebileceği öngörülmüştür. Bu çalışmada fonksiyonel benzerliklerin hesaplanması için beş ayrı projeye farklı yaklaşımlar uygulanmıştır. Bu yaklaşımların uygulanabilirliği ise fonksiyonel benzerliklerin yazılım geliştirme iş gücü ve kod satır sayıları üzerindeki etkileri gözlemlenerek değerlendirilmiştir. Durum çalışmaları sırasında karşılaşılan güçlükler ve ortaya çıkan fırsatlar da makalede tartışılmıştır. Abstract Although functional size is the primary input for effort and cost estimation formulas, the relation between functional size and development effort does not always hold in practice. Calculating the magnitude of functional similarity is perceived as a partial solution to overcome this problem. In this study we applied different approaches to identify the magnitude of functional similarity in five projects. The applicability of these approaches is evaluated by observing the impact of functional similarity on effort and code size of the projects. We also discuss the challenges, difficulties and opportunities faced during the case studies. 1 Bu proje 107E010 projesi kapsamında Türkiye Bilimsel ve Teknolojik Araştırma Kurumu (TÜBİTAK) tarafından desteklenmektedir. 1. GİRİŞ Yazılım projelerinin başarısız olmasının en önemli sebeplerinden biri çoğunlukla yazılımın büyüklüğüne bağlı olarak gelişen fakat gerçekçi olmayan iş gücü ya da maliyet beklentileridir [29]. büyüklüğü girdi olarak kullanan tahmin yöntemleri ile bir yazılım ürününü tamamlamak için gereken iş gücü, maliyet ve zaman hesaplanabilmektedir. Bu nedenle, yazılımın fonksiyonel büyüklüğü doğru olarak belirlendiğinde ve büyüklük ile iş gücü arasındaki ilişki doğru olarak kurulduğunda projeleri planlama ve izleme etkinlikleri başarıyla yürütülebilmektedir. Fakat fonksiyonel büyüklük ve iş gücü arasındaki ilişkiyi mevcut büyüklük tahmin ve ölçüm tekniklerini kullanılarak istenen düzeyde bir doğrulukla belirlemek mümkün değildir. Bir yazılım ürününün fonksiyonel büyüklüğü net olarak belirlenebilmesine rağmen, büyüklük ölçümü sırasında özellikle yazılım iş gücünün doğru bir biçimde belirlenmesini etkileyen pek çok sorunla karşılaşılmaktadır. Bu zorluklardan biri de yazılım varlıklarının benzerliklerden kaynaklanan tekrar kullanılabilirliği ile ilgilidir. Tekrar kullanılabilirlik pek çok şekilde ve farklı terminolojilerle karşımıza çıkmaktadır. Harici tekrar kullanım, dâhili tekrar kullanım, ticari tekrar kullanım (COTS), ve kopyalama bunlardan bazılarıdır. Örneğin, dâhili tekrar kullanım bir sistem için geliştirilen bir alt birimin aynı sistem içinde birden fazla kullanılması; harici tekrar kullanım ise başka bir sistem için geliştirilen bir alt birimin yeni bir sistemde bir ya da daha fazla kullanılması olarak tanımlanmaktadır [7], [5]. Organizasyonlarda, fonksiyonel benzerlik düşünüldüğünde çoğunlukla harici tekrar kullanım miktarları göz önünde bulundurulmaktadır. Harici tekrar kullanım kadar, dâhili tekrar kullanımın da yazılımın geliştirilmesi için gereken toplam iş gücü ve zaman üzerinde önemli bir etkisi vardır. Hernekadar pek çok yazılım ürünü fonksiyonel olarak benzer alt birimler ve benzer fonksiyonel süreçler içerse de; özellikle yazılımın erken safhalarında fonksiyonel

benzerlikleri olan varlıkları belirlemek oldukça zordur. Bunun da ötesinde fonksiyonel olarak benzer varlıkların, yazılımın geliştirilmesi aşamasında aynı iş gücünü gerektirip gerektirmediği yani benzerliklerin iş gücü üzerindeki etkileri net olarak bilinmemektedir. Konuyla ilgili yazınlarda, fonksiyonel benzerlikleri belirlemeyi hedefleyen yaklaşımların açıklandığı çalışmalar bulunmaktadır. Bu yaklaşımlardan biri, yazılım yaşam döngüsünün erken fazlarında fonksiyonel süreçler arasındaki benzerlikleri veri grubu ve veri hareketlerini değerlendirerek belirleyen fonksiyonel benzerlik yaklaşımıdır. Diğer bir yaklaşım ise; varlık genelleme/özelleştirme uygulamalarını içermektedir. Varlık genelleme/özelleştirme yaklaşımı, yazılımın büyüklüğünü ölçme sırasında benzer fonksiyonel süreçleri tek bir süreç altında gruplayarak aynı ya da benzer fonksiyonların tekrar tekrar ölçülmesini engellemektedir [31]. Ayrıca bu yaklaşım projelerin başlangıcında sadece uzman görüşüne başvurularak da uygulanabilmektedir. Bu çalışmamızda hem varlık genelleştirme [31] hem de Santillo ve Abran ın fonksiyonel benzerlik [28] yöntemlerinin tekrar kullanımları belirlemedeki yetkinliklerini değerlendirmek ve yeni gelişim imkânlarını ortaya çıkartmak amacıyla beş ayrı proje bu yöntemleri uyguladık. Değerlendirme sonuçlarının yanında fonsiyonel benzerliklerin yazılım geliştirme için gereken iş gücü ve fonksiyonel büyüklük arasındaki ilişkiye etkisini de değerlendirdik. Makalenin kalanı şu şekilde organize edilmiştir: İkinci bölüm konuyla ilişki daha önceki çalışmaları; üçüncü bölüm durum çalışmalarının yapısını ve karşılaşılan zorlukları; dördüncü bölüm ise sonuçları ve öğrenilen dersleri içermektedir. 2. İlgili Çalışmalar liği temel alarak bir yazılım ürününün büyüklüğünü ölçme fikri ilk olarak Alan Albrecht tarafından 1979 yılında ortaya atılmıştır [2]. Fonksiyon Nokta Analizi (FNA) olarak adlandırılan bu yöntemin oldukça büyük bir ilgi görmesinin sebebi FNA nın yazılımın büyüklüğünü kullanıcı bakış açısından ölçmesi ve ölçüm sürecinin, uygulamada kullanılan araç ve yöntemlerden bağımsız olmasıdır. Albrecht in yöntemini temel alan pek çok ölçüm tekniği geliştirilmiş ve her biri çeşitli fonksiyonel alanlarda büyüklük ölçümü yapmayı olanaklı hâle getirmeyi basarmıştır. Bu tekniklerin artmasına bağlı olarak ölçüm yöntemleri için ortak temel içerikleri açıklamak ve bu alanda uluslar arası bir standart yayınlamak amacıyla ISO/IEC çalışma grubu oluşturulmuştur [17] - [22]. Günümüzde, IFPUG (International Function Point User Group) FNA [15], MkII FNA (Mk II Function Point Analysis) [14], COSMIC (Common Software Measurement International Consortium) [16], NESMA (Netherlands Software Metrics Users Association) FBÖ [23] ve FISMA (Finnish Software Measurement Association) [8] ISO/IEC tarafından uluslararası fonksiyonel büyüklük ölçümünde uluslararası standartlar olarak kabul edilmiştir. Tüm bu yöntemler fonksiyonelliği kullanıcı bakış açısıyla ölçmelerine rağmen, ölçüm sırasında farklı birimler ve kurallar kullanmaktadırlar. lik açısından yazılım uygulamalarındaki benzerlikler araştırma projelerine konu olmuş ve benzerlikler pek çok projede farklı olarak adlandırılmıştır. Örneğin; Fenton [7] bir ürün içerisindeki alt birimlerin aynı ürün içerisinde tekrar kullanıldığı durumları özel tekrar kullanılabilirlik olarak adlandırıken Cruickshank and Gaffney [5] bu durumu dâhili tekrar kullanım olarak adlandırmış ve harici tekrar kullanımdan ayırmıştır. Terminoloji ne olursa olsun fonksiyonel benzerlikler yazılımın her fazında önemli bir etkiye sahiptir. Örneğin, fonksiyonel benzerliklerden ötürü tekrar kullanılabilirliğin destek fazına etkisi Abran and Desharnais [1] tarafından 1995 yılında değerlendirilmiş ve sonuçta Fonksiyon Nokta Analizi Yöntemi ile büyüklük ölçümü yapılan iyileştirme projelerinde tekrar kullanılabilirliğin belirlenebilmesi ve ölçülmesi için bir yaklaşım geliştirmiştir. Yaklaşımları; tekrar kullanılabilirlik oranı ve tahmin oranı olarak adlandırdıkları iki anahtar kavrama dayanmaktadır ve alternetif bir büyüklük ölçümünün bu kavramlar kullanılarak nasıl elde edilebileceğini göstermektedir. benzerlik, en yaygın kullanılan büyüklük ölçüm yöntemlerinden biri olan COSMIC yöntemine de konu olmuştur. COSMIC, fonksiyonel benzerlik kavramını İş Uygulamalarını Ölçme Klavuzunda [30] ele almıştır. Vurgulandığı üzere, yazılımları geliştiren kişiler fonksiyonel süreçler arasındaki fonksiyonel tekrar kullanımları fark ederek kod ikilemelerinden kaçınabilirler. Fakat aslında COSMIC yöntemine göre büyüklük ölçümü yapıldığında kullanıcı bakış açısı göz önünde bulundurulacak ve Kullanıcı Gereksinimleri, benzer fonksiyonel süreçleri gruplamadan ölçülecektir. Abran ve Maya [4] da bir yazılım ürünündeki benzerlikleri fonksiyonel benzerlikler açısından değerlendiren araştırmacılardan ikisidir. benzerlik ölçümlerini iyileştirip geliştirerek maliyet tahmin ve verimlilik modelleri için daha kesin bir ölçüm temeli oluşturmayı amaçlamışlardır.

Yukarıdakilere ek olarak, yazın dünyasında kaynak kodu düzeyinde yazılımın tekrar kullanımını değerlendiren ciddi oranda çalışma bulunmaktadır. Fakat bunlardan sadece birkaçı fonksiyonel benzerlikleri yazılımın erken fazlarında belirlemeye odaklanmaktadır [3], [25]. Ho, Abran ve Olingy [11] fonksiyonel tekrar kullanımları; kodlama aşamasından önce yazılımın erken fazlarında ölçmenin önemini belirtmiş ve bunun yazılım mühendisliği süreçlerindeki performansı artıracağını vurgulamışlardır. Çalışmaları, COSMIC yöntemini kullanarak Abran ve Desharnes in [1] yöntemini geliştirmeyi hedef almaktadır. Değişiklik gerektirmeyen tekrar kullanımları ele alan ve kara kutu yaklaşımı olarak adlandırılan bu yaklaşım fonksiyonel katmanlar arasındaki fonksiyonel ilişkileri kullanmaktadır. Yazılım geliştirme iş gücü ve fonksiyonel büyüklük arasındaki karşılıklı ilişki de pek çok araştırma projesine konu olmuştur. 2000 yılında Meli, [26] bu ilişkide karşılaşılan sorunları tartışmış ve bazı durumlarda farklı fonksiyonları bir araya getirmenin, uygulamaları hızlı ve ekonomik olarak gerçekleştirmeye olanak sağladığını vurgulamıştır. Bunun sonucu olarak da tüm sistemi geliştirmek için gerekecek olan iş gücü azalacak ve iş gücü, tanımlanan tüm fonksiyonlara bağlı olmayacaktır. Sadece çok az araştırma fonksiyonel benzerlikleri göz önünde bulundurarak fonksiyonel büyüklük ve iş gücü arasındaki ilişkinin kurulması konusuna odaklanmıştır. Santillo ve Della Noce [27] Çalışan Fonksiyon Modeli isimli bir yöntem yayınlayarak iş gücü ile ilişkilendirilebilecek çok daha anlamlı bir büyüklük elde etmişlerdir. Modelleri, tekrar kullanabilirlik ve benzerlik değerlendirmelerini içermektedir. Santillo ve Abran [28] yazılımın içindeki benzerliklerin fonksiyonlar açısından belirlenmesine olanak sağlayan fonksiyonel benzerlik olarak adlandırdıkları bir yöntem geliştirmiştir. Yöntem; COSMIC kullanılarak tanımlanmış olan, fonksiyonel süreçleri, veri hareketlerini, veri değerlendirmelerini içeren bir veri seti içerisinden fonksiyonel benzerliklerin ortaya çıkartılması esasına dayanmaktadır. Herhekadar çalışmaları fonksiyonel benzerlikleri bulmak için önemli bir yöntem barındırsa da; iş gücü ve yazılımın fonkiyonel büyüklüğünün ilişkilendirilmesi konusunda bir yaklaşım önermemektedir. Son olarak, varlık özelleştirme yöntemleri de benzer fonksiyonel süreçleri gruplamaya olanak sağlayarak daha özet bir veri seti sundukları ve sonuç olarak da aynı fonksiyonların ölçüm sırasında tekrarını engelledikleri için farklı bakış açılarından kaynaklanan ölçüm farklılıklarının giderilmesinde geçerli yöntemlerdir. Bunlardan dolayı, bu yöntemler fonksiyonel benzerliklerin fonksiyonel büyüklük ve yazılım geliştirme iş gücü arasındaki ilişki üzerindeki etkisini belirlemeye yarayan araçlar olarak tanımlanabilir. Bu konuyla ilgili bir araştırma Türetken ve arkadaşları tarafından yürütülmüştür [31]. Çalışmalarında varlık genelleme kavramının COSMIC ve IFPUG fonksiyonel büyüklük ölçme yöntemleri ile bir arada kullanılmasıyla orta çıkan farklı ölçüm sonuçlarının etkilerini tartışmışlarıdır. 3. Durum Çalışmaları Bu araştırma projesinde fonksiyonel benzerlikleri belirleme yöntemlerinin farklı alanlardaki çalışmalara uygulanabilirliğinin değerlendirilmesi, fonksiyonel benzerliklerin yazılım büyüklüğü ve yazılım geliştirme için gereken iş gücü arasındaki ilişkiye olan katkısının gözlenmesi ve kullanılan yöntemlerle ilgili olarak gelişim önerilerinin sunulması amacıyla iki analist tarafından beş ayrı durum çalışması yürütülmüştür. Durum çalışmaları; COSMIC büyüklük ölçüm yöntemi ile ürünlerin büyüklükleri ölçüldükten sonra fonksiyonel benzerliklerin Santillo ve Abran ın yöntemi ve varlık genelleştirme yöntemi kullanılarak belirlenmesini kapsamaktadır. Santillo ve Abran tarafından tanımlanan fonksiyonel benzerlik yöntemi beş projeye de uygulanırken varlık genelleştirme yöntemi bir projeye uygulanmıştır. Durum çalışmalarının detayları ilerleyen bölümde yer almaktadır. 3.1. Örnek Olaylar Örnek olaylardan biri olan -KAMA- kavramsal bir modelleme aracı geliştirme projesidir. Araç, özellikle askeri alandaki farklı modelleme ve simulasyon geliştirme projeleri için ortak bir gösterim ve yöntem sağlamaktadır. Diğer örnek olay easyarchidim, yazılım büyüklük ölçüm aracı geliştirme projesidir. Araç, ARCHItectural DIMensions Based Functional Size Measurement Method [9] kullanıldığı durumlarda ölçüm sürecini otomatikleştirmek amacıyla geliştirilmiştir. Araç, gerekli detaydaki bilgi sisteme girildiğinde büyüklüğü ölçmenin yanında, kullanıcıya detaylı rapor sağlamak ve girilen bilgileri saklamak gibi özelliklere sahiptir. Son üç örnek olay ise gömülü platformlarda kullanılmak üzere geliştirilen üç ayrı simulatör projesidir. Simulatörler alınan ve gönerilen mesajların gösterildiği ve kontrol edildiği grafiksel arayüzler içermektedir. Örnek olaylar CHAR Yöntemi [21] temel alınarak ürünlerin fonksiyonel alanlarına göre gruplanabilmiştir. Buna göre KAMA ve easyarchidim Bilişim

Sistemleri projesi ve üç simulatör projesi de Kompleks Veri Güdümlü Kontrol Sistemi olarak tanımlanmıştır. 3.2. Durum Çalışmalarının Gerçekleştirilmesi Örnek olayların her biri COSMIC yöntemi üzerine bir uzman içeren iki ayrı takım tarafından yazılım gereksinim dökumanları (YGD) kullanarak bağımsız olarak ölçülmüştür. Tüm YGD dökumanları IEEE Standardı 830-1998 [12] ile uyumlu olarak hazırlanmıştır. Ölçüm sonuçları da o ölçüme katılmayan analist tarafından kontrol edilerek doğrulanmıştır. Analistlerden biri Bilişim Sistemleri projeleri olan, KAMA ve easyarchidim i ölçerken diğeri Karmaşık Veri Güdümlü Kontrol Sistemi projeleri, SİM 1, SİM 2, SİM 3 ü ölçmüştür. COSMIC yöntemi ile ulaşılan ölçüm sonuçları Tablo 1 de verilmiştir. Tablo 1 Örnek Olayların Ölçüm Sonuçları Örnek Olay Süreç Sayısı Girdi Sayısı Çıktı Okuma Yazma Sayısı Sayısı Sayısı Büyüklük (CFP) KAMA 130 204 164 184 142 694 easy ARCHIDIM 7 21 22 20 12 75 SİM-1 53 107 98 39 33 277 SİM-2 44 73 33 24 63 193 SİM-3 11 82 16 4 17 129 Santillo ve Abran ın yönteminin uygulanması: Santillo ve Abran tarafından geliştirilen fonksiyonel benzerlik yöntemi iki aşamadan oluşmaktadır. İlk Seviye Değerlendirmesi olarak adlandırılan ilk aşama fonksiyonel süreçleri sadece veri hareketlerini dikkate alarak karşılaştırmaktadır. süreçler arasındaki benzerlikler veri grubu ve veri hareketleri arasındaki ilişkiler karşılaştırılarak bulunmaktadır, buna ek olarak bu karşılaştırma tekniğinin yetersiz kaldığı bazı durumlarda fonksiyonel benzerlikleri bulabilmek için analistin muhakemesine de başvurulabileceği belirtilmiştir. İkinci Seviye Değerlendirimesi olarak adlandırılan sonraki aşamada fonksiyonel benzerlikler hem veri hareketi hem de veri değerlendirmesi eylem tipleri göz önünde bulundurularak belirlenmektedir. benzerliklerin belirlenmesinde hem İlk Seviye Değerlendirmesini hem de İkinci Seviye Değerlendirmesi kullandık. Yöntemin ikinci aşamasını dört örnek olaya, easyarchidim, SIM-1, SIM-2, SIM-3 uyguladık. COSMIC yöntemine göre bir fonksiyonel süreçteki tüm veri değişimleri herhangi dört veri hareketi ile ilişkilendirilmekte; bu nedenle de veri değerlendirmeleri ölçüm sürecine katılmamaktadır. Bunun için de COSMIC el kitabında, bir yazılım ürününün ölçümünde veri hareketlerinin nasıl belirleneceğiyle ilgili detaylı bilgi bulunmamaktadır [16]. Tüm örnek olaylar için ilk aşama COSMIC kullanarak fonksiyonel büyüklüklerin belirlenmesi idi. Bu adımdan sonra detaylı büyüklük ölçüm veri setleri, foksiyonel benzerliklerin belirlenebilmesi için düzenlendi. İkinci adım; her bir çifti birbiriyle karşılaştırmayı gerektiren farklı fonksiyonel süreçlerdeki veri grubu ve veri hareketi çiftlerini karşılaştırmaktı. Santillo ve Abran ın geliştirdikleri yöntem detaylı olarak incelendiğinde, bu yöntemin sadece küçük ölçekli projelerle doğrulandığı gözlendiği için yönetemin büyük ölçekli projelerdeki uygulanabilirliğini incelemek istedik. Araştırmanın ilk aşamasında; KAMA, fonksiyonel benzerlikleri belirlemede yeni gelişim fırsatlarını ortaya çıkartabilecek potansiyele sahip ve göreceli olarak da daha büyük bir proje olduğu için İlk Seviye Değerlendirmesi KAMA nın bir bölümüne uygulandı. Bu değerlendirmeyi yapabilmek için KAMA 694 adet veri hareketi içerdiği için 694*693 adet karşılaştırma yapmak gerekli olmuştur. Santillo ve Abran ın da vurguladığı gibi veri hareketi-veri grubu karşılaştırmalarını yapmak çok zaman gerektirmektedir. Bunun da ötesinde bu kadar büyük bir veri setini hata yapmadan değerlendirmek olanaksızdır. 694*693 adet veri hareketini tek tek değerlendirmemek için en iyi çözüm bu işlemi otomatikleştirecek bir araç geliştirmekti. Benzerlikleri Değerlendirme Programı (FBDP), ölçüm sürecini otomatikleştirerek fonksiyonel benzerliklerin yüzdesini gösteren bir matris ortaya çıkartmaktadır. Sürecin otomasyonu ile karşılaştırma süresi saniyeler mertebesine inmiştir. Hernekadar FBDP, benzerlik matrisinin oluşturulmasına önemli bir katkıda bulunsada fonksiyonel benzerliklerin bulunmasında sezgisel çıkarımlar yapma yeteneğine sahip değildir. Bundan dolayı analistin kendi muhakemesinin gerekli olduğu durumlarda araç yetersiz kalmaktadır. KAMA nın büyüklüğünü ölçtükten sonra, ölçüm sonuçları FBDP kullanılarak iki farklı açıdan değerlendirilmiştir. İlk değerlendirmede fonksiyonel benzerlikler 130 fonksiyonel süreç arasından belirlenirken; ikinci değerlendirmede bu fonksiyonel süreçler kavramsal model elemenlarının (Varlık, Aktör, Rol ) tiplerine göre 9 alt birim altında kümelenmiş ve fonksiyonel benzerlikler bu alt birimler bazında belirlenmiştir.

130 fonksiyonel süreç birbiriyle karşılaştırıldığında 16900 hücreden oluşan bir benzerlik matrisine ulaşılmıştır. Bu değerlendirmeye ilişkin örnek bir veri seti Tablo 2 de verilmiştir. İlk yatay ve dikey satırlar fonksiyonel süreçleri gösterirken (A, B, C, D ) tablo içerisindeki sayılar fonksiyonel benzerlik yüzdelerini göstermektedir. Örneğin A süreci kendisine % 100 benzerken B süreci A sürecine % 33 benzemektedir. Tablo 2 Standard yaklaşıma göre KAMA nın benzerlik matrisinden bir örnek Süreçler A B C D A 1 0.076923 0 0 B 0.33333 1 0 0 C 0 0 1 0.33333 D 0 0 0.25 1 süreçler alt birimlerin altında grupladığında 16900 yerine 81 adet değer içeren bir benzerlik matrisine ulaşıldı. Bu matrisin bir bölümü Tablo 3 te örnek olarak verilmiştir. Tablodaki ilk dikey ve yatay satırlar alt birimleri gösterirken, tablodaki değerler fonksiyonel benzerlik yüzdelerini vermektedir. Görüleceği üzere benzerlik yüzdeleri bu yaklaşım kullanıldığında artmıştır. Santillo ve Abran, çalışmalarında bir yazılım ürününün yeniden kullanılabilirlik kapasitesini öngörmek için ortalama benzerlik yüzdelerinin hesaplanması gerektiğini vurgulamıştır. Aynı yazılım ürününe iki farklı bakış açısı ile bu yöntemi uyguladığımızda oldukça farklı sonuçlar elde etmiş olmamız, ortalama benzerlik yüzdesi değerinin bu kapasiteyi göstermek için çok da iyi bir yöntem olmadığını düşündürmüştür. Elde edilen sonuçlar Tablo 4 te verilmiştir. Tablo 4 KAMA nın Benzerlik Sonuçları Örnek Olay Ürünün Tekrar Alt Birim Büyüklüğü Kullanılabilirlik Süreç Sayısı Sayısı (CFP) Yüzdesi KAMA 130 _ 694 8,78% KAMA kümelenmiş _ 9 694 59,02% Kullanıcı Gereksinimlerini incelerken fonksiyonel alt birimler arasındaki benzerliklerin fonksiyonel süreçler arasındaki benzerliklerden daha dikkat çekici olduğu görülmüştür. Bundan dolayı fonksiyonel süreçleri alt birimler altında gruplama yaklaşımı tekrar kullanım açısından daha iyi sonuçlar vermektedir. Araştırmanın ikinci bölümünde Abran ın hem ilk seviye değerlendirme hem de ikinci seviye değerlendirme yaklaşımları Simulator ve easyarchidim projelerine uygulanmıştır. Analistlerin ulaştıkları sonuçlar FBDP kullanılarak doğrulanmıştır. Her iki aşamada elde edilen sonuçlar Tablo 5 te verilmiştir. Abran ın metodunda gözlemlenen önemli konulardan biri veri değerlendirmeleri nın yeterli olmadığı yönündedir. Yazılımın Uygulama alanına bağlı olarak veri değerlendirmeleri sayısının ve cinsinin arttırılabileceği öngörülmektedir. Örneğin, easyarchidim de bulunan hesaplamalar birbirinden boyut olarak farklı olmasına rağmen yöntemde anlatıldığı şekilde kullanıldığında aynı tanımlamanın içinde değerlendirilmiştir. Oysa hesaplamaların arkasındaki karmaşıklık seviyesi de dikkate alınmalıdır. Tablo 3 Kümeleme yaklaşımına ait örnek veri seti Alt birimler Varlık Model Aktör Model Rol Model Varlık Model Aktör Model Rol Model 1 0,96842 0,97895 0,96842 1 0,98947 0,93 0,94 1 Tablo 5 İlk seviye ve ikinci seviye değerlendirme sonuçları Örnek Olay Ürünün Büyüklüğü Süreç Sayısı (CFP) Ortalama Benzerlik Yüzdesi (İlk Seviye) Ortalama Benzerlik Yüzdesi (İkinci Seviye) SIM-1 53 277 79,0% 52,41 % SIM-2 44 193 57,75 % 34,37 % SIM-3 11 129 25,8% 22.36 %

easy ARCHIDIM 7 74 42,37% 39,54% Aslında analistler, kullanıcı gereksinimlerini incelerken fonksiyonel süreçler arasındaki benzerlikleri kolaylıkla fark edebilmektedir. Çalışmamızda da analist, Abran metodundan bağımsız olarak Simulator projelerinin Kullanıcı Arayüzleri ni inceleyerek benzerlikleri tanımlayabilmiştir. Abran ın yönteminin ikinci seviye değerlendirmesini Simulator ve easyarchidim projelerine uyguladığımızda beklediğimiz gibi benzerlik yüzdelerinde düşüş olduğunu gördük. İkinci seviye değerlendirmede artık sadece herhangi bir veri hareketi değil bu hareketin nasıl bir işlemden geçerek yapıldığı da incelendiği için veri hareketleri açısından birbirine eş gibi görünen süreçlerdeki hesaplamalar süreçlerin benzerliklerini tamamen farklılaştırmaktadır. Verimlilik Karşılaştırmaları Bu çalışmanın en önemli amaçlarından birisi yazılımın fonksiyonel büyüklüğü ve iş gücü arasındaki ilişkiye fonksiyonel benzerliğin etkisinin incelenmesidir. Bu sebeple aynı şirkette, aynı ortamda, aynı ekibin aynı dili kullanarak geliştirdiği 3 proje, SİM-1, SİM-2, SİM-3 seçilmiştir. Özellikle bu projelerinin seçilmesinin sebebi tasarım ve kullanıcı dokümanlarının detaylı olarak tanımlanmış olmasıdır. Proje ekibi, projelerin hepsi için insan-gün bazında iş gücü değeri toplamıştır. Aynı koşullar altında projeler geliştirildiğinde ekibin verimlilik değerinin de aynı olacağını beklemekteyiz. Projeler küçük boyutlu olduğu için iş gücü değerlerinin detayı düşünülmeden tüm yaşam döngüsü dikkate alınmıştır. Tablo 6 da verilen ilk verimlilik değerleri fonksiyonel benzerlikleri göz önünde bulundurmadan elde edilen sonuçları göstermektedir. Bu üç proje için verimlilik değerleri birbirinden oldukça farklı çıktığı için, projeleri tamamlamak için gereken iş gücünün proje büyüklüğüne tamamen bağımlı bir değer olmadığını söyleyebiliriz. Hatta Tablo 6 da görüleceği üzere SİM1 projesinin büyüklüğünün diğer projelerden oldukça fazla olmasına rağmen daha az zamanda bitirildiği düşünülürse ya ekibin verimliliği birdenbire artmıştır ya da ortada böyle bir bağlantı yok denebilir. büyüklük ölçümlerinde kullanıcı bakış açısından ölçüm yapılır ve yazılım ekibinin geçmişte elde edilen bu verimlilik değerleri kullanılarak iş gücü değeri hesaplanırsa bu projelere göre 3 farklı sonuç ile karşılaşmamız olasıdır. Bir başka şekilde ifade etmek gerekirse, ekibin daha önceki verimlilik değerlerinin birbirinden oldukça farklı olması, yazılımı geliştirmek için gereken zamanı doğru ve net olarak ortaya koymamızı engelleyecektir. Tablo 6 Simulatör Projelerinin Verimlilik Oranları (Verimlilik= Büyüklük Cfsu/İş gücü (adam-gün)) Örnek Olay Ürünün Büyüklüğü (CFP) İlk Verimlilik Benzerlikler Dikkate Alındıktan Sonraki Verimlilik SİM-1 277 9,8913 4,24 SİM-2 193 6,89 3,39 SİM-3 129 4,44 3,19 Çalışmamızın bu kısmındaki hipotezimiz şöyle özetlenebilir; daha anlamlı ve doğru verimlilik değerlerine ulaşmak ancak Yazılımcı Bakış Açısı ile ölçümü yapmakla mümkündür. Bu bakış açısı, gerçek hayattaki iş gücünü ortaya koyar ve benzer olarak geliştirilecek yazılım alt birimlerine yazılımcının daha az iş gücü harcayacağını öngörür. Yazılımcı fonksiyonel olarak benzer olan bölümü ya kopyalayacak ya da yazılım geliştirme ve tasarım ortamı vasıtası ile yeniden kullanılabilir şekilde tanımlayacaktır. Biz kendi çalışmamızda bu tarz bir değişiklik için harcanacak iş gücünün çok düşük olduğunu düşünerek sadece ana alt birimin geliştirilmesinin fonksiyonel büyüklük ölçümüne katılmasının yeterli olduğunu öngördük. Bunun sonucunda yeni ulaştığımız verimlilik değerleri Tablo 6 da 4. sütunda verilmiştir. Bu yeni verimlilik değerlerinin aynı ekip için daha kabul edilebilir olduğu görülmektedir. benzerlikler dikkate alınarak yapılan Yazılımcı Bakış Açısı ile büyüklük ölçümlerinden daha gerçekçi iş gücü değerlerine ulaşılabilmektedir. Varlık Genelleştirme Yöntemi Uygulaması benzerlikleri tanımlayabilmek için uygulanan diğer yöntemlerden biri olan varlık genelleştirme yöntemini KAMA projesinin farklı bir perspektiften tekrar ölçümünde uyguladık. KAMA nın aynı bölümünün birbirine benzeyen tüm varlıklarını özel varlıklar olarak tanımlayarak bir ölçüm daha yaptık [31]. Böylece fonksiyonel olarak birbirine benzeyen süreçleri elemiş olduk. Özel olarak bir başlık altında tanımlanan bu varlıkar Şekil1 de gösterilmiştir.

fark ile tam olarak ilişkili değildir. Karşılaştırma sonuçları Tablo 7 de verilmiştir. Tablo 7 Projelerin SLOC ve Ortalama Tekrar Kullanım Yüzdeleri Örnek Olay Ürünün Büyüklüğü (CFP) Ortalama Tekrar Kullanılabilirlik Yüzdesi (İlk Seviye) SLOC SLOC (1 birim büyüklük için) Şekil 1 KAMA daki Varlıklar Örneğin, Varlık Model Yaratma Görev Model Yaratma gibi ayrı süreçler yerine Kavramsal Model Yaratma gibi bir süreç tanımlayarak tekrar eden hareketleri eledik. Bunun sonucu olarak COSMIC ile benzerlikleri dikkate alınmadan yapılan ölçümle bulunan 694 CFP yerine 97 CFP ye ulaşmış olduk. Yeni değerin ilkine göre daha anlamlı olduğu düşünülmektedir. Varlık Genelleştirme (Entity Generalization) yaklaşımı fonksiyonel benzerlikleri yazılımın büyüklük ölçümü sırasında doğrudan dikkate almaktadır. Bu nedenle ayrıca fonksiyonel benzerliklerin değerlendirilmesi ve ve benzerliklerin fonksiyonel büyüklük üzerindeki etkisinin hesaplanması aşamalarına ihtiyaç duyulmamaktadır. 3.3 Yazılım Satır Sayısı (SLOC) ve Tekrar Kullanım Bağıntısı Araştırmanın bu kısmında Yazılım Satır Sayısı (SLOC) ve Tekrar Kullanım arasındaki ilişkiyi analiz ettik. Bu konuda hipotezimiz şu şekilde idi: benzerlikler arttıkça yazılımın satır sayısı azalmalıdır. Değerlendirmesi yapılan 2 yazılım projesi JAVA kullanılarak Simulator projeleri ise C# kullanılarak geliştirilmiştir. Quantitative Software Management, Inc tarafından yayınlanan verilere göre [32] bu iki yazılım dili 1 FP için aynı SLOC değerine sahiptirler. Bu yüzden SLOC değerleri herhangi bir çarpanla değiştirilmeye gerek kalmadan karşılaştırılmıştır. Karşılaştırma sonuçlarını incelerken öncelikle projelerin fonksiyonel alanlarına göre grupladık. Buna göre, simulator projelerinde süreçler arsında benzerlik ve yeniden kullanılabilirlik arttıkça SLOC değeri SİM3 projesi dışında düşmektedir. Bu farkın sebebinin SİM3 projesinin küçük bir proje olmasından ve içindeki süreç sayısının diğerlerine göre az olmasından kaynaklandığını düşünüyoruz. Çünkü uygulamadaki süreç sayısı azaldıkça benzer süreç bulunma olasılığı da düşmektedir. Bilişim Sistemleri projeleri ile elde ettiğimiz sonuçlar ise bu hipotezimizi desteklemekle birlikte SLOC değerleri arasındaki fark yeniden kullanım yüzdeleri arasındaki KAMA 694 59,02% 12397 18 easy ARCHIDIM 75 42,37% 3664 49 SIM1 277 79,00% 7586 27 SIM2 193 57,75% 8603 44 SIM3 129 25,80% 4211 32 4. Sonuçlar Bu çalışmada fonksiyonel benzerlik belirleme yöntemlerinin farklı alanlardaki yazılımlara uygulanabilirliğinin sonuçlarını ve fonksiyonel tekrar kullanım ın yazılım geliştirme iş gücünü ve toplam satır sayısına olan etkilerini ortaya koyduk. Araştırma sırasında Santillo ve Abran ın [27] ve varlık genelleştirme [30] yaklaşımlarını 5 farklı yazılım projesine uyguladık. Santillo ve Abran nın yönteminin değerlendirmesi sırasında karşılaşılan zorluklardan biri yöntemde belirtilen fonksiyonel benzerlik belirleme tekniklerinin hata yapmaya çok açık ve zaman gerektirici olmasıdır. Bu nedenle yöntem, özellikle büyük yazılım projeleri için uygun değildir. Yukarıda belirtilen sorunların üstesinden gelebilmek için değerlendirme sürecini kısmen de olsa otomatikleştiren bir program geliştirdik. Bu program metodun her iki aşaması için de uygulanabilmekte, hata olasılığını ve değerlendirme süreci için gereken iş gücünü önemli ölçüde azaltmaktadır. KAMA uygulamasında fonksiyonel süreçler arasındaki benzerliklerin uygulamadan beklenen benzerlik oranını yansıtmamasından dolayı fonksiyonel süreçleri alt birimler altında gruplayarak ikinci bir benzerlik belirleme çalışması yaptık. Bu iki yaklaşımın sonuçları arasındaki ciddi farklılık aslında analist yorumuna bağlı olarak fonksiyonel benzerlik oranlarının büyük farklılıklar gösterebileceğini ortaya çıkarmıştır. Abran ve Santillo tarafından belirlenen yöntemin uygulanmasında karşılaşılan bir başka problem, ikinci aşama için tanımlanan veri değerlendirmeleri nin nasıl sınıflandırılacağının ve bu verilerin kullanıcı gereksinimlerinden nasıl çıkartılacağının COSMIC kılavuzunda detaylı olarak anlatılmamış olmasıdır. Veri

değerlendirmeleri terimi çok genel olarak kullanılmakta ve bu kapsamda herhangi bir hesaplama içeren iki süreç benzer kabul edilebilmektedir. Oysa hesaplamaların ardındaki algoritma farklılıkları yazılımın büyüklüğünü doğrudan etkilemektedir. Benzer süreçleri ayıklama amacı ile uyguladığımız diğer yöntem olan Varlık Genelleştirme daha önceki ölçümde elde ettiğimiz 964 CFP lik büyüklük yerine 97 CFP ye ulaşmamıza neden olmuştur. Bunun sonucu olarak varlık genelleştirme yönteminin iş gücü ve fonksiyonel büyüklük arasındaki ilişkinin kurulmasına katıda bulunacağı öngörülmektedir. Bu çalışmada ayrıca tekrar kullanımın uygulamalardaki satır sayısı (SLOC) miktarını nasıl etkilediğini de inceledik. tekrar kullanımları göz önünde bulundurarak ulaştığımız fonksiyonel büyüklükleri uygulamaların SLOC değerleri ile karşılaştırdık. Tekrar kullanım oranı arttıkça uygulamalardaki satır sayısının azalmakta olduğunu gördük. Fakat ortalama benzerlik yüzdesi ile SLOC arasındaki oranın aynı oranda azalmadığını da gözlemledik. İncelediğimiz önemli konulardan biri de COSMIC ile ölçtüğümüz yazılım büyüklüğünün ürün geliştirme için harcanan iş gücü ile olan ilişkisi idi. Aynı yazılım ekibinin geliştirdiği projeler üzerinde yaptığımız bu değerlendirmede fonksiyonel benzerlikleri dikkate almadan ulaştığımız verimlilik değerlerinin birbirinden oldukça uzak olduğunu gözlemledik. Bir başka deyişle yeni bir projede bu ekibin verimlilik değerini kullanarak iş gücü tahmini yapabilmek mümkün değildi. Benzerlikleri dikkate alarak yazılım büyüklüğünü yeniden hesapladığımızda ise verimlik değerlerinin birbirine nasıl yakınsadığını ve iyileştiğini gördük. Bu çalışma bizi şu sonuca götürmüştür: Yazılım büyüklüğü ve harcanacak iş gücü arasında şüphesiz bir bağlantı vardır, fakat doğru ilişki ancak fonksiyonel benzerlikler dikkate alındığı zaman kurulabilir. 5. Kaynakça [1] Abran A., Desharnais J-M., Measurement of Functional Reuse in Maintenance in Journal of Software Maintenance: Research and Practice, Vol 7, 263-277 (1995). [2] Albrecht, A., Measuring Application Development Productivity. In: Proc. of the IBM Applications Development Symposium, pp. 83-92. Monterey, California (1979) [3] Albrecht, A., and Gaffney, J., 1983. Software function, source lines of code, and development effort prediction: a software science validation. IEEE Transactions on Software Engineering 9 (6), 639-648. [4] Abran, A., Maya, M., Measurement of Functional Reuse, WISR8, Ohio State University, Columbus, Ohio, USA, March 23-26, (1997). [5] Cruickshank, R. D., and Gaffney, J. E., "A Software Cost Model of Reuse within a Single System," presented at MITRE-Washington Econ. Analysis Ctr. Conf. on Analytical Methods in Software Eng. Econ. II, Washington, DC, July 1992. [6] Diab, H., Frappier, M., St. Denis, R.: Formalizing COSMIC-FFP using ROOM. In: ACS/IEEE Inter. Conf. on Computer Systems and Applications, pp. 312-318 (2001) [7] Fenton, N., Software Metrics: A Rigorous Approach. London: Chapman & Hall, 1991. [8] Finnish Software Measurement Association (FiSMA), Functional Size Measurement Method, Release 1.1 (2006) [9] Gencel, C., An Architectural Dimensions Based Software Functional Size Measurement Method, a PhD Thesis Submitted to Dept. of Information Systems, Informatics Institute, Middle East Technical University, Ankara, Turkey, 2005 [10] Gencel, C., Demirors, O., Functional Size Measurement Revisited, scheduled for publication in ACM Transactions on Software Engineering and Methodology, July 2008 [11] Ho, V., Abran, A., and Oligny, S., Using COSMIC-FFP Quantify Functional Reuse in Software Development ESCOM-SCOPE 2000, April 18-20, 2000 [12] Institute of Electrical and Electronics Engineers, Inc., New York, NY, USA. IEEE Recommended Practice for Software Requirements Specifications, 1998. IEEE Standard 830-1998. [13] ISBSG, The Benchmark Book - Release 6 (April 2000), http://www.isbsg.org [14] ISO/IEC IS 20968:2002: Software Engineering - MK II Function Point Analysis - Counting Practices Manual (2002) [15] ISO/IEC IS 20926:2003: Software Engineering - IFPUG 4.1 Unadjusted Functional Size Measurement Method - Counting Practices Manual (2003) [16] ISO/IEC 19761:2003: Software Engineering - COSMIC- FFP: A Functional Size Measurement Method (2003) [17] ISO/IEC 14143-1: Information Technology Software Measurement - Functional Size Measurement - Part 1: Definition of Concepts (1998) updated in 2007 [18] ISO/IEC 14143-2: Information Technology Software Measurement - Functional Size Measurement - Part 2:

Conformity Evaluation of Software Size Measurement Methods to ISO/IEC 14143-1:1998 (2002) [19] ISO/IEC TR 14143-3: Information Technology Software Measurement - Functional Size Measurement - Part 3: Verification of Functional Size Measurement Methods (2003) [20] ISO/IEC TR 14143-4: Information Technology Software Measurement - Functional Size Measurement - Part 4: Reference Model (2002) [21] ISO/IEC TR 14143-5: Information Technology Software Measurement - Functional Size Measurement - Part 5: Determination of Functional Domains for Use with Functional Size Measurement (2004) [22] ISO/IEC FCD 14143-6: Guide for the Use of ISO/IEC 14143 and related International Standards (2005) [23] ISO/IEC IS 24570:2005: Software Engineering NESMA functional size measurement method Ver.2,1- Definitions and counting guidelines for the application of FPA (2005) [24] Jenner, M.S.: COSMIC-FFP and UML: Estimation of the Size of a System Specified in UML Problems of Granularity. In: Proc. the Fourth European Conference on Software Measurement and ICT Control. pp. 173-184 (2001) [25] Leach, R. J., Methods of Measuring Software Reuse for the Prediction of Maintenance Effort, Journal of Software Maintenance, 1996 [26] Meli R., Functional and Technical Software Measurement: Conflict or Integration? FESMA-AEMES 2000, Conference Proceedings, Madrid, October 18-20 2000 [27] Santillo, L., and Noce, D. I., A Worked Function Point Model for Effective Software Project Size Evaluation SMEF 2005 Procs., March, 16-18, 2005, Rome (Italy) [28] Santillo, L., Abran, A., (2006), Software Reuse Evaluation Based on Functional Similarity in COSMIC-FFP Size Components, in Software Measurement European Forum SMEF'2006, May 10-12, 2006, Rome, Italy, pp. 167-176. [29] Tucker, A., Boehm, B., Point/Counterpoint," IEEE Software, vol. 19, no. 5, pp. 94-97, Sept/Oct, 2002 [30] The Common Software Measurement International Consortium (COSMIC): Guideline for Sizing Business Applications Software Using COSMIC-FFP, Version 1.0 (2005) [31] Turetken, O., Demirors, O., Gencel, C., Ozcan Top, O., Ozkan, B., The Affect of Entity Generalization on Software Functional Sizing: A Case Study, scheduled to be presented in PROFES 08 and published in LNCS, Springer. [32] Quantitative Software Management Function Point Programming Languages Table, April 2005, from http://www.qsm.com/fpgearing.html