Maltepe Üniversitesi Mühendislik Fakültesi

Slides:



Advertisements
Benzer bir sunumlar
Kurumsal Talep Yönetim Sistemi İstemci Uygulaması
Advertisements

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
MILLENIUM MOBILE SUNUMU
AVEA SAHA GÜCÜ OTOMASYON PROJESİ
Sistem Analizi ve Planlama
SYSTEC SİSTEM TEKNOLOJİLERİ A.Ş.
.NET FRAMEWORK.
SGB NET Doküman Yönetim Sistemi
Taşınır Mal Yönetmeliği Modülü
Eğitim Programı Kurulum Aşamaları E. Savaş Başcı ASO 1. ORGANİZE SANAYİ BÖLGESİ AVRUPA BİLGİSAYAR YERKİNLİĞİ SERTİFİKASI EĞİTİM PROJESİ (OBİYEP)
KONU: Verimlilik nedir? Verimlilik hesabı nasıl yapılır?
DİCLE ÜNİVERSİTESİ AKADEMİK BİLGİ SİSTEMİ (AKADEMİKWEB)
Yıldız Teknik Üniversitesi
Veri ve Veri Yapıları Genel olarak bilgisayarlar.
Problemi Çözme Adımları
Çevre ve Şehircilik Bakanlığı
Yrd. Doç. Dr. M. Emin MUTLU Anadolu Üniversitesi Açıköğretim Fakültesi
Asansör Simülatörünün Ürettiği Sonuçlar Üzerinde Yapılan K-means++ Kümeleme Çalışması ile Trafik Türünün Tahmini M. Fatih ADAK Bilgisayar Mühendisliği.
Javascript Oğuz İNAL.
BPR151 ALGORİTMA VE PROGRAMLAMA - I
1 DİNAMİK WEB SAYFASI. 2 Personel ve Öğrenciler ile tüm internet kullanıcılarına hizmet verebilecek, Ziyaretçilerin kolay anlaşılabilir bir ara yüz ile.
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma Çiğdem İNAN, M. Fatih AKAY Çukurova Üniversitesi Bilgisayar.
Maltepe Üniversitesi Mühendislik Fakültesi
ÖĞRENME NESNESİ Sibel SOMYÜREK.  Çeşitli öğrenme ortamlarında tekrar kullanılabilen küçük parçalara bölünmüş olan e-içeriklere öğrenme nesnesi denir.
«DÖNER SERMAYE TAKİP SİSTEMİ» DÖNER SERMAYE HESAPLAMA İŞLEMLERİ
BBY Bilgi Teknolojisi ve Yönetimi
Bora GÜRSEL CBÜ BAUM Proje Yöneticisi
Örnek Bİr VerİtabanI TasarImI
SİMÜLASYON VE BULANIK KÜME YAKLAŞIMI İLE PROJE RİSK DEĞERLEMESİ
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
OTOMATİK KONTROL SİSTEMLERİ
Yazılım Proje Yönetimi
Nesneye Dayalı Programlama
VIEW (BAKIŞ) OLUŞTURMA
BPR152 ALGORİTMA VE PROGRAMLAMA - II
İnternet Programcılığı II
Strateji Geliştirme Daire Başkanlığı
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 8: Windows Formları
Microsoft EXCEL (2) Kapsam Kopyalama, Yapıştırma Açıklama Ekleme Satır ve Sütunların Boyutlandırılması Bitişik Hücrelere Dayanarak Otomatik Veri Girme.
Performans Göstergeleri
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Prof. Dr. Mehmet TANYAŞ-Y. Doç. Dr. Şule Itır Satoğlu
yunus.hacettepe.edu.tr/~tonta/courses/spring2008/bby208/
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Ertan Deniz Öğretim Görevlisi.
«DÖNER SERMAYE TAKİP SİSTEMİ» PERSONEL VERİ GİRİŞ İŞLEMLERİ
Kurumsal İçerik Yönetimi Kapsamında Bilgi Güvenliği
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
FIRAT ÜNİVERSİTESİ PERSONEL OTOMASYONU
YZM 403 –Yazılım Proje Yönetimi
Özgür Kayaş Müzeyyen Tekinşen
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
NetKafem Kullanımı Basit, Maliyeti Düşük, İşlevleri Güçlü
Kurumsal Ağlarda Uzak ve Merkezi İşlem Birimlerinin Sanallaştırılması: Bir Uygulama Emrah ÇOLAK, SGK Aydın ÇETİN, Gazi Üniversitesi ŞUBAT 2016.
YAZILIM ÖLÇÜMÜ Yazılım mühendisliği, yazılım ürününü oluşturmaya, mühendislik yaklaşımı uygulamakla ilgili olan teknikler toplamını tanımlamak için kullanılan.
Ders 3: Yazılım Geliştirme Aşamaları
7th International Congress of Research in Education
ERP Projesinin Aşamaları İzmir. ERP Projesinin Aşamaları SatışSatış - Başlangıç – Kurulum – Analiz – Plan – Uyarlama – Eğitim – Geliştirme.
Nesneye Dayalı Programlarla Nesne İlişki Haritalanması
Fırat Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Müh.
Uzm. Rıdvan YAYLA – Bilecik Üniversitesi Müh. Fak. Bilg. Müh. Bölümü
Problemi Çözme Adımları
Mehmet Fatih KARACA Yrd. Doç. Dr. Salih GÖRGÜNOĞLU
Yazılım Mühendisliği Temel Süreçler - Sistem Analizi
Yazılım Mühendisliği Temel Süreçler – PLANLAMA II
Veri Tabanı Temel Kavramlar.
Tasarım: Ali Topal.
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
Akademik Özgeçmiş Tabanlı Fakülte Bilgi Sistemi
Sunum transkripti:

