Dersin Ayrıntıları Yarıyıl Kodu Adı T+U+L Kredi AKTS 7 05070002 Yazılım Mühendisliği 3+0+0 3 5 Dersin Detayları Dili : Türkçe Düzeyi : Lisans Bölümü / Programı : Bilgisayar Mühendisliği Öğrenim Türü : Örgün Öğretim Türü : Zorunlu Amacı : Yazılım süreçlerini anlamak. Yazılım proje yönetimi kavramlarına aşina olmak. Karmaşık yazılım sistemlerinin analizi ve tasarımı. Yazılım mühendisliğinde popüler yöntemler hakkında geniş bir bilgi birikimine sahip olmak. İçeriği : Yazılım mühendisliğine, yazılım yaşam döngüsüne ve metodolojilere genel bir bakış, UML ve tasarım kalıpları ile modelleme, proje yönetimi ve yazılım geliştirme takımı organizasyonu, gereksinim belirleme ve analizi, sistem tasarımı, nesne tasarımı, yazılım testi. Yazılım mühendisliği kavramlarının gerçekleştirilmesi, bir grup öğrencinin bir UML modelleme ve uygulama aracı kullanarak kendi şartnamesinden ve tasarımından bir sistem uyguladığı bir ekip tasarım projesi üzerinde gerçekleştirilir. Yöntem ve Teknikleri : Ön Koşulları : Yok Koordinatörü : Doç. Dr. Ali ÖZTÜRK Dersi Verenler : Yok Yardımcıları : Yok Staj Durumu : Yok Dersin Kaynakları Kaynaklar : Software Engineering, by Ian Sommervill, A. Wesley, (2000) Ders Yapısı Matematik ve Temel Bilimler %20 Mühendislik Bilimleri %30 Mühendislik Tasarımı %20 Sosyal Bilimler %30 Yarıyıl Çalışma Bilgileri Yarıyıl Çalışmaları Sayısı Katkı Ara Sınav 1 %40 Yarıyıl Sonu Sınavı 1 %60 Toplam 2 %100 Etkinlik Bilgileri Etkinlik Sayısı Süre Toplam İş Yükü (Saat) Ders Süresi 14 3 42 Sınıf Dışı Ç. Süresi 14 3 42 Ödevler 3 2 6 Ara Sınavlar 1 15 15 Yarıyıl Sonu Sınavı 1 15 15 Toplam İş Yükü AKTS: 5 120 Öğrenme Çıktıları Bu dersin başarılı bir şekilde tamamlanmasıyla öğrenciler şunları yapabileceklerdir: Sıra Açıklama 1 Yazılım testlerini normlara göre yapmak. 2 Yazılım geliştirme platformlarının bilgisi ve kullanımı. 3 Çeşitli mühendislik alanlarında yazılım platformlarının uygulanmasını yapmak. 4 Yazılım test platformlarının bilgisi ve kullanımı. 5 Proje yönetimi araçlarının bilgisi ve kullanımı. 6 Bilgisayar mühendisliği proje tasarımı yapmak. 7 Proje yönetimi bilgisine sahip olmak. 8 Projeler için çözüm önerileri getirme. 9 Proje geliştirme, test ve bakım aşamaları için çalışma becerilerine sahip olmak. 10 Heterojen takımlarda çalışabilme yeteneği. 11 Çok disiplinli takımlarda bireysel olarak çalışabilme becerisi. 12 Patent araştırması ve literatür araştırması yapabilme. 13 Rapor, makale ve teknik belgeleri hazırlayabilme ve sunabilme 14 Temel bilime ve teknolojik gelişmelere göre yenilikçi çözüm önerebilme. Ders Konuları Hafta Konu 1 Yazılım mühendisliğine genel bakış 2 Yazılım süreçleri 3 Yazılım gereksinimleri 4 Gereksinim mühendislik süreci 5 Sistem Modelleri 6 Mimari tasarım 7 Dağıtılmış sistem mimarileri 8 Nesne yönelimli tasarım 9 Gerçek zamanlı yazılım tasarımı 10 Proje Yönetimi 11 İnsanları yönetmek 12 Kalite Yönetimi 13 Doğrulama ve onaylama 14 Yazılım testi