SOFTWARE DESIGN AND DEVELOPMENT: OBJECT-ORIENTED ANALYSIS AND DESIGN EĞİTİMİ

Analizden desene tam OOAD döngüsünü öğrenin

Domain model, GRASP, UML davranış diyagramları, SOLID ve GoF desenleriyle nesne yönelimli analiz ve tasarım.

Eğitim, nesne yönelimli analiz ve tasarımı uçtan uca işler. Gereksinimden use case ve domain model çıkarır, GRASP ile sorumlulukları dağıtır, sıra, durum ve etkinlik diyagramlarıyla davranışı tasarlarsınız.

4 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Dört günde gereksinimden sınıf tasarımına ve desen uygulamasına

Eğitim, nesne yönelimli analiz ve tasarımı uçtan uca işler. Gereksinimden use case ve domain model çıkarır, GRASP ile sorumlulukları dağıtır, sıra, durum ve etkinlik diyagramlarıyla davranışı tasarlarsınız. SOLID ilkeleri, Factory, Decorator, Strategy ve Observer gibi desenlerle tasarımı güçlendirir; paket, dağıtım ve Domain Model/Service Layer gibi kurumsal desenlerle mimari düzeye çıkar, desen seçimini gerekçelendirirsiniz.

Süre ve Format

4 Gün. Her gün dört modül; sabah analiz ve tasarım yöntemi, öğleden sonra vaka üzerinde modelleme ve kodlama.

Seviye

Orta Seviye — Nesne yönelimli analiz ve tasarım: domain model, GRASP, UML davranış modelleri, SOLID ve GoF desenleri.

Öğrenme Metodu

Bir rezervasyon sistemi vakası boyunca analiz modeli, tasarım diyagramları ve Java/C# iskelet kodu birlikte geliştirilir ve gözden geçirilir.

Neden Bu Eğitim?

🧭Uçtan Uca Yöntem

Gereksinimden koda uzanan tutarlı bir OOAD akışı edinirsiniz.

⚖️Gerekçeli Tasarım

GRASP ve SOLID ile kararlarınızı savunabilir hale getirirsiniz.

🧩Desenlerle Güçlendirme

Analiz modelini uygun desenlerle esnek tasarıma dönüştürürsünüz.

Anahtar Konular

nesne yönelimli analiz ve tasarımOOAD eğitimiGRASPdomain modelUMLSOLIDtasarım desenlerisorumluluk atamayazılım tasarımı
“Analiz neyi, tasarım nasılı söyler; ikisini karıştırmayan ekipler hızlı ilerler.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
OOP Deneyimi

Java veya C# ile temel sınıf tasarımı yapmış olmak.

2
Gereksinim Bilgisi

Senaryo ve kullanıcı gereksinimi kavramları.

3
Çizim Aracı

PlantUML veya Enterprise Architect erişimi.

4
Vaka İlgisi

Kendi projenizden bir tasarım problemi getirmeniz yararlıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı use case ve domain model çıkarır ve sınıf diyagramını temel OO tasarım ilkeleriyle şekillendirir.
Modül 1
OOP Tasarım Temelleri
  • Yüksek uyum (cohesion) ve düşük bağlaşım (coupling)
  • Law of Demeter ve 'Tell, Don't Ask' ilkesi
  • Sözleşmeyle tasarım: ön koşul, son koşul, değişmez
  • Değişmezlik ve yan etkisiz metotlar
  • Küçük arayüz, açık niyet: adlandırma ve API tasarımı
  • Basit sınıf diyagramı ile tasarımı iletme
Modül 2
Use Case Modelleme
  • Aktör, sistem sınırı ve use case tanımı
  • include, extend ve genelleştirme ilişkileri
  • Use case açıklama şablonu: ön koşul, ana akış, alternatif akış, son koşul
  • Gereksinim metninden use case çıkarma
  • Cockburn kapsam seviyeleri ve CRUD use case tuzağı
  • Kullanıcı hikâyesi ile use case ilişkisi
