Nesneye Dayalı Yazılım Metrikleri ve Yazılım Kalitesi. Ural ERDEMİR, Umut TEKİN, Feza BUZLUCA

Benzer belgeler
Nesneye Dayalı Yazılım Metrikleri ve Yazılım Kalitesi

Yazılım Kalite Metriklerinin Kıyaslanması: Örnek Bir Olay İncelemesi. Comparison of Software Quality Metrics: A Case Study

YMT 412-Yazılım Kalite Ve Güvencesi Gözden Geçirme Teknikleri 1/44

Yazılım Tasarımı Kalitesi. L 12 Nesneye. Tasarım Kalitesi Nitelikleri

YAZILIM ÖLÇÜTLERİ GENEL BİLGİLER

Mobil Uygulamaların Kalite Özelliklerinin Ölçümü

Uygulamaların mobil ve masaüstü sürümlerinin kodtabanlı karşılaştırılması: keşifsel bir çalışma

Yazılım Geliştirme Sürecinde Kullanılan Ölçütler

Kabul Edilmiş Makale/Accepted Manuscript

Nesne Tabanlı Yazılımların Yapısal Özelliklerinin Hata Yatkınlığı Üzerine Etkilerinin İncelenmesi

DEÜ MÜHENDİSLİK FAKÜLTESİ MÜHENDİSLİK BİLİMLERİ DERGİSİ Cilt: 14 Sayı: 1 sh Ocak 2012

İçindekiler. Okuma lisansı info acar, için verilmiştir. Çoğaltılması ve dağıtılması yasaktır.

UYGULAMALARIN MOBİL VE MASAÜSTÜ SÜRÜMLERİNİN KOD TABANLI KARŞILAŞTIRMASI: KEŞİFSEL BİR ÇALIŞMA

Bileşen kalitesi ölçümünde statik kod analizi yaklaşımı

İletişim Katmanı Yazılım Mimarisinin Kalite Analizi

YAZILIMDA KOD GÖZDEN GEÇİRME SÜRECİNDE KOD KALİTESİ ÖLÇÜMÜNÜN SÜRECE VE YAZILIM KALİTESİNE ETKİSİNİN İNCELENMESİ

Mobil Uygulama Yazılımlarında Yazılım Metriklerinin Kullanılması

YAZILIM TASARIMI KALİTESİ (ÖLÇME VE DEĞERLENDİRME)

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

Açık Kaynak Yazılım Seçimi için İki Boyutlu Değerlendirme Metodu

Akıllı Satranç Uygulaması HAZIRLAYAN: BERKAY ATAMAN DANIŞMAN: DOÇ. DR. FEZA BUZLUCA


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

Otomatik Kontrol Ulusal Toplantısı, TOK 2017, Eylül, Yıldız Teknik Üniversitesi, İstanbul

Ulusal Metroloji Enstitüsü GENEL METROLOJİ

TÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language)

.com. Özcan Acar 2009 Kurumsal Java.com

Yazılım Metriklerini Kullanarak Düşük Kaliteli / Yüksek Riskli Modüllerin Otomatik Tespiti

Görselleştirme Tekniklerinin Yazılım Metriklerine Uygulanması

.com. Özcan Acar 2009 Kurumsal Java.com

HAVELSAN Çok Bileşenli Ortamlarda Entegre Lojistik Destek Yaklaşımı Şubat 2011

Kamu Yazılımlarında Ürün Kalitesinin Değerlendirilmesi İçin Pratik Bir Kod Kalitesi Modeli

İzleme ve Değerlendirme. Halil AGAH Antalya, 2012

İÇİNDEKİLER BİRİNCİ KISIM: TASARIM PAZARLAMA ARAŞTIRMASINA GİRİŞ

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Çok İşlemcili Yapılarda Sinyal İşleme Yazılımlarının Geliştirilmesi Uygulaması. Sinan Doğan, Esra Beyoğlu

YMT 505-Yazılım Proje Yönetimi Giriş- Temel Kavramlar

IT Dönüşüm Projesi Başlangıç/Kick-off Toplantısı

KAĞAN YÜCEL KİMYA MÜHENDİSİ

3.DERS YAZILIMDA KALİTENİN ANLAMI

