Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Nesne Yönelimli Analiz ve Tasarım BSM 204 4 3 + 0 3 4
Ön Koşul Dersleri

BSM 102 NESNEYE DAYALI PROGRAMLAMA

Önerilen Seçmeli Dersler
Dersin Dili Türkçe
Dersin Seviyesi Lisans
Dersin Türü Zorunlu
Dersin Koordinatörü Prof.Dr. CELAL ÇEKEN
Dersi Verenler Prof.Dr. CELAL ÇEKEN,
Dersin Yardımcıları
Dersin Kategorisi Diğer
Dersin Amacı

Bilişim teknolojilerindeki hızlı ilerleme, son kullanıcı isteklerinin de sürekli olarak değişmesine neden olmaktadır. Bu istekleri karşılamak zorunda olan günümüz yazılımları için en maliyetli yazılım geliştirme yaşam döngüsü adımlarından biri bakım aşamasıdır. Bakım sürecinin iyileştirilmesi nesne yönelimli yazılım geliştirme paradigmasının ve onunla birlikte gelen analiz ve tasarım ilkelerinin iyi bir şekilde uygulanmasına bağlıdır. Ders kapsamında, karmaşık yazılım problemlerinin nesne yönelimli olarak analiz edilebilmesi ve tasarlanması için gerekli becerilerin kazandırılması hedeflenmektedir.

Dersin İçeriği

Yazılım Geliştirme Yaşam Döngüsü, Nesne Yönelimli Yazılım Geliştirme Paradigması, Birleştirilmiş Modelleme Dili (UML), Nesne Yönelimli Analiz, Sistem Tasarımı, Nesne Yönelimli Tasarım, Nesne Yönelimli Tasarım İlkeleri, Tasarım Desenleri, Model Görünüm Denetleyici (MVC) Mimari Deseni, Yazılımların Testi, Örnek Uygulamalar

# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 UML ile modelleme yapabilir Anlatım, Soru-Cevap, Beyin Fırtınası, Tartışma,
2 Nesne yönelimli analiz ve tasarım yapabilir Anlatım, Soru-Cevap, Beyin Fırtınası, Tartışma,
3 Tasarım ilkelerini kavrar Anlatım, Soru-Cevap, Beyin Fırtınası, Tartışma,
4 Tasarım desenlerini kullanabilir Anlatım, Soru-Cevap, Beyin Fırtınası, Tartışma,
Hafta Ders Konuları Ön Hazırlık
1 Ders Tanıtımı, Yazılım Geliştirme Yaşam Döngüsü, Geliştirme Ortamı Hazırlama, Örnek Uygulamalar
2 Yazılım Geliştirme Paradigmaları, Nesne Yönelimli Yazılım Geliştirme, Örnek Uygulamalar (Kapsülleme, Kalıtım, Çok biçimlilik, Arayüzler ile Soyutlama)
3 Nesne Yönelimli Analiz: Gereksinimlerin Belirlenmesi, Birleştirilmiş Modelleme Dili (UML), Kullanım Durum Diyagramı, Kullanım Durumlarının Tanımlanması, Sıralama Şeması, Etkinlik Şeması, Durum Şeması
4 Nesne Yönelimli Analiz: Nesnelerin Belirlenmesi, Sınıf Şeması, Nesneler Arası Bağıntılar, Örnek Uygulamalar (Veri Topluluklarıyla İşlemler), Örnekler (Sıralama Şeması, Etkinlik Şeması, Durum Şeması)
5 Nesne Yönelimli Analiz: Nesneler Arası Bağıntılar, CRC Kartları, Haberleşme Şeması, UML Modellerinden Koda Dönüşüm
6 UML Modellerinden Koda Dönüşüm
7 Nesne Yönelimli Tasarım: Sistem Tasarımı (Tasarım Hedeflerinin Belirlenmesi, Sistemin alt bileşenlerine ayrıştırılması, Yazılım mimarileri)
8 Nesne Yönelimli Tasarım: Sistem Tasarımı (Sistemin Konuşlandırılması, Erişim Denetimi (Rol Tabanlı Erişim Denetimi), Nesnelerin Depolanması)
9 Nesne Yönelimli Tasarım İlkeleri: SOLID
10 Tasarım Desenleri 1
11 Tasarım Desenleri 2
12 Tasarım Desenleri 3
13 Model Görünüm Denetleyici (MVC) Mimari Deseni
14 Yazılımların Testi
Kaynaklar
Ders Notu

Ders Notları (SABİS'e haftalık olarak yüklenecektir)

https://github.com/celalceken/NesneYonelimliAnalizVeTasarimDersiUygulamalari (Derste kullanılan uygulamaları içermektedir)
 

 

Ders Kaynakları

Object-Oriented Software Engineering, Using UML, Patterns, and Java, 3rd Edition, by Bernd Bruegge and Allen H. Dutoit, Prentice-Hall, 2010

Design Patterns: Elements of Reusable Object-Oriented Software. Gamma, Helm, Johnson, Vlissides. 1995. Addison Wesley

Head First Object-Oriented Analysis and Design, by Brett D. McLaughlin et al, O'Reilly Media, 2006.

Head First Design Patterns, by Bert Bates et al, O'Reilly Media, 2009.

Applying UML and Patterns - An Introduction to Object-Oriented Analysis and Design and Iterative Development, by Craig Larman, Prentice Hall, 2004,

Sıra Program Çıktıları Katkı Düzeyi
1 2 3 4 5
1 Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi. X
2 Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. X
3 Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. X
4 Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. X
5 Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. X
6 Bilişim Teknolojilerinin yönetim, denetim, gelişim ve güvenliği/güvenilirliği hakkında bilgi sahibi olma ve farkındalık,
7 Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. X
8 Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
9 Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
10 Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
11 Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
12 Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
1. Ara Sınav 100
Toplam 100
1. Final 50
1. Yıl İçinin Başarıya 50
Toplam 100
AKTS - İş Yükü Etkinlik Sayı Süre (Saat) Toplam İş Yükü (Saat)
Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) 16 3 48
Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) 16 1 16
Ara Sınav 1 15 15
Proje / Tasarım 1 15 15
Final 1 15 15
Toplam İş Yükü 109
Toplam İş Yükü / 25 (Saat) 4,36
Dersin AKTS Kredisi 4