Maltepe Üniversitesi Mühendislik Fakültesi YazIlIm Projelerİnde Büyüklük Tahmİnİ Yrd.Doç Dr. Emin BORANDAĞ, Yrd.Doç.Dr.Fatih YÜCALAR, Öğr.Gör.Önder ŞAHİNASLAN eminb@maltepe.edu.tr,fatihy@maltepe.edu.tr,onder@maltepe.edu.tr Yazılım Mühendisliği Bölümü Maltepe Üniversitesi Mühendislik Fakültesi

Genel Bakış… İşlev Puanı Yöntemi Yazılım Projelerinde Büyüklük Konusuna Giriş Yazılım Büyüklük Kestirim Teknikleri Teknik büyüklük kestirim yöntemleri İşlevsel büyüklük kestirim yöntemleri İşlev Puanı Yöntemi Örnek Bir Proje Üzerinden İşlev Puanı Hesabı Sonuç ve Değerlendirme Kaynaklar Bu bölüm kapsamında, Yazılım Büyüklük ve Emek Kestirimi ile ilgili temel kavramları inceleyeceğiz. Bu bağlamda, önce yazılımda ölçme kavramından bahsedip, yazılım büyüklük ve emek kestirimine giriş yapacağız.

Yazılım Projelerinde Büyüklük Kestirimine Giriş Yazılım proje yönetiminde çok önemli olan ölçme ve bu kavram çerçevesinde yapılanan kestirim yöntemleri aracılığı ile zaman ve işgücü gibi planlamaların yapılabilme gereği açıktır.

Yazılım Büyüklük Kestirim Yöntemleri Yazılım büyüklük kestiriminde kullanılan yöntemler; teknik büyüklük kestirim yöntemleri, işlevsel büyüklük kestirim yöntemleri olarak sınıflandırılmıştır.

