Presentazione del corso

Il corso si propone di fornire agli studenti del terzo anno dell'orientamento Sistemi di Elaborazione della laurea di primo livello in Ingegneria Informatica gli strumenti e i metodi per progettare e implementare basi di dati e sviluppare applicazioni web in grado di interagire con esse. Dopo una introduzione ai sistemi informativi, il corso prevede una prima parte centrata sulla teoria del modello relazionale, una seconda in cui si analizza il problema della progettazione delle basi di dati, e una terza orientata all'integrazione tra World Wide Web e basi di dati nelle applicazioni web oriented.

L'esame prevede una prova scritta e una prova orale.

La prova scritta e' strutturata in uno o due quesiti: il primo verte sulla progettazione di una base di dati o sulla definizione di uno schema per una base di dati e sulla scrittura di alcune interrogazioni per la stessa base di dati scritte in algebra relazionale e/o linguaggio SQL; il secondo (eventuale) verte sulla scrittura di semplici pagine JSP che sfruttino le peculiarita' del linguaggio.

La prova orale verte sugli argomenti del corso e sulla discussione di un elaborato di progetto svolto durante il corso o comunque concordato con il docente su traccia proposta dagli allievi. L'elaborato viene discusso individualmente ma e' previsto essere un lavoro di gruppo che consiste nella progettazione e realizzazione di una applicazione web completa che insiste su una base di dati. L'applicazione verra' implementata in tecnologia JSP/ODBC su una architettura J2EE posta in opera a cura degli studenti basata su Linux-MySQL/PostgreSQL o su Windows-Access/MS SQL Server. I gruppi possono essere formati da 3 persone se la piattaforma scelta e' basata su Linux e 2/3 persone a discrezione del docente se e' basata su Windows. L'elaborato si articola in sezioni:

1) Intervista/descrizione del problema
2) Analisi e raccolta dei requisiti
3) Produzione del dizionario dei dati e analisi delle funzionalita'
4) Progettazione concettuale
5) Analisi delle prestazioni su schemi ER e ristrutturazione
6) Modello logico-relazionale
7) Descrizione della struttura dell'applicazione web (per ogni pagina descrivere cosa ci si fa e a che pagine si va in base a quali condizioni)
8) Descrizione dell'architettura di sviluppo
9) Casi di prova e testing
10) Codice dell'applicazione