Edocti
Training tehnic avansat pentru inginerul software de mâine
Edocti Training

Software Architecture and Design — de la cerințe la schelet de aplicație (3 zile)

Intermediar
21 h
4.8 (82 recenzii)
Software Architecture and Design — de la cerințe la schelet de aplicație (3 zile)

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