Modül 3
Nesne Yönelimli Analiz Süreci
  • Gereksinimlerden alan modeline (domain model) geçiş
  • İsim ve fiil analiziyle aday sınıf bulma
  • CRC kartları ile sorumluluk ve işbirlikçi belirleme
  • Boundary, control ve entity sınıf kalıbı
  • Sistem sıra diyagramı ve sistem işlemleri sözleşmeleri
  • Analiz modelinden tasarım modeline geçişte izlenebilirlik
Modül 4
Sınıf Diyagramı
  • Sınıf, öznitelik, işlem ve görünürlük gösterimi
  • Association, aggregation, composition ve dependency farkları
  • Çokluk (multiplicity), rol adı ve yönlülük
  • Generalization, realization, abstract sınıf ve interface
  • Association class ve türetilmiş öznitelikler
  • Diyagramdan Java/C# koduna eşleme ve tersine mühendislik
Günün hedefiKatılımcı GRASP, sıra ve durum diyagramlarıyla sorumlulukları dağıtır ve SOLID'i uygular.
Modül 1
GRASP ve Sorumluluk Atama
  • Information Expert ve Creator
  • Controller ve Pure Fabrication
  • Low Coupling ve High Cohesion ölçüt olarak
  • Polymorphism, Indirection ve Protected Variations
  • Sorumluluk atamasını sıra diyagramıyla doğrulama
  • Yazılım tasarım sınıf diyagramına (DCD) dönüştürme
Modül 2
Sıra ve Etkileşim Diyagramları
  • Lifeline, senkron/asenkron mesaj ve dönüş mesajı
  • Aktivasyon çubuğu, nesne yaratma ve yok etme
  • Combined fragment: alt, opt, loop, par, ref
  • Communication diyagramı ile aynı etkileşimin farklı gösterimi
  • Timing ve Interaction Overview diyagramlarına giriş
  • Sıra diyagramından sınıf işlemlerinin ve arayüzlerin türetilmesi
Modül 3
Durum Makinesi Diyagramı
  • State, transition ve olay[koşul]/eylem söz dizimi
  • Entry, exit ve do davranışları
  • Bileşik durum (composite) ve ortogonal bölgeler
  • History pseudostate, choice ve junction
  • Fork/join ile eşzamanlı bölgeler
  • Protokol durum makinesi ile davranışsal durum makinesi farkı
Modül 4
SOLID İlkeleri
  • SRP: değişim nedeni kavramı ve sorumlulukların ayrıştırılması
  • OCP: soyutlama ile genişleme, if-zincirlerinin temizlenmesi
  • LSP: sözleşmeyle tasarım ve Kare-Dikdörtgen ihlali
  • ISP: şişkin arayüzün rol arayüzlerine bölünmesi
  • DIP: yüksek seviyeli modülün soyutlamaya bağımlı kılınması
  • Kod kokularından SOLID ihlali tespiti ve düzeltme sırası