EMNİYET KRİTİK YAZILIM TEST EDİLEBİLİRLİĞİNİN İYİLEŞTİRİLMESİ YÜKSEK LİSANS TEZİ. Onur ÖZÇELİK. Bilgisayar Mühendisliği Anabilim Dalı

TS EN ISO 9001:2008 Kalite Yönetim Sistemi Kurum İçi Bilgilendirme Eğitimi ISO 9001 NEDİR?

YAZILIM KAVRAMINA BİR BAKIŞ. Gürcan Banger Elektrik Yük. Müh. ESOGÜ - 9 Nisan 2007

SE311 YAZILIM YAPIMI BÖLÜM 3 YAPIM TASARIMI. Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi

OMOPHORUS Kalite Yönetim Sistemi Yazılımı ULUDAĞ ÜNİVERSİTESİ TEKNOLOJİ GELİŞTİRME BÖLGESİ ULUTEK AR-GE PROJESİ

Kısaca. Müşteri İlişkileri Yönetimi. Nedir? İçerik. Elde tutma. Doğru müşteri Genel Tanıtım

HvBS-MY Yazılım Geliştirme ve Kalite Süreç Deneyimleri

e-kuruma DÖNÜŞÜM PROJESİ

Java Dersi. Altuğ Bilgin Altıntaş

Başarılar Dilerim. SORULAR

YMT 312-Yazılım Tasarım ve Mimarisi Yazılım Mühendisliği ne Giriş

Üst Düzey Programlama

ORMAN VE SU İŞLERİ BAKANLIĞI İZLEME VE SU BİLGİ SİSTEMİ DAİRESİ BAŞKANLIĞI

Kodu İyileştirmeye Nereden Başlamalı? Bir Yazılım Metrik Yaklaşımı: Yazılım Kalite Risk Oranı

YAZILIM KALİTESİ İÇİN YİNELEMELİ ÖLÇME YÖNTEMİ

İçindekiler vii Yazarların Ön Sözü xiii Çevirenin Ön Sözü xiv Teşekkürler xvi Semboller Listesi xvii. Ölçme, İstatistik ve Araştırma...

NİTELİK YÖNETİMİ. [X] Yeni Modül. [X] Fusion. [X] Fusion Standart. [X] Nitelik. [X] Ürün Kategorisi Önkoşulu. [X] Modül Önkoşulu (Sistem)

BİÇİMSEL YÖNTEMLER (FORMAL METHODS) Betül AKTAŞ Suna AKMELEZ

ACD TEZGAH İZLEME YAZILIMI

Kalite Kontrol Yenilikler

Farkındalılık ISO 9001 Kalite Yönetim Sistemi Eğitimi. Uygulama ve başarımın anahtarları

Kalıtım (Inheritance)

Kontrol ve Otomasyon Endüstrisi Prof. Dr. Tamer KUTMAN 1

19 Şubat 2016 Cuma

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

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

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Nesne Yönelimli Programlamaya Giriş - 2. Cem Ahmet MERCAN 16/04/2009

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

YAZILIM KALİTE METRİKLERİ

İÜ ONKOLOJİ ENSTİTÜSÜ KALİTE KONTROL ve TEST KALİBRASYON PROSEDÜRÜ

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

WEB KULLANILABİLİRLİĞİ

Kendinizle ve yaptıklarınızla bağlantı kurmaya çalışın. Katılın. Fikir üretin. Deneyimlerinizi paylaşın...

Gömülü Sistemler. (Embedded Systems)

Yazılım Kalitesinde Kullanılan Zeki Sistemler Üzerine Bir Derleme Çalışması. A Survey on Software Quality Using Smart Systems

BÜTÜNLEŞİK KAMU MALİ YÖNETİM BİLİŞİM SİSTEMİNE İLİŞKİN 2017/4 SIRA NOLU DUYURU

ŞİKAYET / İTİRAZ VE GERİ BİLDİRİM PROSEDÜRÜ

Main-Cert Kompetenzprofil für Fach- und Führungskompetenzen in der Instandhaltung (Supervisor)

(Fabrika Şablonu) Factory Pattern. Tasarım şablonlarının Creational (Yaratıcı) Sınıflandırmasına aittir. Fabrika(Factory) Şablonu

YZM 2116 Veri Yapıları

YZM311 YAZILIM YAPIMI BÖLÜM 4 TASARIM KALIPLARI. Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi

MEÜ. SAĞLIK BĠLĠMLERĠ ENSTĠTÜSÜ DERS TANIMI FORMU

4. BÖLÜM: İŞ ETÜDÜ 4.1. Giriş İş etüdü, çalışan insanın ihtiyaçları ve verim yeteneklerini dikkate alarak işletmenin ekonomikliğini iyileştirme

Suların Kimyasal Analizi ve İzlenmesi için Teknik Spesifikasyon Direktifi 2009/90/EC

İş Hijyeni Ölçüm, Test ve Analizi Yapan Laboratuvarlar Hakkında Yönetmelik kapsamında

Genişletme modülleri EM-TRF-USV. EASYLAB'in 230 V şebekeye bağlantısı ve kesintisiz güç kaynağı için K /2012 DE/tr

Verimli İş Ortağınız... KALİTE KONTROL SKOR YAZILIM VE BİLİŞİM POLEN YAZILIM

Genel Değerlendirme Çerçevesi. Genel Degerlendırme Çerçevesı Egıtım Sunumu

KALİTE YÖNETİMİ UYGULAMALARI

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Gösterge Yönetimi. Dr. Öğretim Üyesi Arda BORLU Kalite Yönetim Birimi

COŞKUNÖZ METAL FORM A.Ş AYDINLATMADA LED DÖNÜŞÜMÜ VAP PROJESİ

Çalışma Ortamında Kişisel Maruziyet ve Ortam Ölçümleri

Denetim Komitelerinin Gündemi & İç Denetimde Yeni Trendler

Ağaç (Tree) Veri Modeli

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Sanayi Sektöründe Düşük/Sıfır Maliyetli Sera Gazı Azaltım Önlemleri

Veri ve Dosya Yapıları. Kütük Organizasyonu 1

Transkript:

Nesneye Dayalı Yazılım Metrikleri ve Yazılım Kalitesi Ural ERDEMİR, Umut TEKİN, Feza BUZLUCA

İÇERİK Yazılımda Kalite Kavramları Yazılımın İç Özellikleri Metrik Kümeleri Düşük Kalite Göstergeleri Tasarım Kalıpları Yardımcı Araçlar Değerlendirme ve Sonuç 2/20

Yazılım Projeleri Amerikan ordusunun yazılım projeleri üzerine yaptığı bir araştırmaya göre yapılan yazılım projelerinin; %47 si kullanılmamakta %29 u müşteri tarafından kabul edilmemekte %19 u başladıktan sonra iptal edilmekte ya da büyük ölçüde değiştirilerek yeniden başlatılmakta %3 ü kimi değişikliklerden sonra kullanılmakta %2 sinin ancak teslim alındığı gibi kullanılmakta olduğu görülmüştür. 3/20

Hata - Maliyet 2002 yılında NIST tarafından yapılan bir araştırma sonucunda yazılım hatalarının Amerikan ekonomisine yıllık maliyeti 59 Milyar $ olarak tahmin edilmiştir ki o yıllarda satılan yazılımların toplam değeri 180 Milyar $ civarındaydı. 4/20

Donanım Küçük sayısal alt sistemlerin çok sayıda kopyası Alt sistemler derinlemesine analiz/test edilmiş. Tasarım hataları nadir 5/20

Yazılım Geniş ayrık durumlu alt sistemlerin az sayıda kopyası,tekrarlı yapı az Derinlemesine analiz/test edilmesi zor Doğru yapıyı bulmak zor 6/20

Yazılımda Kalite - 1 Bilişim sektöründeki yazılım projelerinin maliyetlerinin bu denli büyümesiyle birlikte, yazılımda kalite kavramı günümüzde üzerinde en çok çalışılan konulardan biri haline gelmiştir. Crosby, genel olarak kaliteyi isterlere uygunluk olarak tanımlamıştır. 7/20

Yazılımda Kalite - 2 Yazılım dünyasında kalite, kavram olarak herkesin hissedebildiği ancak neticede kimsenin tam olarak tanımlayamadığı soyut ve öznel bir olgu olarak karşımıza çıkmaktadır. Bir disiplin içerisinde kalitenin tam olarak tanımlanabilmesi için gelişmiş ölçme araçlarına ve sağlıklı karşılaştırmalar için tanımlı referans noktalarına gerek vardır. 8/20