Teknik Büyüklük Kestirim Yöntemleri Satır Sayısı (Lines of Code - LOC) Tabi ki 1000 LOC değeri olan bir Java programı, 100 LOC değerine sahip bir Java programından 10 kat daha büyüktür. Fakat bu sayının içinde yorum satırları var mı? Yorum satırlarını dahil etmeli miyiz? (Yorum Satırının Avantajı) Deneyim ile kod oluşturulması (Aynı özellik farklı kod sayısı) Programlama dili farkı Assembler <> Visual Basic Değişkenlerin tanımlanması  LOC olarak sayılmalı mıdır? İKİNCİ MADDEDEN SONRA: Yorum satırları kodun bize ne yaptığını anlatması açısından önemlidir. Bu aynı zamanda koddaki hataların ayıklanması açısından işleri daha da kolaylaştırır ve diğer insanların programdaki kod parçalarının ne yaptığına dair bir fikir edinmelerini sağlar. Tüm bunlara ek olarak, deneyimli programcılar, işe yeni başlayan programcılara göre daha az kod yazmaya eğilimlidirler. Deneyimli bir programcı, işe yeni başlayan bir programcının yazdığı kod ile aynı işlevi gören, daha az sayıda satırdan oluşan ve daha etkili bir kod yazabilir. Aynısı farklı programlama dilleri için de söylenebilir. Assembler’de program yazmak, benzer programı Visual Basic’de yazmaktan daha fazla sayıda satırdan oluşan kod yazmayı gerektirir. LOC bir verimlilik ölçümü olarak kullanılırsa, biri LOC saymanın programcının etkisiz, gereksiz fazladan kod yazmaya özeneceğini iddia edebilir. Sonuç olarak, programı yazmak için gerekli olan kod satır sayısını kestirmektense, yazılmış bir programdaki kodun satırlarını saymak çok daha kolaydır.

İşlevsel Büyüklük Kestirim Yöntemleri (devam…) İşlevsel Büyüklük Ölçümü (Functional Size Measurement - FSM), kullanıcıya teslim edilecek yazılımın işlevselliğini temel alır. İşlev Puanı (Function Points - FP), IFPUG İşlev Puanı Analizi (IFPUG Function Points Analysis – IFPUG FPA), Mark II İşlev Puanı (Mark II Function Points – MK II FP), Nesma İşlev Puanı (Nesma Function Points), Tam İşlev Puanı (Full Function Points – FFP), COSMIC Tam İşlev Puanı (COSMIC Full Function Points – COSMIC FFP), Nesne Puanı (Object Points), Nesne-Tabanlı İşlev Puanı (Object-Oriented Function Points – OO FP), Nesne-Tabanlı Yöntem İşlev Puanı (Object-Oriented Method Function Points – OOmFP), İlk olarak İşlev Puanı (Function Points) ve İşlev Puan Analizi (Function Points Analysis - FPA) 1979 yılında IBM’in satır sayısına alternatif olarak yazılım büyüklük ölçümü için Allan Albrecht tarafından ortaya çıkartılmıştır. 1983 de ise, Allan Albrecht ve John Gaffney tarafından Yönetim Bilgi Sistemlerinin büyüklüğünü ölçmek için FSM yöntemi geliştirilmiştir. Daha sonra farklı kitleler tarafından orijinal FPA yöntemi üzerinde yapılan oynamalarla, aralarında ölçüm yöntemi farklı birçok FSM yöntemi geliştirilmiştir.

İşlev Puanı (Function Points) Bu yaklaşım, verimliliğin üretilen işlev puanına göre adam-ay olarak belirlenmesini öngörür. Eğer proje ile ilgili girdi çıktı gibi özellikler tahmin edilebiliyorsa, bunlar kullanılarak geliştirilecek sisteme ait bir İşlev Puanı (Function Points) hesabı yapılabilir ve sonuçlar Satır Sayısına (LOC) çevrilebilir. Bu satır sayısından maliyet, emek ve süre tahmini yapılabilir. İşlevsellik doğrudan ölçülemeyeceğine göre, bir yazılım projesinde işlevselliğe etkisi olan birçok etken bir arada incelenerek ürüne olan yansımaları ağırlıklandırılır. Sonuçta bir rakam ortaya çıkar ve bu rakam değişik projeleri göreceli olarak değerlendirmede yararlı olur.

İşlev Puanı (Function Points) (devam…) FP SLOC LOC’a dönüştürme İşlev Puanını, LOC’a dönüştürmek için programlama diline göre saptanan faktörler kullanılır. Dış Girdilerin sayısı Dış Çıktıların sayısı Dış Sorguların sayısı İç Mantıksal dosyaların sayısı Dış Arayüz Dosyalarının sayısı Ağırlık Faktörleri ile ayarlanma Teknik Karmaşıklık Faktörleriyle ayarlama

