Obiective curs
Cursul de ingineria sistemelor complexe este dedicat studierii metodelor, instrumentelor si tehnicilor pentru dezvoltarea sistemelor organizate distribuit si formate din sisteme (sisteme de sisteme). Principalele probleme in acest domeniu se refera la identificarea cauzelor complexitatii si tratarea acesteia prin solutii practice specifice. In prima parte a cursului sunt introduse caracteristicile definitorii ale sistemelor complexe si se discuta notiuni generale legate de inginerie prin tehnici de analiza, proiectare si testare a sistemelor software. Partea a doua este dedicata aspectelor complexitatii sistemelor distribuite din perspectiva programarii. Ultima parte trateaza ingineria sistemelor orientate pe servicii. In final se acorda atentie ingineriei securitatii la integrare.
Obiective laborator
In cadrul activitatilor de laborator studentii se vor familiariza si vor exersa comenzi specifice sistemelor de operare Windows si Linux, Orele de laborator au drept scop fixarea si utilizarea in mod practic si aplicativ a notiunilor prezentate la curs. Structura orelor de laborator cuprinde prezentarea unui breviar de cunostinte teoretice (un “plus” fata de cele prezentate la curs, daca este necesar) si a unor exercitii si probleme cu rol de model, urmate de lucrul pe calculator al studentilor pentru formarea deprinderilor de aplicare a tehnicilor invatate pe mediile de dezvoltare a sistemelor sub UML si Java.
Conținut curs
- Introducere in ingineria sistemelor complexe: Definirea notiunii de inginerie a sistemelor complexe, problematica, ingineria traditionala a sistemelor, sisteme de sisteme, definirea sistemelor complexe
- Tehnici de analiza, proiectare si testare a sistemelor software: Modele ale sistemelor, Metode de analiza si reprezentare a arhitecturilor software, Standarde de modelare pentru structura si comportament, Modelarea in UML si alte standarde specifice, Responsabilitati si principii in proiectare, Stabilirea vizibilitatii, Strategii de testare
- Linii de produse software: Analiza si definirea domeniului, Reprezentarea si analiza arhitecturii de referinta, Managementul variabilitatii
- Aspecte ale complexitatii sistemelor distribuite: Complexitatea structurii taskului, Impredictibilitatea, Marimea complexitatii, Complexitatea haotica si algoritmica; Solutii de reducere a complexitatii; Strategii de auto-configurare, auto-optimizare si auto-reparare
- Ingineria software centrata pe servicii: Servicii, Ingineria serviciilor, Dezvoltare software cu servicii, Arhitectura orientata pe servicii, Standarde pentru servicii Web
- Ingineria securitatii: Concepte de securitate in contextul sistemelor complexe, aspecte de securitate la nivel de proiectare, analiza supravietuirii sistemului
Conținut laborator
- Analiza si modelarea cerintelor prin diagrame de flux de date, diagrame entitate-relatie, cazuri de utilizare
- Realizarea modelului conceptual al unui sistem
- Metode de analiza a arhitecturii sofware a sistemului; scenarii
- Aplicarea principiilor de cuplare si coeziune in proiectare
- Masurarea complexitatii componentelor software
- Dezvoltarea aplicatiilor software bazate pe componente
- Dezvoltare aplicatiilor software orientate pe servicii