Trattamento dell'Informazione
nell'Impresa
Docente:
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.