İşlev Puanında Sistemin İşlevselliği Bu konu 5 ayrı bileşenle incelenmektedir: Dış Girdiler: Uygulamanın dışından uygulamanın içine doğru olan süreçleri ve işlenebilir verileri gösterir. Veri genellikle uygulamaya içine eklenebilir, silinebilir veya güncellenebilir. Dış girdilere örnek olarak; kullanıcının bilgi girişi yaptığı veri giriş ekranları ve mantıksal dâhili dosyalar verilebilir. Dış Çıktılar: Verinin uygulama sınırları içinden dışarı çıkmasına izin veren süreç veya işlemlerdir. Dış çıktılara örnek olarak; raporlar, doğrulama mesajları ve ekran çıktıları verilebilir. Dış Sorgular: Kullanıcı isteği doğrultusunda alınan hızlı veri çıkışlarıdır Dış sorgular dosyada saklanan veriyi değiştirmez veya güncellemez. Sadece bilgiyi okurlar. İç Mantıksal Dosyalar: Uygulama sınırları ile birlikte verilerin saklandığı mantıksal bir dosyadır. İç mantıksal dosyalara örnek olarak, dâhili kullanıcı verileri, saklanan veriler verilebilir. Dış Arayüz Dosyaları: Başka bir uygulama sistemi ile olan paylaşımı ifade eder.

İşlev Puanı (Function Points) UFP = Dış Girdiler x W(1) + Dış Çıktılar x W(2) + Dış Sorgular x W(3) + İç Dosyalar x W(4) + Dış Arayüz Dosyaları x W(5) Bileşenler Basit Orta Karmaşık (1) Dış Girdiler 3 5 6 (2) Dış Çıktılar 4 7 (3) Dış Sorgular (4) İç Dosyalar 13 15 (5) Dış Arayüz Dosyaları 9 10 İşlev Puanında sistemin işlevselliği 5 ayrı bileşenle incelenmektedir. 1. Dış Girdiler: Veri giriş ekranları, mantıksal dâhili dosyalar. 2. Dış Çıktılar: Ekran çıktıları, raporlar. 3. Dış Sorgular: Kullanıcı isteği doğrultusunda alınan hızlı veri çıkışları. 4. İç Dosyaları: Dâhili kullanıcı verileri, saklanan veriler. 5. Dış Arayüz Dosyaları: Başka bir sistemle paylaşım. Her bir bileşenin zorluk derecesi basit, orta ve karmaşık gibi Tablo’da verilen rakamsal değerlere bağlı olarak ölçülebilmektedir. Bu ölçülen değerler toplanarak Düzeltilmemiş İşlev Puanı’nı (Unadjusted Function Points - UFPs) oluşturmaktadır.

İşlev Puanı (Function Points) (devam…) 14 Genel Sistem Özelliğine göre sistemin beklenilen uygulama zorluğu için ilave bir teknik karmaşıklık faktörü hesaplanır. Genel Sistem Özellikleri Kısa Açıklama 1 Veri İletişimleri Sistemin uygulaması ile bilgi değişimi veya transferinde yardımcı olmak için kaç tane iletişim aracı vardır? 2 Dağıtılan Veri/İşleme Dağıtılan bilgi ve işleme fonksiyonları nasıl idare edilmektedir? 3 Performans Hedefler, yanıtlama zamanı ve iş çıkarma performansı önemli midir? 4 Çok Kullanılan Konfigürasyon Uygulamanın idare edileceği mevcut donanım platformu ne kadar yoğun kullanılmaktadır? 5 İşlem Oranı İşlem oranı yüksek midir? 6 Çevrimiçi Veri Girişi Hangi oranda bilgi çevrimiçi girilmektedir? 7 Son Kullanıcı Verimliliği Uygulama son kullanıcı verimliliği için mi tasarlanmıştır? 8 Çevrimiçi Güncelleme Kaç veri dosyası çevrimiçi güncellenmektedir? 9 Karmaşık İşlem Yapma Dâhili işlem yapma karmaşık mıdır? 10 Yeniden Kullanılabilirlik Uygulama yeniden kullanılabilir olması için mi tasarlanmıştır? 11 Dönüştürme/Kurulum Kolaylığı Sistemde otomatik dönüşüm ve kurulum da dâhil edilmiş midir? 12 İşlevsel Kolaylık Yedekleme, başlatma ve kurtarma gibi operasyonlar ne kadar otomatiktir? 13 Çoklu Saha Kullanımı Uygulama çoklu örgüte sahip çoklu sahalar için özellikle mi tasarlanmış, geliştirilmiş ve desteklenmiştir? 14 Değişimi Kolaylaştırma Uygulama kullanıcı tarafından kullanım kolaylığı ve değişimi kolaylaştırmak için özel olarak mı tasarlanmış, geliştirilmiş ve desteklenmiştir? 0: hiç yok ya da etkisiz, 1: önemsiz etki, 2: az etkili , 3:orta düzeyde etkili 4: önemli düzeyde etkili, 5: güçlü etki DI = i=1.. 14 Cevapi TCF = 0,65 + 0,01 x DI TCF: Technical Complexity Factors DI: Total Degree of Influence

