Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Class Diagram'dan Koda ve Koddan Diyagrama: Domain Model, Design Model ve puml-gen
Domain model iş dünyasının kavramlarını tipsiz ve operation'sız gösterir, design class diagram ise aynı vakanın C#'a yakın tasarım kararlarını; ilki elle çizilir, ikincisinin dilimleri koda dökülür ve puml-gen gibi araçlarla koddan üretilen diyagramlar yalnız gözlem ve drift kontrolü için kullanılır. Yazıda İK Portalı'nın izin modülü diyagramdan EF Core configuration'ına ve DDL'e, oradan da puml-gen ile tekrar PlantUML'e taşınıyor.
Class Diagram 2: Association, Aggregation, Composition, Generalization ve Dependency — C# Karşılıklarıyla
Association kalıcı bir bağdır ve C#'ta navigation property olur; composition'da parça tek sahibe aittir ve onunla silinir, EF Core'da owned/complex type ya da cascade delete'tir; aggregation'ın UML 2.5.1'de kesin bir anlamı yoktur. Altı ilişkinin notasyonu ve C# karşılığı, EF Core'un zorunlu ilişkilerdeki cascade varsayılanı, qualified association ve Approval'ın association class'tan ayrı bir class'a yükselmesi.
Class Diagram 1: Class, Attribute, Operation, Visibility, Multiplicity ve Stereotype'lar
Class diagram'daki her işaret kodda bir karardır: [0..1] nullable tip, [0..*] collection, eğik çizgi hesaplanan property, altı çizili satır static üye, {readOnly} hiç değişmeyen property demektir. Class kutusunun üç bölmesi, attribute ve operation söz dizimi, C# ile örtüşmeyen visibility köşeleri, interface, enumeration, data type ve stereotype'lar ile aynı diyagramın Mermaid hâli.
Use Case Diagram ve Use Case Spesifikasyonu: Actor, include, extend ve Cockburn Şablonu
Use case diagram sistemi dışarıdan gösterir: actor'lar rol, use case'ler hedeftir; include ok ile ana use case'ten zorunlu adıma, extend ok ile koşullu eklentiden ana use case'e gider. İK Portalı izin modülünün use case diagram'ı, Cockburn'ün fully dressed şablonuyla İzin Talep Et spesifikasyonu, use case'ten user story ve API endpoint'ine eşleme ve Mermaid ile aynı diyagram.
Requirement'tan Diyagrama: Hangi Soru Hangi Diyagramla Cevaplanır?
Her diyagram bir soruyu cevaplar: kim ne yapar sorusunu use case, hangi kavramlar sorusunu class, kim kimi çağırır sorusunu sequence, object hangi durumlardan geçer sorusunu state machine diagram'ı cevaplar. İK Portalı İzin Talebi modülünün requirement metni, isim, fiil ve koşullardan aday class, use case ve guard çıkarmak, hedef kitleye göre detay seviyesi ve serinin haritası.
UML Nedir? Kısa Tarih, UML 2.5.1'in 14 Diyagramı ve Gerçekte Hangilerini Kullanırsın
UML, kodun içine dağılmış modeli herkesin aynı okuduğu bir notasyonla ortaya koyan, OMG'nin standart modelleme dilidir; güncel sürümü 2017 tarihli UML 2.5.1'dir ve 7 structure, 7 behavior olmak üzere 14 diyagram tanımlar. Method savaşlarından bugüne kısa tarih, sahada gerçekten kullanılan diyagramlar, model ile diyagram farkı ve Fowler'ın sketch, blueprint, programming language modları.