Designul de aplicatii software performante

Cod:
ARC-008
Durata:
24 ore
Descriere:
Inainte de a dezvolta orice sistem software trebuie sa constientizam faptul ca la un moment acesta ar putea sa devina un sistem care sa necesite un nivel ridicat de performanta datorita cerintelor clientului. Astfel ca atunci cand lucram la dezvoltarea unei aplicatii cu un grad ridicat de performanta, trebuie sa determinam parametrii care vor defini ce inseamna un nivel ridicat de performanta al sistemului.

Acest training descrie diferentele intre sisteme high-performance, high-load si high-availability. Obiectivul prinicipal fiind sa schiteze conceptele, principiile si abordarile esentiale care sunt folosite in dezvoltarea sistemelor high-performing.

De multe ori se intampla ca in proiectele unde lucram sa auzim urmatoarea afirmatie “Trebuie sa se miste rapid!”. Dar asta nu este o cerinta specifica astfel ca trebuie sa stim cum sa abordam si sa analizam in mod corect cerintele legate de performanta.

Cursul contine exercitii si exemple legate de situatii unde aplicatiile au o performanta scazuta si apoi trece in revista principalele metode pe care le putem aplica pentru a remedia situatia. De asemenea participanti au ocazia de a invata despre pattern-uri care sunt folosite in designul de sisteme software cu cerinte ridicate la nivel de performanta precum si antipatterns care ar putea sa afecteze performanta unui sistem.

Separat de aspectele de mai sus training-ul ajuta participantii sa descopere cum sa pregatesca sistemul pentru testare dar si analizarea rezultatelor testului. Mai mult decat in cadrul cursului vor trece prin intregul procesul de dezvoltare a unui sistem software si diferitele metode de a testa sisteme high-load – acest modul contine si o trecere in revista a metodologiilor care permit o evaluare cantitativa a performantei sistemului.

Din moment ce programatorii se intalnesc de multe ori cu provocari legate de design-ul unor sisteme high-load care sa poata procesa un volum mare de date cu anumite cerinte presetate legate de timpul de raspuns si volumul lor, training-ul este util nu doar pentru arhitecti software ci si pentru project manageri sau seniori developeri.
Public tinta:
  • Arhitecti software
  • Designeri software
  • Business Analysts
  • Project Manageri
  • Team Leads
  • Senior Developers
Obiective:
  • Cum sa identificam parametrii de performanta ai unui sistem
  • Analiza specificatiilor unui sistem legate de incarcarea acestuia
  • Planificarea procesului pentru dezvoltarea unor sisteme cu un grad ridicat de performanta
  • Design-ul de sisteme folosind metode optime pentru a asigura nivelul de performanta cerut
  • Cum sa interactionam cu echipa de testare atunci cand facem teste de incarcare
  • Cum sa optimizam sisteme cu cerinte ce necesita un grad ridicat de performanta
  • Folosirea metodologiei SPE pentru a asigura performanta sistemului in etapa de dezvoltare
Subiecte curs:
Ce inseamna un sistem cu un nivel ridicat de performanta
  • Aplicatii High-Performance, aplicatii High-Load, aplicatii High-Availability
  • Managementul performantei in aplicatii
  • Impactul erorilor in etapa de identificare
Parametrii principali de performanta
  • Principalii parametrii care descriu performanta sistemului
  • System performance model
Analiza specificatiilor pentru sistemele cu un nivel ridicat de performanta
  • Identificarea cerintelor non-functionale pentru sisteme high-performance
  • Managementul neconcordantelor in procesul de identificare a cerintelor de performanta
  • Cat de complete sunt cerintele
  • Practica
  • Analiza cerintelor pentru a verifica daca sunt complete sau neconcordante
Designul unor sisteme cu performanta ridicata
  • Atribute ale calitatii sistemului
  • Principalele motive pentru performanta scazuta la nivel de sisteme
  • Metode cheie pentru a imbunatatii performanta
  • Practica
  • Part 1: Dezvoltarea unui algoritm de sortare a obiectelor folosind sortarea paralela. Analiza algoritmului
  • Part 2: Evaluarea cantitativa a accesului la baza de date folosind indici
High-performance system patterns
  • Principalele tipuri de patterns folosite (GRASP, Architecture patterns, Application Integration patterns)
  • Studii de caz pe standarde
  • Studii de caz pe sisteme de integrare a platformelor de dezvoltare
  • Practica
  • Optimizarea performantei unei aplicatii pentru procesarea secventiala a unui volum mare de date
Programarea sistemelor cu un grad ridicat de performanta
  • Principalele provocari in programarea acestor sisteme
  • Metode de optimizare pentru compiler si medii de programare
Testarea sistemelor cu un grad ridicat de performanta
  • Tipuri de teste folosite folosite pentru a demonstra performanta unui sistem
  • Pregatirea pentru etapa de testare (dezvoltarea de scenarii si construirea unui model de incarcare)
  • Analiza rezultatelor
Optimizarea performantei pentru aplicatii
  • Optimizarea performantei sistemului
  • Modalitati de optimizare a performantei pentru sistemele distribuite complexe
  • Optimizarea performantei si imbunatatirea stabilitatii aplicatiilor Java
  • Imbunatatirea performantei bazei de date
Metodologia SPE
  • Introducere in metodologia SPE
  • Modelul performantei sistemului
  • Utilizarea unui model al performantei sistemului pentru analiza sistemelor moderne
  • Utilizarea SPE in dezvoltarea de sisteme software
  • Analiza sistemului folosind SPE
  • Practica
  • Dezvoltarea unui model de testare a performantei sistemului
Cerinte curs:
Necesar:
  • Cunostinte si practica in UML
  • Cunostinte de object-oriented design
Utile:
  • Cunostinte de Java
  • Cunostinte de baza arhitectura PC
  • Cunostinte de baza de data network architecture
  • Cunostinte GOF patterns
Pret:
2025 RON
Facturile pentru curs sunt emise in moneda locala. Toate preturile de mai sus pot fi supuse modificarilor in functie de locul unde se desfasoara trainingul si modul de livrare. Preturile pot fi supuse modificarilor si in perioada in care se programeaza. Pentru persoane fizice pretul este cel afisat. Pentru persoane juridice se adauga TVA.

Alte cursuri care te-ar putea interesa:

Oras Pret (plus TVA)
Bucuresti 2025 RON
Cracovia 2025 RON
Wroclaw 2025 RON

Inscrie-te la High-Performance Application Design