Bazele arhitecturii software: proiectezi sisteme software scalabile, ușor de întreținut și robuste.
Hands‑on cu stiluri arhitecturale, principii de design și diagrame UML.
Aplici domain‑driven design și arhitecturi stratificate.
Dobândești experiență practică prin ~70% laboratoare de modelare și codare a arhitecturilor.
Cum te ajută: îmbunătățești claritatea, mentenabilitatea și scalabilitatea proiectelor.
Cui i se adresează: conceput pentru dezvoltatori care vor să își ridice nivelul skill‑urilor de arhitectură.
Include opțional microservicii și arhitecturi cloud‑native.
Curriculum
Ziua 1 — Cerințe și context de sistem
- Kickoff, obiective și scope; stakeholders și constrângeri
- Elicitarea software requirements (funcționale & nefuncționale) pentru un exemplu connected-cars/IoT
- Trasabilitate: legarea cerințelor de use cases și quality attributes (performance, safety, security, portability)
- Contextul sistemului & granițe; actori principali și sisteme externe
- UML Use Case diagrams în Enterprise Architect; cum scriem narratives bune pentru use case-uri
- Evaluare ușoară riscuri/compromisuri (ATAM-lite) și prototipuri/spikes timpurii
Ziua 1 — De la cerințe la views arhitecturale
- Alegerea views și notației (C4/UML): context, container/component, deployment
- Documentarea deciziilor cu Architecture Decision Records (ADR)
- Quality attribute tactics (availability, performance, modifiability) și maparea lor pe alegeri de design
Ziua 2 — Modelare structurală
- Component diagrams: responsabilități și interfețe; mapare pe echipe
- Deployment diagrams: hardware/OS țintă, procese și rețele; constrângeri pentru embedded/Automotive
- Analiză de clase: clase de bază, agregate și granițe (perspective DDD-lite)
- UML Class diagrams: relații, multiplicități, pachete, layering și reguli de dependență
- Principii de design: SOLID și euristici de coupling/cohesion; refactor pentru granițe clare
Ziua 2 — Modelare comportamentală
- Sequence diagrams pentru scenarii cheie; note de timing și lifelines
- State machine & activity diagrams pentru logică critică și workflow-uri
- Object modeling pentru scenarii concrete; walkthrough pe secvențe
Ziua 3 — Din modele în cod (Forward Engineering)
- Alinierea modelelor cu strategia de implementare; namespaces/pachete și structura modulelor
- Generarea unui schelet minim de aplicație din Enterprise Architect și conectarea componentelor de bază
- Integrare build, logging și configuration; stubs și test seams
- Trasabilitate: legarea claselor/testelor de cerințe și ADR-uri
Ziua 3 — Reverse engineering și review
- Reverse engineering pentru a recupera arhitectura; maparea codului pe diagrame
- Peer review de arhitectură: checklists și risk burndown; întreținerea architecture notebook
- Pașii următori: governance, versionarea modelelor, documentație vie
Capstone — Discuție deschisă & Q&A
- Arhitectura unor proiecte open-source (overview la nivel înalt)
- Focus scurt pe 3–4 GoF patterns care susțin designul (ex.: Builder, Abstract Factory, Decorator, Visitor)
- Wrap-up: plan individual de îmbunătățire
Module opționale
Opțional — accente Automotive
- Puncte de safety & security (awareness ISO 26262/21434) în procesul arhitectural
- Bugete de performanță și constrângeri de scheduling pentru ținte embedded
- Integrare furnizori și contracte de interfață
Structura zilei de curs
- 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