Corso | Ingegneria Informatica e dei sistemi per le Telecomunicazioni |
Curriculum | Curriculum unico |
Orientamento | Reti ed applicazioni |
Anno Accademico | 2022/2023 |
Crediti | 6 |
Settore Scientifico Disciplinare | ING-INF/05 |
Anno | Secondo anno |
Unità temporale | Primo semestre |
Ore aula | 48 |
Attività formativa | Attività formative affini ed integrative |
Docente | GIANLUCA LAX |
Obiettivi | Il corso mira a fornire agli studenti alcune delle conoscenze pratiche richieste dal mondo del lavoro. Al termine del corso lo studente è in grado di: 1. gestire la rappresentazione e il mantenimento su database relazionale di informazioni mappate ad oggetti Java 2. sviluppare in tempi rapidi applicazioni Web di notevoli dimensioni 3. sviluppare applicazioni per dispositivi mobili Android Conoscenza e comprensione: a seguito del superamento dell’esame, lo studente conosce e comprende la persistenza dei dati attraverso Object-Relational Mapping, come implementare il pattern MVC attraverso il framework Struts e come interfacciare un’app Android con un servizio Web attraverso JSON. Autonomia di giudizio: a seguito del superamento dell’esame, lo studente sarà in grado di valutare le diverse alternative in fase di progettazione di applicazioni Web. Le alternative saranno valutate in base all’analisi dei requisiti funzionali, alla manutenibilità della base di dati e alle prestazioni da garantire. Abilità comunicative: nella fase di progettazione e realizzazione delle applicazioni, lo sviluppatore deve dialogare con il committente che descriverà le funzionalità della applicazione da sviluppare in linguaggio naturale. Compito dello sviluppatore è saper tradurre le richieste espresse in linguaggio naturale in specifiche funzionalità offerte dai framework web, evidenziando vantaggi e svantaggi delle scelte adottate. Capacità di apprendimento: durante il corso lo studente studia su documentazione tecnica, soprattutto in lingua inglese, con lo scopo principale di acquisire la capacità di aggiornare continuamente le proprie conoscenze ed essere pronto ad applicare questa metodologia di studio anche per le nuove tecnologie. Modalità di accertamento e valutazione. Gli esami di accertamento e di valutazione consistono in una prova progettuale e in una prova orale. La prova progettuale, da svolgersi in gruppo, ha lo scopo di progettare e, possibilmente, realizzare un sistema informativo che informatizzi una realtà prescelta dagli studenti. La prova orale ha l’obiettivo di discutere il progetto realizzato e di valutare la conoscenza, da parte dello studente, del programma del corso. Al termine della prova orale allo studente viene attribuito un voto massimo 30/30. Per il superamento dell’esame con votazione minima di 18/30 è necessario che lo studente sia in grado di realizzare una Web application partendo da una realtà di complessità limitata e che almeno una funzionalità sia fornita anche attraverso un’app Android. È attribuito un voto compreso fra 19/30 e 24/30 se lo studente è anche in grado di realizzare una Web application partendo da una realtà di complessità elevata. È attribuito un voto compreso fra 25/30 e 30/30 se lo studente è anche in grado di realizzare funzionalità complesse fornite attraverso un’app Android. È attribuito un voto di 30/30 e lode se lo studente è anche in grado di realizzare funzionalità aggiuntive richieste all’orale. |
Programma | 1) Richiami (0.5 CFU) Introduzione al corso. Richiami di Java. Ereditarietà ed Interfacce. Gestione delle eccezioni. Collections. Annotations. Serializzazione. Logging. La libreria Log4J2. I pattern. Il pattern Singleton. Il pattern DAO. Il pattern Factory. 2) Hibernate (2 CFU) Introduzione ad Hibernate. Oggetti POJO. Hibernate-configuration. Utilizzo di Hibernate: configurazione e mapping XML. Il pattern DAO e Factory in Hibernate. Mapping di relazioni. Uno a molti. One-to-one classica e component. Many-to-many. Chiave composta. Ereditarietà. Hibernate Query Language. Hibernate tools. Reverse Engineering. 3) Struts (2 CFU) Introduzione a Struts. MVC di Struts 2. Struts FilterResult. Action. Interceptor. Passaggio dei parametri tra View e Action e viceversa. Passaggio dati con Javabeans e ModelDriven. Validazione input con Workflow e con Validation. Errori e avvisi. Gestione eccezioni. Resource Bundles. Conversioni di tipi. Interceptor ExecAndWait, FileUpload, Timer, Logger. Creazione di un interceptor. Interfaccia SessionAware. Iniezione di dati in sessione. Tag UI di Struts. Altre funzionalità di Struts. Il formato JSON. Struts e JSON. JSON results. 4) Android (1.5 CFU) Il sistema Android. Applicazione Hello World. Manifest e Resources. Activity. Chiamata di un'activity e passaggio di parametri. Intent esplicito. Life cycle di un'activity. Preferenze. Gestione dei file interni. Gestione dei file esterni. Pattern delegation. Intent impliciti. Gestione della action bar. Gestione di oggetti JSON. Processi e Thread. UI thread e worker thread. Async Task e connessione ad una Web Application. |
Testi docente | • Video lezioni • Slide • Codice delle esercitazioni • Hibernate http://hibernate.org/orm/ • Struts https://struts.apache.org/ • Android Developers https://developer.android.com/ • Java Persistence with Hibernate, Second Edition of Hibernate in Action, Christian Bauer and Gavin King, Manning Publications Co. • Struts 2 in Action, Donald Brown, Chad Michael Davis, and Scott Stanlick, Manning Publications Co. |
Erogazione tradizionale | Sì |
Erogazione a distanza | No |
Frequenza obbligatoria | No |
Valutazione prova scritta | No |
Valutazione prova orale | Sì |
Valutazione test attitudinale | No |
Valutazione progetto | Sì |
Valutazione tirocinio | No |
Valutazione in itinere | No |
Prova pratica | Sì |
Cerca nel sito
Posta Elettronica Certificata
Direzione
Tel +39 0965.1693217/3252
Fax +39 0965.1693247
Protocollo
Tel +39 0965.1693422
Fax +39 0965.1693247
Didattica e orientamento
Tel +39 0965.1693386/3385
Fax +39 0965.1693247
Segreteria studenti
Tel +39 0965.1691475
Fax +39 0965.1691474
Amministrazione
Tel +39 0965.1693214
Fax +39 0965.1693247
Ricerca
Tel +39 0965.1693422
Fax +39 0965.1693247