- Docente: Antonio Natali
- Crediti formativi: 8
- SSD: ING-INF/05
- Lingua di insegnamento: Italiano
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea Magistrale in Ingegneria informatica (cod. 0937)
Conoscenze e abilità da conseguire
Approfondimento dei modelli, dei linguaggi e delle tecnologie per l'analisi, il progetto, la costruzione, la documentazione e la manutenzione di infrastrutture e sistemi software.
Contenuti
Impostazione di un ambiente iniziale di riferimento
per lo sviluppo cooperativo del software.
Gli strumenti di lavoro (Eclipse) e i processi di produzione a
spirale.
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.
Progettazione (in)dipendente dalla tecnolgia: Android, Arduino e
RaspberryPi come caso di studio.
Dai modelli eseguibili al codice come modello: MDA e SCRUM.
Progettare e costruire linguaggi/metamodelli custom domain specific
mediante la tecnologia Xtext.
Progettazione e costruzione di un caso di studio su piattforme
Java/Android/Arduino/RaspberryPi
nel dominio delle Internet of Things
Testi/Bibliografia
Antonio Natali, Ambra Molesini: Costruire sistemi software: dai
modelli al codice. II edizione. Esculapio-Progetto Leonardo ISBN
978-88-7488-334-9 Dispense a cura del docente, corredate di
riferimenti bibliografici commentati. Il sito di riferimento
è https://137.204.107.21
Metodi didattici
Il corso prevede una stretta interazione tra la parte teorica e la
parte pratica in laboratorio La parte applicativa viene impostata
simulando, per quanto possibile, un ambiente di
produzione industriale, focalizzando l'attenzione su forme di
lavoro cooperatico
Modalità di verifica e valutazione dell'apprendimento
Viene proposto un tema di progetto da affrontare in due
fasi.
La prima fase inizia con la pubblicazione di un testo di
requisiti
per 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 gruppo.
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 attraverso il sito web del docente (
https://137.204.107.21 ).
Link ad altre eventuali informazioni
Orario di ricevimento
Consulta il sito web di Antonio Natali