DERS TANITIM ve UYGULAMA BİLGİLERİ

Dersin Adı Kodu Yarıyıl T+U+L (saat/hafta) Türü (Z / S) Yerel Kredi AKTS
Yazılım Mühendisliği CE 356 Bahar 03+00+00 Zorunlu 3 5
Akademik Birim: Bilgisayar Mühendisliği Bölümü
Öğrenim Türü: Örgün Eğitim
Ön Koşullar Bilgisayar Bilimlerine Giriş, Proglamlama Dilleri
Öğrenim Dili: İngilizce
Dersin Düzeyi: Lisans
Dersin Koordinatörü: Taner ARSAN
Dersin Amacı: Bu ders, öğrencilere yazılım sistemi geliştirme süreci ve nesne odaklı teknoloji ile sistem gelişiminin temel ilkelerini sunarak öğrencilerin bir yazılım sistemini sıfırdan nasıl geliştirebileceklerini anlamalarını amaçlamaktadır. Ders, öğrencilere farklı yazılım süreç modelleri, yazılım gereksinimi mühendisliği, proje yönetimi, sistem analizi, tasarımı, uygulaması, doğrulaması, dokümantasyonu ve sunumunu yaptırır.
Dersin İçeriği: Bu ders, yazılım geliştirme süreci, gereksinimlerin ortaya çıkarılması ve analizi, belirleme, tasarım, uygulama, test ve gelişme konularını kapsar. Yazılım süreci, yazılım gereksinimleri, proje yönetimi, insan yönetimi, sistem modelleri, mimari tasarım, uygulama, doğrulama ve yazılım geliştirme için çeşitli kavramlar, teknikler ve araçlar gösterilir. Öğrenci grupları, bu derste öğrendikleri konuları gerçek hayat projesi geliştirerek uygularlar.
Dersin Öğrenme Çıktıları (ÖÇ):
  • 1- Yazılım proje yönetimi prensiplerini anlama becerisi
  • 2- Yazılım geliştirme süreci modellerini kavrama becerisi
  • 3- Sistem gereksinim mühendisliğini uygulama becerisi
  • 4- Nesneye yönelik teknikler kullanarak yazılım sistemini analiz etme, tasarlama ve geliştirme
  • 5- Yazılımı test etme becerisi
  • 6- Yazılım geliştirme proje belgelerini hazırlama becerisi
  • 7- Yazılım geliştirme ekibinde yer alma becerisi
  • 8- Düzgün sunum tekniklerini uygulama becerisi
Dersin Öğrenme Yöntem ve Teknikleri Sınıf anlatımı. Derste incelenen konuları gözden geçiren sınavlar. 5 farklı yazılım mühendisliği aşamasını içeren bir dönem projesi.


HAFTALIK PROGRAM

HaftaKonularÖn Hazırlık ÖÇ
1 Yazılım mühendisliğine giriş 1
2 Yazılım süreçleri 2
3 Çevik yazılım geliştirme 2, 6
4 Çevik yazılım yönetimi 2, 6
5 Gereksinim mühendisliği 3, 6
6 Gereksinim belirleme, doğrulama, değişikliği 3, 6
7 Sistem modellemesi 4, 6
8 Mimari tasarım 4, 6
9 Tasarım ve Uygulama 4
10 Yazılım testi 5
11 Ara sınav
12 Yazılım gelişimi 2
13 Öğrenci Yazılım Projesi Sunumları 7, 8
14 Öğrenci Yazılım Projesi Sunumları 7, 8


ZORUNLU ve ÖNERİLEN OKUMALAR

Software Engineering, 10th Edition, Ian Sommerville, Pearson, 2016


DİĞER KAYNAKLAR

- Ian Sommerville’s web-site for the textbook:
https://ifs.host.cs.st-andrews.ac.uk/Books/SE9/
- Object-Oriented Software Engineering Using UML, Patterns, and Java, 3rd Edition, Bernd Bruegge, Allen H. Dutoit, Pearson, 2010


DEĞERLENDİRME SİSTEMİ

Yarıyıl İçi ÇalışmalarıSayıKatkı Payı (%)
Katılım 14 -
Proje 1 20
Ödev 5 20
Final Sınavı 1 35
Ara Sınavlar 1 25
Total: 22 100


İŞ YÜKÜ HESAPLAMASI

EtkinliklerSayısıSüresi (saat)Toplam İş Yükü (saat)
Ders Saati14342
Proje12323
Ödev5420
Final Sınavı12020
Ara Sınavlar12020
Toplam İş Yükü (saat):125


PROGRAM YETERLİLİKLERİ (PY) ve ÖĞRENME ÇIKTILARI (ÖÇ) İLİŞKİSİ

# PY1 PY2 PY3 PY4 PY5 PY6 PY7 PY8 PY9 PY10 PY11 PY12
OC1     2 3 3   2   1   1  
OC2     2 3 3              
OC3     2 3 3              
OC4     2 3 3              
OC5     2 3 3              
OC6             2 2 1      
OC7       3 3   2 2     1  
OC8               2