Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Mermaid ve Structurizr DSL: Markdown İçinde Diyagram, Model Tabanlı C4 ve Hangisini Seçmeli?
Mermaid, GitHub ve Azure DevOps Markdown'ında doğrudan render edilen hızlı diyagramlar için, Structurizr DSL ise tek bir modelden tutarlı C4 view'ları türetmek için doğru araçtır. Bu yazıda serinin diyagramlarını Mermaid'e çevirip söz dizimi tuzaklarını gerçek çıktılarla gösteriyor, aynı container diyagramını Structurizr ile çiziyor ve PlantUML, Mermaid ve Structurizr'i karşılaştırıyoruz.
ER Diagram: Chen ve Crow's Foot Notasyonu, Cardinality, Optionality ve Class Diagram'dan Tabloya
ER diagram, verinin hangi tablolarda durduğunu ve her ilişkinin iki ucunda en az ve en fazla kaç kayıt olabileceğini gösterir: Chen kavram konuşmasına, Crow's Foot tablo ve FK konuşmasına uygundur. Bu yazıda İzin modülünü iki notasyonla çizip composition, association class ve inheritance'ın tablolara dönüşünü EF Core çıktısıyla gösteriyor, Mermaid erDiagram'ı doğrudan EF Core modelinden üretiyoruz.
Sequence Diagram 1: Lifeline, Mesaj Türleri, Activation ve Bir API İsteğinin Yolculuğu
Sequence diagram, bir senaryoda participant'lar arasındaki mesajları zaman sırasıyla gösterir: lifeline'lar yan yana, zaman yukarıdan aşağı, synchronous call dolu ok ucuyla, reply kesikli çizgiyle çizilir. Yazıda İK Portalı'nın POST /leave-requests isteği Angular'dan SQL Server'a kadar gerçek koddan ve EF Core log'undan çizilip Mermaid ile kod olarak da veriliyor.
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.