elenco     
        corso     

Ingegneria del software B

Codice: 271AACrediti: 6Semestre: 2Sigla: IS 
 
Settore disciplinare: INF/01 - Informatica

Docente

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

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: 34Ore esercitazione: 14   

Bibliografia

[A] J. Arlow, I. Neustadt, UML 2 e Unified Process, (seconda edizione italiana), McGraw-Hill, 2006.
Capitoli (informazione puramente indicativa, mi riservo la libertà di aggiungere o togliere caputilo durante il corso) 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 (informazione puramente indicativa, mi riservo la libertà di aggiungere o togliere caputilo durante il corso) 4,5,7 e 8 (pp 147-158).
[S] L. Semini, Architetture software (quarta edizione). Nota didattica, 2009. Scaricabile dalla 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 18. Il superamento delle verifiche comporta l'esenzione dall scritto e l'ammissione all'orale in uno qualunque degli appelli, previa iscrizione.
 
Pagina comune dei corsi di Ingegneria del Software.

Ulteriore pagina web del corso: http://didawiki.cli.di.unipi.it/doku.php/informatica/is-b/start


home


email