Edocti Training
Enterprise Software Architecture & Design Masterclass
Sesiuni programate
Nu există sesiuni disponibile în acest moment.
Abilități dobândite
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: citirea, validarea și stabilirea criteriilor SMART într-un SRS
- Quality attributes pentru un design: introducere în performance, security, reliability, scalability și maintainability
- Capstone Project Kickoff: analizarea unui SRS de business complex pentru a extrage modelul conceptual inițial
- Object-Oriented Analysis (OOA): extragerea actorilor principali, a verbelor/acțiunilor cheie și a entităților de business
- Lab: modelarea granițelor sistemului și a actorilor principali folosind UML Use Case diagrams
Architectural thinking, trade-offs & documentation
- Architectural drivers: identificarea constrângerilor de business, tehnice și organizaționale
- Architecture for quality attributes (Part 1): performance engineering și security architecture fundamentals
- Architecture trade-off analysis: echilibrarea quality attributes aflate în conflict (de ex., security vs. performance)
- Architecture Decision Records (ADRs): deep dive în template-urile Nygard/MADR, cicluri de viață și Y-statements
- Vizualizarea arhitecturii macro: introducere în C4 Model (nivelurile Context și Container)
- Lab: configurarea repository-ului central de arhitectură și scrierea primelor ADR-uri în Git
- Lab: modelare la nivel macro cu diagrame C4 Level 1 (System Context) și Level 2 (Container)
Microservices fundamentals
- Principii de bază ale microservices: autonomie, statelessness și pattern-uri de date descentralizate
- Architecture for quality attributes (Part 2): strategii de design pentru scalabilitate și elasticitate ridicate
- Metodologia The 12-Factor App: descompunerea conceptuală pentru aplicații moderne cloud-native SaaS
- Lab: operational readiness assessment—auditarea cerințelor Capstone în raport cu principiile 12-factor
- Lab: proiectarea de topologii de deployment care susțin autoscaling și noduri de calcul elastice
Domain-Driven Design (DDD) as a microservice boundary
- Strategic DDD: Ubiquitous Language, Bounded Contexts și maparea autonomiei echipei
- Deconstruirea domeniilor complexe de business în granițe decuplate de microservicii
- Fundamente de Tactical DDD: agregate ca mașini de stări, entități, value objects și repositories
- Lab: aplicarea analizei de domeniu (lightweight Event Storming sau Domain Storytelling) pe SRS-ul Capstone
- Lab: definirea granițelor de microservicii ale sistemului și modelarea agregatelor/repository-urilor rădăcină
Detailed design: Tactical architecture (Clean & Hexagonal)
- Architecture for quality attributes (Part 3): proiectarea sistemelor decuplate pentru mentenabilitate și evolutivitate ridicate
- Pattern-uri de design Clean Architecture vs. Hexagonal Architecture (Ports & Adapters)
- The Dependency Rule: protejarea nucleului domeniului (domain core) de baze de date și framework-uri web
- Sinergia: maparea porturilor din Hexagonal la legături de rețea (network bindings) și a adaptoarelor la 12-factor backing services
- Lab: crearea unui application skeleton și proiectarea structurilor interne de pachete/foldere pentru un microserviciu central
- Lab: detailed low-level design folosind UML Class diagrams cu stereotipuri DDD și UML Component diagrams pentru ports/adapters
- Lab: stabilirea trasabilității prin legarea elementelor UML detaliate de fișiere ADR specifice din Git
Advanced distributed systems & data management
- Teorema CAP, PACELC și modele de consistență a datelor (strong vs. eventual consistency)
- Architecture for quality attributes (Part 4): asigurarea unei fiabilități și toleranțe la erori ridicate (reliability & fault tolerance) în medii distribuite
- Pattern-uri de reziliență: deep dive în Circuit Breakers, Retries, Timeouts și Bulkheads
- Pattern-uri avansate de date: CQRS (Command Query Responsibility Segregation) și Event Sourcing
- Lab: low-level dynamic design folosind UML Sequence diagrams și UML Communication diagrams pentru fluxurile de event broker
- Lab: modelare fizică cu UML Deployment diagrams arătând containere, API gateways și baze de date distribuite
- Lab: redactarea de ADR-uri pentru consistența datelor distribuite și strategii de reziliență
Architecture evaluation, governance & capstone defense
- Metodologii de evaluare a arhitecturii: utilizarea ATAM (Architecture Tradeoff Analysis Method) Lite
- Identificarea degradării structurale: datoriile tehnice (technical debt), architectural smells și anti-patterns
- Continuous Architecture: automatizarea guvernanței structurale folosinf Fitness Functions automatizate
- Lab: Peer ATAM cross-evaluation—schimbul de modele UML și repository-uri de ADR între echipe pentru audituri profunde de securitate și calitate
- Lab: simulare de arhitectură evolutivă—adaptarea arhitecturii la schimbări bruște și disruptive de business folosind ADR-uri de tip Superseded
- Lab: Capstone Finale—prezentarea și susținerea (defense) design-ului arhitectural și detaliat final în fața unui Architecture Review Board
Module opționale
Optional — Migrating legacy monoliths to event-driven architectures
- Pattern-ul Strangler Fig pentru migrarea pas cu pas a bazei de date și a codului
- Change Data Capture (CDC) cu Debezium și Kafka ca strategie de tranziție
Structura zilei de curs
- Part 1: 09:00–10:30
- Pauză: 10:30–10:45
- Part 2: 10:45–12:15
- Pauză de prânz: 12:15–13:15
- Part 3: 13:15–15:15
- Pauză: 15:15–15:30
- Part 4: 15:30–17:30