Gereksinim Mühendisliği (SE 560) Ders Detayları Ders Adı Ders Dönemi Ders Uygulama Laboratuar Kredi AKTS Kodu Saati Saati Saati Gereksinim Mühendisliği SE 560 Her İkisi 3 0 0 3 7.5 Ön Koşul Ders(ler)i Dersin Dili Dersin Türü Dersin Seviyesi Ders Verilme Şekli Dersin Öğrenme ve Öğretme Teknikleri İngilizce Yazılım Mühendisliği Seçmeli Dersleri Fen Bilimleri Yüksek Lisans Yüz Yüze Anlatım Dersin Koordinatörü
Dersin Öğretmen(ler)i Dersin Asistanı Dersin Amacı Dersin Eğitim Çıktıları Dersin İçeriği Bu dersin amacı, yazılım mühendisleri için gereksinim mühendisliği yöntemlerine yönelik genel bir giriş yapmaktır. Bu dersi başarıyla tamamlayabilen öğrenciler; Alan Araştırması ve Gereksinim Temini. Gereksinim Değerlendirmesi. Gereksinim Spesifikasyonu ve Dökümantasyonu. Yazılım Kalite Güvencesi. Gereksinim Evrimi. Hedef Diyagramları ile Sistem Objektiflerinin Modellenmesi. Hedef Modellerinde Risk Analizi. Sistem Aracılarının ve Görevlerinin Modellenmesi. Sistem Davranışlarının Modellenmesi. Değişik Sistem Görüşlerinin Entegrasyonu. Hedefe Yönelik Model Kurma Methodu Aksiyonu. Sistem Modellerinin Formal Spesifikasyonu. Alan araştırması ve gereksinim temini; gereksinim değerlendirmesi; gereksinim spesifikasyonu ve dökümantasyonu; yazılım kalite güvencesi; gereksinim evrimi; hedef diyagramları ile sistem objektiflerinin modellenmesi; hedef modellerinde risk analizi; sistem aracılarının ve görevlerinin modellenmesi; sistem davranışlarının modellenmesi; değişik sistem görüşlerinin entegrasyonu; hedefe yönelik model kurma methodu aksiyonu; sistem modellerinin formal spesifikasyonu Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları HaftaKonular Ön Hazırlık
1 Alan Araştırması ve Gereksinim Temini 2 Gereksinim Değerlendirmesi Ch.3 3 Gereksinim Spesifikasyonu ve Dökümantasyonu Requirements Engineering, Axel van Lamsweerde- Ch. 2 Ch.4 4 Yazılım Kalite Güvencesi Ch.5 5 Gereksinim Evrimi Ch.6 6 Hedef Diyagramları ile Sistem Objektiflerinin Modellenmesi Ch.8 7 Hedef Modellerinde Risk Analizi Ch.9 8 Sistem Aracılarının ve Görevlerinin Modellenmesi 9 Sistem Davranışlarının Modellenmesi 10 Değişik Sistem Görüşlerinin Entegrasyonu 11 Hedefe Yönelik Model Kurma Methodu Aksiyonu 12 Sistem Modellerinin Formal Spesifikasyonu Ch.11 Ch.13 Ch.14 Ch.15 Ch.17 13 Durum çalışması Konuların tekrarı 14 Durum çalışması Konuların tekrarı 15 Dönem Sonu Sınav çalışmaları Dönem için konuların tekrarı 16 Dönem Sonu Sınav çalışmaları Dönem için konuların tekrarı Kaynaklar Ders Kitabı: 1. van Lamsweerde, A., Requirements Engineering: From System Goals to UML Models to Software Specifications, Wiley, 2009.
Diğer Kaynaklar: 2. Wiegers, K. E., Software Requirements, Second Edition (Pro-Best Practices), Microsoft Press, 2003 1. Leffingwell, D. & Widrig, D., Managing Software Requirements: A Use Case Approach, Addison Wesley, 2nd edn, 2003. 2. Hull, E., Jackson, K. & Dick, J., Requirements Engineering, Springer, 2nd Ed.,Pressman, R. S., Software Engineering, McGraw Hill, 2005 3. Thayer, R. H., Dorfman, M., Software Requirements Engineering, Wiley-IEEE Computer Society, 1999 4. Young, R. R., The Requirements Engineering Handbook, Artech House, 2004 5. Kotonya, G., Sommerville, I., Requirements Engineering: Processes and Techniques, Wiley, 1998 6. Requirements Management with Use Cases, Rational Software Corporation, (>=v5.5). Değerlendirme Sistemi Çalışmalar Sayı Katkı Payı Devam/Katılım - - Laboratuar - - Uygulama - - Alan Çalışması - - Derse Özgü Staj - - Küçük Sınavlar/Stüdyo Kritiği - - Ödevler 3 10 Sunum - - Projeler 1 15 Seminer - -
Ara Sınavlar/Ara Juri 1 35 Genel Sınav/Final Juri 1 40 Toplam 6 100 Yarıyıl İçi Çalışmalarının Başarı Notu Katkısı Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 100 Toplam 100 Ders Kategorisi Temel Meslek Dersleri Uzmanlık/Alan Dersleri Destek Dersleri İletişim ve Yönetim Becerileri Dersleri Aktarılabilir Beceri Dersleri
Dersin Öğrenim Çıktılarının Program Yeterlilikleri ile İlişkisi # Program Yeterlilikleri / Çıktıları Katkı Düzeyi 1 2 3 4 5 1 İleri düzey hesaplama ve/veya bilişim bilgilerini yazılım mühendisliği problemlerini çözmede uygulama becerisi. 2 Farklı teknolojiler, yazılım mimarileri ve yaşam-döngüsü yaklaşımları kullanarak çözümler geliştirmek. 3 Bir yazılım sistemini, bileşenini, sürecini veya programını, modern teknikler ve yazılım mühendisliği uygulamalarına yönelik mühendislik araçlarını kullanarak, tasarlama, gerçekleştirme ve değerlendirme becerisi. 4 Yazılım gereksinimlerini anlamak için, veri toplama, analiz etme ve yorumlama becerisi. 5 Yazılım projeleri üzerindeki çalışmalar kapsamında ortaya çıkan problemler üzerinde etkin sözlü ve yazılı iletişim ve kritik düşünme becerileri. 6 Bilim ve teknoloji alanındaki güncel gelişmeleri izlemede bilgiye erişim becerisi ve yazılım mühendisliği alanında bilimsel araştırma yapmak ve bir projeyi gerçekleştirmek. 7 Yazılım Mühendisliği ile ilgili profesyonel, hukuksal, sosyal ve sorumluluklar konularında anlayış. 8 Proje ve risk yönetim becerisi; girişimciliğin, yenilikçilik ve sürdürülebilir kalkınmanın önemi hakkında farkındalık; uluslararası standartların ve yöntemlerin bilinmesi. 9 Yazılım Mühendisliği çözümlerinin, karar verme boyutunda, küresel, sosyal ve hukuki boyutları üzerindeki etkisini anlamak. 10 Yazılım Mühendisliği uygulamaları için mükemmellik standartlarının geliştirilmesi, benimsenmesi ve sürekli kullanımının desteklenmesi.
ECTS/İş Yükü Tablosu Aktiviteler Sayı Süresi (Saat) Toplam İş Yükü Ders saati (Sınav haftası dahildir: 16 x toplam ders saati) Laboratuar Uygulama Derse Özgü Staj 16 3 48 Alan Çalışması 1 20 20 Sınıf Dışı Ders Çalışma Süresi Sunum/Seminer Hazırlama Projeler 16 5 80 Ödevler 3 10 30 Küçük Sınavlar/Stüdyo Kritiği Ara Sınavlara/Ara Juriye Hazırlanma Süresi Genel Sınava/Genel Juriye Hazırlanma Süresi 1 20 20 1 30 30 Toplam İş Yükü 228