YAZILIM MİMARİSİ VE TASARIMI

Ders Genel Bilgileri

Ders Kodu AKTS T+U+L Kredi Ders Türü
YAZ16303 4 3+0 3 Zorunlu
Ders Linki (Türkçe) :
Ders Linki (İngilizce) :
Dersin Dili Türkçe
Dersin Düzeyi Lisans
Öğretim Türü Örgün Öğretim
Dersin Türü Zorunlu
Dersin Amacı Bu dersin amacı, öğrencilere etkin, kaliteli, bakımı ve geliştirmesi kolay kompleks yazılımların mimari tasarımlarında, tasarım şablonlarının kullanımını öğretmektir. Bu ders, bir tasarım probleminin mutlak bir şekilde yalnızca bir çözümünün olmadığının, bir yazılım mühendisinin bir çok alternatif arasında avantaj, dezavantaj hesabı yaptıktan sonra bir çözüm üretmek zorunda kalacağı konusunda öğrencileri duyarlı hale getirecektir.
Dersin İçeriği Bu ders yazılımda kullanılan tasarım şablonlarının ana prensiplerini ve bu tasarım şablonlarının yazılım geliştirmedeki uygulanış şekillerini gösterir.
Dersin Ön Koşulları -
Dersin Koordinatörü Doç. Dr. Talha Burak ALAKUŞ
Dersi Verenler Dr. Öğr. Üyesi Fatih BAL
Dersin Yardımcıları Arş. Gör. Gökçe Oğuz ERENLER
Staj Durumu Yok

Dersin Kaynakları

Kaynaklar 1- Eric Freeman and Elisabeth Freeman, Head First Design Patterns, OReilly, I. Baskı;2- Lyron Foster, 2- Learning OOP Design Patterns: Master Object Oriented Programming Design Patterns, Independently Published;3- Engin Bulut ve Ali Kaya, Tasarım Desenleri ve Mimarileri, Pusula Yayıncılık, II. Baskı;4- Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Grady Booch, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Professional, I. Baskı
Notlar İlgili öğretim üyesinin önereceği kitap, ders notu, internet.
Ölçme Yöntemleri, Ön Hazırlık ve Dokümanlar Ders notları dersin sonunda öğrencilerle paylaşılmaktadır.
Ödev -

Ders Yapısı

Matematik ve Temel Bilimler% 20
Mühendislik Bilimleri% 50
Mühendislik Tasarımı% 30
Sosyal Bilimler% 0
Eğitim Bilimleri% 0
Fen Bilimleri% 0
Sağlık Bilimleri% 0
Alan Bilgisi% 0
Değerlendirme Ölçütleri
Yarı Yıl Çalışmaları Sayısı Katkı
Ara Sınav 1 % 30
Kısa Sınav 1 % 5
Ödev 1 % 5
Devam 0 % 0
Uygulama 0 % 0
Proje 1 % 10
Yarıyıl Sonu Sınavı 1 % 50
Arazi Çalışması 0 % 0
Atölye Çalışması 0 % 0
Laboratuvar 0 % 0
Sunum/Seminer Hazırlama 0 % 0
Toplam 5 % 100
AKTS Hesaplama İçeriği
Etkinlik Sayısı Süresi (Saat) Toplam İş Yükü
Ders Süresi 15 3 45
Sınıf Dışı Ç. Süresi 15 1 15
Ödevler/Seminerler 1 25 25
Ara Sınavlar 1 10 10
Yarıyıl Sonu Sınavı 1 20 20
Kısa Sınav 2 5 10
Uygulama (Lab., Atölye, Arazi,… Raporları) 0 0 0
Diğer 0 0 0
  125 | AKTS Kredisi : 4

Ders Konuları

Hafta Konu Öğretim Yöntem ve Teknikleri Ölçme Yöntemleri, Ön Hazırlık ve Dokümanlar
1 Yazılım Mimarisi ve Tasarıma Giriş Anlatım, Tartışma ve Yorumlama Öğretim elemanı tarafından sağlanan notlar
2 Yazılım Gereksinimi ve Mimari Kararlar Anlatım, Tartışma ve Yorumlama Öğretim elemanı tarafından sağlanan notlar
3 Yazılım Tasarım İlkeleri Anlatım ve Uygulama Öğretim elemanı tarafından sağlanan notlar
4 Nesne Yönelimli Tasarım ve UML-1 Anlatım ve Uygulama Öğretim elemanı tarafından sağlanan notlar
5 Nesne Yönelimli Tasarım ve UML-2 Anlatım ve Uygulama Head First Design Kitabı 1. Chapter Okunması
6 Yaratımsal Tasarım Desenleri Anlatım ve Uygulama Head First Design Kitabı 4. ve 5. Chapter Okunması
7 Yapısal Tasarım Desenleri Anlatım ve Uygulama Head First Design Kitabı 4. ve 13. Chapter Okunması
8 Ara Sınav Sınav İlk 7 hafta işlenen tüm konulara çalışılması
9 Davranışsal Tasarım Desenleri Anlatım ve Uygulama Head First Design Kitabı 7. ve 13. Chapter Okunması
10 Yazılım Mimarisi Kavramları ve Katmanlı Mimari Anlatım ve Uygulama Head First Design Kitabı 3. ve 9. Chapter Okunması
11 Modern Yazılım Mimarileri Anlatım ve Uygulama Head First Design Kitabı 10. ve 12. Chapter Okunması
12 Microservisler ve Dağıtık Mimariler Anlatım ve Uygulama Head First Design Kitabı 12. ve 13. Chapter Okunması
13 Veritabanı ve Veri Mimarisi Anlatım ve Uygulama Öğretim elemanı tarafından sağlanan notlar
14 Güvenlil ve Dayanıklı Mimari Anlatım, Tartışma, Değerlendirme ve Uygulama Hazırlık gerekmiyor
15 Dönem Projesi Sunumları Grup Çalışması, Anlatım ve Uygulama Gösterimi Öğrencilerin projelerini hazırlaması

Dersin Öğrenme Çıktıları: Bu dersin başarılı bir şekilde tamamlanmasıyla öğrenciler şunları yapabileceklerdir:

# Açıklama
1 Yazılım gereksinimlerini analiz ederek uygun yazılım tasarım ve mimari kararları verebilme.
2 Nesne yönelimli tasarım ilkelerini kullanarak yazılım sistemlerini UML diyagramları ile modelleyebilme.
3 Yazılım tasarım problemlerine uygun yaratımsal, yapısal ve davranışsal tasarım desenlerini seçebilme ve uygulayabilme.
4 Katmanlı mimari, modern yazılım mimarileri, mikroservis ve dağıtık mimari yaklaşımlarını karşılaştırarak belirli gereksinimler doğrultusunda uygun mimariyi seçebilme.
5 Yazılım sistemlerinin veri, güvenlik ve dayanıklılık (resilience) gereksinimlerini dikkate alarak mimari ve tasarım çözümleri geliştirebilme.

Dersin Program Çıktılarına Katkısı

  P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11
Ö1 25545221213
Ö2 24535112213
Ö3 24545121213
Ö4 24545342324
Ö5 24545442344

Katkı Düzeyi: 0:Yok     1:Çok Düşük     2:Düşük     3:Orta     4:Yüksek     5:Çok Yüksek