system
Răspunde în limba română, în stilul Wikipedia, cat mai corect gramatical.
user
Ce ar trebui să știu despre Inginerie software?
assistant
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.

Modele 

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 

 Computing Curricula 2005: The Overview Report  by The Joint Task Force for Computing Curricula ACM/AIS/IEEE-CS
 Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering by The Joint Task Force on Computing Curricula ACM/IEEE-CS
 Guidelines for Associate-Degree Transfer Curriculum in Software Engineering  by The  ACM Two-Year College Education Committee and The IEEE Computer Society/ACM Joint Task Force on Software Engineering
 Guide to the Software Engineering Body of Knowledge
 Computer Software Engineers  - Definition and statistics from the U.S. Bureau of Labor Statistics
 A Student's Guide to Software Engineering Projects  - a free online guide for students taking SE project courses
 The Open Systems Engineering and Software Development Life Cycle Framework  OpenSDLC.org the integrated Creative Commons SDLC