Trattamento dell'Informazione nell'Impresa

Docente: Maurizio Pighin

Anno Accademico 1996/97

 

FINALITA' DEL CORSO

Obiettivo del corso è la conoscenza delle principali tematiche dell'Ingegneria del Software. Viene discusso, con esempi applicativi, il ciclo di progettazione e di vita di un prodotto Software dall'analisi dei requisiti sino al rilascio ed alla manutenzione. Vengono introdotte le principali metriche teoriche ed operative, si discutono i più noti modelli di qualità, si studiano le principali metodiche di pianificazione e controllo del processo produttivo, vengono analizzati i principali strumenti di lavoro.

 

ELENCO TEMATICHE

Generalità

Le motivazioni del Software Engineering. Le definizioni di base. Il concetto di Qualità. I modelli di ciclo di vita. La dimensione economica del problema. I fattori di complessità del processo di sviluppo.

Analisi dei Requisiti e Definizione delle Specifiche

Il processo di definizione. Il Software Requirement Document (SRD). La modellizzazione: Entity-Relationship, Data Flow Diagram, Reti di Petri, Tecniche di specifica formali. Un case study.

Progetto e Sviluppo del Software

Gli obiettivi della progettazione. Le metodiche top-down e bottom-up. La modularizzazione. La programmazione a oggetti. Il progetto dell'interfaccia, della struttura, dei dati. La codifica. Il Configuration Management. Le tecniche di riuso e di reingegnerizzazione. Un case study.

Test e Validazione

Le metodiche di controllo. L'analisi statica. L'analisi dinamica: il test di Modulo (tecniche white box e black box), d'Integrazione (tecniche incrementali o big-bang), di Sistema, di Accettazione. I test di regressione. L'automazione del test e l'analisi mutazionale. Un case study.

Metriche

Il concetto di metrica software. La metrica di Halstead. Il numero ciclomatico e le metriche di complessità. Le metriche dimensionali e funzionali. La certicazione di qualità (ISO 9000, CMM, ISO 9126). Un case study.

Valutazione, Pianificazione e Controllo del Processo Produttivo e Manutentivo

L'analisi prestazioni/costo e l'analisi delle decisioni. La stima dei costi del Software. Il modello COCOMO. Altri modelli di stima. La pianificazione ed i suoi obiettivi. I diagrammi di Pert e gli schemi di Gantt. L'organizzazione e gestione dei gruppi di lavoro. La manutenzione: costi, stime, misurazioni, dinamica. Un case study.

Strumenti di supporto

Gli strumenti CASE e gli ambienti. Gli strumenti di supporto nelle varie fasi del processo di sviluppo.

 

Elenco dei Testi

1.    C.Ghezzi, A.Fuggetta, S.Morasca, A.Morzenti, Ingegneria del Software - Progettazione, Sviluppo e Verifica, Mondadori Informatica, 1993.

2.    I.Sommerville, Software Engineering, 3 Ed., Addison Wesley P.C., 1989.

3.    T.Demarco, Structured Analysis and System Specification, Prentice-Hall, 1979.

4.    C.Mazza, J.Fairclough, B.Melton, D.De Pablo, A.Scheiffer, R.Stevens, Software Engineering Standards, Prentice-Hall, 1994.

5.    W.A.Babich, Software Configuration Management, Addison Wesley P.C., 1986.

6.    B.T.Mynatt, Software Engineering with Student Project Guidance, Prentice-Hall, 1990

7.    N.E.Fenton, Software Metrics - A rigorous Approach, Champam & Hall, 1991.

8.    M.Dyer, The Cleanroom Approach to Software Development, Wiley & Sons, 1992.