- Docente: Ilaria Bartolini
- Crediti formativi: 6
- SSD: ING-INF/05
- Lingua di insegnamento: Italiano
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea in Ingegneria informatica (cod. 9254)
-
dal 18/02/2025 al 12/06/2025
Conoscenze e abilità da conseguire
Al termine del corso, lo studente padroneggia i principi della progettazione e dello sviluppo di applicazioni Web, con particolare attenzione ad applicazioni di tipo “data-intensive”.
Contenuti
Modelli per la progettazione di applicazioni Web
- Modello dati: E/R e UML
- Modello ipertestuale (WebML)
- Modello di gestione dei contenuti (WebML)
Progettazione di applicazioni Web
- Panoramica del processo di sviluppo
- Accenni a analisi dei requisiti e data design
- Design ipertestuale in WebML
Implementazione di applicazioni Web
- Architecture design e organizzazione multilivello: servizi, logica di business e application
- Implementazione dei dati
- Implementazione ipertestuale
- Strumenti per lo sviluppo basato su modelli: Web Ratio e IFML.
- Accesso diretto a basi dati: Interfacce e astrazioni
- Architetture a oggetti e database relazionali: Conflitto d'impedenza
- Metodologie di progettazione e sviluppo della persistenza dei dati
- L'approccio forza bruta (JDBC)
- Il pattern DAO
- Il framework Object-Relational Mapping (ORM) - Entity Beans - libreria Hibernate
Servizi: Modelli transazionali
- Livelli di isolamento
- Gestione delle transazioni in JDBC, JTA e Hibernate
Descrizione delle informazioni e XML
- Descrizione delle informazioni: XML e XHTML
- Tipizzazione di XML: DTD vs. XML Schema
- Accenni a XSL e XSLT
- XML e Java: Parser XML (modelli DOM e SAX)
N.B. Parte significativa del corso è dedicata allo svolgimento di esercitazioni guidate in laboratorio.E' richiesta una buona conoscenza del linguaggio Java e del suo framework applicativo, oltre che dei fondamenti di Tecnologie Web e Basi di Dati.
Testi/Bibliografia
Lucidi delle lezioni disponibili sul sito Web del corso. Per ulteriori approfondimenti lo studente può far riferimento anche ai seguenti testi e link:
W3C, XML
XML In a Nutshell, Second Edition, by Elliotte Rusty Harold and W. Scott Means. O'Reilly.
http://www.w3.org/XML/
http://www.w3.org/Style/XSL/
Design Web Applications
Progettazione di dati e applicazioni per il web, by Stefano Ceri et al. McGraw-Hill
Designing data-intensive web applications, by Stefano Ceri et al. Morgan Kaufmann
Interaction Flow Modeling Language: Model-Driven UI Engineering of Web and Mobile Apps with IFML, by Marco Brambilla at al. Morgan Kaufmann
Hibernate
Java persistence with Hibernate - Bauer - Manning
Metodi didattici
Il corso viene erogato in aula mediante proiezione di slide (disponibili sul sito Web del corso). Le lezioni sono integrate da esercitazioni pratiche guidate dai docenti in laboratorio (circa il 30% delle ore). Ogni esercitazione in laboratorio affronta uno specifico argomento trattato a lezione proponendo esercizi concreti (richiedendo l'utilizzo di IDE e tool di programmazione specifici).
Tutte le lezioni sono tenute in italiano. È quindi necessaria la comprensione della lingua italiana per seguire con profitto il corso e per poter utilizzare il materiale didattico fornito.
In considerazione della tipologia di attività e dei metodi didattici adottati, la frequenza di questa attività formativa richiede la preventiva partecipazione di tutti gli studenti ai Moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio, [https://elearning-sicurezza.unibo.it/] in modalità e-learning.
Modalità di verifica e valutazione dell'apprendimento
La verifica dell’apprendimento avviene attraverso un esame finale che accerta l’acquisizione delle conoscenze e delle abilità attese tramite lo svolgimento di una prova pratica svolta in laboratorio, comprendente anche alcune domande relative all'intero programma.
Per poter partecipare alla prova pratica è necessario iscriversi alla lista dell'appello tramite l'applicativo AlmaEsami.
Per superare la prova pratica di laboratorio, è necessario totalizzare almeno 18 punti (su un totale disponibile di 33), risultando sufficienti su tutti gli esercizi.
Il massimo punteggio sarà garantito agli studenti che dimostreranno di aver compreso ed essere capaci di utilizzare tutti i contenuti dell'insegnamento, illustrandoli con capacità di linguaggio, e risolvendo problemi anche complessi non necessariamente incontrati a lezione. L'attribuzione del punteggio minimo potrà essere dovuta all'insufficiente conoscenza dei concetti chiave, alla mancata padronanza del linguaggio tecnico, alla mancata o insufficiente capacità di astrazione dei concetti.
Strumenti a supporto della didattica
In aula si usano slide (disponibili sul sito Web del corso). In laboratorio sono presenti strumenti di sviluppo e di supporto alla esecuzione delle esercitazioni (es. Eclipse). Gli studenti sono invitati a familiarizzare con questi o altri strumenti di uso personale.
Link ad altre eventuali informazioni
http://www-db.disi.unibo.it/courses/PAW/
Orario di ricevimento
Consulta il sito web di Ilaria Bartolini
SDGs

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.