Analisi e progettazione del software
Docente
prof. Andrea SCHAERF
Crediti
6 CFU
Lingua
Italiano
Obiettivi formativi specifici
Il corso impartisce i principi, le tecniche e gli strumenti software per lo sviluppo applicazioni informatiche, con riferimento al linguaggio di analisi UML e al linguaggio di programmazione C++.
Competenze acquisite
- Strumenti metodologici e tecnologici per affrontare un progetto software di grandi dimensioni.
- Capacità di analisi e progettazione del software.
- Familiarità con i principi fondamentali dell'orientazione agli oggetti.
- Conoscenza del linguaggio C++, utilizzando il compilatore GNU C/C++ in ambiente cygwin.
Programma
Principi di ingegneria del software: le qualità dei programmi e il ciclo di vita del software (2 ore).
Analisi del software: scopo della fase di analisi. Introduzione al linguaggio di analisi UML; i diagrammi principali di UML; realizzazione di diagramma UML (4 ore).
Elementi di base del linguaggio C++: funzioni, array, puntatori (partendo dal C); gestione della memoria, allocazione statica e dinamica (8 ore).
Le classi e gli oggetti in C++: i dati e i metodi, i costruttori, i livelli di accesso (6 ore).
Elementi avanzati sulle classi: overloading degli operatori, le funzioni speciali (per la memoria dinamica), la composizione tra classi, le classi template (8 ore).
Standard Template Library (STL): introduzione alla STL; le classi principali della STL: stringhe e vettori (6 ore).
Progettazione del software: dalle specifiche UML alle classi C++ (8 ore).
Verifica e collaudo del software: i test per la verifica e il collaudo. Classificazione dei test (2 ore).
Esercitazioni: progetto di applicazioni complesse utilizzando UML e C++ (6 ore).
Laboratorio (10 ore).
Bibliografia
- D. S. Malik, Programmazione in C++, 2011. Apogeo
- M. Fowler. UML distilled, guida rapida al linguaggio di modellazione standard (3ed), Pearson, 2004
Modalità d'esame
prova scritta e orale
Ulteriore materiale didattico o informazioni reperibili alla pagina