Ders AdıKodu Yerel KrediAKTS Ders (saat/hafta)Uygulama (saat/hafta)Laboratuar (saat/hafta)
Nesneye Dayalı Tasarım ve ModellemeBLM511137.5300
ÖnkoşullarYok
YarıyılGüz
Dersin DiliTürkçe
Dersin SeviyesiYüksek Lisans
Dersin TürüSeçmeli @ Bilgisayar Mühendisliği ABD Bilgisayar Mühendisliği Yüksek Lisans Programı
Seçmeli @ Bilgisayar Mühendisliği ABD Bilgisayar Mühendisliği Yüksek Lisans Programı (Tezsiz)
Ders KategorisiTemel Meslek Dersleri
Dersin Veriliş ŞekliYüz yüze
Dersi Sunan Akademik BirimBilgisayar Mühendisliği Bölümü
Dersin KoordinatörüY.Emre Selçuk
Dersi Veren(ler)Banu Diri
Asistan(lar)ı
Dersin AmacıNesne yönelimli yaklaşım kullanılarak yapılan modelleme, tasarım ve gerçekleme çalışmalarının üzerinde ortak kanıya varılmış ilkelere göre doğru ve iyi yapılması yeteneğinin kazandırılması
Dersin İçeriğiDörtlü çetenin tasarım kalıpları, kod kusurlarını gidermek üzere refactoring ve rol modelleri
Ders Kitabı / Malzemesi / Önerilen Kaynaklar
  • Refactoring: Improving the Design of Existing Code, Martin Fowler. Addison-Wesley, 1999
  • Design Patterns – Elements of Reusable OO Software, Erich Gamma et.al (Gang of Four), Addison-Wesley, 1994
  • Yunus Emre Selcuk, Nadia Erdogan. “Role models-implementation-based approaches to using roles”. Software-Practice & Experience, vol.41 (2011), p1-22
Opsiyonel Program BileşenleriYok

Ders Öğrenim Çıktıları

  1. Öğrenciler nesneye yönelik programlardaki kusurları belirleme yeteneği kazanır.
  2. Öğrenciler gerçek dünya problemleri üzerinde nesneye yönelik analiz görevlerini yerine getirebilme yeteneği kazanır.
  3. Öğrenciler nesneye yönelik analiz ve tasarım sırasında dörtlü çetenin temel tasarım kalıplarını kullanabilme yeteneği kazanır.
  4. Öğrenciler nesneye yönelik programları refactor edebilme yeteneği kazanır.
  5. Öğrenciler gerçek dünya problemleri üzerinde nesneye yönelik tasarım görevlerini yerine getirebilme yeteneği kazanır.

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

HaftaKonularÖn Hazırlık
1Tasarım kalıplarına giriş, MVC kalıbı
2Sınıf belirtmeden nesne oluşturabilmeye yönelik kalıplar
3Nesne gerçeklemesine diğer nesnelerin bağımlılığını azaltmaya yönelik kalıplar
4Algoritmik bağımlılığı azaltmaya yönelik kalıplar
5Gevşek ilişkilendirmeye yönelik kalıplar
6Nesne birleştirmeye yönelik kalıplar
7Sınıfları rahat değiştirmeye yönelik kalıplar
8Genel hizmet kalıpları
91. ara sınav
10Seçme kod kusurları ve bunların giderilmesine yönelik yeniden düzenleme eylemleri
11Bütünsel bir kod örneği üzerinde yeniden düzenleme eylemlerinin yürütülmesi
12Rol modelleri
13Rol modellerinde bağlamlar
14Öğrenilen yaklaşımların karşılaştırılması ve eleştirilmesi
15Proje ödevlerinin sunum eşliğinde sınıfta tartışılması
16Final sınavı

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
Projeler120
Seminer/Workshop
Ara Sınavlar140
Final140
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 Saati163
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
Projeler160
Sunum / Seminer110
Ara Sınavlar (Sınav Süresi + Sınav Hazırlık Süresi)130
Final (Sınav Süresi + Sınav Hazırlık Süresi)130
Toplam İşyükü :
Toplam İşyükü / 30(s) :
AKTS Kredisi :
Diğer NotlarGüncel bir nesneye yönelimli programlama dilinin temel kavramlarının bilinmesi ve UML sınıf şemalarına aşinalık gerekmektedir.