Yazılım Kalitesi ve Sınaması(INF 536)
Ders Kodu | Dersin Adı | Yarıyıl | Teori | Uygulama | Lab | Kredisi | AKTS |
---|---|---|---|---|---|---|---|
INF 536 | Yazılım Kalitesi ve Sınaması | 1 | 3 | 0 | 0 | 3 | 6 |
Ön Koşul | |
Derse Kabul Koşulları |
Dersin Dili | İngilizce |
Türü | Seçmeli |
Dersin Düzeyi | Yüksek Lisans |
Dersi Veren(ler) | Gülfem ALPTEKİN gulfem@gmail.com (Email) |
Dersin Yardımcıları | |
Dersin Amacı | Dersin ana amacı, yazılım kalitesinin ve sistemin kullanıcıların isterlerini karşılayacak şekilde tasarlandığının kontrolünün önemini öğretmektir. Öğrenciye yazılım mühendisliği kalite ve test sürecinin temel teorileri tanıtılır ve bu teorileri bir proje geliştirme sürecinde kullanmaları sağlanır. Bu teoriler, yazılım kalite gereksinimleri, yazılım test teknikleri ve yöntemleri, test akış ve süreçleridir. Öğrencilerin grup veya bireysel olarak gerçekleştirdikleri ders projesi, dönem boyunca öğrenilen yazılım mühendisliği teorisini uygulamaya geçirmeye olanak sağlar. |
İçerik |
1. Yazılım kalitesi ve testine giriş 2. Doğrulama ve gerçeklemenin temel prensipleri 3. Test ve analiz aktiviteleri 4. Sonlu modeller, bağımlılık ve veri akış modelleri 5. Sonlu durum doğrulaması 6. Test durumu seçimi, fonksiyonel test, kombinatoriyal test 7. Yapısal test, veri akış testi, model-esaslı test 8. Hata-esaslı test, test işleme 9. Ara Sınav 10: Denetleme, program analizi 11. Entegrasyon ve bileşen-esaslı test 12. Sistem, kabul ve regresyon testi 13. Test otomasyonu 14. Test belgeleme |
Dersin Öğrenme Çıktıları |
ÖÇ 1: Öğrenci, yazılım tabanlı bir sistemi geliştirmede, organizasyonun, planlamanın ve kalite kontrolünün önemini ve etkilerini kavrar. ÖÇ 2: Öğrenci, küçük ölçekli bir yazılım projesi gerçekleştirir. ÖÇ 3: Öğrenci, testin yazılım sürecindeki yerini ve önemini bilir. ÖÇ 4: Öğrenci, test tekniklerini ve yöntemlerini öğrenir. ÖÇ 5: Öğrenci, test akış ve süreçlerini kavrar. ÖÇ 6: Öğrenci, bir yazılım projesini geliştirme sürecinde ekip içinde çalışmayı öğrenir. ÖÇ 7: Öğrenci, verilen bir projeye en uygun yazılım geliştirme yaklaşımını ve test yöntemini seçip, uygulayabilir. ÖÇ 8: Öğrenci, yüksek kaliteli bir yazılım geliştirmek için gerekli araçları tanır. ÖÇ 9: Öğrenci, yazılım kalite kontrol ve test süreci ile ilgili tüm düşüncelerini teknik bir rapor haline getirmesini öğrenir. |
Öğretim Yöntemleri | Anlatım, Tartışma, Gösterip Yaptırma, Örnek Olay, İşbirlikli Öğrenme, Proje |
Kaynaklar |
M. Pezze, M. Young, Software Testing and Analysis: Process, Principles, and Techniques, John Wiley & Sons Inc, 2008. J. Tian, Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement, Wiley, 1st Edition, 2005. C. Fox, “Introduction to Software Engineering Design, Processes, Principles, and Patterns with UML2”, Addison-Wesley, 2006. |
Teori Konu Başlıkları
Hafta | Konu Başlıkları |
---|---|
1 | Yazılım testi ve kalitesine giriş |
2 | Doğrulama ve onaylama, temel prensipler |
3 | Test ve analiz aktiviteleri |
4 | Sonlu modeller ve veri akış modelleri |
5 | Test seçimi |
6 | Fonksiyonel test |
7 | Girdi uzayını bölütleme ve sınır testi |
8 | Tümleşik test, yapısal test |
9 | Ara sınav |
10 | Model-esaslı test, nesneye yönelik yazılım testi |
11 | Hata-esaslı test, test gerçekleştirme süreci |
12 | Inspection, program analizi |
13 | Sistem, kabul ve regresyon testi, otomatik test |
14 | Analiz ve test sürecini belgeleme |
Uygulama Konu Başlıkları
Hafta | Konu Başlıkları |
---|
Başarı Notuna Etki Oranları
Sayı | Katkı Payı | |
---|---|---|
Yarıyıl içi çalışmaların başarı notuna katkısı | 4 | 60 |
Yarıyıl sonu çalışmaların başarı notuna katkısı | 1 | 40 |
Toplam | 5 | 100 |
Yarıyıl İçi Çalışmaları
Sayı | Katkı Payı | |
---|---|---|
Ödevler | 1 | 15 |
Sunum | 1 | 15 |
Arasınavlar (Hazırlık Süresi Dahil) | 1 | 30 |
Proje | 0 | 0 |
Laboratuar | 0 | 0 |
Diğer Uygulamalar | 0 | 0 |
Kısa Sınavlar | 0 | 0 |
Dönem Ödevi / Projesi | 0 | 0 |
Portfolyo Çalışmaları | 0 | 0 |
Raporlar | 0 | 0 |
Öğrenme Günlükleri | 0 | 0 |
Bitirme Tezi/Projesi | 0 | 0 |
Seminer | 0 | 0 |
Diğer | 0 | 0 |
Toplam | 3 | 60 |
Numara | Program Yeterlilikleri | Puan | ||||
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
1 | Bilgisayar mühendisliği alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, bilgiyi değerlendirir, yorumlar ve uygular. | X | ||||
2 | Bilgisayar mühendisliğinde uygulanan güncel teknik ve yöntemler ile bunların kısıtları hakkında kapsamlı bilgi sahibidir. | X | ||||
3 | Bilgisayar mühendisliği ile ilgili alanlarda belirsiz, sınırlı ya da eksik verileri kullanarak, bilimsel yöntemlerle bilgiyi tamamlar ve uygular; değişik disiplinlere ait bilgileri bir arada kullanabilir. | X | ||||
4 | Bilgisayar mühendisliği mesleğinin yeni ve gelişmekte olan uygulamalarının farkında olup, gerektiğinde bunları inceler ve öğrenir. | X | ||||
5 | Bilgisayar mühendisliği problemlerini kurgular, çözmek için yöntem geliştirir ve çözümlerde yenilikçi yöntemler uygular. | X | ||||
6 | Yeni ve/veya özgün fikir ve yöntemler geliştirir; karmaşık donanım ve yazılım tabanlı sistemleri veya süreçleri tasarlar ve tasarımlannda yenilikçi/alternatif çözümler geliştirir. | X | ||||
7 | Kuramsal, deneysel ve modelleme esaslı araştırmaları tasarlar ve uygular; bu süreçte karşılaşılan karmaşık problemleri irdeler ve çözümler | X | ||||
8 | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilir, bu tür takımlarda liderlik yapabilir ve karmaşık durumlarda proje ve risk yönetimi tekniklerini de kullanarak çözüm yaklaşımları geliştirebilir; bağımsız çalışabilir ve sorumluluk alır. | X | ||||
9 | Bir yabancı dili en az Avrupa Dil Portfoyü B2 Genel Düzeyinde kullanarak, sözlü ve yazılı iletişim kurar. | X | ||||
10 | Çalışmalarının süreç ve sonuçlarını, bilgisayar mühendisliği alanındaki veya ilgili alanlardaki ulusal ve uluslararası ortamlarda sistematik ve açık bir sekilde yazılı ya da sözlü olarak aktarır. | X | ||||
11 | Girişimcilik ve yenilikçilik boyutlarını dikkate alarak bilgisayar mühendisliği uygulamalarını gerçekleştirebilir. | X | ||||
12 | Verilerin toplanması, yorumlanması, duyurulması aşamalarında ve mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir. | |||||
13 | Bilgisayar mühendisliği uygulamalarının sosyal ve çevresel boyutlarını betimler. |
Etkinlikler | Sayı | Süre | Toplam İş Yükü |
---|---|---|---|
Ders Süresi | 14 | 3 | 42 |
Ödevler | 1 | 25 | 25 |
Sunum | 1 | 15 | 15 |
Arasınavlar (Hazırlık Süresi Dahil) | 1 | 25 | 25 |
Proje | 1 | 25 | 25 |
Yarıyıl Sonu Sınavı (Hazırlık Süresi Dahil) | 1 | 30 | 30 |
Toplam İş Yükü | 162 | ||
Toplam İş Yükü / 25 | 6.48 | ||
Dersin AKTS Kredisi | 6 |