Dersin Adı Dersin Seviyesi Dersin Kodu Dersin Tipi T+U K AKTS
Yazılım Mühendisliği BIM-303 Zorunlu 5 3 5

Dersin Tanımı

Ön koşul dersleri
Eğitimin dili Türkçe
Koordinatör
Dersi veren öğretim elemanları
Yardımcı öğretim eleman(lar)ı
Dersin veriliş şekli Yüz Yüze
Dersin amacı Yazılım mühendisliği kavramlarını(yaşam döngüsü, planlama, tasarlama, gerçekleştirme ve test) öğretmek. Büyük yazılım sistemlerinin tasarlanması ve gerçekleştirilmesi, Yazılım belirtimlerinin saptanması, Modüler yapıların oluşturulması, Kodlama ilkeleri, Testlerin planlanması, Yazılım bakımı, Büyük yazılım projelerinin yönetimini öğretilmesi amaçlanmaktadır.
Dersin tanımı

Dersin İçeriği

1- Bilgisayar yazılımının gelişimi ve Yazılım Mühendisliğinin tanımı.Yazılım Mühendisliği kavramları, Bilgisayar dünyasında yeri, süreçler, modeller ve yöntemler.
2- Sistem ve Gereksinim mühendisliği, modelleme, kullanım senaryolarını belirleme, analiz.
3- Yazılım Süreç modelleri: Çağlayan modeli, gelişimsel model ve spiral model.
4- Yazılım bileşenleri ve uygulamaları.Yazılım geliştirme aşamaları
5- Prototipleme: Prototipleme tipleri, araçları ve yazılım süreçlerindeki yeri.
6- Proje Yönetimi. Risk yönetimi. Yazılımı ölçülmesi, Süreç kestirme (tahminler), takvim belirleme, proje takibi
7- Yazılımın Gereksinimleri. Gereksinim türleri. Gereksinimlerin tanımlanması.Gereksinim Mühendisliği, Gereksinim mühendisliği sürecinin aşamaları. Gereksinimler analizi ve sistem modelleri, UML.
8- Yazılımın tasarımı. Tasarım ilkeleri.Tasarım süreci, tasarım yaklaşımları ve yöntemleri. Yazılım mimarisi, detaylı modül tasarımı, kullanıcı önyüz tasarımı, Kullanıcı arayüz tasarımı, yardım sistemi, kullanıcı dökümantasyonu.
9- Yazılımın maiyetinin değerlendirilmesi
10- Doğrulama ve Geçerleme, Modül, Tümleşim (Entegrasyon) ve Sistem testleri, Test yöntemleri ve Teknikleri.
11- Risk ve Kalite Yönetimi, Süreç sonlandırma ve iyileştirme
12- Yazılım Bakımı: Bakım türleri, bakım maliyeti, konfigürasyon yönetimi.
13- Doğrulama ve geçerlilik,İnsan Kaynakları Yönetimi
14- Yeniden Yapılanma, Yazılım Mühendisinin sorumlulukları
15-
16-
17-
18-
19-
20-

Dersin öğrenme çıktıları

1- Yazılım süreçlerini kavrayabilme.
2- Yazılım süreç modellerini(Çağlayan, gelişimsel, spiral) değerlendirebilme.
3- Yazılım proje yönetimini kavrayabilme ve yazılım projelerinde risk analizi yapabilme.
4- Bir yazılım projesine ait gereksinimleri belirleyebilme
5- Yazılım projelerinde prototiplemeyi değerlendirebilme.
6- Bir yazılım projesinde yazılım desenlerini kullanabilme.Yazılım tasarımında UML modellerini geliştirebilme.
7- Yazılım mimarisi modellerini kavrayabilme.
8- Bir yazılım projesine ait tasarımı gerçekleştirebilme.
9- Bir yazılım projesinde test güdümlü geliştirme yöntemini uygulayabilme.
10- Yazılım geliştirmede takım çalışması yapabilme,Bir yazılım projesine ait kullanıcı arayüzlerini belirleyebilme.