Ingineria software (din engleză: software engineering) este un domeniu ce implică proiectarea, crearea și întreținerea de software aplicând tehnologii și practici din informatică (știința calculatoarelor), managementul proiectelor, inginerie, proiectarea interfețelor și a altor domenii.

 
Proiectarea de program se face după caietul de sarcini si rezultă în architectura de software.

Modelul standard de referință pentru dezvoltarea programelor de calculator este Modelul Waterfall. Acest model conține 4 etape în realizarea programelor de calculator:

a. Obținerea cerințelor – se scrie un caiet de sarcini
b. Designul (vezi proiectare de program) – se proiectează architectura de software
c. Programarea efectivă –
d1. Verificarea – dacă programul/biblioteca este conform cu caietul de sarcini
d2. Testarea – dacă funcționează stabil
e. Întreținerea –

Modelul Cascadă (engl. Waterfall), care mai este încă folosit în Statele Unite pentru proiectele destinate statului, are avantajul că fiecare fază a programării se poate gestiona separat. Astfel se poate plăti separat pentru îndeplinirea fiecărei din aceste etape. Un dezavantaj este faptul că dacă pe parcursul dezvoltării proiectului apar noi cerințe, acestea sunt greu de adăugat în etapa de design.

Un model mai bun este modelul iterativ de dezvoltare a programelor de calculator. În modelul iterativ proiectul este împărțit în iterații, fiecare durând între 2-3 luni. O iterație conține toate etapele modelului Waterfall, însă aceste etape sunt limitate la scopul iterației.

Un avantaj al modelului iterativ este faptul că tehnologia este testată mai rapid. De asemenea modificările cerințelor pot fi adăugate mai ușor.

Legături externe

modificare
 
Commons
Wikimedia Commons conține materiale multimedia legate de Inginerie software