BİL782 - YAZILIM METRİKLERİ

Dersin Adı Kodu Yarıyılı Teori
(saat/hafta)
Uygulama
(saat/hafta)
Yerel Kredi AKTS
YAZILIM METRİKLERİ BİL782 Herhangi Yarıyıl/Yıl 3 0 3 8
Önkoşul(lar)-var iseYok.
Dersin Diliİngilizce
Dersin TürüSeçmeli 
Dersin verilme şekliYüz yüze 
Dersin öğrenme ve öğretme teknikleriAnlatım
Tartışma
Takım/Grup Çalışması
Rapor Hazırlama ve/veya Sunma
 
Dersin sorumlusu(ları)Bölüm Sorumluları (bbm-bologna@cs.hacettepe.edu.tr) 
Dersin amacıYazılım mühendisliğinde ölçmenin başarılı şekilde uygulanması ve kullanılması için gereken kavram ve yöntemleri tanıtmak ve öğretmektir.  
Dersin öğrenme çıktıları
  1. Öğrenci ölçme teorisini tanır
  2. Yazılım ölçütlerini ve nasıl sınıflandığını öğrenir
  3. Yazılım ölçme sürecini ve beklenen çıktılarını öğrenir
  4. Yazılım ölçmenin proje ve kurum kapsamlarında nasıl çalışacağını öğrenir
  5. Yazılım ölçme programının esaslarını ve nasıl başlatılacağını öğrenir
