Cod: ARC-008
Durata: 24 ore
Durata: 24 ore
Descriere
a:2:{s:4:"TEXT";s:2184:"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.";s:4:"TYPE";s:4:"html";}
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
- Principalii parametrii care descriu performanta sistemului
- System performance model
- 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
- 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
- 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
- Principalele provocari in programarea acestor sisteme
- Metode de optimizare pentru compiler si medii de programare
- 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 sistemului
- Modalitati de optimizare a performantei pentru sistemele distribuite complexe
- Optimizarea performantei si imbunatatirea stabilitatii aplicatiilor Java
- Imbunatatirea performantei bazei de date
- 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
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
Public tinta
- Arhitecti software
- Designeri software
- Business Analysts
- Project Manageri
- Team Leads
- Senior Developers
Cerinte curs
Necesar:- Cunostinte si practica in UML
- Cunostinte de object-oriented design
- Cunostinte de Java
- Cunostinte de baza arhitectura PC
- Cunostinte de baza de data network architecture
- Cunostinte GOF patterns