94442 - PROGETTAZIONE DI APPLICAZIONI WEB T

Anno Accademico 2021/2022

  • 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)

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.
Servizi: Modelli e tecnologie per la gestione efficace ed efficiente del conflitto di impedenza
  • 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.

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

Istruzione di qualità

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