Ders AdıKodu Yerel KrediAKTS Ders (saat/hafta)Uygulama (saat/hafta)Laboratuar (saat/hafta)
Tasarım Kalıpları ve RefactoringBLM522237.5300
ÖnkoşullarYok
YarıyılGüz, Bahar
Dersin Diliİngilizce, Türkçe
Dersin SeviyesiYüksek Lisans
Dersin TürüSeçmeli @ Bilgisayar Mühendisliği ABD Bilgi Teknolojileri Yüksek Lisans Programı (Tezsiz, 2. Öğretim)
Seçmeli @ Bilgisayar Mühendisliği ABD Bilgi Teknolojileri Yüksek Lisans Programı (Tezsiz, 2. Öğretim, İngilizce)
Ders KategorisiUzmanlık/Alan Dersleri
Dersin Veriliş ŞekliYüz yüze
Dersi Sunan Akademik BirimBilgisayar Mühendisliği Bölümü
Dersin KoordinatörüYunus Emre Selçuk
Dersi Veren(ler)Yunus Emre Selçuk
Asistan(lar)ı
Dersin AmacıDersin amacı, nesneye yönelik modelleme ve tasarımda yaygın olarak karşılaşılan sorunların çözümüne yönelik tasarım kalıplarını ve refactoring eylemlerini öğretmektir.
Dersin İçeriğiNYP temel ilkelerinin ve UML şemalarının hatırlatılması, Dörtlü çete tasarım kalıpları, Seçme kod kusurları ve Refactoring eylemleri
Ders Kitabı / Malzemesi / Önerilen Kaynaklar
  • Design Patterns – Elements of Reusable OO Software, Erich Gamma et.al (Gang of Four), Addison-Wesley, 1994
  • Refactoring: Improving the Design of Existing Code, Martin Fowler. Addison-Wesley, 1999
Opsiyonel Program BileşenleriYok

Ders Öğrenim Çıktıları

  1. Öğrenciler literatürdeki temel tasarım kalıplarını kullanarak yazılım gerçekleştirebilme yeteneği kazanır.
  2. Öğrenciler en sık ortaya çıkan kodlama kusurlarını tanıma ve düzeltme yeteneği kazanır.
  3. Öğrenciler nesne yönelimli analiz, tasarım ve kodlama etkinliklerini daha yetkin düzeyde yürütebilme yeteneği kazanır.
  4. Öğrenciler yazılım bakım etkinliklerinde adım adım iyileştirme yöntemini kullanma yeteneği kazanır.
  5. Öğrenciler bir yazılımın dışarıya verdiği servisleri değiştirmeden o yazılımı iyileştirebilme yeteneği kazanır.

Ders Öğrenim Çıktısı & Program Çıktısı Matrisi

DÖÇ-1DÖÇ-2DÖÇ-3DÖÇ-4DÖÇ-5

Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları

HaftaKonularÖn Hazırlık
1NYP temel ilkelerinin ve UML şemalarının hatırlatılmasıYok
2Kod Kusurları (Duplicate code, Long method, Large Class) ve Yeniden Düzenleme Eylemleri İlgili yeniden düzenleme eylemlerinin ön incelemesi
3Kod Kusurları (Divergent Change, Shotgun Surgery, Primitive Obsession) ve Yeniden Düzenleme Eylemleriİlgili yeniden düzenleme eylemlerinin ön incelemesi
4Dörtlü Çete tasarım kalıpları ve uygulamalarıMVC, Abstract Factory, Factory Method kalıplarının incelenmesi
5Dörtlü Çete tasarım kalıpları ve uygulamalarıPrototype, Bridge, Proxy kalıplarının incelenmesi
61. ara sınav1-3 haftaların tekrarı
7Dörtlü Çete tasarım kalıpları ve uygulamalarıMemento, Builder, Iterator kalıplarının incelenmesi
8Ara Sınav 1
9Dörtlü Çete tasarım kalıpları ve uygulamalarıChain of Responsibility, Command, Façade kalıplarının incelenmesi
10Dörtlü Çete tasarım kalıpları ve uygulamalarıMediator, Observer, Flyweight kalıplarının incelenmesi
11Dörtlü Çete tasarım kalıpları ve uygulamalarıState, Singleton, Composite kalıplarının incelenmesi
12Dörtlü Çete tasarım kalıpları ve uygulamalarıDecorator, Adapter kalıplarının incelenmesi
132. Ara Sınav4-12 haftaların tekrarı
14Telafi Sınavları ve Konu Tekrarı1-12 haftaların tekrarı
15Dönem Projesi SunumuYapılacak sunumun gözden geçirilmesi
16Final

Değerlendirme Sistemi

EtkinliklerSayıKatkı Payı
Devam/Katılım
Laboratuar
Uygulama
Arazi Çalışması
Derse Özgü Staj
Küçük Sınavlar/Stüdyo Kritiği
Ödev
Sunum/Jüri
Projeler00
Seminer/Workshop
Ara Sınavlar240
Final160
Dönem İçi Çalışmaların Başarı Notuna Katkısı
Final Sınavının Başarı Notuna Katkısı
TOPLAM100

AKTS İşyükü Tablosu

EtkinliklerSayıSüresi (Saat)Toplam İşyükü
Ders Saati133
Laboratuar
Uygulama
Arazi Çalışması
Sınıf Dışı Ders Çalışması134
Derse Özgü Staj
Ödev
Küçük Sınavlar/Stüdyo Kritiği
Projeler00
Sunum / Seminer
Ara Sınavlar (Sınav Süresi + Sınav Hazırlık Süresi)240
Final (Sınav Süresi + Sınav Hazırlık Süresi)150
Toplam İşyükü :
Toplam İşyükü / 30(s) :
AKTS Kredisi :
Diğer NotlarYok