elenco    
        corso    

Ingegneria del software B

Codice: AA017Crediti: 6Semestre: 1Sigla: Is 
 
Settore disciplinare: INF/01 - Informatica

Docente

Laura Semini   semini@di.unipi.it  Stanza 329a  Tel. 0502212783

Prerequisiti

Metodologie di programmazione.

Obiettivi di apprendimento

Introduzione alle tecniche di modellazione in ingegneria del software.

Conoscenze. Lo studente conoscerà i principali modelli di processi di sviluppo software, e le tecniche di modellazione proprie delle varie fasi.

Capacità.

Lo studente saprà utilizzare notazioni di modellazione come UML 2 per l'analisi dei requisiti e la progettazione sia architettonica sia di dettaglio di un sistema 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 aim of the course is to prepare to the development of quality software systems. With respect to the first phases of the software life-cycle, i.e. analysis and design, we present techiques and notations to model the static and dynamic facets of the application domain and of the system to develop. With respect to the last phases of the life-cycle, i.e. coding and release, we present principles and techniques of software verification and validation.

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: 34Ore 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 (paragrafo 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 (terza edizione). Nota didattica, 2007.
[E] V. Ambriola, C. Montangero, L. Semini, Esercizi di Ingegneria del Software (terza edizione) . Nota didattica, 2007.
[T] C. Montangero, L. Semini (a cura di),   Il controllo del software - verifica e validazione.  Nota didattica, 2008.


Le note didattiche sono anche disponibili in fotocopia presso il Servizio Editoriale Universitario, via Curtatone e Montanara 6, Pisa.

Modalità di esame

La valutazione avviene mediante prova scritta e prova orale. La prova scritta può essere sostituita dal superamento di due verifiche in itinere. Ciascuna prova scritta fa riferimento a uno degli scenari pubblicati in anticipo nella pagina comune dei corsi di Ingegneria del Software.

Ulteriore pagina web del corso: http://www.di.unipi.it/~semini/didattica/


home


email