Inginerie software - ul este o disciplină constă dintr - un set de metode, instrumente și tehnici utilizate în dezvoltarea de software (software).
Această disciplină transcende activitatea de programare, care este pilonul fundamental la crearea unei aplicații. Inginerul software este responsabil de toată gestionarea proiectului, astfel încât acesta să poată fi dezvoltat într-o anumită perioadă și cu bugetul planificat.
Prin urmare, inginerie software include analiza prealabilă a situației, proiectarea proiectului, dezvoltarea software-ului, testele necesare pentru confirmarea funcționării corecte a acestuia și implementarea sistemului.
Trebuie remarcat faptul că procesul de dezvoltare software implică ceea ce este cunoscut sub numele de ciclul de viață al software-ului, care este format din patru etape: concepție, dezvoltare, construcție și tranziție.
Concepția stabilește scopul proiectului și dezvoltă modelul de afaceri; elaborarea definește planul de proiect, detaliază caracteristicile și bazează arhitectura; construcția este dezvoltarea de produse; iar tranziția este transferul produsului finit către utilizatori.
Odată ce acest ciclu este complet, întreținerea software-ului va intra în joc. Aceasta este o fază a acestei inginerii în care erorile descoperite (de multe ori observate de către utilizatorii înșiși) sunt rezolvate și actualizările sunt încorporate pentru a face față noilor cerințe. Procesul de întreținere include, de asemenea, noi dezvoltări, pentru a permite software-ului să îndeplinească un număr mai mare de sarcini.
Un câmp direct legat de inginerie software este arhitectura sistemelor, care constă în determinarea și schemarea structurii generale a proiectului, schemați scheletul său cu un grad relativ specific de specificitate și evidențierea diferitelor componente care vor fi necesare pentru realizarea proiectului. dezvoltare, cum ar fi aplicații suplimentare și baze de date. Acesta este un punct fundamental al procesului și este adesea cheia succesului unui produs computerizat.
Primul dintre toate etapele lucrărilor efectuate de ingineri software consta in studierea cu atentie caracteristicile care sunt considerate necesare pentru ca programul să fie dezvoltat, iar acesta este punctul la care trebuie să găsească un echilibru (mai dificil de realizat) între cerințele excesive ale consumatorilor răi și posibilitățile companiei. Timpul înseamnă bani, iar companiile din lumea IT știu foarte bine acest lucru.
Fiecare funcție a unui program, fiecare caracteristică care o face mai confortabilă, mai inteligentă, mai accesibilă, se traduce într-un anumit interval de timp, care la rândul său poartă salariile tuturor persoanelor implicate în dezvoltarea sa. Dar, pe lângă costul de producție necesar pentru realizarea fiecărei piese a unui program, tehnica de software trebuie să decidă care dintre ele are sens, sunt în concordanță cu restul și sunt necesare pentru a comunica clar esența și obiectivele aplicației.