Edocti
Advanced Technical Training for the Software Engineer of Tomorrow
Edocti Training

Enterprise Software Architecture & Design Masterclass

Advanced
28 h
5.0 (0 reviews)

Scheduled sessions

No sessions are available at the moment.
Enterprise Software Architecture & Design Masterclass

Architectural & Detailed Design: Master the shift from high-level enterprise architecture to tactical low-level code structure.

Get intensive hands-on practice with Architecture Decision Records (ADRs), the C4 Model, and advanced UML modeling.

Learn to design highly reliable, scalable microservices using Domain-Driven Design (DDD), Hexagonal Architecture, CQRS, and Event Sourcing.

Gain practical experience: ~70% of the course consists of hands-on labs, evolving an application from an SRS into a fully audited architectural design.

How this helps: Manage technical risk, control infrastructure costs, and build cloud-native applications that do not turn into legacy nightmares.

Who it’s for: Senior developers, tech leads, and aspiring architects looking to master systemic decision-making and software governance.

Skills You Will Learn

Requirements Analysis (SRS to OOA) Architecture Decision Records (ADRs) Macro Modeling (C4 Model & Context/Containers) Domain-Driven Design (Strategic & Tactical Boundary Mapping) Detailed Design (Clean & Hexagonal Architecture) 12-Factor App & Cloud-Native Compliance Advanced UML (Use Case, Class, Component, Sequence, Deployment) Distributed Data Patterns (CQRS & Event Sourcing) Fault Tolerance & Resilience Engineering Architecture Evaluation (ATAM Lite & Governance)

Curriculum

Foundations of software architecture & requirements analysis

  • Overview of software architectural design: high-level architecture vs. detailed design
  • Attributes of a good requirement: reading, validating, and establishing SMART criteria in an SRS
  • Quality attributes for a design: introducing performance, security, reliability, scalability, and maintainability
  • Capstone Project Kickoff: analyzing a complex business SRS to extract the initial conceptual model
  • Object-Oriented Analysis (OOA): extracting core actors, main verbs/actions, and business entities
  • Lab: modeling system boundaries and primary actors with UML Use Case diagrams

Architectural thinking, trade-offs & documentation

  • Architectural drivers: identifying business, technical, and organizational constraints
  • Architecture for quality attributes (Part 1): performance engineering and security architecture fundamentals
  • Architecture trade-off analysis: balancing conflicting quality attributes (e.g., security vs. performance)
  • Architecture Decision Records (ADRs): deep dive into Nygard/MADR templates, lifecycles, and Y-statements
  • Visualizing macro architecture: introduction to the C4 Model (Context and Container levels)
  • Lab: setting up the central architecture repository and drafting the first ADRs in Git
  • Lab: macro-level modeling with C4 Level 1 (System Context) and Level 2 (Container) diagrams

Microservices fundamentals

  • Core principles of microservices: autonomy, statelessness, and decentralized data patterns
  • Architecture for quality attributes (Part 2): design strategies for high scalability and elasticity
  • The 12-Factor App methodology: conceptual breakdown for modern cloud-native SaaS applications
  • Lab: operational readiness assessment—auditing Capstone requirements against 12-factor principles
  • Lab: designing deployment topologies that support autoscaling and elastic compute nodes

Domain-Driven Design (DDD) as a microservice boundary

  • Strategic DDD: Ubiquitous Language, Bounded Contexts, and mapping team autonomy
  • Deconstructing complex business domains into decoupled microservice boundaries
  • Tactical DDD foundations: aggregates as state machines, entities, value objects, and repositories
  • Lab: applying domain analysis (lightweight Event Storming or Domain Storytelling) on the Capstone SRS
  • Lab: defining the system's microservice boundaries and modeling root aggregates/repositories

Detailed design: Tactical architecture (Clean & Hexagonal)

  • Architecture for quality attributes (Part 3): designing decoupled systems for high maintainability & evolvability
  • Clean Architecture vs. Hexagonal Architecture (Ports & Adapters) design patterns
  • The Dependency Rule: protecting the domain core from databases and web frameworks
  • The Synergy: mapping Hexagonal ports to network bindings and adapters to 12-factor backing services
  • Lab: creating an application skeleton and designing internal pachete/folder structures for a core microservice
  • Lab: detailed low-level design using UML Class diagrams with DDD stereotypes and UML Component diagrams for ports/adapters
  • Lab: establishing traceability by linking detailed UML elements to specific ADR files in Git

Advanced distributed systems & data management

  • The CAP Theorem, PACELC, and data consistency models (strong vs. eventual consistency)
  • Architecture for quality attributes (Part 4): ensuring high reliability & fault tolerance in distributed environments
  • Resilience patterns: deep dive into Circuit Breakers, Retries, Timeouts, and Bulkheads
  • Advanced data patterns: CQRS (Command Query Responsibility Segregation) and Event Sourcing
  • Lab: low-level dynamic design using UML Sequence diagrams and UML Communication diagrams for event broker flows
  • Lab: physical modeling with UML Deployment diagrams showing containers, API gateways, and distributed databases
  • Lab: drafting ADRs for distributed data consistency and resilience strategies

Architecture evaluation, governance & capstone defense

  • Architecture evaluation methodologies: using ATAM (Architecture Tradeoff Analysis Method) Lite
  • Identifying structural rotting: technical debt, architectural smells, and anti-patterns
  • Continuous Architecture: automating structural governance using automated Fitness Functions
  • Lab: Peer ATAM cross-evaluation—swapping UML models and ADR repositories for deep security and quality audits
  • Lab: evolutionary architecture simulation—adapting the architecture to sudden disruptive business shifts using Superseded ADRs
  • Lab: Capstone Finale—presenting and defending the final architectural and detailed design to an Architecture Review Board

Optional modules

Optional — Migrating legacy monoliths to event-driven architectures

  • The Strangler Fig pattern for database and code migration step-by-step
  • Change Data Capture (CDC) with Debezium and Kafka as a transitional strategy

Course Day Structure

  • Part 1: 09:00–10:30
  • Break: 10:30–10:45
  • Part 2: 10:45–12:15
  • Lunch break: 12:15–13:15
  • Part 3: 13:15–15:15
  • Break: 15:15–15:30
  • Part 4: 15:30–17:30

Did you attend this course?

Your feedback is invaluable to us. Please share your experience with us and help us improve this course for future participants.

Share your feedback

Want to find out more? We are here to help!

Or email us directly at training@edocti.com.