Yazılımda Ölçme Ölçme kavram olarak varlıkların özelliklerinin sayısallaştırılması olarak tanımlanabilir. Bu noktada karşımıza bir yazılımda neleri sayılaştırabileceğimiz soruları çıkmaktadır. Ölçemediğimiz bir şeyi kontrol edemeyiz ve iyileştiremeyiz, (DeMarco, Tom) 9/20

Yazılım Kalite Sınıfları ISO 9126 ya göre yazılım kalite sınıfları: İşlevsellik, (Functionality) Güvenilirlik, (Reliability) Kullanılabilirlik, (Usability) Verimlilik, (Efficiency) Bakılabilirlik, (Maintainability) Taşınabilirlik, (Portability) 10/20

Yazılımın İç Özellikleri Bağımlılık, (Coupling): İki sınıftan en az birinin diğerine etki etmesiyle oluşan bağımlılığın derecesidir. Uyumluluk, (Cohesion): Sınıftaki metot ve niteliklerin birbirleriyle uyum dereceleridir. Karmaşıklık, (Complexity): Sınıfların iç ve dış yapısını, sınıflar arası ilişkileri kavramadaki zorluğun derecesidir. 11/20

Yazılım Metrik Kümeleri Chidamber & Kemerer (CK) Metrik Kümesi Brito e Abreu MOOD Metrik Kümesi Bansiya ve Davis QMOOD Metrik Kümesi 12/20

Yazılım Metrikleri (CK) Metrik Kümesi Sınıfın Ağırlıklı Metot Sayısı - Weighted Methods per Class (WMC) Kalıtım Ağacının Derinliği - Depth of Inheritance Tree (DIT) Alt Sınıf Sayısı - Number of Children (NOC) Nesne Sınıfları Arasındaki Bağımlılık - Coupling Between Object Classes (CBO) Sınıfın Tetiklediği Metot Sayısı - Response For a Class (RFC) Metotların Uyumluğu - Lack of Cohesion in Methods (LCOM) 13/20

LCOM 14/20

QMOOD- Metrik Kümesi Yazılım Kalite Nitelikleri: Bakılabilirlik,Taşınabilirlik Yazılım Özellikleri: Bağımlılık,Uyumluluk,Karmaşıklık Yazılım Metrikleri: CAM,NOM,ANA vs.. Yazılım Bileşenleri: Paket,Sınıf, Metot Toplam Kalite indeksi 15/20

Düşük Kalite Göstergeleri (Bed Smells) Tekrar eden kod parçaları Uzun metotlar (Long Methods) Büyük sınıf (God Class) Uzun parametre listesi Farklı değişiklikler (Divergent Change) Parçacık tesiri (Shotgun Surgery) Veri sınıfı Reddedilen miras 16/20

Tasarım Kalıpları Yaratımsal Kalıplar Tekil Nesne (Singleton), Soyut Fabrika (Abstract Factory), İnşacı (Builder) Yapısal Kalıplar Adaptör, Köprü, Ön yüz (Facade) Davranışsal Kalıplar Gözlemci (Obsever), Strateji 17/20

Yardımcı Araçlar FindBugs, Metrics, PMD, Coverlipse, CheckStyle, SDMetrics, Coverity 18/20

Faktör Kriter Ölçüm Modeli 19/20

Değerlendirme ve Sonuç Kaliteyi arttırmak her şeyden önce doğru ölçme yöntemlerine bağlıdır. Doğru metriklerin tanımlanması, metriklerin doğru ölçülmesi ve doğru yorumlanması gerekir. Metrik tanımlamaları net ve ölçeklenebilir olmalı CBO,RFC gibi Yeni metrik tanımları kazandırılmalı Örn. Okunurluk Metriklerin etkin kullanımı yaygınlaştırılmalı Hata meyilli modüllerin belirlenmesi Test ve Bakım maliyetlerinin öngörülmesi Metrikler, proje hedeflerine göre, bir bütün halinde değerlendirilmeli. Metriklerin birbiriyle korelasyonu Yeni metrik araçları geliştirilmeli. Dilden bağımsız, kolayca uyarlanabilir, görsel yanları güçlü Metrik ölçümleri yazılım geliştirme süreçlerine daha sıkı bağlanmalı. Metriklerin değişimini izleme Hataları erken giderme 20/20

Teşekkürler