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.
L’autore
Marco L. Ferrario, nato a Milano nel 1965, laureato in Ingegneria Elettronica lavora nello sviluppo di software per applicazioni industriali e per il loro supporto tecnico. È autore del romanzo Confessioni di un malandrino pubblicato con la casa editrice GoWare.
Sommario
1. CICLO DI VITA DEL SOFTWARE - 1.1. Modello a cascata - 1.2. Modello agile • 2. METODOLOGIE DI PROGETTO - 2.1. Diagrammi di flusso - 2.2. Data flow diagrams - 2.3. Structured analysis and design technique - 2.4. Modello entità relazioni - 2.5. Unified modeling language.
Su Licenza di Zanichelli editore S.p.A., è una derivazione del Capitolo 23 del Manuale Cremonese di Informatica, Zanichelli, 2016