Yazılım Mühendisliğinde İleri Konular (SE 650) Ders Detayları Ders Adı Ders Dönemi Ders Kodu Saati Uygulama Saati Laboratuar Kredi AKTS Saati Yazılım Mühendisliğinde İleri Konular SE 650 Güz 3 0 0 3 5 Ön Koşul Ders(ler)i Dersin Dili Dersin Türü Dersin Seviyesi Ders Verilme Şekli Dersin Öğrenme ve Öğretme Teknikleri İngilizce Zorunlu Bölüm Dersleri Doktora Yüz Yüze Anlatım, Takım/Grup Çalışması 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 yoğunluklu sistemlerin geliştirilmesi için gerekli olan kavram ve yöntemler ile ilgili kavrayışınızı daha ile derecede geliştirmektir. Yazılım mühendisliği disiplini ile ilgili geniş bir anlayış geliştirmeyi hedefler. Karmaşık yazılım yoğunluklu sistemlerin geliştirilmesi ile ilgili teknik ve süreçlerin tam kapsamlı bir bilgi birikimi ile analiz ve tasarımı hakkında tamamlayıcı bir aşinalık sağlamak istenmektedir. Bunları uygun bir mühendislik ve yönetim bağlamında oluşturmayı hedefler. Bu dersi başarıyla tamamlayabilen öğrenciler; Yazılım sistemleri için analiz, tasarım ve bakıma yönelik formal yöntemleri değerlendirmek Kaliteli yazılım analizi ve tasarımı yapmak Geliştirme yazılım döngüsü ve ilgili süreç ve yöntemleri teşhis etmek Yazılım proje yönetimi ve maliyet, zaman, kalite ve risk benzeri bileşenleri tanımlamak Yazılım kalite ve proje performansını ölçmek için yazılım metriklerini kullanmak CASE araçlarını kullanmak Yazılım mühendisliğine ve ilgili konulara giriş. Yazılım süreç ve proje metrikleri. Proje planlama, zamanlama ve takip etme. Konfigürasyon yönetimi. Yazılım kalite güvence. Gereksinim analizi, veri akış diyagramları ve ilgili konular. Tasarım kavramları ve yöntemleri, geliştirme, test yöntemleri ve stratejileri. Nesneye yönelik kavramlar ve prensipler.
Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları HaftaKonular Ön Hazırlık 1 Giriş ve yazılım proje yönetimi kavramları 2 Yaşam döngüsü modelleri Ch.2, 3 3 Agile Yazılım Geliştirme Ch.3 4 Proje planlama (finansal yönü ile birlikte) Ch.1, 24 (ana metin) Ch.26, 27 5 Analiz ve gereksinim mühendisliği Ch.5, 6, 7 6 Analiz ve gereksinim mühendisliği (devam) Ch.5, 6, 7 7 Tasarım Ch.8, 9, 10, 11, 12 8 Tasarım (devam) Ch.8, 9, 10, 11, 12 9 Tasarım desenleri İlgili güncel makaleler 10 Kodlama, kalite güvence ve test Ch.14, 15, 16, 17, 18, 19, 21 11 Konfigürasyon yönetimi Ürün metrikleri Bakım ve yeniden mühendislik 12 Risk analizi ve yönetimi Ch.28 13 Bakım ve yeniden mühendislik Ch.29 14 Yazılım Süreçlerinin İyileştirilmesi Ch.30 15 Bakım ve yeniden mühendislik Ch.31 16 Proje Sunumu Ch.22 Ch.23 Ch.29 Kaynaklar Ders Kitabı: 1. Pressman, R. S., Software Engineering, McGraw Hill, 2009 (7th edition) Other Sources
2. Sommerville, I., Software Engineering, Addison-Wesley, 2006 (8th edition) 3. ISO/IEC TR 19759:2005, Software Engineering - Guide to the Software Engineering Body of Knowledge (SWEBOK), ANSI, 2007 4. Van Vliet, H., Software Engineering: Principles and Practice, Wiley, 2008 (1st edition) 5. Tsui, F. F., Karam, O., Essentials of Software Engineering, Jones & Bartlett Publishers, 2006 (1st edition) 6. Schach, S. R., Object-oriented and Classical Software Engineering, McGraw Hill, 2006 (7th edition) 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 15 Sunum - - Projeler 1 20 Seminer - - Ara Sınavlar/Ara Juri 1 25 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 Yazılım mühendisliği araştırma alanında en gelişmiş teknoloji ve literatürü kavrama
2 Yazılım mühendisliğinde dünya çapında araştırma yapma ve bu alanda en iyi konferans ve dergilerde bilimsel makale yayınlama becerisi 3 Yazılım mühendisliğinde sayısal ve niteliksel çalışmalar yürütebilme 4 Yazılım mühendisliği alanında akademik çevre ve endüstri arasında köprü kurabilmek için gerekli becerileri edinme ve gerçek dünyada karşılaşılan problemleri çözmek için yazılım mühendisliği yaklaşımlarını geliştirme ve uygulama 5 Bilim ve teknolojideki güncel gelişmeleri takip edebilmek için gereken bilgiye ulaşma ve bilimsel araştırma gerçekleştirme veya yazılım mühendisliği alanına proje geliştirme becerisi 6 Yazılım mühendisliği alanında mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilinci 7 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; yazılım mühendisliği uygulamaları standartları ve yöntemleri için uluslararası mükemmellik standartlarının bilinmesi 8 Karar alırken, Yazılım mühendisliği uygulamalarının evrensel, çevresel, sosyal ve hukuksal sonuçları konusunda farkındalık 9 Yazılım mühendisliği uygulamaları için mükemmellik standardını geliştirmek, benimsemek ve sürdürülebilir kullanımını desteklemek 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 Alan Çalışması Sınıf Dışı Ders Çalışma Süresi Sunum/Seminer Hazırlama Projeler 16 3 48 16 5 80 Ödevler 4 12 48 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ü 226