İşlev Puanı (Function Points) (devam…) İşlev Puanı aşağıdaki formül ile hesaplanır: FP = UFP x TCF İşlev Puanı’nı, Satır Sayısına dönüştürmek için aşağıdaki formülden yararlanılır. LOC = İşlev Puanı x Programlama Dili LOC Katsayısı Programlama Dili LOC/FP C ++ 53 COBOL 107 DELPHI 5 18 JAVA 2 46 VISUAL BASIC 6 24 SQL 13

İşlev Puanı (Function Points) – Örnek Proje Yazılım projesi toplam yedi modülden oluşan bir Windows uygulamasıdır. Programa ilişkin modüller aşağıda verilmektedir. a) Kullanıcı Giriş Ekranı b) Ürün Arama ve Listeleme Ekranı ( ‒ Arama Kriterleri (Ürün Kodu, Ürün Adı, Kategorilere Göre Arama), ‒ Listeleme (Ürün Kodu, Ürün Adı, Kategori Sil, Stok Durumu, Aktiflik) c) Stok Giriş Güncelleme ve Silme Ekran ( ‒ Ürün Adı, Kategori, Adet, Stok Giriş, Tarihi, Hangi Bölüme Gönderilmiş,Aktif) d) Kişisel Bilgiler (‒ Ad, Soyad, Bölüm, Unvan) e) Kategori Bilgileri ve Demirbaş Bilgileri Giriş Ekranı. f) Personel Üzerine Demirbaş Ekranı (‒ Personel unvanına göre, adına,soyadına ve bölümüne göre arama yapabilmektedir. ‒ Personel üzerine demirbaş verme işlemleri yapılabilmektedir.) g) Listeme Raporlama (‒ Stok ismine göre, stok tipine göre, stok türlerine göre arama yapılabilmektedir. ‒ Personel üzerindeki stokları listeleyebilmektedir.

Örnek Proje – Stok Takip Sistemi Arama Listesi (Orta) Login Bilgileri (Basit) Arama Bilgileri Giriş (Orta) Stok Takip Sistemi Stok Listesi(Orta) Stok Girişi(Orta) Personel Eşleştirme (Karışık) Kategori Bilgisi (Basit) İç Dosyalar Listeleme Raporlama(Orta) Dış Arayüz Personel Demirbaş Dosyası(Orta) Personel Verileri (Basit)

Örnek Proje – Düzeltilmemiş İşlev Puanı Girdiler: 2 Basit 2 Orta Çıktılar: 3 Orta 1 Karmaşık İç Dosyalar : 1 Orta Personel Demirbaş Dosyası Dış Arayüz Dosyaları: 1 Orta Personel Listesi UFP = [Dış Girdiler x W(1)] + [Dış Çıktılar x W(2)] + [Dış Sorgular x W(3)] + [İç Mantıksal Dosyalar x W(4)] + [Dış Arayüz Dosyaları x W(5)] UFP = [(2*3) + (2*5)] + [(3*6) + (1*7)] + [1*13] + [1*5] = 59 Basit Orta Karmaşık (1) Dış Girdiler 3 5 6 (2) Dış Çıktılar 4 7 (3) Dış Sorgular (4) İç Dosyalar 13 15 (5) Dış Arayüz Dosyaları 9 10

Örnek Proje – Düzeltilmiş İşlev Puanı 1. Sistem güvenilir yedekleme ve kurtarma gerektiriyor mu? 2 2. Veri iletişimi gerekiyor mu? 3. Dağıtık fonksiyon var mı? 3 4. Performans kritik mi? 5. Sistem çok kullanılan bir işletim ortamında mı çalışacak? 6. Sistem on-line veri girişi gerektiriyor mu? 7. On-line veri girişi, giriş işlemlerinin birden fazla ekran ya da işlem üzerinden olmasını mı gerektiriyor? 4 8. Ana dosyalar on-line mı güncelleniyor? 9. Girdiler, çıktılar, dosyalar ve sorgular karmaşık mı? 1 10. Kod yeniden kullanabilir olarak mı tasarlanmış? 11. İç süreç karmaşık mı? 12. Dönüşüm ve kurulum tasarım içerisinde mi? 13. Uygulama değişik kuruluşlarda birden fazla kurulum gerektirecek şekilde mi tasarlanmış? 14. Uygulama kullanıcı tarafından kolaylıkla kullanmayı ve değiştirmek üzere mi tasarlanmış? 5 DI = i=1.. 14 Cevapi = 34 FP = UFP x (0,65 + 0,01 x DI) = 144 x (0, 65 + 0,01 x 34) = 58.41 LOC = 46 x 169.92 = 1401,84

Projenin Geliştirilmesi Sonrasında Elde Edilen Ölçütler Aynı yazılım projesi, üç farklı yazılım ekibi tarafından gerçekleştirilmiştir. Bu yazılım ekipleri aynı teknolojik altyapıyı kullanarak bu yazılım projesini geliştirmişlerdir. Yapılan çalışmalar sonucunda projeye ilişkin veriler, “SourceMonitor V3.3” kullanılarak elde edilmiştir.

Projenin Geliştirilmesi Sonrasında Elde Edilen Ölçütler Proje başında FP yöntemi kullanılarak tahmin edilen proje büyüklüğü 1402 satır olarak elde edilmişti. Aynı yazılım projesi, üç farklı ekip tarafından gerçekleştirildikten sonra, projelerin büyüklüğüne bakıldığında, bu üç yazılım projesinin ortalama olarak 1553 kod satırından oluştuğu görülmektedir.

Sonuç ve Öneriler Burada sunulan çalışmada yazılım projelerinde büyüklük kestirimi konusu ele alınmıştır. Yazılım büyüklük kestirim yöntemi olarak İşlev Puanı (FP) kullanılmıştır. Aynı yazılım projesi üç farklı ekip tarafından gerçekleştirilmiştir. Çalışma sonucunda elde edilen bulgular aşağıda verilmektedir: Büyük ölçekli yazılım projelerinde olduğu gibi; küçük ölçekli yazılım projelerinde, büyüklüğü tahmin etmek için FP yönteminin kullanılabilir olduğu görülmüştür. İleri ki aşamada yapılacak çalışmalarda, nesne-tabanlı diller göz önünde bulundurularak, farklı bir yazılım büyüklük kestirim yönteminin oluşturulması amaçlanmaktadır.

Kaynaklar Fenton, N. E., “Software Measurement: A Necessary Scientific Basis”, IEEE Transactions on Software Engineering, Vol.20(No.3), 199-206, March, (1994). Fetcke, T., Abran, A., & Dumke, R., “A Generalized Representation for Selected Functional Size Measurement Methods”, 11th International Workshop on Software Measurement, Montreal, Canada, (2001). Symons, C. R., “Function Point Analysis: Difficulties and Improvements” IEEE Transactions on Software Engineering, Vol. SE- 14, No. 1, Jan. 1988, S. 2-11. Congress/Conference/Publication (1988) Hughes, B., & Cotterell, M., “Software Project Management”, 5th Edition. McGraw-Hill Education, (2009). SourceMonitor 3.3 Kurulum Adresi, http://www.campwoodsw.com/sourcemonitor.html, (2012).