Günün hedefiKatılımcı Factory, Adapter, Strategy, Observer, State ve Template Method desenlerini tasarıma uygular.
Modül 1
Yaratımsal Desenler
  • Singleton ve thread-safe lazy başlatma (double-checked locking, Java enum singleton, C# Lazy<T>)
  • Factory Method ile nesne üretiminin alt sınıfa devri
  • Abstract Factory ile ürün aileleri (tema seti, veritabanı sağlayıcısı)
  • Builder ve akıcı (fluent) arayüz ile çok parametreli nesne inşası
  • Prototype ile kopyalama: yüzeysel ve derin klon farkı
  • Singleton yerine DI konteyneri ve nesne havuzu (object pool) alternatifleri
Modül 2
Adapter, Facade, Decorator ve Proxy
  • Adapter ile eski bir kütüphaneyi yeni arayüze uyarlama (nesne ve sınıf adaptörü)
  • Facade ile alt sistem karmaşıklığını tek giriş noktasında gizleme
  • Decorator ile çalışma zamanında davranış ekleme ve Java I/O stream zinciri
  • Decorator ile kalıtım patlamasının (subclass explosion) önlenmesi
  • Proxy türleri: sanal (lazy), koruma ve uzak (remote) vekil
  • Adapter, Decorator ve Proxy desenlerinin niyet farkları
Modül 3
Strategy, Observer ve Command
  • Strategy ile algoritma değişimi: indirim kuralları, sıralama ve ödeme yöntemleri
  • Observer ile olay yayını, push ve pull modelleri
  • Zayıf referanslar ve lapsed listener bellek sızıntısı
  • Command ile isteğin nesneleştirilmesi, undo/redo yığını
  • Komut kuyruğu ve makro komut (composite command)
  • C# delegate/event ve Java lambda ile desenlerin sadeleştirilmesi
Modül 4
State, Template Method ve Chain of Responsibility
  • State ile durum makinesi: sipariş ve belge yaşam döngüsü
  • switch/if-else yerine polimorfik durum sınıfları
  • Template Method ile algoritma iskeleti ve hook metotlar
  • Hollywood ilkesi: çerçeve çağırır, siz çağırmazsınız
  • Chain of Responsibility ile middleware ve filtre zincirleri
  • Servlet Filter ve ASP.NET Core pipeline ile karşılaştırma
Günün hedefiKatılımcı paket, dağıtım ve Domain Model/Service Layer görünümleriyle tasarımı tamamlar ve desen kararlarını gerekçelendirir.
Modül 1
Nesne, Paket ve Bileşen Diyagramları
  • Object diagram ile çalışma zamanı örneklerinin gösterimi
  • Package diyagramı: import, merge ve bağımlılık yönetimi
  • Katmanlı paket yapısında döngüsel bağımlılığın tespiti
  • Component diyagramı: provided ve required interface, port
  • Composite structure diyagramı ile iç yapı
  • Bileşen bağlaşımını azaltma ve arayüz sözleşmeleri
Modül 2
Dağıtım Diyagramı
  • Node, device ve execution environment kavramları
  • Artifact ve component-artifact manifestation ilişkisi
  • Communication path ve protokol notasyonu
  • Docker/Kubernetes ortamının UML ile gösterimi
  • Dağıtım spesifikasyonu ve özellik değerleri
  • Bileşen modelinden dağıtım modeline eşleme
Modül 3
Alan Mantığı Desenleri
  • Transaction Script: prosedürel iş mantığı ve ne zaman yeterli olduğu
  • Domain Model: zengin nesne modeli ve davranışın nesnede toplanması
  • Table Module: tablo başına tek iş nesnesi (.NET DataSet kökenli yaklaşım)
  • Service Layer ile uygulama sınırı ve işlem yönetimi
  • Fowler'ın karmaşıklık-maliyet eğrisine göre desen seçimi
  • Anemic Domain Model eleştirisi ve düzeltme stratejileri
Modül 4
Desen Seçimi ve Takım Pratiği
  • Problemden desene eşleme tablosu hazırlama
  • MVC içinde Observer, Strategy ve Composite birlikteliği
  • Desenin maliyeti: ek soyutlama katmanı ve okunabilirlik
  • Kod incelemesinde desen kararını gerekçelendirme
  • Vaka çalışması: e-ticaret sipariş ve kampanya modülü
  • Takımda ortak desen sözlüğü ve ADR ile karar kaydı

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
OO Tasarım Sezgisi

Uyum ve bağlaşım ölçütleriyle sınıf tasarımınızı değerlendirip iyileştirebilirsiniz.

🔧
OO Analiz

Gereksinim metninden alan modeli ve sınıf adayları çıkarabilirsiniz.

🧠
Sorumluluk Atama

GRASP ilkeleriyle sorumlulukları sınıflara gerekçeli biçimde dağıtabilirsiniz.

📐
Durum Modelleme

Yaşam döngüsü olan nesneleri durum makinesiyle eksiksiz modelleyebilirsiniz.

🧩
Yapısal Desenler

Adapter, Facade, Decorator ve Proxy desenlerini niyet farklarına göre doğru yerde kullanabilirsiniz.

🛡️
Akış Kontrolü

State ve Chain of Responsibility ile koşul yığınlarını okunabilir sınıf yapılarına dönüştürebilirsiniz.

📊
Dağıtım Modeli

Yazılım bileşenlerinin donanım ve çalışma ortamı üzerindeki yerleşimini modelleyebilirsiniz.

🚀
Karar Gerekçesi

Desen kararlarınızı maliyet ve fayda açısından gerekçelendirip takımla paylaşabilirsiniz.

Kimler İçin Uygundur?

  • Yazılım tasarımını sistematik yapmak isteyen geliştiriciler
  • sistem analistleri
  • teknik liderler

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Yazılım tasarımını sistematik yapmak isteyen geliştiriciler, sistem analistleri ve teknik liderler.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.
Eğitim kaç gün sürer ve nasıl işlenir?
Eğitim 4 gündür; bir rezervasyon sistemi vakası boyunca analiz modeli, tasarım diyagramları ve Java/C# iskelet kodu birlikte geliştirilir ve gözden geçirilir.
GRASP ile SOLID arasında fark nedir?
GRASP, sorumlulukların hangi sınıfa verileceğini; SOLID ise sınıfların ve modüllerin nasıl organize edileceğini yönlendirir; ikisi birbirini tamamlar.
Hangi vaka kullanılır?
Bir rezervasyon veya sipariş sistemi vakası kullanılır; katılımcılar isterse kendi vakalarını da getirebilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Software Design and Development: Object-oriented Analysis an Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Yazılım Mimarisi ve Tasarım DesenleriOCUP UML Sertifikasyonu - UML Orta Düzey Sınavına Hazırlanma. Eğitimi
Yazılım Geliştirme Eğitimleri

OCUP UML Sertifikasyonu - UML Orta Düzey Sınavına Hazırlanma. Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

OCUP UML orta düzey sınav hazırlık eğitimi: gelişmiş sınıf, bileşen, durum, etkinlik ve sıra diyagramı semantiği, deneme sınavı. Sınav ücreti ilgili kuruma aitt

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriOCUP UML Sertifikasyonu - UML Temel Sınav Hazırlığı Eğitimi
Yazılım Geliştirme Eğitimleri

OCUP UML Sertifikasyonu - UML Temel Sınav Hazırlığı Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

OCUP UML temel sınav hazırlık eğitimi: sınıf, use case, sıra, durum, etkinlik diyagramları, çözümlü sorular ve deneme sınavı. Sınav ücreti ilgili kuruma aittir.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriProgramming Fundamentals: Object-oriented Programming Eğitimi
Yazılım Geliştirme Eğitimleri

Programming Fundamentals: Object-oriented Programming Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Programming Fundamentals OOP eğitimi: değişken, kontrol yapıları, metot, sınıf, kalıtım, koleksiyon, istisna ve birim test. Başlangıç seviyesi 2 gün.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriRefactoring ML/DL Algorithms: Techniques & Principles Eğitimi
Yazılım Geliştirme Eğitimleri

Refactoring ML/DL Algorithms: Techniques & Principles Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

ML/DL refactoring eğitimi: notebook'tan pakete, pytest, Strategy/Factory desenleri, profiling, MLflow ve CI ile üretime hazır ML kodu, 3 gün uygulamalı.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriRole of Testing in Managing Clean Code Eğitimi
Yazılım Geliştirme Eğitimleri

Role of Testing in Managing Clean Code Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Clean Code ve test eğitimi: TDD, legacy kod için karakterizasyon testi, SOLID, BDD, mutasyon testi ve CI kalite kapıları. Java/C# ile 3 gün.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn