CENG 557

İleri Yazılım Tasarım Şablonları

Bu ders ileri yazılım tasarım şablonları üzerine odaklanmıştır. Dersin ana konularını; ileri nesneye dayalı programlama presipleri, nesneye dayalı tasarım şablonları, kurumsal uygulama mimarisi şablonları, kurumsal uygulama bütünleştirme şablonları ve alana dayalı tasarım şablonları oluşturmaktadır. Bu derste öğrenciler tasarım şablonları kullanarak modern yazılım geliştirme kavramlarını öğrenecek ve bu kavramları kullanarak orta büyüklükteki bir yazılımı takım olarak geliştirecektir.

Dersin Amacı

Öğrencileri modern yazılım geliştirmede kullanılan güncel yazılım tasarım şablonları konusunda ileriye götürmek

Kaynakça

Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Addison-Wesley, 1995. ,Patterns of Enterprise Application Architecture, Martin Fowler, Addison-Wesley, 2003. ,Enterprise Integration Patterns, Gregor Hohpe, Bobby Wolf, Addison-Wesley, 2011. ,Patterns, Principles, and Practices of Domain-Driven Design, Scott Millett, Nick Tune, John Wiley & Sons, 2015.

Öğrenme Çıktıları

1. Yazılım tasarım prensiplerini ve şablonlarını belirleyebilme ve açıklayabilme

2. Tasarım prensiplerini ve şablonlarını takım olarak yazılım geliştirmede uygulayabilme

3. Tasarım şablonlarının talep edilen yazılım özellikleri ile ilgisini detaylı bir şekilde değerlendirebilme ve raporlayabilme

4. Tasarım prensipleri ve tasarım şablonlarının; programlama dili tasarımı, uygulama çerçeveleri veya uygulama alanları ile ilişkisini analiz edebilme ve raporlayabilme

Hafta Konu
1 Nesneye Dayalı Analiz ve Tasarıma Giriş
2 Abstrakt Sınıflar ve Arayüzler ile Kalıtım ve Polimorfizm
3 Nesneye Dayalı Programlama Prensipleri
4 Mimari Tasarım Şablonu – Model Görünüm Yönetici
5 Gözlemci Tasarım Şablonu
6 Üretim Tasarım Şablonları
7 Yapısal Tasarım Şablonları
8 Davranışsal Tasarım Şablonları
9 Kurumsal Uygulama Mimarisi Şablonlarına Giriş
10 Nesne-İlişki Tasarım Şablonları
11 Kurumsal Uygulama Bütünleştirme Şablonlarına Giriş
12 Mesajlaşma Tasarım Şablonları
13 Alana Dayalı Tasarıma Giriş
14 Mikroservis Tasarım Şablonları

Notlandırma

Ödev 20%

Araştırma Sunumu 40%

Final 40%