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 Projesi CMPE 356 Bahar 02+02+00 Seçmeli 3 5
Akademik Birim: Bilgisayar Mühendisliği Bölümü
Öğrenim Türü: Örgün Eğitim
Ön Koşullar Yok
Öğrenim Dili: İngilizce
Dersin Düzeyi: Lisans
Dersin Koordinatörü: - -
Dersin Amacı: Bu dersin amacı, öğrencilere bir yazılım projesinin analiz ve tasarım süreçlerini sistematik olarak yürütme becerisi kazandırmaktır. Ders kapsamında öğrenciler gerçekçi bir problem alanı üzerinden proje fikri geliştirme, kapsam belirleme, gereksinim analizi, sistem modelleme, mimari tasarım, test planlama, yazılım evrimi ve teknik dokümantasyon hazırlama süreçlerini uygular. Ders, tam ölçekli bir yazılım gerçekleştirmesinden ziyade, profesyonel yazılım mühendisliği proje çıktılarının hazırlanmasına ve sunulmasına odaklanır.
Dersin İçeriği: Bu ders; yazılım geliştirme süreçleri, gereksinimlerin tespiti ve analizi, yazılım gereksinimlerinin belirlenmesi, sistem tasarımı, test ve yazılım süreçlerinin evrimi konularını kapsamaktadır. Yazılım süreçleri, proje yönetimi, takım yönetimi, sistem modelleri, mimari tasarım, doğruluk, geçerlilik ve yazılım süreçlerinin evrimi ile ilgili çeşitli kavram, teknik ve araçlar ele alınmaktadır. Öğrenciler dönem boyunca gerçek hayat problemlerine yönelik takım tabanlı bir yazılım projesi geliştirecektir.
Dersin Öğrenme Çıktıları (ÖÇ):
  • 1- Yazılım geliştirme süreç modellerini ve yazılım mühendisliği proje aşamalarını tanıyabilme.
  • 2- Bir yazılım projesi için problem tanımı, kapsam ve gereksinim analizi, sistem modelleme ve tasarım çalışmaları yapabilme.
  • 3- Yazılım testi, kalite planlama ve yazılım evrimi için uygun dokümantasyon hazırlayabilme.
  • 4- Bir proje takımında çalışarak yazılım mühendisliği proje çıktıları, raporları ve sunumları hazırlayabilme.
Dersin Öğrenme Yöntem ve Teknikleri Ders; teorik anlatımlar, proje tabanlı öğrenme, proje raporları, proje sunumları ve takım çalışması etkinliklerinden oluşmaktadır.


HAFTALIK PROGRAM

HaftaKonularÖn Hazırlık
1 Yazılım Mühendisliğine Giriş Ders ve dönem projesi tanıtımı
2 Proje Yönetimi Proje yönetimi kavramları
3 Geliştirme Ekosistemleri Angular, React, Spring, Spring Boot
4 Yazılım Süreçleri Süreç modelleri ve aktiviteler
5 Faz 1 Sunumları Proje önerisi değerlendirmesi
6 Çevik Yazılım Geliştirme Scrum ve user story kavramları
7 Gereksinim Mühendisliği Fonksiyonel ve fonksiyonel olmayan gereksinimler
8 Sistem Modelleme UML diyagramları
9 Mimari Tasarım Mimari desenler
10 Faz 2 Sunumları Gereksinim ve tasarım değerlendirmesi
11 Tasarım ve Gerçekleştirme Nesne yönelimli tasarım ve tasarım desenleri
12 Yazılım Testi Test seviyeleri ve TDD
13 Yazılım Evrimi Bakım ve legacy sistemler
14 Final Sunumları Tam proje değerlendirmesi


ZORUNLU ve ÖNERİLEN OKUMALAR

Ian Sommerville, Software Engineering (10th Edition), Pearson, 2016.


DİĞER KAYNAKLAR

Roger Pressman & Bruce Maxim, Software Engineering: A Practitioner’s Approach


DEĞERLENDİRME SİSTEMİ

Yarıyıl İçi ÇalışmalarıSayıKatkı Payı (%)
Katılım - 5
Proje 1 35
Sunum/Jüri 3 60
Total: 4 100


İŞ YÜKÜ HESAPLAMASI

EtkinliklerSayısıSüresi (saat)Toplam İş Yükü (saat)
Ders Saati14228
Uygulama14228
Proje32472
Toplam İş Yükü (saat):128


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

# PY1 PY2 PY3 PY4 PY5 PY6 PY7 PY8 PY9 PY10 PY11
OC1                      
OC2                      
OC3                      
OC4