UML ve Tasarım Kalıpları (C# ve Java Kod Örnekleriyle)


Modül 1 : UML (Unified Modelling Language)

• 1.1 : Modelleme Olgusu

• 1.2 : Modelleme Dilleri

• 1.3 : UML (Unified Modelling Language)

o 1.3.1 : UML Standardizasyonu ve UML Versiyonları

o 1.3.2 : UML Kullanımının Getirileri

• 1.4 : UML Modelleri ve İlişkili Diyagramlar

• 1.5 : UML Destekli Tasarım Araçları

• 1.6 : Constraint, TaggedValue ve Stereotype Kavramları

• 1.7 : Use Case (Kullanım Senaryosu) Diyagramları

• 1.8 : Activity (Faaliyet) Diyagramları

• 1.9 : Nesne Yönelimli Modellemeye İlişkin Temel Kavramlar

• 1.10 : Sınıf ve Nesne Diyagramları

• 1.11 : Nesneler Arasındaki İlişkiler

o 1.11.1 : Association (Referans)

o 1.11.2 : Aggregation (Barındırma, İçerme)

o 1.11.3 : Composition (Bağımlı İyelik)

o 1.11.4 : Generalization (Genelleme)

o 1.11.5 : Realization (Gerçekleme)

o 1.11.6 : Dependency (Bağımlılık)

o 1.11.7 : Use (Kullanma)

• 1.12 : State (Durum) Diyagramları

• 1.13 : Sequence (Etkileşim) Diyagramları

• 1.14 : Communication (İletişim) Diyagramları

• 1.15 : Component (Bileşen) Diyagramları

• 1.16 : Package (Paket) Diyagramları

• 1.17 : Deployment (Dağıtım) Diyagramları

Modül 2 : Dizayn ve Paketleme Prensipleri

• 2.1 : Dizayn Prensipleri

o 2.1.1 : Ayrıştırma (Decomposition)

o 2.1.2 : Kohezyon (Yapışıklık)

o 2.1.3 : SRP : Tek Sorumluluk (Single Responsibility) Prensibi

o 2.1.4 : LCP : Zayıf Bağlaşım (Low Coupling) Prensibi

o 2.1.5 : Yeniden Kullanılabilirlik (Reusability) Prensibi

o 2.1.6 : OCP : Açık/Kapalı Prensibi (Open/Closed Principle)

o 2.1.7 : LSP : Liskov Yerine Geçme Prensibi (Liskov Substitution Principle)

o 2.1.8 : DIP : Bağımlılığı Ters Çevirme Prensibi (Dependency Inversion Principle)

o 2.1.9 : ISP : Arayüz Ayırma Prensibi (Interface Segregation Principle)

o 2.1.10 : Polimorfizm Nedir

• 2.2 : Granülarite ve Paket Kavramı

• 2.3 : Paketlemeye İlişkin Prensipler

o 2.3.1 : REP : Yeniden Kullanılabilir Sürüm Eşdeğerliği Prensibi (Release Reuse Equivalence Principle)

o 2.3.2 : CCP : Ortak Kapatma Prensibi (Common Closure Principle)

o 2.3.3 : CRP : Ortak Yeniden Kullanım Prensibi (Common Reuse Principle)

o 2.3.4 : ADP : Çevrimsiz Bağımlılık Prensibi (Acyclic Dependencies Principle)

o 2.3.5 : SDP : Kararlı Bağımlılıklar Prensibi (Stable Dependencies Principle)

o 2.3.6 : SAP : Kararlı Soyutlamalar Prensibi (Stable Abstractions Principle)

Modül 3 : Dizayn Paternlere Giriş ve Temel Kavramlar

• 3.1 : Giriş

• 3.2 : Patern Kümeleri (Pattern Cluster)

• 3.3 : Idiom (Deyim) Kavramı ve Örnekleri

• 3.4 : Anti-Patern (Karşıt Kalıp) Olgusu

• 3.5 : GOF Sistematiği

Modül 4 : Nesne Oluşturulmasına/Yaratılmasına Ait (Creational) Paternler

• 4.1 : Singleton

• 4.2 : Factory Method / Virtual Constructor

• 4.3 : Prototype

• 4.4 : Object Pool

• 4.5 : Builder

• 4.6 : Abstract Factory

Modül 5 : Davranışsal (Behavioral) Paternler

• 5.1 : Iterator / Cursor

• 5.2 : Observer / Publish Subscribe

• 5.3 : Mediator

• 5.4 : Chain of Responsibility

• 5.5 : Command

• 5.6 : Visitor

• 5.7 : Strategy/Policy

• 5.8 : State

• 5.9 : Template Metot

• 5.10 : Interpreter

• 5.11 : Memento

Modül 6 : Yapısal (Structural) Paternler

• 6.1 : Decorator

• 6.2 : Adapter / Wrapper

• 6.3 : Facade

• 6.4 : Proxy / Surrogate

• 6.5 : Bridge

• 6.6 : Compozite

• 6.7 : Flyweight

Modül 7 : Yazılım Mimarisi ve Mimari Paternler

• 7.1 : Dependency Injection ve (IoC) Inversion of Control

• 7.2 : UI (User Interface) Patern’leri

• 7.3 : MVC (Model View Controller) Patern’i

• 7.4 : Model2 Patern’i (FrontController ve HTTP Interceptor)

• 7.5 : MVP (Model View Presenter) Patern’i

• 7.6 : PM (Presentation Model) ve MVVM (Model-View-ViewModel) Patern’leri

• 7.7 : İş Katmanı (Business Layer) Paternleri

• 7.8 : Transaction Script Patern’i

• 7.9 : Table Module Patern’i

• 7.10 : Active Record Patern’i

• 7.11 : Domain Model Patern’i

• 7.12 : Repository Patern’i

• 7.13 : Special Case Patern’i

• 7.14 : Seperated Interface ve Plugin Patern’leri

• 7.15 : APM Patern’i

• 7.16 : Service Locator Patern’i

• 7.17 : Diğer mimari paternler

Modül 8 : Yazılım Geliştirme Sürecinin Modellenmesi

• 8.1 : Proje Yönetiminin Temel Kavramları

• 8.2 : Şelale (Waterfall) Yöntemi

• 8.3 : Spiral Yöntemi

• 8.4 : XP Sıra dışı (Extreme) Programlama ve Scrum

• 8.5 : RUP (Rational Unified Process)

• 8.6 : CRC (Class, Responsibilities, Collaborators)

• 8.7 : MSF (Microsoft Solutions Framework)

• Ve diğerleri …

Önkoşul : C# ve/veya Java programlama dilleri konusunda temel bilgilere sahip olmak ya derneğimizin açmış olduğu C# – Java ile Nesne Yönelimli Programlama kurslarına katılmış olmak.

 * Kurs ücreti duyuru sayfasında belirtilmektedir.

Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.