Descrizione
L’ingegneria del software si occupa di studiare le fasi di progetto, sviluppo e manutenzione del software assicurando la qualità dei prodotti e cercando di ridurre i costi e i tempi di produzione. In tale contesto il software è visto come un prodotto industriale, soggetto pertanto a un ciclo di vita e a regole di produzione. Ai tradizionali modelli a cascata, caratterizzati da un’elaborazione sequenziale delle diverse fasi di produzione, sono stati contrapposti modelli più dinamici, denominati agili, che tramite un approccio iterativo cercano di ridurre i tempi di produzione e massimizzare l’aderenza del prodotto ai requisiti dei committenti, mediante un’interazione continua tra cliente e fornitore. La progettazione del software viene affrontata avvalendosi di opportune metodologie: storicamente affermato è il metodo dei diagrammi di flusso, che si basa su semplici notazioni simboliche e opportuni collegamenti per rappresentare lo sviluppo di un algoritmo. Altrettanto diffusi sono il modello Entità Relazioni e UML, fondamenti delle basi di dati relazionali.
________