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

Intermediar
21 h
4.8 (82 recenzii)

Sesiuni programate

Nu există sesiuni disponibile în acest moment.
Software Architecture and Design — De la cerințe la schelet de aplicație

Fundamentele arhitecturii software: Învață să proiectezi sisteme software moderne, scalabile, extrem de robuste și ușor de întreținut pe termen lung.

Aprofundează intensiv (hands-on) stiluri arhitecturale, principii de design și realizarea corectă a diagramelor UML.

Aplică tactici de Domain-Driven Design (DDD) și concepte clare de arhitecturi stratificate (layered architectures).

Dobândești experiență practică: ~70% din curs constă în laboratoare aplicate unde vei modela arhitecturi și vei genera direct schelete de cod.

Cum te ajută acest curs: Vei aduce un nivel superior de claritate, mentenabilitate și scalabilitate în toate proiectele din echipa ta.

Cui i se adresează: Programatorilor și inginerilor software seniori care doresc să facă pasul spre rolul de Software Architect.

Agenda poate include, opțional, discuții aplicate despre ecosisteme de microservicii și arhitecturi cloud-native.

Abilități dobândite

Arhitectură de Sistem Modelare UML & C4 Domain-Driven Design Principii SOLID Architecture Decision Records Forward/Reverse Engineering Enterprise Architect Design Patterns (GoF)

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

  • Partea 1: 09:00–10:30
  • Pauză: 10:30–10:45
  • Partea 2: 10:45–12:15
  • Pauză de prânz: 12:15–13:15
  • Partea 3: 13:15–15:15
  • Pauză: 15:15–15:30
  • Partea 4: 15:30–17:30

Ai participat la acest curs?

Opinia ta este foarte importantă pentru noi. Spune-ne cum a fost experiența ta și ajută-ne să îmbunătățim acest curs pentru viitorii participanți.

Ofera feedback

Vrei să afli mai multe? Suntem aici să te ajutăm!

Sau scrie-ne direct la training@edocti.com.