41573 - INGEGNERIA DEL SOFTWARE LS

Anno Accademico 2007/2008

  • Docente: Antonio Natali
  • Crediti formativi: 6
  • SSD: ING-INF/05
  • Lingua di insegnamento: Italiano
  • Modalità didattica: Convenzionale - Lezioni in presenza
  • Campus: Bologna
  • Corso: Laurea in Operatore informatico-giuridico (cod. 0354)

Conoscenze e abilità da conseguire

  • Metodologie e strumenti che permettano di rendere esplicita la conoscenza implicita nei processi di produzione di tipo iterativo, con particolare riferimento alle fasi di analisi, modellazione, progettazione e collaudo.
  • Comprendere l'inmpatto delle tecnologie sulla progettazione e sull'analisi e l'importanza della costruzione di buoni modelli, con particolare riferimento ai sistemi distribuiti.
  • Sviluppare processi di progettazione basata sull'architettura, cercando di coniugare metodi model based con metodi XP, sviluppando applicazioni in modo individuale e a gruppi.

Contenuti

  • La documentazione di progetto: impostazione di un ambiente iniziale di riferimento.
  • Gli strumenti di lavoro (Ant, JUnit, Maven, Eclipse) e i processi di produzione a spirale.
  • La parte pre-costruttiva del processo: il ruolo dell'analisi del problema e della architettura logica della applicazione.
  • Il ruolo delle interfacce (intese come contratti) nella analisi, progetto e collaudo.
  • La pianificazione del collaudo come contributo alla progettazione.
  • Metodologie per la modellazione di un sistema: l'architecture driven design e i pattern architetturali.
  • Lo spazio delle scelte nella progettazione: il caso dei supporti per la interazione.
  • Dai modelli eseguibili al codice come modello: MDA e XP.
  • Progettare e costruire elementi riusabili: dagli oggetti ai componenti software.
  • Il mondo Java come tecnologia di riferimento per la costruzione di applicazioni..
  • I Web Services and SOA  come tecnologia di riferimento per la costruzione di applicazioni distribuite.
  • Progettazione e costruzione di un caso di studio

Testi/Bibliografia

Dispense a cura del docente, corredate di riferimenti bibliografici commentati.
Il sito di riferimento è http://www-natali.deis.unibo.it

Metodi didattici

Il corso prevede una stretta interazione tra la parte teorica e la parte pratica in laboratorio
La parte applicativa che viene impostata  simulando, per quanto possibile, un ambiente di produzione industriale, focalizzando l'attenzione su forme di lavoro cooperatico, avvalendosi anche di  supporti di eLearning.

Modalità di verifica e valutazione dell'apprendimento

Viene proposto un tema di progetto da affrontare in due fasi.
La prima fase (di 48 ore) inzia alla pubblicazione di un testo di requisiti epr un sistema software da costruire;
tale fase deve terminare con la produzione di un  prototipo del sistema software e
del sito del progetto. Questa fase può essere svolta in modo individuale o in gruppi, di al più tre persone ciascuno. 
La seconda fase consiste in una discussione individuale  orale dell'elaborato.

Strumenti a supporto della didattica

Il materiale didattico viene presentato attraverso slides e dispense, sarà reso  disponibile agli studenti in formato pdf e in forma ipertestuale in rete sia via web sia attraverso  sistemi di eLearning (si veda http://137.204.107.78/moodle/ ).

Link ad altre eventuali informazioni

http://www-natali.deis.unibo.it/

Orario di ricevimento

Consulta il sito web di Antonio Natali