Dersin içeriğiÖlçmenin Temel Kavramları; ölçme ihtiyacı, ölçme teorisi (ölçekler, doğruluk ve anlamlılık kavramları), Hedef-Soru-Ölçüt yöntemi, veri toplama ve analiz esasları.
Yazılım Ölçütleri; yazılım ölçütlerinin sınıflandırması, ürün ölçütleri (büyüklük, yapı, kalite), süreç ölçütleri (olgunluk, yönetim, geliştirme), kaynak ölçütleri (çalışan, yazılım, donanım). Yazılım Ölçme Süreci; ölçme süreç modelleri, ISO/IEC 15939: Yazılım Ölçme Süreci, Pratik Yazılım Ölçme, CMMI ve ölçme ve analiz. Ölçme Programları ve Altyapı; ölçme altyapı gereksinimleri, ölçme programlarının başarılması için en iyi pratikler, yüksek olgunluk seviyeleri için ölçme (istatistiksel süreç kontrolü, 6-sigma vb). 
KaynaklarSoftware Metrics: A Rigorous and Practical Approach, Norman E. Fenton ve Shari Lawrence Pfleeger, Ikinci basım, PWS Publishing Company, 1998. (ISBN: 0534-95425
Practical Software Measurement, J. McGarry et.al., Addison-Wesley Publishing Company, 2001. (ISBN 0-201-71516-3)
Ebert, C., and Dumke, R.( 2007). Software Measurement. Springer-Verlag. 

Haftalara Göre İşlenecek Konular

HaftalarKonular
1. HaftaYazılım Ölçmeye Giriş
2. HaftaÖlçme ihtiyacı ve Ölçme Teorisi
3. HaftaHedef-Soru-Metrik Yöntemi
4. HaftaVeri Toplama ve Analiz Prensipleri
5. HaftaÜrün Metrikleri: Büyüklük, Yapı, Kalite
6. HaftaSüreç Metrikleri ve Kaynak Metrikleri
7. HaftaÖlçme Süreci ve ISO/IEC 15939 Yazılım Ölçme Süreci
8. HaftaArasınav
9. HaftaPratik Yazılım Ölçme, CMMI ve Ölçme ve Analiz
10. Haftaİleri Ölçme Teknikleri
11. HaftaÖlçme Programları, En İyi Pratikler, Altyapı Gereksinimleri
12. HaftaÖğrenci sunumları
13. HaftaÖğrenci sunumları
14. HaftaÖğrenci sunumları
15. HaftaGenel Sınava hazırlık
16. HaftaGenel Sınav

Değerlendirme Sistemi

Yarıyıl içi çalışmalarıSayısıKatkı Payı %
Devam (a)00
Laboratuar00
Uygulama00
Alan Çalışması00
Derse Özgü Staj (Varsa) 00
Ödevler510
Sunum15
Projeler115
Seminer00
Ara Sınavlar120
Genel sınav150
Toplam100
Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı050
Yarıyıl Sonu Sınavının Başarı Notuna Katkısı050
Toplam100

AKTS (Öğrenci İş Yükü) Tablosu

Etkinlikler Sayısı Süresi Toplam İş Yükü
Ders Süresi 14 3 42
Laboratuvar 0 0 0
Uygulama000
Derse özgü staj (varsa)000
Alan Çalışması000
Sınıf Dışı Ders Çalışma Süresi (Ön Çalışma, pekiştirme, vb)14342
Sunum / Seminer Hazırlama11616
Proje14242
Ödevler5840
Ara sınavlara hazırlanma süresi11616
Genel sınava hazırlanma süresi11616
Toplam İş Yükü37104214

Dersin Öğrenme Çıktılarının Program Yeterlilikleri İle İlişkilendirilmesi

D.9. Program YeterlilikleriKatkı Düzeyi*
12345
1. Mezunlar, Bilgi Yığını (Bilgisayar Bilimleri kapsamındaki tüm temel alanlar) ile tanımlanan Bilgisayar Bilimleri alanına hakim olmalıdır.   X 
2. Mezunlar, soyutlama, karmaşıklık ve evrimsel değişim gibi sıkça adı geçen konular ve ortak kaynak, güvenlik ve paralellik gibi genel ilkeler hakkında bir anlayışa sahip olmalıdır. Mezunlar, bu konular ve ilkelerin bilgisayar bilimleri alanında geniş bir uygulama alanına sahip olduğunun farkında olmalı ve bunların sadece tanıtıldıkları alanlarla ilgili olmadığını da göz önünde bulundurmalıdır.  X  
3. Bilgisayar Bilimlerindeki temel bir husus teori ve pratiğin karşılıklı etkileşimine dair anlayış ve onlar arasındaki esas bağlantılardır. Bilgisayar Bilimlerinden mezun olanlar teori ve pratiğin nasıl birbirini etkilediğini anlamak durumundadır.    X
4. Bilgisayar Bilimlerinden mezun olanlar detay ve soyutlamanın farklı düzeylerinde düşünmelidir. Bu anlayış, bilgisayar sistemlerinin yapısını ve onların kurulumunda ve analizinde izlenen süreçlerin değerini anlamak için çeşitli bileşenlerin detaylarının gerçekleştirilmesinde etkin olmalıdır. Mezunlar, bir bilgisayar sisteminin, insanlar ve fiziksel dünyayı da kapsayacak şekilde hangi ortamda işlevsel olabileceğinin farkında olmalıdır.    X
5. Mezunlar, sadece kod yazma ve bitlerle oynama değil, aynı zamanda edindikleri bilgi birikimini araştırmalarındaki gerçek problemleri çözmede de kullanabilmelidir. Mezunlar herhangi bir teknik veya bilimsel problemleri kendi başlarına çözebilmeli ve her türlü problem için başka çözüm önerileri getirebilmelidir. Verilen bir problemin birden fazla çözümünün olduğunun ve bu çözümler arasından birini seçmenin yalnızca teknik bir eylem olmadığının, çünkü bu çözümlerin insanların hayatlarında gerçek bi   X 
6. Mezunların edindikleri bilgi birikimini başarılı bir şekilde uyguladıklarından emin olmak için, bütün mezunlar en az bir kapsamlı projede yer almalıdır. Çoğu durumda, bu deneyim bir yazılım geliştirme projesi olacaktır, ancak diğer deneyimler de özel durumlarda uygundur. Bunun gibi projeler öğrencileri birleştirici olmaya teşvik etmeli, potansiyel çözümlerin hesaplamalarını gerektirmeli ve tipik ders projelerine göre daha geniş ölçekli çalışmalar yapmalarını gerektirmelidir. Öğrenciler, proje de   X 
7. Bilgisayar Bilimleri mezunları, hesaplama alanının çok hızlı bir şekilde geliştiğinin farkında olmalıdır. Belirli diller ve teknoloji platformları zaman içinde değişebilir. Bu nedenle, mezunlar öğrenmeye devam etmeleri ve becerilerini de bu yönde geliştirmeleri gerektiğinin farkında olmalıdır. Bu beceriyi geliştirmek için, öğrenciler eğitimleri boyunca temel öncelikli ilkelerin yanında çeşitli programlama dillerine, araçlara ve teknolojilere maruz bırakılmalıdır. Mezunlar araştırmalarına devam e   X 
8. Mezunlar, bilgisayar teknolojisinin kurulumu ve kullanımında sosyal, yasal, etik ve kültürel hususların farkında olmalıdır. Bu hususlara kişisel ve profesyonel ilkelerle güdümlenmiş olarak bilinçli bir perspektiften yanıt vermelilerdir. Aynı zamanda sosyal, yasal ve etik standartların uluslar arası olarak değiştiğinin farkında olmalıdırlar.  X  
9. Mezunlar hem İngilizce hem de Türkçe dillerinde teknik terimlere vakıf olmalıdır. Teknik problemler ve çözümleri hakkında çeşitli dinleyici gruplarına kısa ve öz sunum yapma becerileri olmalıdır. Bu, yüz yüze, yazılı veya elektronik iletişimi içerebilir (Türkçe ve İngilizce'de). Takım üyeleri halinde etkili bir şekilde çalışmaya hazırlıklı olmalıdırlar. Mezunlar, tamamlama zamanını, öncelikleri ve ilerlemeyi de göz önünde bulundurarak kendi öğrenme ve gelişimlerini yönetebilmelidir.   X 
10. Platformlar, gömülü mikro-sensörlerden yüksek performanslı öbeklere ve dağıtık bulutlara kadar değişebilir. Bilgisayar uygulamaları modern yaşamın neredeyse bütün yönleri üzerinde etkilidir. Mezunlar hesaplamada var olan bütün imkanlar üzerinde bir anlayışa sahip olmalıdır.  X  
11. Mezunlar, hesaplamanın birçok farklı alanla etkileşim içerisinde olduğunu anlamalıdır. Birçok problem için çözümler hem hesaplama becerileri hem de alan bilgisi gerektirir. Bu nedenle, mezunlar kariyerleri boyunca farklı alanlardaki uzmanlarla iletişim kurmalı ve onlardan öğrenmelidir.  X  
12. Mezunlar, uzman düzeyinde gerekli olan bilgi birikimlerini geliştirmeli ve bilimsel yöntemleri bilimsel problemleri çözmek için kullanabilmelidir. Mezunlar özgün araştırma tanımlayabilmeli ve yürütebilmelidir.   X 
13. Mezunlar, bilgisayar bilimlerinde verilecek bir dersin planını yapabilmeli ve dersi verebilmelidir.  X  

*1 En düşük, 2 Düşük, 3 Orta, 4 Yüksek, 5 Çok yüksek