Sunday, October 22, 2017

Ingineria software

Ingineria software este o disciplină introdusă în planurile de învățământ de la studenții Secției de Informatică Economică și preia ceea ce în literatura de specialitate se găsește în cărțile de Software engineering, căci tot timpul s-a urmărit compatibilitate cu ceea ce există deja în literatura de specialitate și ce se învață la marile universități ale lumii la facultățile de computer science.
Obiectivul disciplinei este de a-l învăța pe absolventul informatician să lucreze sistematic și să folosească toate tehnicile și metodele astfel încât atingerea scopului definit prin contractul de luvrare produs informatic să fie atins cu  succes de 100%. Procesele dezvoltate sunt de alocare și nivelare de resurse, orientate pe maximizarea eficienței pe termen lung atât la dezvoltator, cât și la beneficiar.
Sunt luate în discuție următoarele aspecte:
- estimarea grupului țintă;
- prognozarea costurilor;
- ciclul de dezvoltare software;
- etape ale ciclului;
- resurse specifice;
- precedențe;
- planificare;
- realizare software;
- urmărire activități;
- înregistrare cheltuieli;
- control;
- calitate software;
- testare;
- implementare;
- autodocumentare;
- utilizare;
- mentenanță;
- reinginerie;
- scoaterea din uz a produsului.
Dezvoltarea software este privită ca alocare și nivelare de resurse, în ideia că fiecărei aplicații i se alocă resursele necesare pentru a obține cea mai înaltă performanță și nu resursele disponibile pentru a asigura exclusiv, încărcarea locurilor de muncă din organizație, subordonând performanța produsului unui existent de resurse, nu neapărat cele mai potrivite. Se identifică instrumentele, acele Computer-aided software engineering - CASE necesare. Se organizează producția de module din aplicație astfel încât să se asigure un regim semiindustrial întregului provces, pentru a-l face predictibil din toate punctele de vedere. Ingineria software include abordarea sistematică și științifică a tuturor aspectelor legate de tehnicile utilizate ăn toate etapele ciclului de dezvoltare, astfel încât în niciun punct să nu mai fie vorba de o abordare empirică, bazată doar pe experiența acumulată. În acest fel se utilizează reguli care dau coerență proceselor de producție software, format din activități măsurabile, predictibile, repetitive în care niveluri planificate sunt comparate cu niveluri efective ale unor resurse sau caracteristici care definesc produsul ca atare, căci produsul trebuie să fie din start fiabil, cu un nivel de corectitudine acceptat și cu o interfață prietenoasă. Disciplina de Software emgineering abordează și latura economică a proceselor permițând:
- estimarea costului unui produs software funcție de complexitate;
- colectarea cheltuielilor care se fac;
- stabilirea costului de realizare efectiv a produsului software;
- stabilirea duratei medii aunei tranzacții;
- calculul eficienței de exploatare curentă a produsului software;
- efectuarea de calcule pentru a vedea dacă mentenanța mai este eficientă;
- stabilirea momentului optim de înlocuire a produsului.
Ingineria software se adresează studenților din anii terminali pentru că ea presupune cunoașterea unui limbaj dde programare, experiență în utilizarea unui SGBD, tehnici de analiză și proiectare de sisteme informatice și pachete software utilizate în soluționarea de probleme complexe. Disciplina Ingineria software le pune cap la cap și le privește pe toate ca pe resurse la dispoziția celui chemat să realizeze un proiect informatic pentru a rezolva o anumită problemă. Respectivul nu trebuie să rezolve problema cu ceea ce știe el, ci trebuie să caute acele resurse care îi vor permite o soluție adecvată, care să se concretizeze prin:
- costuri mici la utilizator;
- durată redusă de tranzacție;
- timpi de așteptare mici;
- riscuri de eșec mici;
- ușurință în exploatare.
Cei ce studiază Ingineria software fără să fi scris programe sau fără să fi întocmit o documentație sau fără să fi testat un program, vor aloca resurse timp necorespunzătoare unor activități vitale dezvoltării produsului software și vor aloca resurse neadecvate, adică vor scrie texte sursă în limbaje nepotrivite, vor structura greșit baza de date și nu vor derula corect etapa de testare, produsul rămânând cu erori deidentificate, care vor ieși la iveală în perioada de exploatare.



(22 octombrie 2017)

No comments:

Post a Comment