| | | corso | | | | | |
Ingegneria del software B
Codice: | 271AA | Crediti: | 6 | Semestre: | 1 | Sigla: | IS | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Laura Semini
Tel. 0502212783Prerequisiti
Programmazione 2 o metodologie di programmazione
Obiettivi di apprendimento
Rendere padroni di strumenti moderni e assestati per la progettazione e la verifica di sistemi software.
Conoscenze.
Le conoscenze acquisite al termine del corso caratterizzano lo studente come professionista dello sviluppo software.
Capacità.
Le capacità professionali acquisite sono prerequisito per le attività cooperative tipiche dello sviluppo software.
Descrizione
Il corso prepara allo sviluppo di sistemi software con caratteristiche
di qualità. Per quanto riguarda le fasi alte del ciclo di vita del
software, analisi e progettazione, vengono presentate tecniche e
notazioni di modellazione degli aspetti statici e dinamici del dominio
applicativo e del sistema da sviluppare. Per quanto riguarda le fasi
basse del ciclo di vita, codifica e rilascio, si trattano principi e
tecniche di verifica.
English Description
The initial part provides motivations for the rest: we discuss the
problems occuring in software production and the life-cycle models. The
largest part is devoted to modelling the software product in UML,
presenting the most important model kinds per each activity: domain and
requirements analyis, architectural and detailed design, both from the
static (structural) and the dynamic (behavioural) viewpoint. Finally, we
present the design techniques for software verification.
Programma
- Processo di sviluppo software: Problemi della produzione del software. Modelli di ciclo di vita.
- Analisi del domino e dei requisiti: modelli statici (classi, casi d'uso) e dinamici (attività, macchine a stati, narrazioni).
- Architetture software: viste strutturali, comportamentali, logistiche. Stili architettonici.
- Progettazione architettonica: Realizzazione dei casi d'uso, specifica di componenti e connettori.
- Progettazione di dettaglio: Progettazione di componenti orientata agli oggetti.
- Verifica: Progettazione delle prove - criteri funzionali e strutturali.
- Standard per la modellazione: Unified Modelling Language (UML 2).
Ore lezione: | 34 | Ore esercitazione: | 14 | | | |
Bibliografia
[A] J. Arlow, I. Neustadt, UML 2 e Unified Process, (seconda edizione italiana), McGraw-Hill, 2006.
Capitoli 1,2, 3-5, 7-13 (tranne 8.2, 10.4, 10.5), 16 (paragrafi 3, 4, 5, 11.3, 12), 17, 19-20 (tranne 20.5) e 22.
[F] A. Binato, A. Fuggetta, L. Sfardini, Ingegneria del Software - Creatività e metodo, Addison Wesley, 2006.
Capitoli 7 e 8 (pp 147-158).
[S] L. Semini, Architetture software (quarta edizione). Nota didattica, 2009, Vedere avvisi nella pagina del corso.
[E]
V. Ambriola, C. Montangero, L. Semini, Esercizi di Ingegneria del
Software (quarta edizione). Nota didattica: 2009. Scaricabile dalla
pagina del corso.
[T] C. Montangero, L. Semini (a cura di), Il controllo del Software - verifica e validazione, Nota didattica, 2008. Scaricabile dalla pagina del corso.
Modalità di esame
La valutazione avviene mediante prova scritta e prova
orale. Per l'ammissione all'orale si deve ottenere un voto pari o superiore a
16 nello scritto. L'ammissione vale solo per lo stesso appello. Le valutazioni intermedie sono scritte e sono superate con un voto minimo di 15 e una media di 16. Il superamento delle verifiche comporta l'esenzione dall scritto e l'ammissione all'orale in uno qualunque degli appelli, previa iscrizione.
Ciascuna prova scritta fa riferimento a uno degli scenari pubblicati in anticipo nella
pagina comune dei corsi di Ingegneria del Software.