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

Software Architecture and Design — From Requirements to Application Skeleton

Intermediate
21 h
4.8 (82 reviews)

Scheduled sessions

No sessions are available at the moment.
Software Architecture and Design — From Requirements to Application Skeleton

Software architecture foundations: Learn a rigorous process to design scalable, maintainable, and robust software systems from the ground up.

Get hands-on experience working with diverse architectural styles, core design principles, and comprehensive UML modeling.

Apply Domain-Driven Design (DDD) concepts and structured layered architecture patterns to solve complex enterprise problems.

Gain practical experience: Spend ~70% of the training in intensive labs, actively modeling architectures and generating actionable code skeletons.

How this helps: Improve the clarity of your project structures, significantly boosting maintainability and long-term scalability.

Who it’s for: Software engineers and senior developers aiming to level up their skills and transition into software architecture roles.

The curriculum includes optional coverage of modern architectures, including microservices and cloud-native principles.

Skills You Will Learn

System Architecture UML & C4 Modeling Domain-Driven Design (DDD) SOLID Principles Architecture Decision Records Forward/Reverse Engineering Enterprise Architect Design Patterns (GoF)

Curriculum

Day 1 — Requirements and System Context

  • Kickoff, goals and scope; stakeholders and constraints
  • Eliciting software requirements (functional & non-functional) for a connected-cars/IoT example
  • Traceability: linking requirements to use cases and quality attributes (performance, safety, security, portability)
  • System context & boundaries; major actors and external systems
  • UML Use Case diagrams in Enterprise Architect; writing good use case narratives
  • Lightweight architecture risks & trade-offs (ATAM-lite) and early spikes/prototypes

Day 1 — From Requirements to Architectural Views

  • Choosing views and notation (C4/UML): context, container/component, deployment
  • Documenting decisions with Architecture Decision Records (ADR)
  • Quality attribute tactics (availability, performance, modifiability) and how they map to design choices

Day 2 — Structural Modeling

  • Component diagrams: responsibilities and interfaces; mapping to teams
  • Deployment diagrams: target HW/OS, processes, and networks; constraints for embedded/Automotive
  • Class analysis: identify core classes, aggregates and boundaries (DDD-lite viewpoints)
  • UML Class diagrams: relationships, multiplicities, packages, layering and dependency rules
  • Design principles: SOLID and coupling/cohesion heuristics; refactoring towards clear boundaries

Day 2 — Behavioral Modeling

  • Sequence diagrams for key scenarios; timing notes and lifelines
  • State machine and activity diagrams for critical logic and workflows
  • Object modeling for concrete scenarios (object and sequence diagrams); scenario walk-throughs

Day 3 — From Models to Code (Forward Engineering)

  • Aligning models with implementation strategy; namespaces/packages and module structure
  • Generate a minimal application skeleton from Enterprise Architect and wire basic components
  • Integrate build, logging and configuration; create stubs and test seams
  • Establishing traceability: link classes/tests to requirements and ADRs

Day 3 — Reverse Engineering and Review

  • Reverse engineering unfamiliar codebases to recover architecture; mapping code to diagrams
  • Peer review of architecture: checklists and risk burndown; maintain the architecture notebook
  • Next steps: governance, versioning of models, living documentation

Capstone — Open discussion and Q&A

  • Architecture of selected open-source projects (top-level walk-through)
  • Short focus on 3–4 GoF patterns that support the design (e.g., Builder, Abstract Factory, Decorator, Visitor)
  • Wrap-up: individual improvement plan

Optional modules

Optional — Automotive accents

  • Safety & security touchpoints (ISO 26262/21434 awareness) in the architecture process
  • Performance budgets and scheduling constraints for embedded targets
  • Supplier integration and interface contracts

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.