| 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. |
| Hafta | Konular | Ö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 |
Kadir Has Üniversitesi'nde bir dönem 14 haftadır, 15. ve 16. hafta sınav haftalarıdır.
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 |
|
|
|
|
|
|
|
|
|
|
|
Katkı Düzeyi: 1 Düşük, 2 Orta, 3 Yüksek