
Luca MAINETTI
Professore II Fascia (Associato)
Settore Scientifico Disciplinare ING-INF/05: SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI.
Dipartimento di Ingegneria dell'Innovazione
Centro Ecotekne Pal. O - S.P. 6, Lecce - Monteroni - LECCE (LE)
Ufficio, Piano terra
Telefono +39 0832 29 7338
Settore Scientifico Disciplinare ING-INF/05: sistemi di elaborazione dell'Informazione.
Aree di competenza: Software Engineering.
Dipartimento di Ingegneria dell'Innovazione
Centro Ecotekne Pal. O - S.P. 6, Lecce - Monteroni - LECCE (LE)
Ufficio, Piano terra
Telefono +39 0832 29 7338
Settore Scientifico Disciplinare ING-INF/05: sistemi di elaborazione dell'Informazione.
Aree di competenza: Software Engineering.
Lunedì 15:00-19:00.
1° piano, scala centrale fronte bar.
Curriculum Vitae
Luca Mainetti è professore associato di Ingegneria del Software presso il Dipartimento di Ingegneria dell'Innovazione dell’Università del Salento, dove ha fondato il settore di ricerca sulle Applicazioni Mobili e Multi Dispositivo.
E' abilitato a professore di I Fascia nel Settore Concorsuale 01/B1 - Informatica dal 28/03/2018.
I suoi interessi di ricerca includono la web engineering, la model-driven engineering applicata a middleware e architetture software orientate ai servizi, la model-driven engineering applicata all’Internet of Things.
E’ co-autore delle metodologie HDM (Hypermedia Design Model), W2000 e IDM (Interactive Dialogue Model) di design di applicazioni web.
E’ responsabile scientifico del GSA Lab – Graphics and Software Architectures Lab del Dipartimento di Ingegneria dell’Innovazione dell’Università del Salento (dal 2007).
E’ stato responsabile scientifico dell'IDA Lab – IDentification Automation Lab del Dipartimento di Ingegneria dell’Innovazione dell’Università del Salento (2008-2016).
E' socio fondatore dello spin-off VidyaSoft (marzo 2015) che sviluppa la piattaforma WoX per soluzioni IoT nel dominio FinTech. E' socio fondatore dello spin-off SofThings (luglio 2016) che realizza soluzioni embedded per l'IoT nel dominio del CRM.
E’ stato membro del comitato scientifico della Scuola Superiore ISUFI, settore eBMS (2006-2008).
E' stato vice-direttore del dipartimento di Ingegneria dell'Innovazione dell'Università del Salento (novembre 2013-gennaio 2016).
E' referente del Rettore dell'Università del Salento per l'agenda digitale (da novembre 2013).
E' stato delegato del Rettore dell'Università del Salento alla razionalizzazione e allo sviluppo dei servizi informatici (dicembre 2006-ottobre 2013).
E’ rappresentante degli Atenei pugliesi nel Comitato d’Indirizzo del Distretto Produttivo dell’Informatica della Regione Puglia (da giugno 2009).
E’ stato rappresentante dell’Università del Salento nel Consiglio Direttivo del CINI – Consorzio Interuniversitario Nazionale per l'Informatica (2009-2012).
E’ coordinatore del Tavolo Tecnico nazionale Università Digitale per l’innovazione dei servizi ICT agli atenei italiani (da gennaio 2010), divenuto Tavolo Tecnico permanente del MIUR (da marzo 2011).
E' rappresentante per la Regione Puglia nel Cluster Tecnologico Nazionale Smart Communities (da novembre 2016).
E’ rappresentante dell’Università del Salento nel Consiglio Consortile del CINECA (dicembre 2010-dicembre 2014).
E’ stato rappresentante dell’Università del Salento nel Consiglio di Amministrazione di DAISY-Net, nodo pugliese del Centro di Competenza ICT-Sud (maggio 2011-giugno 2014).
E’ stato coordinatore del Collegio di Dottorato in Ingegneria dell’Informazione all’Università del Salento (dal dicembre 2012 al dicembre 2017).
Dal 2004 a oggi presso l’Università del Salento è stato tutor di 5 tesi di dottorato in Ingegneria dell’Informazione (A. Bucciero, U. Barchetti, S. Santo Sabato, A. Capodieci, R. Vergallo) e 4 tesi di dottorato in Ingegneria dei Sistemi Complessi (A. Fiore, I Sergi, C. Macagnano, P. Panarese). Dal 2004 a oggi è stato tutor di 10 assegni di ricerca (A. Bucciero, U. Barchetti, S. Santo Sabato, A. Capone, R. Vergallo, G. Del Fiore, L. Palano, A. Fiore, A. Caione, L. Manco) per collaborazioni di ricerca e post-doc banditi dal Dipartimento di Ingegneria dell’Innovazione dell’Università del Salento. Sempre nel medesimo periodo, presso il Dipartimento di Ingegneria dell’Innovazione dell’Università del Salento è stato responsabile di oltre 10 contratti di collaborazione coordinata continuativa e professionale.
Luca Mainetti ha ricevuto il PhD in Ingegneria Informatica presso il Politecnico di Milano, dove è stato professore supplente di Applicazioni Ipermediali e Human Computer Interaction. Ha contribuito a creare il laboratorio HOC – Hypermedia Open Center del Dipartimento di Elettronica e Informazione del Politecnico di Milano, del quale è stato direttore tecnico dal 1996 al 2004. Ha contribuito alla realizzazione dell’Acceleratore d’Impresa del Politecnico di Milano nell’anno 2000.
Ha pubblicato oltre 210 articoli scientifici per riviste e conferenze internazionali. E’ membro della IEEE dal 2000. E’ membro senior dell’ACM dal 2009.
Didattica
A.A. 2023/2024
FONDAMENTI DI INFORMATICA
Corso di laurea MEDICINA E CHIRURGIA
Tipo corso di studio Laurea Magistrale a Ciclo Unico
Crediti 4.0
Ripartizione oraria Ore totali di attività frontale: 49.5
Anno accademico di erogazione 2023/2024
Per immatricolati nel 2022/2023
Anno di corso 2
Struttura DIPARTIMENTO DI SCIENZE E TECNOLOGIE BIOLOGICHE ED AMBIENTALI
Percorso COMUNE/GENERICO
INGEGNERIA DEL SOFTWARE
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Tipo corso di studio Laurea
Lingua ITALIANO
Crediti 6.0
Docente titolare LUCA MAINETTI
Ripartizione oraria Ore totali di attività frontale: 54.0
Ore erogate dal docente LUCA MAINETTI: 36.0
Anno accademico di erogazione 2023/2024
Per immatricolati nel 2021/2022
Anno di corso 3
Struttura DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Percorso CURRICULUM A
Sede Lecce
LABORATORIO INFORMATICO
Corso di laurea INFERMIERISTICA (ABILITANTE ALLA PROFESSIONE SANITARIA DI INFERMIERE)
Tipo corso di studio Laurea
Crediti 2.0
Docente titolare LUCA MAINETTI
Ripartizione oraria Ore totali di attività frontale: 40.0
Ore erogate dal docente LUCA MAINETTI: 20.0
Anno accademico di erogazione 2023/2024
Per immatricolati nel 2023/2024
Anno di corso 1
Struttura DIPARTIMENTO DI SCIENZE E TECNOLOGIE BIOLOGICHE ED AMBIENTALI
Percorso SEDE LECCE
PROGETTAZIONE DI ARCHITETTURE DI SERVIZI
Corso di laurea INGEGNERIA INFORMATICA
Tipo corso di studio Laurea Magistrale
Lingua ITALIANO
Crediti 6.0
Docente titolare LUCA MAINETTI
Ripartizione oraria Ore totali di attività frontale: 54.0
Ore erogate dal docente LUCA MAINETTI: 18.0
Anno accademico di erogazione 2023/2024
Per immatricolati nel 2023/2024
Anno di corso 1
Struttura DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Percorso PERCORSO COMUNE
Sede Lecce
A.A. 2022/2023
FONDAMENTI DI INFORMATICA
Corso di laurea MEDICINA E CHIRURGIA
Tipo corso di studio Laurea Magistrale a Ciclo Unico
Crediti 4.0
Ripartizione oraria Ore totali di attività frontale: 49.5
Anno accademico di erogazione 2022/2023
Per immatricolati nel 2021/2022
Anno di corso 2
Struttura DIPARTIMENTO DI SCIENZE E TECNOLOGIE BIOLOGICHE ED AMBIENTALI
Percorso COMUNE/GENERICO
Video di presentazione test
PROGETTAZIONE DI ARCHITETTURE DI SERVIZI
Corso di laurea INGEGNERIA INFORMATICA
Tipo corso di studio Laurea Magistrale
Lingua ITALIANO
Crediti 6.0
Docente titolare ROBERTO VERGALLO
Ripartizione oraria Ore totali di attività frontale: 54.0
Ore erogate dal docente LUCA MAINETTI: 18.0
Anno accademico di erogazione 2022/2023
Per immatricolati nel 2022/2023
Anno di corso 1
Struttura DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Percorso PERCORSO COMUNE
Sede Lecce
PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Tipo corso di studio Laurea
Lingua ITALIANO
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Anno accademico di erogazione 2022/2023
Per immatricolati nel 2022/2023
Anno di corso 1
Struttura DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Percorso PERCORSO COMUNE
Sede Lecce
A.A. 2021/2022
FONDAMENTI DI INFORMATICA II
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Tipo corso di studio Laurea
Lingua ITALIANO
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Anno accademico di erogazione 2021/2022
Per immatricolati nel 2020/2021
Anno di corso 2
Struttura DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Percorso PERCORSO COMUNE
Sede Lecce
PRINCIPI DI INGEGNERIA DEL SOFTWARE
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Tipo corso di studio Laurea
Lingua ITALIANO
Crediti 6.0
Docente titolare LUCA MAINETTI
Ripartizione oraria Ore totali di attività frontale: 54.0
Ore erogate dal docente LUCA MAINETTI: 36.0
Anno accademico di erogazione 2021/2022
Per immatricolati nel 2020/2021
Anno di corso 2
Struttura DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Percorso PERCORSO COMUNE
Sede Lecce
PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Tipo corso di studio Laurea
Lingua ITALIANO
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Anno accademico di erogazione 2021/2022
Per immatricolati nel 2021/2022
Anno di corso 1
Struttura DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Percorso PERCORSO COMUNE
Sede Lecce
SERVICE ARCHITECTURE ENGINEERING C.I.
Corso di laurea COMPUTER ENGINEERING
Tipo corso di studio Laurea Magistrale
Crediti 4.0
Docente titolare LUCA MAINETTI
Ripartizione oraria Ore totali di attività frontale: 36.0
Ore erogate dal docente LUCA MAINETTI: 9.0
Anno accademico di erogazione 2021/2022
Per immatricolati nel 2021/2022
Anno di corso 1
Struttura DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Percorso PERCORSO COMUNE
A.A. 2020/2021
FONDAMENTI DI INFORMATICA II
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Tipo corso di studio Laurea
Lingua ITALIANO
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Anno accademico di erogazione 2020/2021
Per immatricolati nel 2019/2020
Anno di corso 2
Struttura DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Percorso PERCORSO COMUNE
Sede Lecce
PRINCIPI DI INGEGNERIA DEL SOFTWARE
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Tipo corso di studio Laurea
Lingua ITALIANO
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Anno accademico di erogazione 2020/2021
Per immatricolati nel 2019/2020
Anno di corso 2
Struttura DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Percorso PERCORSO COMUNE
Sede Lecce
SOFTWARE ENGINEERING
Degree course COMPUTER ENGINEERING
Course type Laurea Magistrale
Language INGLESE
Credits 9.0
Teaching hours Ore totali di attività frontale: 81.0
Year taught 2020/2021
For matriculated on 2020/2021
Course year 1
Structure DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Subject matter PERCORSO COMUNE
Location Lecce
A.A. 2019/2020
PRINCIPI DI PROGETTAZIONE DEL SOFTWARE
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Tipo corso di studio Laurea
Lingua ITALIANO
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Anno accademico di erogazione 2019/2020
Per immatricolati nel 2018/2019
Anno di corso 2
Struttura DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Percorso PERCORSO COMUNE
Sede Lecce
SOFTWARE ENGINEERING
Degree course COMPUTER ENGINEERING
Course type Laurea Magistrale
Language INGLESE
Credits 9.0
Teaching hours Ore totali di attività frontale: 81.0
Year taught 2019/2020
For matriculated on 2019/2020
Course year 1
Structure DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Subject matter PERCORSO COMUNE
Location Lecce
A.A. 2018/2019
PRINCIPI DI PROGETTAZIONE DEL SOFTWARE
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Tipo corso di studio Laurea
Lingua ITALIANO
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Anno accademico di erogazione 2018/2019
Per immatricolati nel 2017/2018
Anno di corso 2
Struttura DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Percorso PERCORSO COMUNE
Sede Lecce
SOFTWARE ENGINEERING
Degree course COMPUTER ENGINEERING
Course type Laurea Magistrale
Language INGLESE
Credits 9.0
Teaching hours Ore totali di attività frontale: 81.0
Year taught 2018/2019
For matriculated on 2018/2019
Course year 1
Structure DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Subject matter PERCORSO COMUNE
Location Lecce
INGEGNERIA DEL SOFTWARE E QUALITA' DEL SOFTWARE
Corso di laurea INGEGNERIA INFORMATICA
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 9.0
Ripartizione oraria Ore totali di attività frontale: 81.0
Per immatricolati nel 2023/2024
Anno accademico di erogazione 2025/2026
Anno di corso 3
Semestre Primo Semestre (dal 25/09/2025 al 22/12/2025)
Lingua ITALIANO
Percorso Percorso comune (999)
Sede Lecce
INGEGNERIA DEL SOFTWARE E QUALITA' DEL SOFTWARE (ING-INF/05)
FONDAMENTI DI INFORMATICA
Corso di laurea MEDICINA E CHIRURGIA
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea Magistrale a Ciclo Unico
Crediti 4.0
Ripartizione oraria Ore totali di attività frontale: 49.5
Per immatricolati nel 2022/2023
Anno accademico di erogazione 2023/2024
Anno di corso 2
Semestre Primo Semestre (dal 02/10/2023 al 19/01/2024)
Lingua
Percorso COMUNE/GENERICO (999)
Non vi è alcuna propedeuticità per il corso.
In sintesi il corso affronta i seguenti temi: struttura dei sistemi di calcolo, concetto di algoritmo e elementi della programmazione strutturata, introduzione ai linguaggi di programmazione, introduzione alla strutturazione dei dati, elementi di base del linguaggio Python.
Il corpus principale del corso intende fornire conoscenze di programmazione strutturata e orientata agli oggetti e sviluppare le competenze necessarie per progettare e sviluppare semplici programmi Python. Ogni concetto esposto è sperimentato in modo pratico insieme agli studenti, utilizzando il personal computer e strumenti di sviluppo moderni e ampiamente diffusi nel mondo industriale.
Conoscenze e comprensione. Al termine del corso gli studenti: (a) conosceranno i principi della programmazione orientata agli oggetti, in relazione alle caratteristiche del software; (b) conosceranno gli aspetti generali del linguaggio Python cioè oggetti, classi, tipi di dati fondamentali, strutture di controllo, ereditarietà; (c) comprenderanno le tecniche di codifica in Python di algoritmi; (d) comprenderanno come utilizzare i principali ambienti di sviluppo Python anche in relazione delle singole necessità rappresentate nei requisiti del software e nella strutturazione dei dati.
Capacità di applicare conoscenze e comprensione. Gli studenti saranno in grado di applicare le conoscenze acquisite in diversi ambiti applicativi e, in generale, per la codifica al computer in linguaggio Python di logica di business.
Autonomia di giudizio. Il corso favorisce l'autonomia di giudizio degli studenti attraverso l'analisi critica di problemi di modellazione del software da requisiti funzionali e non funzionali, per i quali trovare le soluzioni adeguate a risolverli in linguaggio Python. Diverse soluzioni proposte interattivamente dagli studenti saranno poste a confronto e valutate criticamente dagli studenti stessi.
Abilità comunicative. Gli studenti apprenderanno come comunicare adeguatamente e con il corretto livello di formalismo le scelte di design adottate e le strategie di implementazione scelte. Il metodo di insegnamento interattivo e teorico/pratico favorirà momenti di confronto in cui mettere in pratica tali abilità comunicative.
Capacità di apprendimento. La materia in costante evoluzione (sia le tecniche di sviluppo orientate agli oggetti, sia i linguaggi che le implementano) richiederà agli studenti la capacità di aggiornarsi e di ricercare materiale on-line, valutandone anche la qualità. Il metodo didattico favorirà l’approfondimento autonomo da parte degli studenti, incuriosendoli su tecniche di sviluppo evolute (vedi i design pattern).
Lezioni frontali, esercitazioni pratiche svolte preferibilmente con l’uso del personal computer, elaborazione individuale di semplici programmi Python.
L'esame prevede una prova orale per la verifica dell'apprendimento dei concetti teorici (verifica delle conoscenze) e della capacità di applicazione dei medesimi, in particolare per la codifica autonoma di semplici programmi Python (verifica delle competenze). Durante l’esame lo studente dovrà usare preferibilmente il proprio personal computer, configurato con gli ambienti di sviluppo illustrati e utilizzati durante il corso.
Si veda www.disteba.unisalento.it.
www.unisalento.it/people/luca.mainetti
Presentazione dettagliata del corso e delle modalità d’esame (1,5 ore). Struttura dei sistemi di calcolo (2 ore). Raccogliere e rappresentare i requisiti, determinare l'architettura dei dati (2 ore). Introduzione al linguaggio Python (2 ore). Programmare con numeri e stringhe (2 ore). Decisioni (4 ore). Cicli (4 ore). Funzioni (4 ore). Liste (4 ore). Eccezioni e file (4 ore). Insiemi e dizionari (4 ore). Oggetti e classi (4 ore). Ereditarietà (4 ore). Ricorsione (4 ore). Ordinamento e ricerca (4 ore).
Cay Horstmann, Rance D. Necaise, “Concetti di Informatica e Fondamenti di Python”, Seconda Edizione, Apogeo Education, Maggioli Editore, 2019.
FONDAMENTI DI INFORMATICA (ING-INF/05)
INGEGNERIA DEL SOFTWARE
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 6.0
Docente titolare LUCA MAINETTI
Ripartizione oraria Ore totali di attività frontale: 54.0
Ore erogate dal docente LUCA MAINETTI: 36.0
Per immatricolati nel 2021/2022
Anno accademico di erogazione 2023/2024
Anno di corso 3
Semestre Primo Semestre (dal 18/09/2023 al 22/12/2023)
Lingua ITALIANO
Percorso CURRICULUM A (A186)
Sede Lecce
Elementi di teoria dell’informatica. Principi e basi per la programmazione. Esecuzione di operazioni seguendo una sequenza codificata di istruzioni elementari. Concetto di algoritmo, algoritmi di base e strutture dati. Concetti di programmazione orientata agli oggetti. Linguaggio Java.
Non vi è alcuna propedeuticità ma sono suggerite le conoscenze di Fondamenti di Informatica II o Programmazione Orientata agli Oggetti.
Il corso intende fornire conoscenze di ingegneria del software e sviluppare le competenze necessarie per progettare e sviluppare programmi complessi. E’ la naturale prosecuzione del corso di Fondamenti di Informatica II o del corso di Programmazione Orientata agli Oggetti poiché richiede una buona padronanza del linguaggio Java, benché i contenuti teorici siano pienamente autonomi.
Nel concreto, il corso affronta in profondità le tecniche di analisi dei requisiti funzionali e non funzionali, progettazione con UML (Uniform Modeling Language) e sviluppo in Java di sistemi software organizzati secondo architetture standard (design patterns) e livelli di disaccoppiamento che ne facilitino l’evoluzione. Ogni concetto esposto è sperimentato in modo pratico insieme agli studenti, utilizzando il personal computer e strumenti di sviluppo moderni e ampiamente diffusi nel mondo industriale.
Conoscenze e comprensione. Al termine del corso gli studenti: (a) conosceranno i principi dell’ingegneria del software, in relazione alle caratteristiche e alle qualità del software; (b) conosceranno nel dettaglio le architetture software standard, i design patterns e i principi di riuso del software; (c) conosceranno e sperimenteranno i processi di sviluppo agili del software; (d) approfondiranno linguaggio Java in particolare per la costruzione di architetture software evolvibili; (e) comprenderanno le tecniche di condivisione del software e i sistemi di controllo delle versioni; (f) approfondiranno i principali ambienti di sviluppo Java anche in relazione alle necessità di sviluppo in coppia di applicazioni complesse.
Capacità di applicare conoscenze e comprensione. Gli studenti saranno in grado di applicare le conoscenze acquisite in diversi ambiti applicativi e, in generale, per la codifica al computer in linguaggio Java di applicazioni software con principi di riuso ed evolvibilità.
Autonomia di giudizio. Il corso favorisce l'autonomia di giudizio degli studenti attraverso l'analisi critica di problemi di modellazione del software da requisiti funzionali e non funzionali, per i quali trovare le soluzioni adeguate a risolverli in linguaggio Java con riferimento a noti design patterns. Diverse soluzioni proposte interattivamente dagli studenti saranno poste a confronto e valutate criticamente dagli studenti stessi.
Abilità comunicative. Gli studenti apprenderanno come comunicare adeguatamente e con il corretto livello di formalismo le scelte di design adottate e le strategie di implementazione scelte. Il metodo di insegnamento interattivo e teorico/pratico favorirà momenti di confronto in cui mettere in pratica tali abilità comunicative. Lo sviluppo di prototipi software in coppia richiederà tecniche di comunicazione allo stato dell’arte per l’ingegneria del software
Capacità di apprendimento. La materia in costante evoluzione (le tecniche di sviluppo orientate alle architetture software standard, i linguaggi che le implementano, gli strumenti di sviluppo) richiederà agli studenti la capacità di aggiornarsi e di ricercare materiale on-line, valutandone anche la qualità. Il metodo didattico favorirà l’approfondimento autonomo e in coppie da parte degli studenti, incuriosendoli su tecniche di sviluppo evolute (vedi il test driven development e le metriche del software) che saranno oggetto del corso magistrale di Software Engineering.
Lezioni frontali, esercitazioni pratiche svolte con l’uso del personal computer, elaborazione a coppie di un’applicazione Java.
L'esame prevede una prova orale per la verifica dell'apprendimento dei concetti teorici (verifica delle conoscenze) e della capacità di applicazione dei medesimi, in particolare per la codifica in coppie di applicazioni Java complesse (verifica delle competenze). Durante l’esame, che sarà svolto in coppie, gli studenti dovranno usare preferibilmente il loro personal computer, configurato con gli ambienti di sviluppo illustrati e utilizzati durante il corso.
Si veda www.ing.unisalento.it.
www.unisalento.it/people/luca.mainetti
Presentazione dettagliata del corso e delle modalità d’esame (2 ore). Processi di sviluppo del software (2 ore). Processi agili (2 ore). UML: requisiti e casi d’uso (2 ore). UML: dai requisiti ai diagrammi delle classi, di sequenza e di stato (2 ore). UML: diagrammi delle classi, di sequenza, di stato, dei package e di deployment nel dettaglio (2 ore). Introduzione alle architetture software standard (2 ore). Design patterns (10 ore). Fondamenti di basi di dati: il modello Entità-Relazioni. (2 ore). Fondamenti di basi di dati: dal modello Entità-Relazioni al modello Relazionale. (2 ore). MySQL e SQL (4 ore). Presentazione dell’elaborato software (2 ore). Creare un'applicazione Java: predisporre l'ambiente di sviluppo e l’architettura software (4 ore). Creare un'applicazione Java: implementare le classi (4 ore). Creare un'applicazione Java: accedere a dati esterni (4 ore). Creare un'applicazione Java: realizzare l'interfaccia utente (6 ore). Gestire la sessione in Java (2 ore).
- Martin Fowler, “UML distilled. Guida rapida al linguaggio di modellazione standard”, Quarta Edizione, Pearson, Maggioli Editore, 2010.
- Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, “Design Patterns: Elementi per il riuso di software a oggetti”, Prima Edizione Italiana, Pearson, 2002.
- Il manuale di Java consigliato per il corso di Fondamenti di Informatica II o per il corso di Programmazione Orientata agli Oggetti.
INGEGNERIA DEL SOFTWARE (ING-INF/05)
LABORATORIO INFORMATICO
Corso di laurea INFERMIERISTICA (ABILITANTE ALLA PROFESSIONE SANITARIA DI INFERMIERE)
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 2.0
Docente titolare LUCA MAINETTI
Ripartizione oraria Ore totali di attività frontale: 40.0
Ore erogate dal docente LUCA MAINETTI: 20.0
Per immatricolati nel 2023/2024
Anno accademico di erogazione 2023/2024
Anno di corso 1
Semestre Secondo Semestre (dal 04/03/2024 al 07/06/2024)
Lingua
Percorso SEDE LECCE (A231)
Non vi è alcuna propedeuticità per il corso.
In sintesi il laboratorio affronta i seguenti temi: introduzione alle architetture dei dati, introduzione all'analisi dei dati tramite linguaggio SQL, struttura dei sistemi di calcolo, concetto di algoritmo ed elementi della programmazione strutturata, introduzione al linguaggio di programmazione Python.
Il corpus principale del laboratorio intende dunque fornire le basi pratiche per la modellazione e l'analisi dei dati e, parallelamente, per l'elaborazione dei dati sviluppando semplici programmi Python. Ogni concetto esposto è sperimentato in modo pratico insieme agli studenti utilizzando il personal computer e strumenti di sviluppo moderni e ampiamente diffusi nel mondo industriale.
Conoscenze e comprensione. Al termine del corso gli studenti: (a) conosceranno i principi della programmazione strutturata, in relazione alle caratteristiche del software; (b) conosceranno gli aspetti generali del linguaggio Python cioè programmazione con i tipi di dati fondamentali, le strutture di controllo, le funzioni, le liste, i file, gli insiemi e i dizionari; (c) comprenderanno le tecniche di codifica in Python di algoritmi; (d) comprenderanno come utilizzare i principali ambienti di sviluppo Python anche in relazione delle singole necessità rappresentate nei requisiti del software e nella strutturazione dei dati. Inoltre, al termine del corso gli studenti conosceranno il linguaggio SQL, necesssario per interagire con una base di dati. In particolare: (a) gli statements (DDL, Data Definition Language) necessari per specificare lo schema concettuale ed interno di un DBMS (Data Base Management System) ed il mapping tra i due; (b) gli statements (DML, Data Manipulation Language) necessari per manipolare una base di dati. Le operazioni tipicamente supportate includono il recupero, l’inserimento, la cancellazione e la modifica dei dati.
Capacità di applicare conoscenze e comprensione. Gli studenti saranno in grado di applicare le conoscenze acquisite in diversi ambiti applicativi e, in generale, per la codifica al computer in linguaggio Python di logica di business. Inoltre, gli studenti saranno in grado di creare ed interrogare una base di dati.
Autonomia di giudizio. Il corso favorisce l'autonomia di giudizio degli studenti attraverso l'analisi critica di problemi di modellazione del software da requisiti funzionali e non funzionali, per i quali trovare le soluzioni adeguate a risolverli in linguaggio Python. Diverse soluzioni proposte interattivamente dagli studenti saranno poste a confronto e valutate criticamente dagli studenti stessi. Inoltre, gli studenti devono possedere la capacità di problem solving e devono pervenire a idee e giudizi originali e autonomi, a scelte coerenti nell’ambito del loro lavoro, particolarmente delicate nell’ambito della implementazione di una base di dati. Il corso promuove lo sviluppo dell’autonomia di giudizio nella scelta appropriata della soluzione migliore relativa a semplici problemi legati all’interazione con una base di dati e la capacità critica di interpretare la bontà dei risultati ottenuti.
Abilità comunicative. Gli studenti apprenderanno come comunicare adeguatamente e con il corretto livello di formalismo le scelte di design adottate e le strategie di implementazione scelte. Il metodo di insegnamento interattivo e teorico/pratico favorirà momenti di confronto in cui mettere in pratica tali abilità comunicative. È fondamentale che gli studenti siano in grado di comunicare con un pubblico vario e composito, non omogeneo culturalmente, in modo chiaro, logico ed efficace, utilizzando gli strumenti metodologici acquisiti e le loro conoscenze scientifiche e, in particolar modo, il lessico di specialità. Il corso favorisce lo sviluppo delle abilità inerenti le capacità di esporre in termini precisi e formali snippets di codice sorgente in linguaggio Python e queries SQL.
Capacità di apprendimento. La materia in costante evoluzione (sia le tecniche di sviluppo del software, sia i linguaggi che le implementano) richiederà agli studenti la capacità di aggiornarsi e di ricercare materiale on-line, valutandone anche la qualità. Il metodo didattico favorirà l’approfondimento autonomo da parte degli studenti, incuriosendoli su tecniche di sviluppo evolute. Gli studenti fevono inoltre essere in grado di riusare le conoscenze legate alle basi di dati indipendentemente dallo specifico DBMS utilizzato.
Lezioni frontali in laboratorio con ampio spazio a esercitazioni pratiche svolte con l’uso del personal computer, creazione individuale di semplici basi di dati, elaborazione di script SQL e di programmi Python.
L'esame prevede una prova orale pratica svolta con il personal computer per la verifica dell'apprendimento dei concetti teorici (verifica delle conoscenze) e della capacità di applicazione dei medesimi, in particolare per la codifica autonoma di basi di dati, di script SQL e di semplici programmi Python (verifica delle competenze). Durante l’esame lo studente dovrà usare il personal computer, configurato con gli ambienti di sviluppo illustrati e utilizzati in laboratorio.
Si veda www.disteba.unisalento.it.
Presentazione dettagliata del modulo Python (1 ora). Struttura dei sistemi di calcolo (2 ore). Il concetto di algoritmo (1 ora). Introduzione al linguaggio Python (2 ore). Programmare con numeri e stringhe (2 ore). Decisioni (2 ore). Cicli (2 ore). Funzioni (2 ore). Liste (2 ore). Eccezioni e file (2 ore). Insiemi e dizionari (2 ore).
Il linguaggio SQL. Definizione dei dati e tipi di dato. I concetti di schema e catalogo. Statement CREATE SCHEMA. Statement CREATE TABLE. Tipi di dato di un attributo. Statement CREATE DOMAIN. Specifica di vincoli in SQL. Vincoli sugli attributi e valori di default per gli attributi. PRIMARY Key, FOREIGN KEY, integrità referenziale. Clausola UNIQUE, clausola CHECK per vincoli su tuple. Query SELECT. Aliases. Eliminare tuple duplicate con DISTINCT. Tabelle come insiemi: operazioni UNION, EXCEPT, INTERSECT. Tabelle come multi-insiemi: UNION ALL, EXCEPT ALL, INTERSECT ALL. Pattern matching per sottostringhe ed operatori aritmetici. Ordinare i risultati di una query: ORDER BY. (3 ore).
Statement INSERT. Statement DELETE. Statement UPDATE. Valori NULL. Logica basata sui tre valori TRUE, FALSE ed UNKNOWN. Queries annidate. Queries annidate correlate. Funzioni EXISTS e UNIQUE. Insiemi espliciti e ridenominazione di attributi in SQL. (3 ore).
JOIN, NATURAL JOIN, OUTER JOIN (left, right, full). Funzioni di aggregazione: COUNT, SUM, MAX, MIN, AVG. Clausola GROUP BY. Clausola HAVING. Clausola WITH. Costrutto CASE. Queries ricorsive. Concetto di vista in SQL. Statement CREATE VIEW. Statement DROP VIEW. Autorizzazione: statements GRANT e REVOKE. Statement DROP. Statement ALTER. (3 ore).
Il DBMS SQLite. (3 ore).
Accesso ed interazione con una base di dati SQLite in Python. (8 ore).
- Cay Horstmann, Rance D. Necaise, “Python: Introduzione alla Programmazione”, Prima Edizione Italiana, Apogeo Education, Maggioli Editore, 2023
- Ramez Elmasri, Shamkant B. Navathe, “Fundamentals of Database Systems”, 7th Edition, Pearson, 2015.
- Materiale didattico fornito dal docente tramite il sito elearning.unisalento.it.
LABORATORIO INFORMATICO (ING-INF/05)
PROGETTAZIONE DI ARCHITETTURE DI SERVIZI
Corso di laurea INGEGNERIA INFORMATICA
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea Magistrale
Crediti 6.0
Docente titolare LUCA MAINETTI
Ripartizione oraria Ore totali di attività frontale: 54.0
Ore erogate dal docente LUCA MAINETTI: 18.0
Per immatricolati nel 2023/2024
Anno accademico di erogazione 2023/2024
Anno di corso 1
Semestre Secondo Semestre (dal 04/03/2024 al 14/06/2024)
Lingua ITALIANO
Percorso PERCORSO COMUNE (999)
Sede Lecce
The prerequisites for attending the corse are the knowledge of structured programming languages (Java) and the fundamentals of computer science.
After the course the student should be able to: a. Apply main software engineering principles and control software qualities (both internal and external); b. Design and implement software following industrial standards (UML) and structured software production processes; c. Manage the software engineering i.e. execute tasks as planning, organizing, staffing, controlling, estimating (software cost and size); d. Design the software adopting standard software architectures; e. Select and adopt software design patterns (creational patterns, structural patterns, behavioral patterns); f. Verify the software exploiting standard tools and adopting well-known metrics; g. Develop complex model-view-controller web and mobile software systems, exploiting at the back end the Spring framework, and at the front end the Angular framework, connecting them through REST/JSON web services; h. Manage the fundamentals of modern cloud computing and cloud service deployment; i. Use the main open source tools for the software testing and refactoring, and for the software configuration management.
The main goal of the course is to deepen students’ knowledge on modern design and development techniques for interactive software systems. In particular, methods and tools for automated software testing, dev ops and design patterns for micro service architectures. All concepts will be experimented by students designing, developing and testing a software prototype of a service based web application with a mobile extension (app). The software prototype will be developed on top of modern frameworks (Spring, Angular).
Classroom and online lessons, classroom and online practice, project work.
The module will be verified with a small software prototype implementation, intended to verify the practice of micro-service architectures and tests, which will be discussed during an oral examination. The software system must be designed using UML, adopting standard design patterns. The software system must be developed starting from MVC frameworks (Spring, Angular), and must be systematically tested collecting metrics. The software prototype must be developed following an agile process and must be documented. A month before the end of the course, the general requirements of the software prototype will be published by the teacher, a new requirements set for each year. The requirements will be effective till a new set of specifications will appear.
See www.ing.unisalento.it.
www.unisalento.it/people/luca.mainetti
Software estimation techniques (Data Flow Diagrams and Function Points).
Software metrics.
Management of the software quality.
Service architectures design patterns.
DevOps agile development.
Introduction to the Docker platform.
Introduction to Spring Boot
Creating micro-service applications with Spring Cloud (Netflix Eureka).
Creating micro-service applications with Spring Cloud (Netflix Eureka).
Spring Data for MongoDB.
Spring Security.
Developing cross-platform mobile applications with Angular: project setup, component, template and data binding.
Angular: forms, routing and services.
Angular: consuming micro-services.
Ian Sommerville - Engineering Software Products: An Introduction to Modern Software Engineering - Pearson, 2020.
PROGETTAZIONE DI ARCHITETTURE DI SERVIZI (ING-INF/05)
FONDAMENTI DI INFORMATICA
Corso di laurea MEDICINA E CHIRURGIA
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea Magistrale a Ciclo Unico
Crediti 4.0
Ripartizione oraria Ore totali di attività frontale: 49.5
Per immatricolati nel 2021/2022
Anno accademico di erogazione 2022/2023
Anno di corso 2
Semestre Primo Semestre (dal 03/10/2022 al 20/01/2023)
Lingua
Percorso COMUNE/GENERICO (999)
Video di presentazione test
Non vi è alcuna propedeuticità per il corso.
In sintesi il corso affronta i seguenti temi: struttura dei sistemi di calcolo, concetto di algoritmo e elementi della programmazione strutturata, introduzione ai linguaggi di programmazione, introduzione alla rappresentazione dei requisiti e alla strutturazione dei dati, elementi di base del linguaggio Java.
Il corpus principale del corso intende fornire conoscenze di programmazione orientata agli oggetti e sviluppare le competenze necessarie per progettare e sviluppare semplici programmi Java. Ogni concetto esposto è sperimentato in modo pratico insieme agli studenti, utilizzando il personal computer e strumenti di sviluppo moderni e ampiamente diffusi nel mondo industriale.
Conoscenze e comprensione. Al termine del corso gli studenti: (a) conosceranno i principi della programmazione orientata agli oggetti, in relazione alle caratteristiche del software; (b) conosceranno gli aspetti generali del linguaggio Java cioè oggetti, classi, tipi di dati fondamentali, strutture di controllo, ereditarietà (elementi generali), interfacce (elementi generali); (c) comprenderanno le tecniche di codifica in Java di algoritmi; (d) comprenderanno come utilizzare i principali ambienti di sviluppo Java anche in relazione delle singole necessità rappresentate nei requisiti del software e nella strutturazione dei dati.
Capacità di applicare conoscenze e comprensione. Gli studenti saranno in grado di applicare le conoscenze acquisite in diversi ambiti applicativi e, in generale, per la codifica al computer in linguaggio Java di logica di business.
Autonomia di giudizio. Il corso favorisce l'autonomia di giudizio degli studenti attraverso l'analisi critica di problemi di modellazione del software da requisiti funzionali e non funzionali, per i quali trovare le soluzioni adeguate a risolverli in linguaggio Java. Diverse soluzioni proposte interattivamente dagli studenti saranno poste a confronto e valutate criticamente dagli studenti stessi.
Abilità comunicative. Gli studenti apprenderanno come comunicare adeguatamente e con il corretto livello di formalismo le scelte di design adottate e le strategie di implementazione scelte. Il metodo di insegnamento interattivo e teorico/pratico favorirà momenti di confronto in cui mettere in pratica tali abilità comunicative.
Capacità di apprendimento. La materia in costante evoluzione (sia le tecniche di sviluppo orientate agli oggetti, sia i linguaggi che le implementano) richiederà agli studenti la capacità di aggiornarsi e di ricercare materiale on-line, valutandone anche la qualità. Il metodo didattico favorirà l’approfondimento autonomo da parte degli studenti, incuriosendoli su tecniche di sviluppo evolute (vedi i design pattern).
Lezioni frontali, esercitazioni pratiche svolte preferibilmente con l’uso del personal computer, elaborazione individuale di semplici programmi Java.
L'esame prevede una prova orale per la verifica dell'apprendimento dei concetti teorici (verifica delle conoscenze) e della capacità di applicazione dei medesimi, in particolare per la codifica autonoma di semplici programmi Java (verifica delle competenze). Durante l’esame lo studente dovrà usare preferibilmente il proprio personal computer, configurato con gli ambienti di sviluppo illustrati e utilizzati durante il corso.
Si veda www.disteba.unisalento.it.
www.unisalento.it/people/luca.mainetti
Presentazione dettagliata del corso e delle modalità d’esame (2 ore). Struttura dei sistemi di calcolo (2 ore). Programmazione procedurale e programmazione orientata agli oggetti (2 ore). Raccogliere e rappresentare i requisiti (2 ore). Determinare l'architettura del software (2 ore). Determinare l'architettura dei dati (2 ore). Collaborare il processo di sviluppo del software (2 ore). Introduzione al linguaggio Java (2 ore). Utilizzare oggetti (2 ore). Realizzare classi Java (2 ore). Tipi di dati fondamentali Java (2 ore). Decisioni (2 ore). Iterazioni (2 ore). Array e vettori (4 ore). Progettare le classi (2 ore). Ereditarietà (6 ore). Interfacce (6 ore). Ingresso/uscita e gestione delle eccezioni (5,5 ore).
Cay Horstmann, “Concetti di Informatica e Fondamenti di Java”, Settima Edizione, Apogeo Education, Maggioli Editore, 2020.
FONDAMENTI DI INFORMATICA (ING-INF/05)
PROGETTAZIONE DI ARCHITETTURE DI SERVIZI
Corso di laurea INGEGNERIA INFORMATICA
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea Magistrale
Crediti 6.0
Docente titolare ROBERTO VERGALLO
Ripartizione oraria Ore totali di attività frontale: 54.0
Ore erogate dal docente LUCA MAINETTI: 18.0
Per immatricolati nel 2022/2023
Anno accademico di erogazione 2022/2023
Anno di corso 1
Semestre Secondo Semestre (dal 01/03/2023 al 09/06/2023)
Lingua ITALIANO
Percorso PERCORSO COMUNE (999)
Sede Lecce
The prerequisites for attending the corse are the knowledge of structured programming languages (Java) and the fundamentals of computer science.
After the course the student should be able to: a. Apply main software engineering principles and control software qualities (both internal and external); b. Design and implement software following industrial standards (UML) and structured software production processes; c. Manage the software engineering i.e. execute tasks as planning, organizing, staffing, controlling, estimating (software cost and size); d. Design the software adopting standard software architectures; e. Select and adopt software design patterns (creational patterns, structural patterns, behavioral patterns); f. Verify the software exploiting standard tools and adopting well-known metrics; g. Develop complex model-view-controller web and mobile software systems, exploiting at the back end the Spring framework, and at the front end the Angular framework, connecting them through REST/JSON web services; h. Manage the fundamentals of modern cloud computing and cloud service deployment; i. Use the main open source tools for the software testing and refactoring, and for the software configuration management.
The main goal of the course is to deepen students’ knowledge on modern design and development techniques for interactive software systems. In particular, methods and tools for automated software testing, dev ops and design patterns for micro service architectures. All concepts will be experimented by students designing, developing and testing a software prototype of a service based web application with a mobile extension (app). The software prototype will be developed on top of modern frameworks (Spring, Angular).
Classroom and online lessons, classroom and online practice, project work.
The module will be verified with a small software prototype implementation, intended to verify the practice of micro-service architectures and tests, which will be discussed during an oral examination. The software system must be designed using UML, adopting standard design patterns. The software system must be developed starting from MVC frameworks (Spring, Angular), and must be systematically tested collecting metrics. The software prototype must be developed following an agile process and must be documented. A month before the end of the course, the general requirements of the software prototype will be published by the teacher, a new requirements set for each year. The requirements will be effective till a new set of specifications will appear.
See www.ing.unisalento.it.
www.unisalento.it/people/luca.mainetti
Software estimation techniques (Data Flow Diagrams and Function Points).
Software metrics.
Management of the software quality.
Service architectures design patterns.
DevOps agile development.
Introduction to the Docker platform.
Introduction to Spring Boot
Creating micro-service applications with Spring Cloud (Netflix Eureka).
Creating micro-service applications with Spring Cloud (Netflix Eureka).
Spring Data for MongoDB.
Spring Security.
Developing cross-platform mobile applications with Angular: project setup, component, template and data binding.
Angular: forms, routing and services.
Angular: consuming micro-services.
Ian Sommerville - Engineering Software Products: An Introduction to Modern Software Engineering - Pearson, 2020.
PROGETTAZIONE DI ARCHITETTURE DI SERVIZI (ING-INF/05)
PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Per immatricolati nel 2022/2023
Anno accademico di erogazione 2022/2023
Anno di corso 1
Semestre Secondo Semestre (dal 01/03/2023 al 09/06/2023)
Lingua ITALIANO
Percorso PERCORSO COMUNE (999)
Sede Lecce
Elementi di teoria dell’informatica. Principi e basi per la programmazione. Esecuzione di operazioni seguendo una sequenza codificata di istruzioni elementari. Concetto di algoritmo. Algoritmi di base e strutture dati.
Non vi è alcuna propedeuticità ma sono suggerite le conoscenze di Fondamenti di Informatica.
Il corso intende fornire conoscenze di programmazione orientata agli oggetti e sviluppare le competenze necessarie per progettare e sviluppare semplici programmi. E’ la naturale prosecuzione del corso di Fondamenti di Informatica I, benché i contenuti siano pienamente autonomi.
Nel concreto, il corso affronta in profondità il linguaggio di programmazione Java, analizzandolo in tutti i suoi dettagli. Ogni concetto esposto è sperimentato in modo pratico insieme agli studenti, utilizzando il personal computer e strumenti di sviluppo moderni e ampiamente diffusi nel mondo industriale.
Conoscenze e comprensione. Al termine del corso gli studenti: (a) conosceranno i principi della programmazione orientata agli oggetti, in relazione alle caratteristiche del software; (b) conosceranno nel dettaglio il linguaggio Java cioè oggetti, classi, tipi di dati fondamentali, strutture di controllo, ereditarietà, interfacce e librerie; (c) comprenderanno le tecniche di codifica in Java di algoritmi; (d) comprenderanno come utilizzare i principali ambienti di sviluppo Java anche in relazione delle singole necessità rappresentate nei requisiti del software.
Capacità di applicare conoscenze e comprensione. Gli studenti saranno in grado di applicare le conoscenze acquisite in diversi ambiti applicativi e, in generale, per la codifica al computer in linguaggio Java di logica di business.
Autonomia di giudizio. Il corso favorisce l'autonomia di giudizio degli studenti attraverso l'analisi critica di problemi di modellazione del software da requisiti funzionali e non funzionali, per i quali trovare le soluzioni adeguate a risolverli in linguaggio Java. Diverse soluzioni proposte interattivamente dagli studenti saranno poste a confronto e valutate criticamente dagli studenti stessi.
Abilità comunicative. Gli studenti apprenderanno come comunicare adeguatamente e con il corretto livello di formalismo le scelte di design adottate e le strategie di implementazione scelte. Il metodo di insegnamento interattivo e teorico/pratico favorirà momenti di confronto in cui mettere in pratica tali abilità comunicative.
Capacità di apprendimento. La materia in costante evoluzione (sia le tecniche di sviluppo orientate agli oggetti, sia i linguaggi che le implementano) richiederà agli studenti la capacità di aggiornarsi e di ricercare materiale on-line, valutandone anche la qualità. Il metodo didattico favorirà l’approfondimento autonomo da parte degli studenti, incuriosendoli su tecniche di sviluppo evolute (vedi i design pattern) che saranno oggetto del corso di Principi di Ingegneria del Software.
Lezioni frontali (o on-line se l'emergenza sanitaria lo richiederà), esercitazioni pratiche svolte preferibilmente con l’uso del personal computer, elaborazione individuale di semplici programmi Java.
L'esame prevede una prova orale per la verifica dell'apprendimento dei concetti teorici (verifica delle conoscenze) e della capacità di applicazione dei medesimi, in particolare per la codifica autonoma di semplici programmi Java (verifica delle competenze). Durante l’esame lo studente dovrà usare preferibilmente il proprio personal computer, configurato con gli ambienti di sviluppo illustrati e utilizzati durante il corso.
Si veda www.ing.unisalento.it.
www.unisalento.it/people/luca.mainetti
Presentazione dettagliata del corso e delle modalità d’esame (2 ore). Dalla programmazione procedurale alla programmazione orientata agli oggetti (2 ore). Introduzione al linguaggio Java (2 ore). Utilizzare oggetti (2 ore). Realizzare classi Java (2 ore). Tipi di dati fondamentali Java (2 ore). Decisioni (4 ore). Iterazioni (4 ore). Array e vettori (4 ore). Progettare le classi (4 ore). Ereditarietà (4 ore). Interfacce (4 ore). Ingresso/uscita e gestione delle eccezioni (4 ore). Ricorsione (4 ore). Ordinamento e ricerca (4 ore). Introduzione a Java Collections Framework (4 ore). Cenni su applicazione dell'analisi della complessità computazionale (2 ore).
Cay Horstmann, “Concetti di Informatica e Fondamenti di Java”, Settima Edizione, Apogeo Education, Maggioli Editore, 2020.
PROGRAMMAZIONE ORIENTATA AGLI OGGETTI (ING-INF/05)
FONDAMENTI DI INFORMATICA II
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Per immatricolati nel 2020/2021
Anno accademico di erogazione 2021/2022
Anno di corso 2
Semestre Primo Semestre (dal 20/09/2021 al 17/01/2022)
Lingua ITALIANO
Percorso PERCORSO COMUNE (999)
Sede Lecce
Elementi di teoria dell’informatica. Principi e basi per la programmazione. Esecuzione di operazioni seguendo una sequenza codificata di istruzioni elementari. Concetto di algoritmo. Algoritmi di base e strutture dati.
Non vi è alcuna propedeuticità ma sono suggerite le conoscenze di Fondamenti di Informatica I.
Il corso intende fornire conoscenze di programmazione orientata agli oggetti e sviluppare le competenze necessarie per progettare e sviluppare semplici programmi. E’ la naturale prosecuzione del corso di Fondamenti di Informatica I, benché i contenuti siano pienamente autonomi.
Nel concreto, il corso affronta in profondità il linguaggio di programmazione Java, analizzandolo in tutti i suoi dettagli. Ogni concetto esposto è sperimentato in modo pratico insieme agli studenti, utilizzando il personal computer e strumenti di sviluppo moderni e ampiamente diffusi nel mondo industriale.
Conoscenze e comprensione. Al termine del corso gli studenti: (a) conosceranno i principi della programmazione orientata agli oggetti, in relazione alle caratteristiche del software; (b) conosceranno nel dettaglio il linguaggio Java cioè oggetti, classi, tipi di dati fondamentali, strutture di controllo, ereditarietà, interfacce e librerie; (c) comprenderanno le tecniche di codifica in Java di algoritmi; (d) comprenderanno come utilizzare i principali ambienti di sviluppo Java anche in relazione delle singole necessità rappresentate nei requisiti del software.
Capacità di applicare conoscenze e comprensione. Gli studenti saranno in grado di applicare le conoscenze acquisite in diversi ambiti applicativi e, in generale, per la codifica al computer in linguaggio Java di logica di business.
Autonomia di giudizio. Il corso favorisce l'autonomia di giudizio degli studenti attraverso l'analisi critica di problemi di modellazione del software da requisiti funzionali e non funzionali, per i quali trovare le soluzioni adeguate a risolverli in linguaggio Java. Diverse soluzioni proposte interattivamente dagli studenti saranno poste a confronto e valutate criticamente dagli studenti stessi.
Abilità comunicative. Gli studenti apprenderanno come comunicare adeguatamente e con il corretto livello di formalismo le scelte di design adottate e le strategie di implementazione scelte. Il metodo di insegnamento interattivo e teorico/pratico favorirà momenti di confronto in cui mettere in pratica tali abilità comunicative.
Capacità di apprendimento. La materia in costante evoluzione (sia le tecniche di sviluppo orientate agli oggetti, sia i linguaggi che le implementano) richiederà agli studenti la capacità di aggiornarsi e di ricercare materiale on-line, valutandone anche la qualità. Il metodo didattico favorirà l’approfondimento autonomo da parte degli studenti, incuriosendoli su tecniche di sviluppo evolute (vedi i design pattern) che saranno oggetto del corso di Principi di Ingegneria del Software.
Lezioni frontali (o on-line se l'emergenza sanitaria lo richiederà), esercitazioni pratiche svolte preferibilmente con l’uso del personal computer, elaborazione individuale di semplici programmi Java.
L'esame prevede una prova orale per la verifica dell'apprendimento dei concetti teorici (verifica delle conoscenze) e della capacità di applicazione dei medesimi, in particolare per la codifica autonoma di semplici programmi Java (verifica delle competenze). Durante l’esame lo studente dovrà usare preferibilmente il proprio personal computer, configurato con gli ambienti di sviluppo illustrati e utilizzati durante il corso.
Si veda www.ing.unisalento.it.
www.unisalento.it/people/luca.mainetti
Presentazione dettagliata del corso e delle modalità d’esame (2 ore). Dalla programmazione procedurale alla programmazione orientata agli oggetti (2 ore). Introduzione al linguaggio Java (2 ore). Utilizzare oggetti (2 ore). Realizzare classi Java (2 ore). Tipi di dati fondamentali Java (2 ore). Decisioni (4 ore). Iterazioni (4 ore). Array e vettori (4 ore). Progettare le classi (4 ore). Ereditarietà (4 ore). Interfacce (4 ore). Ingresso/uscita e gestione delle eccezioni (4 ore). Ricorsione (4 ore). Ordinamento e ricerca (4 ore). Introduzione a Java Collections Framework (4 ore). Cenni su analisi della complessità computazionale (2 ore).
Cay Horstmann, “Concetti di Informatica e Fondamenti di Java”, Settima Edizione, Apogeo Education, Maggioli Editore, 2020.
FONDAMENTI DI INFORMATICA II (ING-INF/05)
PRINCIPI DI INGEGNERIA DEL SOFTWARE
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 6.0
Docente titolare LUCA MAINETTI
Ripartizione oraria Ore totali di attività frontale: 54.0
Ore erogate dal docente LUCA MAINETTI: 36.0
Per immatricolati nel 2020/2021
Anno accademico di erogazione 2021/2022
Anno di corso 2
Semestre Secondo Semestre (dal 01/03/2022 al 10/06/2022)
Lingua ITALIANO
Percorso PERCORSO COMUNE (999)
Sede Lecce
Elementi di teoria dell’informatica. Principi e basi per la programmazione. Esecuzione di operazioni seguendo una sequenza codificata di istruzioni elementari. Concetto di algoritmo, algoritmi di base e strutture dati. Concetti di programmazione orientata agli oggetti. Linguaggio Java.
Non vi è alcuna propedeuticità ma sono suggerite le conoscenze di Fondamenti di Informatica II.
Il corso intende fornire conoscenze di ingegneria del software e sviluppare le competenze necessarie per progettare e sviluppare programmi complessi. E’ la naturale prosecuzione del corso di Fondamenti di Informatica II poiché richiede una buona padronanza del linguaggio Java, benché i contenuti teorici siano pienamente autonomi.
Nel concreto, il corso affronta in profondità le tecniche di analisi dei requisiti funzionali e non funzionali, progettazione con UML (Uniform Modeling Language) e sviluppo in Java di sistemi software organizzati secondo architetture standard (design patterns) e livelli di disaccoppiamento che ne facilitino l’evoluzione. Ogni concetto esposto è sperimentato in modo pratico insieme agli studenti, utilizzando il personal computer e strumenti di sviluppo moderni e ampiamente diffusi nel mondo industriale.
Conoscenze e comprensione. Al termine del corso gli studenti: (a) conosceranno i principi dell’ingegneria del software, in relazione alle caratteristiche e alle qualità del software; (b) conosceranno nel dettaglio le architetture software standard, i design patterns e i principi di riuso del software; (c) conosceranno e sperimenteranno i processi di sviluppo agili del software; (d) approfondiranno linguaggio Java in particolare per la costruzione di architetture software evolvibili; (e) comprenderanno le tecniche di condivisione del software e i sistemi di controllo delle versioni; (f) approfondiranno i principali ambienti di sviluppo Java anche in relazione alle necessità di sviluppo in coppia di applicazioni complesse.
Capacità di applicare conoscenze e comprensione. Gli studenti saranno in grado di applicare le conoscenze acquisite in diversi ambiti applicativi e, in generale, per la codifica al computer in linguaggio Java di applicazioni software con principi di riuso ed evolvibilità.
Autonomia di giudizio. Il corso favorisce l'autonomia di giudizio degli studenti attraverso l'analisi critica di problemi di modellazione del software da requisiti funzionali e non funzionali, per i quali trovare le soluzioni adeguate a risolverli in linguaggio Java con riferimento a noti design patterns. Diverse soluzioni proposte interattivamente dagli studenti saranno poste a confronto e valutate criticamente dagli studenti stessi.
Abilità comunicative. Gli studenti apprenderanno come comunicare adeguatamente e con il corretto livello di formalismo le scelte di design adottate e le strategie di implementazione scelte. Il metodo di insegnamento interattivo e teorico/pratico favorirà momenti di confronto in cui mettere in pratica tali abilità comunicative. Lo sviluppo di prototipi software in coppia richiederà tecniche di comunicazione allo stato dell’arte per l’ingegneria del software
Capacità di apprendimento. La materia in costante evoluzione (le tecniche di sviluppo orientate alle architetture software standard, i linguaggi che le implementano, gli strumenti di sviluppo) richiederà agli studenti la capacità di aggiornarsi e di ricercare materiale on-line, valutandone anche la qualità. Il metodo didattico favorirà l’approfondimento autonomo e in coppie da parte degli studenti, incuriosendoli su tecniche di sviluppo evolute (vedi il test driven development e le metriche del software) che saranno oggetto del corso magistrale di Software Engineering.
Lezioni frontali (o on-line se l'emergenza sanitaria lo richiederà), esercitazioni pratiche svolte preferibilmente con l’uso del personal computer, elaborazione a coppie di un’applicazione Java.
L'esame prevede una prova orale per la verifica dell'apprendimento dei concetti teorici (verifica delle conoscenze) e della capacità di applicazione dei medesimi, in particolare per la codifica in coppie di applicazioni Java complesse (verifica delle competenze). Durante l’esame, che sarà svolto in coppie, gli studenti dovranno usare preferibilmente il loro personal computer, configurato con gli ambienti di sviluppo illustrati e utilizzati durante il corso.
Si veda www.ing.unisalento.it.
www.unisalento.it/people/luca.mainetti
Presentazione dettagliata del corso e delle modalità d’esame (2 ore). Processi di sviluppo del software (2 ore). Processi agili (2 ore). UML: requisiti e casi d’uso (2 ore). UML: dai requisiti ai diagrammi delle classi, di sequenza e di stato (2 ore). UML: diagrammi delle classi, di sequenza, di stato, dei package e di deployment nel dettaglio (2 ore). Introduzione alle architetture software standard (2 ore). Design patterns (10 ore). Fondamenti di basi di dati: il modello Entità-Relazioni. (2 ore). Fondamenti di basi di dati: dal modello Entità-Relazioni al modello Relazionale. (2 ore). MySQL e SQL (4 ore). Presentazione dell’elaborato software (2 ore). Creare un'applicazione Java: predisporre l'ambiente di sviluppo e l’architettura software (4 ore). Creare un'applicazione Java: implementare le classi (4 ore). Creare un'applicazione Java: accedere a dati esterni (4 ore). Creare un'applicazione Java: realizzare l'interfaccia utente (6 ore). Gestire la sessione in Java (2 ore).
- Martin Fowler, “UML distilled. Guida rapida al linguaggio di modellazione standard”, Quarta Edizione, Pearson, Maggioli Editore, 2010.
- Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, “Design Patterns: Elementi per il riuso di software a oggetti”, Prima Edizione Italiana, Pearson, 2002.
- Il manuale di Java consigliato per il corso di Fondamenti di Informatica II.
PRINCIPI DI INGEGNERIA DEL SOFTWARE (ING-INF/05)
PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Per immatricolati nel 2021/2022
Anno accademico di erogazione 2021/2022
Anno di corso 1
Semestre Secondo Semestre (dal 01/03/2022 al 10/06/2022)
Lingua ITALIANO
Percorso PERCORSO COMUNE (999)
Sede Lecce
Elementi di teoria dell’informatica. Principi e basi per la programmazione. Esecuzione di operazioni seguendo una sequenza codificata di istruzioni elementari. Concetto di algoritmo. Algoritmi di base e strutture dati.
Non vi è alcuna propedeuticità ma sono suggerite le conoscenze di Fondamenti di Informatica I.
Il corso intende fornire conoscenze di programmazione orientata agli oggetti e sviluppare le competenze necessarie per progettare e sviluppare semplici programmi. E’ la naturale prosecuzione del corso di Fondamenti di Informatica I, benché i contenuti siano pienamente autonomi.
Nel concreto, il corso affronta in profondità il linguaggio di programmazione Java, analizzandolo in tutti i suoi dettagli. Ogni concetto esposto è sperimentato in modo pratico insieme agli studenti, utilizzando il personal computer e strumenti di sviluppo moderni e ampiamente diffusi nel mondo industriale.
Conoscenze e comprensione. Al termine del corso gli studenti: (a) conosceranno i principi della programmazione orientata agli oggetti, in relazione alle caratteristiche del software; (b) conosceranno nel dettaglio il linguaggio Java cioè oggetti, classi, tipi di dati fondamentali, strutture di controllo, ereditarietà, interfacce e librerie; (c) comprenderanno le tecniche di codifica in Java di algoritmi; (d) comprenderanno come utilizzare i principali ambienti di sviluppo Java anche in relazione delle singole necessità rappresentate nei requisiti del software.
Capacità di applicare conoscenze e comprensione. Gli studenti saranno in grado di applicare le conoscenze acquisite in diversi ambiti applicativi e, in generale, per la codifica al computer in linguaggio Java di logica di business.
Autonomia di giudizio. Il corso favorisce l'autonomia di giudizio degli studenti attraverso l'analisi critica di problemi di modellazione del software da requisiti funzionali e non funzionali, per i quali trovare le soluzioni adeguate a risolverli in linguaggio Java. Diverse soluzioni proposte interattivamente dagli studenti saranno poste a confronto e valutate criticamente dagli studenti stessi.
Abilità comunicative. Gli studenti apprenderanno come comunicare adeguatamente e con il corretto livello di formalismo le scelte di design adottate e le strategie di implementazione scelte. Il metodo di insegnamento interattivo e teorico/pratico favorirà momenti di confronto in cui mettere in pratica tali abilità comunicative.
Capacità di apprendimento. La materia in costante evoluzione (sia le tecniche di sviluppo orientate agli oggetti, sia i linguaggi che le implementano) richiederà agli studenti la capacità di aggiornarsi e di ricercare materiale on-line, valutandone anche la qualità. Il metodo didattico favorirà l’approfondimento autonomo da parte degli studenti, incuriosendoli su tecniche di sviluppo evolute (vedi i design pattern) che saranno oggetto del corso di Principi di Ingegneria del Software.
Lezioni frontali (o on-line se l'emergenza sanitaria lo richiederà), esercitazioni pratiche svolte preferibilmente con l’uso del personal computer, elaborazione individuale di semplici programmi Java.
L'esame prevede una prova orale per la verifica dell'apprendimento dei concetti teorici (verifica delle conoscenze) e della capacità di applicazione dei medesimi, in particolare per la codifica autonoma di semplici programmi Java (verifica delle competenze). Durante l’esame lo studente dovrà usare preferibilmente il proprio personal computer, configurato con gli ambienti di sviluppo illustrati e utilizzati durante il corso.
Si veda www.ing.unisalento.it.
www.unisalento.it/people/luca.mainetti
Presentazione dettagliata del corso e delle modalità d’esame (2 ore). Dalla programmazione procedurale alla programmazione orientata agli oggetti (2 ore). Introduzione al linguaggio Java (2 ore). Utilizzare oggetti (2 ore). Realizzare classi Java (2 ore). Tipi di dati fondamentali Java (2 ore). Decisioni (4 ore). Iterazioni (4 ore). Array e vettori (4 ore). Progettare le classi (4 ore). Ereditarietà (4 ore). Interfacce (4 ore). Ingresso/uscita e gestione delle eccezioni (4 ore). Ricorsione (4 ore). Ordinamento e ricerca (4 ore). Introduzione a Java Collections Framework (4 ore). Cenni su applicazione dell'analisi della complessità computazionale (2 ore).
Cay Horstmann, “Concetti di Informatica e Fondamenti di Java”, Settima Edizione, Apogeo Education, Maggioli Editore, 2020.
PROGRAMMAZIONE ORIENTATA AGLI OGGETTI (ING-INF/05)
SERVICE ARCHITECTURE ENGINEERING C.I.
Corso di laurea COMPUTER ENGINEERING
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea Magistrale
Crediti 4.0
Docente titolare LUCA MAINETTI
Ripartizione oraria Ore totali di attività frontale: 36.0
Ore erogate dal docente LUCA MAINETTI: 9.0
Per immatricolati nel 2021/2022
Anno accademico di erogazione 2021/2022
Anno di corso 1
Semestre Secondo Semestre (dal 01/03/2022 al 10/06/2022)
Lingua
Percorso PERCORSO COMUNE (999)
The prerequisites for attending the corse are the knowledge of structured programming languages (Java) and the fundamentals of computer science.
After the course the student should be able to: a. Apply main software engineering principles and control software qualities (both internal and external); b. Design and implement software following industrial standards (UML) and structured software production processes; c. Manage the software engineering i.e. execute tasks as planning, organizing, staffing, controlling, estimating (software cost and size); d. Design the software adopting standard software architectures; e. Select and adopt software design patterns (creational patterns, structural patterns, behavioral patterns); f. Verify the software exploiting standard tools and adopting well-known metrics; g. Develop complex model-view-controller web and mobile software systems, exploiting at the back end the Spring framework, and at the front end the Angular framework, connecting them through REST/JSON web services; h. Manage the fundamentals of modern cloud computing and cloud service deployment; i. Use the main open source tools for the software testing and refactoring, and for the software configuration management.
The main goal of the course is to deepen students’ knowledge on modern design and development techniques for interactive software systems. In particular, methods and tools for automated software testing, dev ops and design patterns for micro service architectures. All concepts will be experimented by students designing, developing and testing a software prototype of a service based web application with a mobile extension (app). The software prototype will be developed on top of modern frameworks (Spring, Angular).
Classroom and online lessons, classroom and online practice, project work.
The module will be verified with a small software prototype implementation, intended to verify the practice of micro-service architectures and tests, which will be discussed during an oral examination. The software system must be designed using UML, adopting standard design patterns. The software system must be developed starting from MVC frameworks (Spring, Angular), and must be systematically tested collecting metrics. The software prototype must be developed following an agile process and must be documented. A month before the end of the course, the general requirements of the software prototype will be published by the teacher, a new requirements set for each year. The requirements will be effective till a new set of specifications will appear.
See www.ing.unisalento.it.
www.unisalento.it/people/luca.mainetti
Software estimation techniques (Data Flow Diagrams and Function Points).
Software metrics.
Management of the software quality.
Service architectures design patterns.
DevOps agile development.
Introduction to the Docker platform.
Introduction to Spring Boot
Creating micro-service applications with Spring Cloud (Netflix Eureka).
Creating micro-service applications with Spring Cloud (Netflix Eureka).
Spring Data for MongoDB.
Spring Security.
Developing cross-platform mobile applications with Angular: project setup, component, template and data binding.
Angular: forms, routing and services.
Angular: consuming micro-services.
Ian Sommerville - Engineering Software Products: An Introduction to Modern Software Engineering - Pearson, 2020.
SERVICE ARCHITECTURE ENGINEERING C.I. (ING-INF/05)
FONDAMENTI DI INFORMATICA II
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Per immatricolati nel 2019/2020
Anno accademico di erogazione 2020/2021
Anno di corso 2
Semestre Primo Semestre (dal 29/09/2020 al 18/12/2020)
Lingua ITALIANO
Percorso PERCORSO COMUNE (999)
Sede Lecce
Elementi di teoria dell’informatica. Principi e basi per la programmazione. Esecuzione di operazioni seguendo una sequenza codificata di istruzioni elementari. Concetto di algoritmo. Algoritmi di base e strutture dati.
Non vi è alcuna propedeuticità ma sono suggerite le conoscenze di Fondamenti di Informatica I.
Il corso intende fornire conoscenze di programmazione orientata agli oggetti e sviluppare le competenze necessarie per progettare e sviluppare semplici programmi. E’ la naturale prosecuzione del corso di Fondamenti di Informatica I, benché i contenuti siano pienamente autonomi.
Nel concreto, il corso affronta in profondità il linguaggio di programmazione Java, analizzandolo in tutti i suoi dettagli. Ogni concetto esposto è sperimentato in modo pratico insieme agli studenti, utilizzando il personal computer e strumenti di sviluppo moderni e ampiamente diffusi nel mondo industriale.
Conoscenze e comprensione. Al termine del corso gli studenti: (a) conosceranno i principi della programmazione orientata agli oggetti, in relazione alle caratteristiche del software; (b) conosceranno nel dettaglio il linguaggio Java cioè oggetti, classi, tipi di dati fondamentali, strutture di controllo, ereditarietà, interfacce e librerie; (c) comprenderanno le tecniche di codifica in Java di algoritmi; (d) comprenderanno come utilizzare i principali ambienti di sviluppo Java anche in relazione delle singole necessità rappresentate nei requisiti del software.
Capacità di applicare conoscenze e comprensione. Gli studenti saranno in grado di applicare le conoscenze acquisite in diversi ambiti applicativi e, in generale, per la codifica al computer in linguaggio Java di logica di business.
Autonomia di giudizio. Il corso favorisce l'autonomia di giudizio degli studenti attraverso l'analisi critica di problemi di modellazione del software da requisiti funzionali e non funzionali, per i quali trovare le soluzioni adeguate a risolverli in linguaggio Java. Diverse soluzioni proposte interattivamente dagli studenti saranno poste a confronto e valutate criticamente dagli studenti stessi.
Abilità comunicative. Gli studenti apprenderanno come comunicare adeguatamente e con il corretto livello di formalismo le scelte di design adottate e le strategie di implementazione scelte. Il metodo di insegnamento interattivo e teorico/pratico favorirà momenti di confronto in cui mettere in pratica tali abilità comunicative.
Capacità di apprendimento. La materia in costante evoluzione (sia le tecniche di sviluppo orientate agli oggetti, sia i linguaggi che le implementano) richiederà agli studenti la capacità di aggiornarsi e di ricercare materiale on-line, valutandone anche la qualità. Il metodo didattico favorirà l’approfondimento autonomo da parte degli studenti, incuriosendoli su tecniche di sviluppo evolute (vedi i design pattern) che saranno oggetto del corso di Principi di Ingegneria del Software.
Lezioni on-line o frontali, esercitazioni pratiche svolte preferibilmente con l’uso del personal computer, elaborazione individuale di semplici programmi Java.
L'esame prevede una prova orale per la verifica dell'apprendimento dei concetti teorici (verifica delle conoscenze) e della capacità di applicazione dei medesimi, in particolare per la codifica autonoma di semplici programmi Java (verifica delle competenze). Durante l’esame lo studente dovrà usare preferibilmente il proprio personal computer, configurato con gli ambienti di sviluppo illustrati e utilizzati durante il corso.
Si veda www.ing.unisalento.it.
www.unisalento.it/people/luca.mainetti
Presentazione dettagliata del corso e delle modalità d’esame (2 ore). Dalla programmazione procedurale alla programmazione orientata agli oggetti (2 ore). Introduzione al linguaggio Java (2 ore). Utilizzare oggetti (2 ore). Realizzare classi Java (2 ore). Tipi di dati fondamentali Java (2 ore). Decisioni (4 ore). Iterazioni (4 ore). Array e vettori (4 ore). Progettare le classi (4 ore). Ereditarietà (4 ore). Interfacce (4 ore). Ingresso/uscita e gestione delle eccezioni (4 ore). Ricorsione (4 ore). Ordinamento e ricerca (4 ore). Introduzione a Java Collections Framework (4 ore). Cenni su analisi della complessità computazionale (2 ore).
Cay Horstmann, “Concetti di Informatica e Fondamenti di Java”, Settima Edizione, Apogeo Education, Maggioli Editore, 2020.
FONDAMENTI DI INFORMATICA II (ING-INF/05)
PRINCIPI DI INGEGNERIA DEL SOFTWARE
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Per immatricolati nel 2019/2020
Anno accademico di erogazione 2020/2021
Anno di corso 2
Semestre Secondo Semestre (dal 01/03/2021 al 11/06/2021)
Lingua ITALIANO
Percorso PERCORSO COMUNE (999)
Sede Lecce
Elementi di teoria dell’informatica. Principi e basi per la programmazione. Esecuzione di operazioni seguendo una sequenza codificata di istruzioni elementari. Concetto di algoritmo, algoritmi di base e strutture dati. Concetti di programmazione orientata agli oggetti. Linguaggio Java.
Non vi è alcuna propedeuticità ma sono suggerite le conoscenze di Fondamenti di Informatica II.
Il corso intende fornire conoscenze di ingegneria del software e sviluppare le competenze necessarie per progettare e sviluppare programmi complessi. E’ la naturale prosecuzione del corso di Fondamenti di Informatica II poiché richiede una buona padronanza del linguaggio Java, benché i contenuti teorici siano pienamente autonomi.
Nel concreto, il corso affronta in profondità le tecniche di analisi dei requisiti funzionali e non funzionali, progettazione con UML (Uniform Modeling Language) e sviluppo in Java di sistemi software organizzati secondo architetture standard (design patterns) e livelli di disaccoppiamento che ne facilitino l’evoluzione. Ogni concetto esposto è sperimentato in modo pratico insieme agli studenti, utilizzando il personal computer e strumenti di sviluppo moderni e ampiamente diffusi nel mondo industriale.
Conoscenze e comprensione. Al termine del corso gli studenti: (a) conosceranno i principi dell’ingegneria del software, in relazione alle caratteristiche e alle qualità del software; (b) conosceranno nel dettaglio le architetture software standard, i design patterns e i principi di riuso del software; (c) conosceranno e sperimenteranno i processi di sviluppo agili del software; (d) approfondiranno linguaggio Java in particolare per la costruzione di architetture software evolvibili; (e) comprenderanno le tecniche di condivisione del software e i sistemi di controllo delle versioni; (f) approfondiranno i principali ambienti di sviluppo Java anche in relazione alle necessità di sviluppo in coppia di applicazioni complesse.
Capacità di applicare conoscenze e comprensione. Gli studenti saranno in grado di applicare le conoscenze acquisite in diversi ambiti applicativi e, in generale, per la codifica al computer in linguaggio Java di applicazioni software con principi di riuso ed evolvibilità.
Autonomia di giudizio. Il corso favorisce l'autonomia di giudizio degli studenti attraverso l'analisi critica di problemi di modellazione del software da requisiti funzionali e non funzionali, per i quali trovare le soluzioni adeguate a risolverli in linguaggio Java con riferimento a noti design patterns. Diverse soluzioni proposte interattivamente dagli studenti saranno poste a confronto e valutate criticamente dagli studenti stessi.
Abilità comunicative. Gli studenti apprenderanno come comunicare adeguatamente e con il corretto livello di formalismo le scelte di design adottate e le strategie di implementazione scelte. Il metodo di insegnamento interattivo e teorico/pratico favorirà momenti di confronto in cui mettere in pratica tali abilità comunicative. Lo sviluppo di prototipi software in coppia richiederà tecniche di comunicazione allo stato dell’arte per l’ingegneria del software
Capacità di apprendimento. La materia in costante evoluzione (le tecniche di sviluppo orientate alle architetture software standard, i linguaggi che le implementano, gli strumenti di sviluppo) richiederà agli studenti la capacità di aggiornarsi e di ricercare materiale on-line, valutandone anche la qualità. Il metodo didattico favorirà l’approfondimento autonomo e in coppie da parte degli studenti, incuriosendoli su tecniche di sviluppo evolute (vedi il test driven development e le metriche del software) che saranno oggetto del corso magistrale di Software Engineering.
Lezioni on-line o frontali, esercitazioni pratiche svolte preferibilmente con l’uso del personal computer, elaborazione a coppie di un’applicazione Java.
L'esame prevede una prova orale per la verifica dell'apprendimento dei concetti teorici (verifica delle conoscenze) e della capacità di applicazione dei medesimi, in particolare per la codifica in coppie di applicazioni Java complesse (verifica delle competenze). Durante l’esame, che sarà svolto in coppie, gli studenti dovranno usare preferibilmente il loro personal computer, configurato con gli ambienti di sviluppo illustrati e utilizzati durante il corso.
Si veda www.ing.unisalento.it.
www.unisalento.it/people/luca.mainetti
Presentazione dettagliata del corso e delle modalità d’esame (2 ore). Processi di sviluppo del software (2 ore). Processi agili (2 ore). UML: requisiti e casi d’uso (2 ore). UML: dai requisiti ai diagrammi delle classi, di sequenza e di stato (2 ore). UML: diagrammi delle classi, di sequenza, di stato, dei package e di deployment nel dettaglio (2 ore). Introduzione alle architetture software standard (2 ore). Design patterns (10 ore). Fondamenti di basi di dati: il modello Entità-Relazioni. (2 ore). Fondamenti di basi di dati: dal modello Entità-Relazioni al modello Relazionale. (2 ore). MySQL e SQL (4 ore). Presentazione dell’elaborato software (2 ore). Creare un'applicazione Java: predisporre l'ambiente di sviluppo e l’architettura software (4 ore). Creare un'applicazione Java: implementare le classi (4 ore). Creare un'applicazione Java: accedere a dati esterni (4 ore). Creare un'applicazione Java: realizzare l'interfaccia utente (6 ore). Gestire la sessione in Java (2 ore).
- Martin Fowler, “UML distilled. Guida rapida al linguaggio di modellazione standard”, Quarta Edizione, Pearson, Maggioli Editore, 2010.
- Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, “Design Patterns: Elementi per il riuso di software a oggetti”, Prima Edizione Italiana, Pearson, 2002.
- Il manuale di Java consigliato per il corso di Fondamenti di Informatica II.
PRINCIPI DI INGEGNERIA DEL SOFTWARE (ING-INF/05)
SOFTWARE ENGINEERING
Degree course COMPUTER ENGINEERING
Subject area ING-INF/05
Course type Laurea Magistrale
Credits 9.0
Teaching hours Ore totali di attività frontale: 81.0
For matriculated on 2020/2021
Year taught 2020/2021
Course year 1
Semestre Secondo Semestre (dal 01/03/2021 al 11/06/2021)
Language INGLESE
Subject matter PERCORSO COMUNE (999)
Location Lecce
The prerequisites for attending the corse are the knowledge of structured programming languages (Java) and the fundamentals of computer science.
After the course the student should be able to: a. Apply main software engineering principles and control software qualities (both internal and external); b. Design and implement software following industrial standards (UML) and structured software production processes; c. Manage the software engineering i.e. execute tasks as planning, organizing, staffing, controlling, estimating (software cost and size); d. Design the software adopting standard software architectures; e. Select and adopt software design patterns (creational patterns, structural patterns, behavioral patterns); f. Verify the software exploiting standard tools and adopting well-known metrics; g. Develop complex model-view-controller web and mobile software systems, exploiting at the back end the Spring framework, and at the front end the Angular framework, connecting them through REST/JSON web services; h. Manage the fundamentals of modern cloud computing and cloud service deployment; i. Use the main open source tools for the software testing and refactoring, and for the software configuration management.
The main goal of the course is to deepen students’ knowledge on modern design and development techniques for interactive software systems. In particular, methods and tools for automated software testing, agile processes organization and design patterns selection will be analyzed. All concepts will be experimented by students designing, developing and testing a software prototype of a service based web application with a mobile extension (app). The software prototype will be developed on top of modern frameworks (Spring, Angular, Ionic, Amazon AWS).
Online or classroom lessons, classroom practice, project work in pair programming.
The exam consists of two tests: a written test, intended to verify the theory of software engineering concepts (10 points out of 30); a software prototype implementation, intended to verify the practice of design patterns, MVC architectures and tests, which will be discussed during an oral examination (20 points of 30). Both written test and software prototype implementation are mandatory. The software prototype should be developed in pairs. The software system must be designed using UML, adopting standard design patterns. The software system must be developed starting from MVC frameworks (Spring, Angular, Ionic, AWS), using a structured programming language, and must be systematically tested collecting metrics. A mobile extension of the software system is required. The software prototype must be developed following an agile process and must be documented. A month before the end of the course, the general requirements of the software prototype will be published by the teacher, a new requirements set for each year. The requirements will be effective till a new set of specifications will appear. The mark of the written exam has the same temporal extension of the project's requirements.
See www.ing.unisalento.it.
www.unisalento.it/people/luca.mainetti
Software engineering principles:
- Software qualities and software engineering principles;
- Software production process;
- Management of software engineering.
Software architectures:
- Design and software architectures;
- Software architectures specification.
Software design pattern:
- Introduction to standard architectures and design patterns;
- How to select and adopt a design pattern;
- Creational patterns, structural patterns, behavioral patterns.
Software verification:
- Introduction to man software verification methods;
- Black-box and white-box methods;
- Test in the large, test in the small, correctness proofs;
- Software metrics.
Introduction to Spring framework:
- Introduction to Java EE;
- Creating a dynamic web project with Java EE;
- Introduction to Spring framework and development environment setup;
- Developing a Spring MVC application;
- Accessing Data Layer with Spring Data JPA;
- Building a RESTful Web Service.
Software development and verification tools:
- Unit testing with JUnit and Refactoring;
- Versioning control and code sharing with GIT.
Cloud computing with Amazon Web Services and EC2:
- Introduction to Amazon EC2 platform;
- Introduction to Amazon API Gateway;
- Configuring an EC2 instance and publishing API.
Mobile apps development with AngularJS:
- Angular: Project Setup;
- Angular: Component, Template & Data Binding;
- Angular: Forms (Input, Validation, Template-Driven);
- Angular: Services, Routing, HTTP;
- Developing Cross-platform Mobile App with Ionic.
1. Ghezzi, Jazayeri, Mandrioli - Fundamentals of Software Engineering (2nd edition) - Pearson College Div 2002.
2. Fowler - UML Distilled (3rd edition) - Addison Wesley Object Technology 2003.
3. Gamma, Helm, Johnson, Vlissides - Design patterns - Addison Wesley 2002.
4. Larman - Agile and Iterative Development: A Manager's Guide - Addison-Wesley Professional 2003.
5. Beck - Test Driven Development: By Example - Addison-Wesley Professional 2002.
SOFTWARE ENGINEERING (ING-INF/05)
PRINCIPI DI PROGETTAZIONE DEL SOFTWARE
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Per immatricolati nel 2018/2019
Anno accademico di erogazione 2019/2020
Anno di corso 2
Semestre Primo Semestre (dal 23/09/2019 al 20/12/2019)
Lingua ITALIANO
Percorso PERCORSO COMUNE (999)
Sede Lecce
Si richiedono conoscenze di Fondamenti di Informatica
Dopo il corso lo studente sarà in grado di:
- Comprendere i requisiti funzionali e non funzionali di un sistema software interattivo.
- Progettare l’architettura software e l’architettura dei dati di un sistema interattivo secondo principi ingegneristici mappando i requisiti in artefatti software.
- Pianificare le fasi dello sviluppo di un sistema software interattivo secondo il metodo agile “Scrum” suddividendo il lavoro da svolgere con un collega.
- Sviluppare un sistema software interattivo in linguaggio Java e la sua base di dati.
- Utilizzare operativamente ambienti di sviluppo Java (IntelliJ, Eclipse) e di basi di dati relazionali (MySQL).
Il corso fornisce agli studenti una visione introduttiva ma globale sulla disciplina sull’ingegneria del software per una piena comprensione dei processi che guidano la progettazione, lo sviluppo e il testing di un sistema software complesso e della sua base di dati. L'approccio didattico è teorico-pratico: ogni concetto esposto è oggetto di applicazione pratica, in particolare grazie allo sviluppo di un elaborato software in linguaggio Java. Si illustrano moderne tecniche e strumenti di progettazione, implementazione e verifica dell'ingegneria del software. Si analizzano i differenti processi di sviluppo del software e si mettono in pratica i metodi agili.
Lezioni frontali, esercitazioni pratiche, elaborazione di un progetto software da svolgersi in coppie.
L'esame prevede due prove, uno scritto volto a verificare l'apprendimento dei concetti teorici, che contribuisce a un massimo di 10 punti su 30; un elaborato software volto a verificare la capacità di applicazione dei concetti teorici, che contribuisce a un massimo di 20 punti su 30. Ai fini dell'elaborato software, in gruppi di due persone, gli studenti devono realizzare un sistema software. Il sistema deve essere progettato con UML. Il sistema deve essere realizzato tramite un linguaggio di programmazione orientata agli oggetti (Java). Il sistema deve accedere dinamicamente ad una base di dati progettata con E/R e gestita da un DBMS relazionale (MySQL). Il gruppo deve lavorare secondo un processo "agile" (Scrum) e documentare il procedimento di lavoro adottato. Un mese prima del termine del corso è pubblicata la traccia dell'elaborato software, una traccia nuova per ogni anno, che rimane valida fino alla pubblicazione della traccia dell'anno accademico successivo. L'esito della prova scritta ha la medesima validità temporale della traccia dell'elaborato software.
COVID19 E MODALITA' D'ESAME: in osservanza delle indicazioni ricevute dal Magnifico Rettore, durante il periodo di restrizioni governative gli esami saranno svolti esclusivamente on line con uso della piattaforma Microsoft Teams, alla quale tutti gli iscritti agli appelli si devono registrare con le credenziali istituzionali. Sempre in tale periodo, per i candidati che ancora non hanno sostenuto positivamente la prova parziale, lo scritto è sostituito da due domande fatte prima della presentazione del progetto software durante la prova orale. Le domande riguarderanno esercizi di design e saranno del tutto analoghe a quelle comprese nelle prove scritte tradizionali. Agli studenti potrà essere chiesto di rispondere abbozzando diagrammi o specifiche testuali, per le quali potranno utilizzare comuni editor quali word e powerpoint.
Vedi www.ing.unisalento.it.
Laurea Ingegneria dell'Informazione, Dipartimento di Ingegneria dell'Innovazione, Settore Scientifico Disciplinare 09-H1, 6 CFU, 48 ore di attività frontale, 44 ore di lavoro individuale svolto in coppie, 2° anno di corso, 1° semestre, lingua italiana.
Orario di ricevimento: lunedì 15:00-19:00 presso lo studio del docente, Edificio La Stecca, 1° piano, scala centrale fronte bar, Campus Ecotekne.
- I processi di sviluppo del software (4 ore):
- Processo a cascata, processi iterativi, processi agili.
- Progettazione dell'architettura software (8 ore):
- UML: requisiti, casi d'uso;
- UML: introduzione operativa ai diagrammi delle classi, sequenza, stato;
- UML: diagrammi delle classi, diagrammi di sequenza, attività, stato, fisici.
- Progettazione delle classi (2 ore):
- Le linee guida: incapsulamento, coesione, coerenza, pre-condizioni, asserzioni, eccezioni, post-condizioni, invarianti, test di unità.
- Fondamenti di basi di dati (6 ore):
- Il modello Entità-Relazioni;
- Dal modello Entità-Relazioni al modello Relazionale.
- Un corso veloce di Java (7 ore):
- Oggetti, classi, tipi di dati fondamentali;
- Strutture di controllo, riferimenti a oggetti, passaggio parametri;
- Interfacce, polimorfismo, ereditarietà, eccezioni.
- Creare un'applicazione Java (21):
- Predisporre l'ambiente di sviluppo;
- Progettare le classi;
- Implementare le classi;
- Accedere a dati esterni;
- Verificare le classi.
1. C. S. Horstmann, Progettazione del Software e Design Pattern in Java, Apogeo.
2. C. S. Horstmann, Concetti di Informatica e Fondamenti di Java, Apogeo.
3. M. Fowler, UML Distilled, Pearson Addison-Wesley, 2004.
PRINCIPI DI PROGETTAZIONE DEL SOFTWARE (ING-INF/05)
SOFTWARE ENGINEERING
Degree course COMPUTER ENGINEERING
Subject area ING-INF/05
Course type Laurea Magistrale
Credits 9.0
Teaching hours Ore totali di attività frontale: 81.0
For matriculated on 2019/2020
Year taught 2019/2020
Course year 1
Semestre Secondo Semestre (dal 02/03/2020 al 05/06/2020)
Language INGLESE
Subject matter PERCORSO COMUNE (999)
Location Lecce
The prerequisites for attending the corse are the knowledge of structured programming languages (Java) and the fundamentals of computer science.
After the course the student should be able to:
- Apply main software engineering principles and control software qualities (both internal and external);
- Design and implement software following industrial standards (UML) and structured software production processes;
- Manage the software engineering i.e. execute tasks as planning, organizing, staffing, controlling, estimating (software cost and size);
- Design the software adopting standard software architectures;
- Select and adopt software design patterns (creational patterns, structural patterns, behavioral patterns);
- Verify the software exploiting standard tools and adopting well-known metrics;
- Develop complex model-view-controller web and mobile software systems, exploiting at the back end the Spring framework, and at the front end the AngularJS framework, connecting them through RSRT/JSON web services;
- Use the main open source tools for the software testing and refactoring, and for the software configuration management.
The main goal of the course is to deepen students’ knowledge on modern design and development techniques for interactive software systems. In particular, methods and tools for automated software testing, agile processes organization and design patterns selection will be analyzed. All concepts will be experimented by students designing, developing and testing a software prototype of a service based web application with a mobile extension (app). The software prototype will be developed on top of modern frameworks (Spring, Angular, Ionic).
Classroom lessons, classroom practice, project work in pair programming.
The exam consists of two tests: a written test, intended to verify the theory of software engineering concepts (10 points out of 30); a software prototype implementation, intended to verify the practice of design patterns, MVC architectures and tests, which will be discussed during an oral examination (20 points of 30). Both written test and software prototype implementation are mandatory. The software prototype should be developed in pairs. The software system must be designed using UML, adopting standard design patterns. The software system must be developed starting from MVC frameworks (Spring, AngularJS), using a structured programming language, and must be systematically tested collecting metrics. A mobile extension of the software system is required. The software prototype must be developed following an agile process and must be documented. A month before the end of the course, the general requirements of the software prototype will be published by the teacher, a new requirements set for each year. The requirements will be effective till a new set of specifications will appear. The mark of the written exam has the same temporal extension of the project's requirements.
See www.ing.unisalento.it.
Master's degree in Computer Engineering, Department of Innovation Engineering, teaching sector ING-INF/05, 9 CFU, 74 hours in classroom (both theory and practice), 54 hours of project work in pair, 1° year, 2° term.
To meet the teacher: Monday form 3:00 PM to 7:00 PM at the teacher office, La Stecca building, 1° floor, central staircase, Ecotekne campus.
- Software engineering principles (8 hours):
- Software qualities and software engineering principles;
- Software production process;
- Management of software engineering.
- Software architectures (4 hours):
- Design and software architectures;
- Software architectures specification.
- Software design pattern (12 hours):
- Introduction to standard architectures and design patterns;
- How to select and adopt a design pattern;
- Creational patterns, structural patterns, behavioral patterns.
- Software verification (10 hours):
- Introduction to man software verification methods;
- Black-box and white-box methods;
- Test in the large, test in the small, correctness proofs;
- Software metrics.
- Introduction to Spring framework (14 hours):
- Introduction to Java EE;
- Creating a dynamic web project with Java EE;
- Introduction to Spring framework and development environment setup;
- Developing a Spring MVC application;
- Accessing Data Layer with Spring Data JPA;
- Building a RESTful Web Service.
- Software development and verification tools (5 hours):
- JUnit;
- Refactoring;
- Concurrent Versioning Systems (GIT).
- Cloud computing with Amazon Web Services and EC2 (7 hours):
- Introduction to Amazon EC2 platform;
- Introduction to Amazon API Gateway;
- Configuring an EC2 instance and publishing API.
- Mobile apps development with AngularJS (14 hours):
- Angular: Project Setup;
- Angular: Component, Template & Data Binding;
- Angular: Forms (Input, Validation, Template-Driven);
- Angular: Services, Routing, HTTP;
- Developing Cross-platform Mobile App with Ionic.
1. Ghezzi, Jazayeri, Mandrioli - Fundamentals of Software Engineering (2nd edition) - Pearson College Div 2002.
2. Fowler - UML Distilled (3rd edition) - Addison Wesley Object Technology 2003.
3. Gamma, Helm, Johnson, Vlissides - Design patterns - Addison Wesley 2002.
4. Larman - Agile and Iterative Development: A Manager's Guide - Addison-Wesley Professional 2003.
5. Beck - Test Driven Development: By Example - Addison-Wesley Professional 2002.
6. Fowler, Beck, Brant, Opdyke, Roberts - Refactoring: Improving the Design of Existing Code - Addison-Wesley Professional 1999.
7. A Java advanced programming reference guide.
SOFTWARE ENGINEERING (ING-INF/05)
PRINCIPI DI PROGETTAZIONE DEL SOFTWARE
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Per immatricolati nel 2017/2018
Anno accademico di erogazione 2018/2019
Anno di corso 2
Semestre Primo Semestre (dal 24/09/2018 al 21/12/2018)
Lingua ITALIANO
Percorso PERCORSO COMUNE (999)
Sede Lecce
Si richiedono conoscenze di Fondamenti di Informatica
Dopo il corso lo studente sarà in grado di:
- Comprendere i requisiti funzionali e non funzionali di un sistema software interattivo.
- Progettare l’architettura software e l’architettura dei dati di un sistema interattivo secondo principi ingegneristici mappando i requisiti in artefatti software.
- Pianificare le fasi dello sviluppo di un sistema software interattivo secondo il metodo agile “Scrum” suddividendo il lavoro da svolgere con un collega.
- Sviluppare un sistema software interattivo in linguaggio Java e la sua base di dati.
- Utilizzare operativamente ambienti di sviluppo Java (IntelliJ, Eclipse) e di basi di dati relazionali (MySQL).
Il corso fornisce agli studenti una visione introduttiva ma globale sulla disciplina sull’ingegneria del software per una piena comprensione dei processi che guidano la progettazione, lo sviluppo e il testing di un sistema software complesso e della sua base di dati. L'approccio didattico è teorico-pratico: ogni concetto esposto è oggetto di applicazione pratica, in particolare grazie allo sviluppo di un elaborato software in linguaggio Java. Si illustrano moderne tecniche e strumenti di progettazione, implementazione e verifica dell'ingegneria del software. Si analizzano i differenti processi di sviluppo del software e si mettono in pratica i metodi agili.
Lezioni frontali, esercitazioni pratiche, elaborazione di un progetto software da svolgersi in coppie.
L'esame prevede due prove, uno scritto volto a verificare l'apprendimento dei concetti teorici, che contribuisce a un massimo di 10 punti su 30; un elaborato software volto a verificare la capacità di applicazione dei concetti teorici, che contribuisce a un massimo di 20 punti su 30. Ai fini dell'elaborato software, in gruppi di due persone, gli studenti devono realizzare un sistema software. Il sistema deve essere progettato con UML. Il sistema deve essere realizzato tramite un linguaggio di programmazione orientata agli oggetti (Java). Il sistema deve accedere dinamicamente ad una base di dati progettata con E/R e gestita da un DBMS relazionale (MySQL). Il gruppo deve lavorare secondo un processo "agile" (Scrum) e documentare il procedimento di lavoro adottato. Un mese prima del termine del corso è pubblicata la traccia dell'elaborato software, una traccia nuova per ogni anno, che rimane valida fino alla pubblicazione della traccia dell'anno accademico successivo. L'esito della prova scritta ha la medesima validità temporale della traccia dell'elaborato software.
Laurea Ingegneria dell'Informazione, Dipartimento di Ingegneria dell'Innovazione, Settore Scientifico Disciplinare 09-H1, 6 CFU, 48 ore di attività frontale, 44 ore di lavoro individuale svolto in coppie, 2° anno di corso, 1° semestre, lingua italiana.
Orario di ricevimento: mercoledì 15:00-19:00 presso lo studio del docente, Edificio La Stecca, 1° piano, scala centrale fronte bar, Campus Ecotekne.
- I processi di sviluppo del software (4 ore):
- Processo a cascata, processi iterativi, processi agili.
- Progettazione dell'architettura software (8 ore):
- UML: requisiti, casi d'uso;
- UML: introduzione operativa ai diagrammi delle classi, sequenza, stato;
- UML: diagrammi delle classi, diagrammi di sequenza, attività, stato, fisici.
- Progettazione delle classi (2 ore):
- Le linee guida: incapsulamento, coesione, coerenza, pre-condizioni, asserzioni, eccezioni, post-condizioni, invarianti, test di unità.
- Fondamenti di basi di dati (6 ore):
- Il modello Entità-Relazioni;
- Dal modello Entità-Relazioni al modello Relazionale.
- Un corso veloce di Java (7 ore):
- Oggetti, classi, tipi di dati fondamentali;
- Strutture di controllo, riferimenti a oggetti, passaggio parametri;
- Interfacce, polimorfismo, ereditarietà, eccezioni.
- Creare un'applicazione Java (21):
- Predisporre l'ambiente di sviluppo;
- Progettare le classi;
- Implementare le classi;
- Accedere a dati esterni;
- Verificare le classi.
1. C. S. Horstmann, Progettazione del Software e Design Pattern in Java, Apogeo.
2. C. S. Horstmann, Concetti di Informatica e Fondamenti di Java, Apogeo.
3. M. Fowler, UML Distilled, Pearson Addison-Wesley, 2004.
PRINCIPI DI PROGETTAZIONE DEL SOFTWARE (ING-INF/05)
SOFTWARE ENGINEERING
Degree course COMPUTER ENGINEERING
Subject area ING-INF/05
Course type Laurea Magistrale
Credits 9.0
Teaching hours Ore totali di attività frontale: 81.0
For matriculated on 2018/2019
Year taught 2018/2019
Course year 1
Semestre Secondo Semestre (dal 04/03/2019 al 04/06/2019)
Language INGLESE
Subject matter PERCORSO COMUNE (999)
Location Lecce
The prerequisites for attending the corse are the knowledge of structured programming languages (Java) and the fundamentals of computer science.
After the course the student should be able to:
- Apply main software engineering principles and control software qualities (both internal and external);
- Design and implement software following industrial standards (UML) and structured software production processes;
- Manage the software engineering i.e. execute tasks as planning, organizing, staffing, controlling, estimating (software cost and size);
- Design the software adopting standard software architectures;
- Select and adopt software design patterns (creational patterns, structural patterns, behavioral patterns);
- Verify the software exploiting standard tools and adopting well-known metrics;
- Develop complex model-view-controller web and mobile software systems, exploiting at the back end the Spring framework, and at the front end the AngularJS framework, connecting them through RSRT/JSON web services;
- Use the main open source tools for the software testing and refactoring, and for the software configuration management.
The main goal of the course is to deepen students’ knowledge on modern design and development techniques for interactive software systems. In particular, methods and tools for automated software testing, agile processes organization and design patterns selection will be analyzed. All concepts will be experimented by students designing, developing and testing a software prototype of a service based web application with a mobile extension (app). The software prototype will be developed on top of modern frameworks (Spring and AngularJS).
Classroom lessons, classroom practice, project work in pair programming.
The exam consists of two tests: a written test, intended to verify the theory of software engineering concepts (10 points out of 30); a software prototype implementation, intended to verify the practice of design patterns, MVC architectures and tests, which will be discussed during an oral examination (20 points of 30). Both written test and software prototype implementation are mandatory. The software prototype should be developed in pairs. The software system must be designed using UML, adopting standard design patterns. The software system must be developed starting from MVC frameworks (Spring, AngularJS), using a structured programming language, and must be systematically tested collecting metrics. A mobile extension of the software system is required. The software prototype must be developed following an agile process and must be documented. A month before the end of the course, the general requirements of the software prototype will be published by the teacher, a new requirements set for each year. The requirements will be effective till a new set of specifications will appear. The mark of the written exam has the same temporal extension of the project's requirements.
Master's degree in Computer Engineering, Department of Innovation Engineering, teaching sector ING-INF/05, 9 CFU, 74 hours in classroom (both theory and practice), 54 hours of project work in pair, 1° year, 2° term.
To meet the teacher: Wednesday form 3:00 PM to 7:00 PM at the teacher office, La Stecca building, 1° floor, central staircase, Ecotekne campus.
- Software engineering principles (8 hours):
- Software qualities and software engineering principles;
- Software production process;
- Management of software engineering.
- Software architectures (4 hours):
- Design and software architectures;
- Software architectures specification.
- Software design pattern (12 hours):
- Introduction to standard architectures and design patterns;
- How to select and adopt a design pattern;
- Creational patterns, structural patterns, behavioral patterns.
- Software verification (10 hours):
- Introduction to man software verification methods;
- Black-box and white-box methods;
- Test in the large, test in the small, correctness proofs;
- Software metrics.
- Introduction to Spring framework (14 hours):
- Introduction to Java EE;
- Creating a dynamic web project with Java EE;
- Introduction to Spring framework and development environment setup;
- Developing a Spring MVC application;
- Accessing Data Layer with Spring Data JPA;
- Building a RESTful Web Service.
- Software development and verification tools (5 hours):
- JUnit;
- Refactoring;
- Concurrent Versioning Systems (GIT).
- Cloud computing with Amazon Web Services and EC2 (7 hours):
- Introduction to Amazon EC2 platform;
- Introduction to Amazon API Gateway;
- Configuring an EC2 instance and publishing API.
- Mobile apps development with AngularJS (14 hours):
- Angular: Project Setup;
- Angular: Component, Template & Data Binding;
- Angular: Forms (Input, Validation, Template-Driven);
- Angular: Services, Routing, HTTP;
- Developing Cross-platform Mobile App with Ionic.
1. Ghezzi, Jazayeri, Mandrioli - Fundamentals of Software Engineering (2nd edition) - Pearson College Div 2002.
2. Fowler - UML Distilled (3rd edition) - Addison Wesley Object Technology 2003.
3. Gamma, Helm, Johnson, Vlissides - Design patterns - Addison Wesley 2002.
4. Larman - Agile and Iterative Development: A Manager's Guide - Addison-Wesley Professional 2003.
5. Beck - Test Driven Development: By Example - Addison-Wesley Professional 2002.
6. Fowler, Beck, Brant, Opdyke, Roberts - Refactoring: Improving the Design of Existing Code - Addison-Wesley Professional 1999.
7. A Java advanced programming reference guide.
SOFTWARE ENGINEERING (ING-INF/05)
PRINCIPI DI PROGETTAZIONE DEL SOFTWARE
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Per immatricolati nel 2016/2017
Anno accademico di erogazione 2017/2018
Anno di corso 2
Semestre Primo Semestre (dal 25/09/2017 al 22/12/2017)
Lingua ITALIANO
Percorso PERCORSO COMUNE (999)
Sede Lecce
PRINCIPI DI PROGETTAZIONE DEL SOFTWARE (ING-INF/05)
SOFTWARE ENGINEERING
Degree course COMPUTER ENGINEERING
Subject area ING-INF/05
Course type Laurea Magistrale
Credits 9.0
Teaching hours Ore totali di attività frontale: 0.0
For matriculated on 2017/2018
Year taught 2017/2018
Course year 1
Semestre Secondo Semestre (dal 01/03/2018 al 01/06/2018)
Language INGLESE
Subject matter PERCORSO COMUNE (999)
Location Lecce
SOFTWARE ENGINEERING (ING-INF/05)
PRINCIPI DI PROGETTAZIONE DEL SOFTWARE
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Per immatricolati nel 2015/2016
Anno accademico di erogazione 2016/2017
Anno di corso 2
Semestre Primo Semestre (dal 26/09/2016 al 22/12/2016)
Lingua ITALIANO
Percorso PERCORSO COMUNE (999)
Sede Lecce
PRINCIPI DI PROGETTAZIONE DEL SOFTWARE (ING-INF/05)
SOFTWARE ENGINEERING
Degree course COMPUTER ENGINEERING
Subject area ING-INF/05
Course type Laurea Magistrale
Credits 9.0
Teaching hours Ore totali di attività frontale: 81.0
For matriculated on 2016/2017
Year taught 2016/2017
Course year 1
Semestre Secondo Semestre (dal 01/03/2017 al 02/06/2017)
Language INGLESE
Subject matter PERCORSO COMUNE (999)
Location Lecce
SOFTWARE ENGINEERING (ING-INF/05)
PRINCIPI DI PROGETTAZIONE DEL SOFTWARE
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 0.0
Per immatricolati nel 2014/2015
Anno accademico di erogazione 2015/2016
Anno di corso 2
Semestre Primo Semestre (dal 21/09/2015 al 18/12/2015)
Lingua
Percorso PERCORSO COMUNE (999)
Sede Lecce - Università degli Studi
PRINCIPI DI PROGETTAZIONE DEL SOFTWARE (ING-INF/05)
SOFTWARE ENGINEERING
Degree course COMPUTER ENGINEERING
Subject area ING-INF/05
Course type Laurea Magistrale
Credits 9.0
Teaching hours Ore totali di attività frontale: 81.0
For matriculated on 2015/2016
Year taught 2015/2016
Course year 1
Semestre Secondo Semestre (dal 29/02/2016 al 03/06/2016)
Language INGLESE
Subject matter PERCORSO COMUNE (999)
Location Lecce
SOFTWARE ENGINEERING (ING-INF/05)
PRINCIPI DI PROGETTAZIONE DEL SOFTWARE
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 0.0
Per immatricolati nel 2013/2014
Anno accademico di erogazione 2014/2015
Anno di corso 2
Semestre Primo Semestre (dal 29/09/2014 al 13/01/2015)
Lingua
Percorso PERCORSO COMUNE (999)
Sede Lecce - Università degli Studi
PRINCIPI DI PROGETTAZIONE DEL SOFTWARE (ING-INF/05)
SOFTWARE ENGINEERING
Corso di laurea COMPUTER ENGINEERING
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea Magistrale
Crediti 9.0
Ripartizione oraria Ore totali di attività frontale: 0.0
Per immatricolati nel 2014/2015
Anno accademico di erogazione 2014/2015
Anno di corso 1
Semestre Secondo Semestre (dal 02/03/2015 al 06/06/2015)
Lingua
Percorso PERCORSO COMUNE (999)
Sede Lecce - Università degli Studi
SOFTWARE ENGINEERING (ING-INF/05)
SOFTWARE ENGINEERING
Corso di laurea COMPUTER ENGINEERING
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea Magistrale
Crediti 9.0
Ripartizione oraria Ore totali di attività frontale: 0.0
Per immatricolati nel 2013/2014
Anno accademico di erogazione 2013/2014
Anno di corso 1
Semestre Secondo Semestre (dal 03/03/2014 al 31/05/2014)
Lingua
Percorso PERCORSO COMUNE (999)
Sede Lecce - Università degli Studi
SOFTWARE ENGINEERING (ING-INF/05)
Pubblicazioni
Scopus
EXPORT DATE:04 Jan 2019
Mainetti, L., Manco, L.
On the effects of introducing agile methodologies in software industry
(2018) ACM International Conference Proceeding Series, pp. 31-40.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85055281153&doi=10.1145%2f3220228.3220262&partnerID=40&md5=e594cfcf892352ef9c2798a96adc49d5
DOI: 10.1145/3220228.3220262
Lillo, P., Mainetti, L., Patrono, L.
A Public-Private Partnerships Model Based on OneM2M and OSGi Enabling Smart City Solutions and Innovative Ageing Services
(2018) Lecture Notes of the Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering, LNICST, 189, pp. 49-57.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85034105467&doi=10.1007%2f978-3-319-67636-4_6&partnerID=40&md5=151f36eba94e7435fc0be40a86597d31
DOI: 10.1007/978-3-319-67636-4_6
Manco, L., Mainetti, L., Patrono, L., Vergallo, R., Fiore, A.
A HCE-based authentication approach for multi-platform mobile devices
(2018) Lecture Notes of the Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering, LNICST, 189, pp. 84-92.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85034114958&doi=10.1007%2f978-3-319-67636-4_10&partnerID=40&md5=41a792b8616cd78f380701fca71d402b
DOI: 10.1007/978-3-319-67636-4_10
Caione, A., Fiore, A., Mainetti, L., Manco, L., Vergallo, R.
Top-down delivery of IoT-based applications for seniors behavior change capturing exploiting a model-driven approach
(2018) Journal of Communications Software and Systems, 14 (1), .
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85044084502&doi=10.24138%2fjcomss.v14i1.438&partnerID=40&md5=7a8fc2aed4c4a50a04784557f5a94946
DOI: 10.24138/jcomss.v14i1.438
Fiore, A., Caione, A., Zappatore, D., De Mitri, G., Mainetti, L.
Deploying mobile middleware for the monitoring of elderly people with the internet of things: A case study
(2018) Lecture Notes of the Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering, LNICST, 189, pp. 29-36. Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85034036985&doi=10.1007%2f978-3-319-67636-4_4&partnerID=40&md5=0efb84dcaf828515924479f54ed51ecf
DOI: 10.1007/978-3-319-67636-4_4
Almeida, A., Fiore, A., Mainetti, L., Mulero, R., Patrono, L., Rametta, P.
An IoT-aware architecture for collecting and managing data related to elderly behavior
(2017) Wireless Communications and Mobile Computing, 2017, art. no. 5051915, . Cited 2 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85041893614&doi=10.1155%2f2017%2f5051915&partnerID=40&md5=dca53734fdb1abb881383ac6c151b5f3
DOI: 10.1155/2017/5051915
Caione, A., Fiore, A., Mainetti, L., Manco, L., Vergallo, R.
Exploiting an IoT local middleware for the orchestration of mobile device sensors to detect outdoor and indoor user positioning
(2017) 2017 25th International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2017, art. no. 8115538, .
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85041354488&doi=10.23919%2fSOFTCOM.2017.8115538&partnerID=40&md5=1804d56191242d6bfd98f9618a3d1bcb
DOI: 10.23919/SOFTCOM.2017.8115538
Mainetti, L., Mighali, V., Patrono, L., Rametta, P., Stefanizzi, M.L.
An IoT-Aware system for elderly monitoring
(2017) RTSI 2017 - IEEE 3rd International Forum on Research and Technologies for Society and Industry, Conference Proceedings, art. no. 8065906, . Cited 7 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85034867767&doi=10.1109%2fRTSI.2017.8065906&partnerID=40&md5=edf3e0915b9e5e90c13aa20550d3175a
DOI: 10.1109/RTSI.2017.8065906
Caione, A., Fiore, A., Mainetti, L., Manco, L., Vergallo, R.
Rapid prototyping Internet of Things solutions through a model-driven approach: A case study in AAL
(2017) 2017 2nd International Multidisciplinary Conference on Computer and Energy Science, SpliTech 2017, art. no. 8019277, . Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85030861074&partnerID=40&md5=96baa675d4867a33d4f3d2b4d6e7f87c
Mulero, R., Almeida, A., Azkune, G., Mainetti, L., Mighali, V., Patrono, L., Rametta, P., Sergi, I.
An AAL system based on IoT technologies and linked open data for elderly monitoring in smart cities
(2017) 2017 2nd International Multidisciplinary Conference on Computer and Energy Science, SpliTech 2017, art. no. 8019248, . Cited 6 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85030860996&partnerID=40&md5=800237d1bc53bd52dfccddd78ac84d74
Mainetti, L., Patrono, L., Secco, A., Sergi, I.
An IoT-Aware AAL system to capture behavioral changes of elderly people
(2017) Journal of Communications Software and Systems, 13 (2), pp. 68-76. Cited 3 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85020435222&doi=10.24138%2fjcomss.v13i2.374&partnerID=40&md5=f2c397ebd63263a72c85dcd576ba0c02
DOI: 10.24138/jcomss.v13i2.374
Catarinucci, L., De Donno, D., Mainetti, L., Patrono, L., Stefanizzi, M.L., Tarricone, L.
An IoT-Aware architecture to improve safety in sports environments
(2017) Journal of Communications Software and Systems, 13 (2), pp. 44-52. Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85020459999&doi=10.24138%2fjcomss.v13i2.372&partnerID=40&md5=f1a0e8b3129827a2d3176fc8ba04f65a
DOI: 10.24138/jcomss.v13i2.372
Capodieci, A., Mainetti, L., Carrozzo, S.
Semantic enterprise service bus for cultural heritage
(2017) Proceedings of the 2016 12th International Conference on Innovations in Information Technology, IIT 2016, art. no. 7880044, .
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85017636017&doi=10.1109%2fINNOVATIONS.2016.7880044&partnerID=40&md5=38914df2caee57eb852f9fa5691b39b6
DOI: 10.1109/INNOVATIONS.2016.7880044
Caione, A., Fiore, A., Mainetti, L., Manco, L., Vergallo, R.
WoX: Model-Driven Development of Web of Things Applications
(2017) Managing the Web of Things: Linking the Real World to the Web, pp. 357-387. Cited 5 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85027261206&doi=10.1016%2fB978-0-12-809764-9.00017-2&partnerID=40&md5=b9dfe5cd0b41c56610ceb2d5eea847a4
DOI: 10.1016/B978-0-12-809764-9.00017-2
Stefanizzi, M.L., Mottola, L., Mainetti, L., Patrono, L.
COIN: Opening the internet of things to people's mobile devices
(2017) IEEE Communications Magazine, 55 (2), art. no. A1, pp. 20-26. Cited 5 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85011575243&doi=10.1109%2fMCOM.2017.1600656CM&partnerID=40&md5=58e084f1e5391fb64eedabb300626107
DOI: 10.1109/MCOM.2017.1600656CM
Mainetti, L., Manco, L., Patrono, L., Secco, A., Sergi, I., Vergallo, R.
An ambient assisted living system for elderly assistance applications
(2016) IEEE International Symposium on Personal, Indoor and Mobile Radio Communications, PIMRC, art. no. 7794963, . Cited 8 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85010073063&doi=10.1109%2fPIMRC.2016.7794963&partnerID=40&md5=e07505a5c404a60a74ccaba4ed716d29
DOI: 10.1109/PIMRC.2016.7794963
Mainetti, L., Patrono, L., Rametta, P.
Capturing behavioral changes of elderly people through unobtruisive sensing technologies
(2016) 2016 24th International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2016, art. no. 7772126, . Cited 18 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85010304575&doi=10.1109%2fSOFTCOM.2016.7772126&partnerID=40&md5=8a4959f794bd77750e50f884444fef68
DOI: 10.1109/SOFTCOM.2016.7772126
Mainetti, L., Marasovic, I., Patrono, L., Solic, P., Stefanizzi, M.L., Vergallo, R.
A Novel IoT-aware Smart Parking System based on the integration of RFID and WSN technologies
(2016) International Journal of RF Technologies: Research and Applications, 7 (4), pp. 175-199. Cited 4 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84988664532&doi=10.3233%2fRFT-161523&partnerID=40&md5=45e5c533745fcb07d867fe848292c8ad
DOI: 10.3233/RFT-161523
Mainetti, L., Patrono, L., Stefanizzi, M.L.
An Internet of sport architecture based on emerging enabling technologies
(2016) 2016 International Multidisciplinary Conference on Computer and Energy Science, SpliTech 2016, art. no. 7555928, . Cited 3 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84988851314&doi=10.1109%2fSpliTech.2016.7555928&partnerID=40&md5=4b0cc8c7947899db86d28b2f30c62906
DOI: 10.1109/SpliTech.2016.7555928
Mainetti, L., Patrono, L., Secco, A., Sergi, I.
An IoT-aware AAL system for elderly people
(2016) 2016 International Multidisciplinary Conference on Computer and Energy Science, SpliTech 2016, art. no. 7555929, . Cited 13 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84988874487&doi=10.1109%2fSpliTech.2016.7555929&partnerID=40&md5=04a16b853321bd94ef4c907556384fde
DOI: 10.1109/SpliTech.2016.7555929
Alessi, M., Giangreco, E., Pinnella, M., Pino, S., Storelli, D., Mainetti, L., Mighali, V., Patrono, L.
A web based virtual environment as a connection platform between people and IoT
(2016) 2016 International Multidisciplinary Conference on Computer and Energy Science, SpliTech 2016, art. no. 7555925, . Cited 5 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84988883173&doi=10.1109%2fSpliTech.2016.7555925&partnerID=40&md5=a76e8bd8c9a5f2acb9df0a0341b117fd
DOI: 10.1109/SpliTech.2016.7555925
Stefanizzi, M.L., Mottola, L., Mainetti, L., Patrono, L.
COIN: System architecture for programmable connected devices
(2016) Proceedings - 12th Annual International Conference on Distributed Computing in Sensor Systems, DCOSS 2016, art. no. 7536318, pp. 96-98.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84985960359&doi=10.1109%2fDCOSS.2016.19&partnerID=40&md5=c154633d8a10ad5ba1839be960433e31
DOI: 10.1109/DCOSS.2016.19
Alletto, S., Cucchiara, R., Del Fiore, G., Mainetti, L., Mighali, V., Patrono, L., Serra, G.
An Indoor Location-Aware System for an IoT-Based Smart Museum
(2016) IEEE Internet of Things Journal, 3 (2), art. no. 7348638, pp. 244-253. Cited 56 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84963735684&doi=10.1109%2fJIOT.2015.2506258&partnerID=40&md5=8719786957a925004ca2f42f4544b8fa
DOI: 10.1109/JIOT.2015.2506258
Fiore, G.D., Mainetti, L., Mighali, V., Patrono, L., Alletto, S., Cucchiara, R., Serra, G.
A location-aware architecture for an IoT-based smart museum
(2016) International Journal of Electronic Government Research, 12 (2), pp. 39-55.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84982277017&doi=10.4018%2fIJEGR.2016040103&partnerID=40&md5=73022ecc27b1d4bc9c754c3c05d1bec0
DOI: 10.4018/IJEGR.2016040103
Mainetti, L., Manco, L., Patrono, L., Vergallo, R.
A cloud architecture for managing IoT-aware applications according to knowledge processing rules
(2016) Journal of Communications Software and Systems, 12 (1), pp. 45-52. Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84991251859&partnerID=40&md5=6d216dcd6d08ca0f5ed0e8f13b08debd
Lillo, P., Mainetti, L., Mighali, V., Patrono, L., Rametta, P.
An ECA-based semantic architecture for IoT building automation systems
(2016) Journal of Communications Software and Systems, 12 (1), pp. 24-33. Cited 3 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84991571966&partnerID=40&md5=19a25922a03c12b38ba1ce7d4cc40d87
Capodieci, A., Mainetti, L., Alem, L.
An innovative approach to digital engineering services delivery: An application in maintenance
(2016) Proceedings - 2015 11th International Conference on Innovations in Information Technology, IIT 2015, art. no. 7381565, pp. 342-349. Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84969835577&doi=10.1109%2fINNOVATIONS.2015.7381565&partnerID=40&md5=8e80a316f53bb9d2403076f760676253
DOI: 10.1109/INNOVATIONS.2015.7381565
Mainetti, L., Paiano, R., Pasanisi, S., Vergallo, R.
Modeling of complex taxonomy: A framework for schema-driven exploratory portal
(2016) Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 9768, pp. 150-161.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84976606298&doi=10.1007%2f978-3-319-40621-3_10&partnerID=40&md5=dae7a0a846afc2638dac7af72997fd28
DOI: 10.1007/978-3-319-40621-3_10
Di Blas, N., Mainetti, L., Paolini, P., Vergallo, R.
Exploratory computing: Combining faceted search with data mining
(2016) Proceedings of the 24th Italian Symposium on Advanced Database Systems, SEBD 2016, pp. 66-77.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85013782700&partnerID=40&md5=4e15741156337dca295c9d73c7c556ce
Anchora, L., Capone, A., Mainetti, L., Mighali, V., Patrono, L., Simone, F.
AS2-MAC: An energy-efficient MAC protocol for wireless sensor networks
(2016) Ad-Hoc and Sensor Wireless Networks, 31 (1-4), pp. 199-226. Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84959520096&partnerID=40&md5=62ac9c5efb897653ff3edcae1f90c23a
Mainetti, L., Mighali, V., Patrono, L.
A software architecture enabling the web of things
(2015) IEEE Internet of Things Journal, 2 (6), art. no. 7247628, pp. 445-454. Cited 29 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84961247638&doi=10.1109%2fJIOT.2015.2477467&partnerID=40&md5=d939b7f5b76c794eefd59081b0ba4a94
DOI: 10.1109/JIOT.2015.2477467
Catarinucci, L., De Donno, D., Mainetti, L., Palano, L., Patrono, L., Stefanizzi, M.L., Tarricone, L.
An IoT-Aware Architecture for Smart Healthcare Systems
(2015) IEEE Internet of Things Journal, 2 (6), art. no. 7070665, pp. 515-526. Cited 190 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84961620802&doi=10.1109%2fJIOT.2015.2417684&partnerID=40&md5=f2ea4904881e69fe261dad0714b84632
DOI: 10.1109/JIOT.2015.2417684
Macri, S., Mainetti, L., Patrono, L., Pieretti, S., Secco, A., Sergi, I.
A tracking system for laboratory mice to support medical researchers in behavioral analysis
(2015) Proceedings of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society, EMBS, 2015-November, art. no. 7319501, pp. 4946-4949. Cited 2 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84953318279&doi=10.1109%2fEMBC.2015.7319501&partnerID=40&md5=bfa39df95763812c36f8d0e59ee258ae
DOI: 10.1109/EMBC.2015.7319501
Mainetti, L., Mighali, V., Patrono, L., Rametta, P.
A novel rule-based semantic architecture for IoT building automation systems
(2015) 2015 23rd International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2015, art. no. 7314063, pp. 124-131. Cited 5 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84958651128&doi=10.1109%2fSOFTCOM.2015.7314063&partnerID=40&md5=96cc1f384dcbc1e10dde31ecf43370c1
DOI: 10.1109/SOFTCOM.2015.7314063
Solic, P., Marasovic, I., Stefanizzi, M.L., Patrono, L., Mainetti, L.
RFID-based efficient method for parking slot car detection
(2015) 2015 23rd International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2015, art. no. 7314120, pp. 108-112. Cited 2 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84958635053&doi=10.1109%2fSOFTCOM.2015.7314120&partnerID=40&md5=53841161f633dad08ff15a8bff4ddd3c
DOI: 10.1109/SOFTCOM.2015.7314120
Mainetti, L., Mighali, V., Patrono, L.
An IoT-based user-centric ecosystem for heterogeneous Smart Home environments
(2015) IEEE International Conference on Communications, 2015-September, art. no. 7248404, pp. 704-709. Cited 15 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84953744135&doi=10.1109%2fICC.2015.7248404&partnerID=40&md5=fe2681b05b81699a52fd7a759a3e92b3
DOI: 10.1109/ICC.2015.7248404
Ardito, C., Barchetti, U., Capodieci, A., Guido, A., Mainetti, L.
Business process design meets business practices through enterprise patterns: A case study
(2015) Web Design and Development: Concepts, Methodologies, Tools, and Applications, 3-3, pp. 1249-1266.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84958878973&doi=10.4018%2f978-1-4666-8619-9.ch056&partnerID=40&md5=ff4709d85c7f16b9c1f15f2658e84c74
DOI: 10.4018/978-1-4666-8619-9.ch056
Mighali, V., Del Fiore, G., Patrono, L., Mainetti, L., Alletto, S., Serra, G., Cucchiara, R.
Innovative IoT-aware services for a smart museum
(2015) WWW 2015 Companion - Proceedings of the 24th International Conference on World Wide Web, pp. 547-550. Cited 11 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84960985897&doi=10.1145%2f2740908.2744711&partnerID=40&md5=3af5c7b41da09e92c41c8b0208fb9ee1
DOI: 10.1145/2740908.2744711
Mainetti, L., Patrono, L., Stefanizzi, M.L., Vergallo, R.
A Smart Parking System based on IoT protocols and emerging enabling technologies
(2015) IEEE World Forum on Internet of Things, WF-IoT 2015 - Proceedings, art. no. 7389150, pp. 764-769. Cited 19 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84964446451&doi=10.1109%2fWF-IoT.2015.7389150&partnerID=40&md5=b6ac30bc4e880783a0865f3cb277350d
DOI: 10.1109/WF-IoT.2015.7389150
Coppola, G., Fiore, A., Mainetti, L., Pandurino, A.
Mobile-IDM: A design method for modeling the new interaction style of mobile applications
(2015) Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 9114, pp. 101-115.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84937415355&doi=10.1007%2f978-3-319-19890-3_8&partnerID=40&md5=3f6ed3787c429b8891bc18cbf3a81738
DOI: 10.1007/978-3-319-19890-3_8
Mainetti, L., Mighali, V., Patrono, L.
HEC-MAC: A hybrid energy-aware cross-layer MAC protocol for wireless sensor networks
(2015) International Journal of Distributed Sensor Networks, 2015, art. no. 536794, . Cited 3 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84929307736&doi=10.1155%2f2015%2f536794&partnerID=40&md5=8d11320d77169055ed75087204d702f7
DOI: 10.1155/2015/536794
Capodieci, A., Fiore, G.D., Mainetti, L.
Adopting collaborative workflow pattern: Lesson learned
(2015) Proceedings - 12th International Conference on Information Technology: New Generations, ITNG 2015, art. no. 7113568, pp. 751-755.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84936818111&doi=10.1109%2fITNG.2015.129&partnerID=40&md5=f229e146d650de74b0c754aa8bf38768
DOI: 10.1109/ITNG.2015.129
Fiore, A., Mainetti, L., Vergallo, R.
A different perspective in building tools to collect and share educational resources
(2015) Journal of E-Learning and Knowledge Society, 11 (1), pp. 55-68.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84922041878&partnerID=40&md5=7c7f9f4602b402e9bfed2a61b5e21cd2
Mainetti, L., Mighali, V., Patrono, L.
A location-aware architecture for heterogeneous building automation systems
(2015) Proceedings of the 2015 IFIP/IEEE International Symposium on Integrated Network Management, IM 2015, art. no. 7140434, pp. 1065-1070. Cited 13 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84942568374&doi=10.1109%2fINM.2015.7140434&partnerID=40&md5=5b4bd98395ea2297d738f66403985a8e
DOI: 10.1109/INM.2015.7140434
Barchetti, U., Capodieci, A., Del Fiore, G., Mainetti, L.
Change support for collaborative business process families through change patterns and domain patterns
(2015) 6th International Multi-Conference on Complexity, Informatics and Cybernetics, IMCIC 2015 and 6th International Conference on Society and Information Technologies, ICSIT 2015 - Proceedings, 2, pp. 11-16.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85032901763&partnerID=40&md5=7197cd06a341330f66c222f29968b6bc
Mainetti, L., Manco, L., Patrono, L., Sergi, I., Vergallo, R.
Web of Topics: An IoT-aware model-driven designing approach
(2015) IEEE World Forum on Internet of Things, WF-IoT 2015 - Proceedings, art. no. 7389025, pp. 46-51. Cited 14 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84964425408&doi=10.1109%2fWF-IoT.2015.7389025&partnerID=40&md5=6246f2127a633996672c2bc0164efa48
DOI: 10.1109/WF-IoT.2015.7389025
Capodieci, A., D'Aprile, D., Elia, G., Grippa, F., Mainetti, L.
Visualizing cultural digital resources using social network analysis
(2015) IC3K 2015 - Proceedings of the 7th International Joint Conference on Knowledge Discovery, Knowledge Engineering and Knowledge Management, 1, pp. 186-194.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84960894669&partnerID=40&md5=dfd2162bb3c560f2e50ca46217eda2e7
Macrì, S., Mainetti, L., Patrono, L., Pieretti, S., Secco, A., Sergi, I.
A web-based software system for behavior analysis of laboratory animals
(2015) Journal of Communications Software and Systems, 11 (2), pp. 70-79.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84942594560&partnerID=40&md5=d3c4ece8686254d183cbea69a3c5c542
Fachechi, A., Mainetti, L., Palano, L., Patrono, L., Stefanizzi, M.L., Vergallo, R., Chu, P., Gadh, R.
A new vehicle-to-grid system for battery charging exploiting IoT protocols
(2015) Proceedings of the IEEE International Conference on Industrial Technology, 2015-June (June), art. no. 7125414, pp. 2154-2159. Cited 3 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84937710594&doi=10.1109%2fICIT.2015.7125414&partnerID=40&md5=027b6bcbe058d970aba53ef98cff3a98
DOI: 10.1109/ICIT.2015.7125414
Catarinucci, L., De Donno, D., Mainetti, L., Palano, L., Patrono, L., Stefanizzi, M.L., Tarricone, L.
Integration of UHF RFID and WSN technologies in healthcare systems
(2014) 2014 IEEE RFID Technology and Applications Conference, RFID-TA 2014, art. no. 6934245, pp. 289-294. Cited 9 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84912096603&doi=10.1109%2fRFID-TA.2014.6934245&partnerID=40&md5=10264f4a0df83d805a9a23d5beaffb8e
DOI: 10.1109/RFID-TA.2014.6934245
Mainetti, L., Mighali, V., Patrono, L., Rametta, P.
Discovery and mash-up of physical resources through a web of things architecture
(2014) Journal of Communications Software and Systems, 10 (2), pp. 124-134. Cited 15 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84908470437&partnerID=40&md5=75b00fa1f1ae27be1e0c141abf44a9ce
De Donno, D., Stefanizzi, M.L., Catarinucci, L., Mainetti, L., Patrono, L., Tarricone, L.
Integrating passive UHF RFID tags with WSN nodes: Challenges and opportunities
(2014) Journal of Communications Software and Systems, 10 (2), pp. 99-106. Cited 8 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84911426554&partnerID=40&md5=0d3e4e5bf96fb84c2e58b40916632825
Catarinucci, L., Colella, R., Mainetti, L., Patrono, L., Pieretti, S., Sergi, I., Tarricone, L.
Smart RFID antenna system for indoor tracking and behavior analysis of small animals in colony cages
(2014) IEEE Sensors Journal, 14 (4), art. no. 6678175, pp. 1198-1206. Cited 38 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84896794570&doi=10.1109%2fJSEN.2013.2293594&partnerID=40&md5=ce0cbc474f722cea14fc76f3df9b8948
DOI: 10.1109/JSEN.2013.2293594
Catarinucci, L., Colella, R., Del Fiore, G., Mainetti, L., Mighali, V., Patrono, L., Stefanizzi, M.L.
A cross-layer approach to minimize the energy consumption in wireless sensor networks
(2014) International Journal of Distributed Sensor Networks, 2014, art. no. 268284, . Cited 29 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84893859988&doi=10.1155%2f2014%2f268284&partnerID=40&md5=2a6c2f2c748a638b47e397483a00e88b
DOI: 10.1155/2014/268284
Capodieci, A., Mainetti, L., Manco, L.
A case study to enable and monitor real IT companies migrating from waterfall to agile
(2014) Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 8583 LNCS (PART 5), pp. 119-134. Cited 2 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84904871455&doi=10.1007%2f978-3-319-09156-3_9&partnerID=40&md5=a920b0e2307772a83ad32139e83a1e9d
DOI: 10.1007/978-3-319-09156-3_9
Mainetti, L., Mighali, V., Patrono, L.
An android multi-protocol application for heterogeneous building automation systems
(2014) 2014 22nd International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2014, art. no. 7039071, pp. 121-127. Cited 2 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84949927070&doi=10.1109%2fSOFTCOM.2014.7039071&partnerID=40&md5=c3a9c76329874ef36e93728c84c6e420
DOI: 10.1109/SOFTCOM.2014.7039071
Mainetti, L., Patrono, L., Sergi, I.
A survey on indoor positioning systems
(2014) 2014 22nd International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2014, art. no. 7039067, pp. 111-120. Cited 92 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84933519431&doi=10.1109%2fSOFTCOM.2014.7039067&partnerID=40&md5=ec8fb743737248b6e0b08283ba6ac272
DOI: 10.1109/SOFTCOM.2014.7039067
Fiore, A., Mainetti, L., Vergallo, R.
An innovative educational format based on a mixed reality environment: A case study and benefit evaluation
(2014) Lecture Notes of the Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering, LNICST, 138, pp. 93-100. Cited 2 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84916623263&doi=10.1007%2f978-3-319-13293-8_12&partnerID=40&md5=ab92f6ee08b0b73b94551854fe429bdc
DOI: 10.1007/978-3-319-13293-8_12
Fiore, A., Mainetti, L., Manco, L., Marra, P.
Augmented reality for allowing time navigation in cultural tourism experiences: A case study
(2014) Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 8853, pp. 296-301. Cited 5 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84918545561&doi=10.1007%2f978-3-319-13969-2_22&partnerID=40&md5=e5862101629243bf7f402dec4cf43644
DOI: 10.1007/978-3-319-13969-2_22
Ardito, C., Barchetti, U., Capodieci, A., Guido, A., Mainetti, L.
Business process design meets business practices through Enterprise patterns: A case study
(2014) International Journal of e-Collaboration, 10 (1), pp. 57-73. Cited 4 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84926236805&doi=10.4018%2fijec.2014010104&partnerID=40&md5=05103aad7a427a102ddb0e2f3154c980
DOI: 10.4018/ijec.2014010104
Mainetti, L., Palano, L., Patrono, L., Stefanizzi, M.L., Vergallo, R.
Integration of RFID and WSN technologies in a Smart Parking System
(2014) 2014 22nd International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2014, art. no. 7039099, pp. 104-110. Cited 23 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84949926833&doi=10.1109%2fSOFTCOM.2014.7039099&partnerID=40&md5=e0023113f1781b08ac42d4efe164cd2f
DOI: 10.1109/SOFTCOM.2014.7039099
Blas, N.D., Fiore, A., Mainetti, L., Vergallo, R., Paolini, P.
A portal of educational resources: Providing evidence for matching pedagogy with technology
(2014) Research in Learning Technology, 22, art. no. 22906, . Cited 10 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84901645730&doi=10.3402%2frlt.v22.22906&partnerID=40&md5=52bac85d10ffa3c101133e9cdfa3e62c
DOI: 10.3402/rlt.v22.22906
Catarinucci, L., Colella, R., Mainetti, L., Patrono, L., Pieretti, S., Secco, A., Sergi, I.
An animal tracking system for behavior analysis using radio frequency identification
(2014) Lab Animal, 43 (9), pp. 321-327. Cited 7 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84906509080&doi=10.1038%2flaban.547&partnerID=40&md5=77c83db087c0ae2bb203d24bbb80a647
DOI: 10.1038/laban.547
Fiore, A., Mainetti, L., Patrono, L., Vergallo, R.
An EPC-based middleware enabling reusable and flexible mixed reality educational experiences
(2013) 2013 21st International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2013, art. no. 6671854, . Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84893383733&doi=10.1109%2fSoftCOM.2013.6671854&partnerID=40&md5=d013ac6d955a2f21da4ff79a1c7ab581
DOI: 10.1109/SoftCOM.2013.6671854
Mainetti, L., Mighali, V., Patrono, L., Rametta, P., Oliva, S.L.
A novel architecture enabling the visual implementation of web of Things applications
(2013) 2013 21st International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2013, art. no. 6671847, . Cited 21 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84893417292&doi=10.1109%2fSoftCOM.2013.6671847&partnerID=40&md5=0b11ec1e1e92ab6cbe99b2adbe0daab1
DOI: 10.1109/SoftCOM.2013.6671847
De Rubertis, A., Mainetti, L., Mighali, V., Patrono, L., Sergi, I., Stefanizzi, M.L., Pascali, S.
Performance evaluation of end-to-end security protocols in an Internet of Things
(2013) 2013 21st International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2013, art. no. 6671893, . Cited 13 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84893392836&doi=10.1109%2fSoftCOM.2013.6671893&partnerID=40&md5=076c9905bf8316899de0055a97cb8eb1
DOI: 10.1109/SoftCOM.2013.6671893
De Luca, G., Lillo, P., Mainetti, L., Mighali, V., Patrono, L., Sergi, I.
The use of NFC and Android technologies to enable a KNX-based smart home
(2013) 2013 21st International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2013, art. no. 6671904, . Cited 13 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84893391873&doi=10.1109%2fSoftCOM.2013.6671904&partnerID=40&md5=72e96e3eb948497f55a480f82b496b1a
DOI: 10.1109/SoftCOM.2013.6671904
Bucciero, A., Mainetti, L.
Model-driven generation of collaborative virtual environments for cultural heritage
(2013) Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 8158 LNCS, pp. 268-277. Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84887031516&doi=10.1007%2f978-3-642-41190-8_29&partnerID=40&md5=54c526b84dfe4f5c4d04ab287c92a5eb
DOI: 10.1007/978-3-642-41190-8_29
Mainetti, L., Mele, F., Patrono, L., Simone, F., Stefanizzi, M.L., Vergallo, R.
The impact of RF technologies and EPC standard on the fresh vegetables supply chain
(2013) International Journal of RF Technologies: Research and Applications, 5 (1-2), pp. 1-40. Cited 4 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84885962156&doi=10.3233%2fRFT-130050&partnerID=40&md5=61f5979bb78f1fbcdd4cca99a39c39f1
DOI: 10.3233/RFT-130050
Catarinucci, L., Colella, R., Mainetti, L., Mighali, V., Patrono, L., Pieretti, S., Sergi, I., Tarricone, L.
An RFID tracking system supporting the behavior analysis of colonial laboratory animals
(2013) International Journal of RF Technologies: Research and Applications, 5 (1-2), pp. 63-80. Cited 5 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84885987069&doi=10.3233%2fRFT-130048&partnerID=40&md5=269f5cbf3cd5980443ab2ee5a1aa803a
DOI: 10.3233/RFT-130048
Blasi, D., Mainetti, L., Patrono, L., Stefanizzi, M.L.
Implementation and validation of a new protocol stack architecture for embedded systems
(2013) Journal of Communications Software and Systems, 9 (3), pp. 157-169. Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84886290330&partnerID=40&md5=759df0300f670c54fe5aaa24aaa44834
Mainetti, L., Mele, F., Patrono, L., Simone, F., Stefanizzi, M.L., Vergallo, R.
An RFID-based tracing and tracking system for the fresh vegetables supply chain
(2013) International Journal of Antennas and Propagation, 2013, art. no. 531364, . Cited 14 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84880872570&doi=10.1155%2f2013%2f531364&partnerID=40&md5=d10ddd7343834323a6b074b6d5fc86ed
DOI: 10.1155/2013/531364
Catarinucci, L., Colella, R., Mainetti, L., Mighali, V., Patrono, L., Sergi, I., Tarricone, L.
Near field UHF RFID antenna system enabling the tracking of small laboratory animals
(2013) International Journal of Antennas and Propagation, 2013, art. no. 713943, . Cited 11 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84880142588&doi=10.1155%2f2013%2f713943&partnerID=40&md5=8bc7f9073c3cee879163126eb5c2274e
DOI: 10.1155/2013/713943
Catarinucci, L., Guglielmi, S., Mainetti, L., Mighali, V., Patrono, L., Stefanizzi, M.L., Tarricone, L.
An energy-efficient MAC scheduler based on a switched-beam antenna for wireless sensor networks
(2013) Journal of Communications Software and Systems, 9 (2), pp. 117-127. Cited 23 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84886237081&partnerID=40&md5=5be7acc6bcc1746a97dbe0d66e96f571
Catarinucci, L., Colella, R., Mainetti, L., Mighali, V., Patrono, L., Sergi, I., Tarricone, L.
Performance evaluation of a novel animals tracking system based on UHF RFID technology
(2013) Journal of Communications Software and Systems, 9 (1), pp. 4-13. Cited 9 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84876362971&doi=10.24138%2fjcomss.v9i1.153&partnerID=40&md5=424a82e8978d16dedf063864db645fbc
DOI: 10.24138/jcomss.v9i1.153
Mainetti, L., Patrono, L., Stefanizzi, M.L., Vergallo, R.
An innovative and low-cost gapless traceability system of fresh vegetable products using RF technologies and EPCglobal standard
(2013) Computers and Electronics in Agriculture, 98, pp. 146-157. Cited 23 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84883426748&doi=10.1016%2fj.compag.2013.07.015&partnerID=40&md5=a2ca035e2371d843e6de9ea03d0ef675
DOI: 10.1016/j.compag.2013.07.015
Alessandrelli, D., Mainetti, L., Patrono, L., Pellerano, G., Petracca, M., Stefanizzi, M.L.
Performance evaluation of an energy-efficient MAC scheduler by using a test bed approach
(2013) Journal of Communications Software and Systems, 9 (1), pp. 84-96. Cited 21 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84876375112&doi=10.24138%2fjcomss.v9i1.160&partnerID=40&md5=54b96bb2d11402cb0bbb8925c4038ccf
DOI: 10.24138/jcomss.v9i1.160
Di Blas, N., Bucciero, A., Mainetti, L., Paolini, P.
Multi-user virtual environments for learning: Experience and technology design
(2012) IEEE Transactions on Learning Technologies, 5 (4), art. no. 6243131, pp. 349-365. Cited 10 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84871016968&doi=10.1109%2fTLT.2012.16&partnerID=40&md5=2e812de72ac261c6ff8fbb9f59586be9
DOI: 10.1109/TLT.2012.16
Calcagnini, G., Censi, F., Maffia, M., Mainetti, L., Mattei, E., Patrono, L., Urso, E.
Evaluation of thermal and nonthermal effects of UHF RFID exposure on biological drugs
(2012) IEEE Transactions on Information Technology in Biomedicine, 16 (6), art. no. 6218185, pp. 1051-1057. Cited 20 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84876508806&doi=10.1109%2fTITB.2012.2204895&partnerID=40&md5=24388c026f01d6597258c70ee91d81ed
DOI: 10.1109/TITB.2012.2204895
Paiano, R., Mainetti, L., Pandurino, A.
Model-driven and metrics-driven user experience re-modeling for Rich Internet Applications
(2012) Proceedings of IEEE International Symposium on Web Systems Evolution, WSE, art. no. 6320533, pp. 61-65. Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84870822891&doi=10.1109%2fWSE.2012.6320533&partnerID=40&md5=8d9ba8ba1afee34d373037a5b36b7389
DOI: 10.1109/WSE.2012.6320533
Guido, A.L., Mainetti, L., Patrono, L.
Evaluating potential benefits of the use of RFID, EPCglobal, and ebXML in the pharmaceutical supply chain
(2012) International Journal of Healthcare Technology and Management, 13 (4), pp. 198-222. Cited 16 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84870653702&doi=10.1504%2fIJHTM.2012.050625&partnerID=40&md5=2103524f4318ae73ccbeee41d461855d
DOI: 10.1504/IJHTM.2012.050625
Mainetti, L., Patrono, L., Vergallo, R.
IDA-Pay: An innovative micro-payment system based on NFC technology for Android mobile devices
(2012) 2012 20th International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2012, art. no. 6347614, . Cited 13 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84870580386&partnerID=40&md5=26894a3134049eb2a084adfa1cb19240
Alessandrelli, D., Mainetti, L., Patrono, L., Pellerano, G., Petracca, M., Stefanizzi, M.L.
Implementation and validation of an energy-efficient MAC scheduler for WSNs by a test bed approach
(2012) 2012 20th International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2012, art. no. 6347615, . Cited 20 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84870576973&partnerID=40&md5=a39959341a2179fbca99093bdb36bce1
Catarinucci, L., Colella, R., Mainetti, L., Mighali, V., Patrono, L., Sergi, I., Tarricone, L.
An innovative animals tracking system based on passive UHF RFID technology
(2012) 2012 20th International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2012, art. no. 6347616, . Cited 9 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84870602390&partnerID=40&md5=54543cfca91434b6e3ef99ef382a8a8f
Maffia, M., Mainetti, L., Patrono, L., Urso, E.
Potential impact of RFID-based tracing systems on the integrity of pharmaceutical products
(2012) Advanced RFID Systems, Security, and Applications, pp. 241-263.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84898215989&doi=10.4018%2f978-1-4666-2080-3.ch011&partnerID=40&md5=5887ae7310396d91155f8a73ff79b2b0
DOI: 10.4018/978-1-4666-2080-3.ch011
Mainetti, L., Patrono, L., Vergallo, R.
IDA-Pay: A secure and efficient micro-payment system based on Peer-to-Peer NFC technology for Android mobile devices
(2012) Journal of Communications Software and Systems, 8 (4), pp. 117-125. Cited 12 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84876393458&doi=10.24138%2fjcomss.v8i4.166&partnerID=40&md5=39ef57858a4f9c66283c4f7a7d69c96e
DOI: 10.24138/jcomss.v8i4.166
Barchetti, U., Capodieci, A., Guido, A.L., Mainetti, L.
Information systems for knowledge workers: The Kpeople enterprise 2.0 tool
(2012) Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 7651 LNCS, pp. 804-807. Cited 4 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84869433264&doi=10.1007%2f978-3-642-35063-4_71&partnerID=40&md5=40bf19f5cefcb5887d10434faeaeff55
DOI: 10.1007/978-3-642-35063-4_71
Caputo, D., Mainetti, L., Patrono, L., Vilei, A.
Implementation of the EXI schema on wireless sensor nodes using Contiki
(2012) Proceedings - 6th International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, IMIS 2012, art. no. 6296951, pp. 770-774. Cited 8 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84867738039&doi=10.1109%2fIMIS.2012.79&partnerID=40&md5=28684b51fc12c44a6e7ae2e3bcf7d26d
DOI: 10.1109/IMIS.2012.79
Mainetti, L., Paiano, R., Pandurino, A.
MIGROS: A model-driven transformation approach of the user experience of legacy applications
(2012) Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 7387 LNCS, pp. 490-493. Cited 4 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84865112762&doi=10.1007%2f978-3-642-31753-8_51&partnerID=40&md5=2c74bde923309f6c18df1006f67f3810
DOI: 10.1007/978-3-642-31753-8_51
Bucciero, A., Mainetti, L., Vergallo, R.
Structuring repositories of educational experiences: A case study
(2012) IEEE Global Engineering Education Conference, EDUCON, art. no. 6201135, . Cited 6 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84864144784&doi=10.1109%2fEDUCON.2012.6201135&partnerID=40&md5=23db13baa9974ab286705d9bc23888f3
DOI: 10.1109/EDUCON.2012.6201135
Mainetti, L., Paiano, R., Bolchini, D., Pandurino, A.
Dialogue-based modeling of rich internet applications: The Rich-IDM approach
(2012) International Journal of Web Information Systems, 8 (2), pp. 157-180. Cited 5 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84886415747&doi=10.1108%2f17440081211241941&partnerID=40&md5=f6f344820e81e54f0378be65fa3cea63
DOI: 10.1108/17440081211241941
Maffia, M., Mainetti, L., Patrono, L., Urso, E.
Evaluation of potential effects of RFID-based item-level tracing systems on the integrity of biological pharmaceutical products
(2012) International Journal of RF Technologies: Research and Applications, 3 (2), pp. 101-118. Cited 18 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84860717497&doi=10.3233%2fRFT-2012-022&partnerID=40&md5=a272b049cc23ed944d11388824c927fa
DOI: 10.3233/RFT-2012-022
Barchetti, U., Capodieci, A., Guido, A.L., Mainetti, L.
Collaborative process management for the networked enterprise: A case study
(2012) Proceedings - 26th IEEE International Conference on Advanced Information Networking and Applications Workshops, WAINA 2012, art. no. 6185351, pp. 1343-1348. Cited 7 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84860725429&doi=10.1109%2fWAINA.2012.57&partnerID=40&md5=b59c1bfb923e91d687c6551e61b625c7
DOI: 10.1109/WAINA.2012.57
Pandurino, A., Bolchini, D., Mainetti, L., Paiano, R.
Streamlining complexity: Conceptual page re-modeling for rich internet applications
(2012) Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 7059 LNCS, pp. 289-301. Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84857742956&doi=10.1007%2f978-3-642-27997-3_28&partnerID=40&md5=7c913dbf116cf5d8eac09e74bee983c4
DOI: 10.1007/978-3-642-27997-3_28
Pandurino, A., Mainetti, L., Bolchini, D., Paiano, R.
Balancing complex page modeling and usability for rich internet applications
(2012) Advances in Intelligent Systems and Computing, 179 AISC, pp. 13-25. Cited 2 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84865622860&doi=10.1007%2f978-3-642-31603-6_2&partnerID=40&md5=b872fe667a1ebd8b45803be761d7a5cb
DOI: 10.1007/978-3-642-31603-6_2
Paiano, R., Pandurino, A., Mainetti, L.
Rich-IDM: Transforming the user experience of legacy applications
(2011) Proceedings - 13th IEEE International Symposium on Web Systems Evolution, WSE 2011, art. no. 6081823, pp. 81-85. Cited 3 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-83455195698&doi=10.1109%2fWSE.2011.6081823&partnerID=40&md5=86bb99963154201ab8d2930af695e061
DOI: 10.1109/WSE.2011.6081823
Mainetti, L., Patrono, L., Vergallo, R.
Combining EPCglobal and HL7 to deploy innovative e-health services for patients affected by multiple intolerances
(2011) ACM International Conference Proceeding Series, . Cited 4 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84856747168&doi=10.1145%2f2093698.2093784&partnerID=40&md5=6e5fa2f80db78f935db2445fde2a59b8
DOI: 10.1145/2093698.2093784
Bucciero, A., Di Blas, N., Mainetti, L., Paolini, P., Poggi, C.
How to build effective "edutainment" experiences in MUVEs
(2011) Multi-User Virtual Environments for the Classroom: Practical Approaches to Teaching in Virtual Worlds, pp. 115-133. Cited 3 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84867022623&doi=10.4018%2f978-1-60960-545-2.ch009&partnerID=40&md5=50e6db8327dd3e0048b317e9e16f6e93
DOI: 10.4018/978-1-60960-545-2.ch009
Mainetti, L., Patrono, L., Vilei, A.
Evolution of wireless sensor networks towards the Internet of Things: A survey
(2011) 2011 International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2011, art. no. 6064380, pp. 16-21. Cited 234 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-81455142290&partnerID=40&md5=8089ed723b1c1056c9a6ae8fa767fa4f
Cremona, L., Della Bordella, M., Mainetti, L., Mari, L., Patrono, L., Ravarini, A.
Towards a framework for evaluating the benefits of RFID adoption in supply chains
(2011) 2011 International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2011, art. no. 6064443, pp. 29-34. Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-81455143176&partnerID=40&md5=4eada2faec4ff79255d26bed07ee6e97
Acierno, R., Maffia, M., Mainetti, L., Patrono, L., Urso, E.
RFID-based tracing systems for drugs: Technological aspects and potential exposure risks
(2011) 2011 IEEE Radio and Wireless Week, RWW 2011 - 2011 IEEE Topical Conference on Biomedical Wireless Technologies, Networks, and Sensing Systems, BioWireleSS 2011, art. no. 5724346, pp. 87-90. Cited 5 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-79953124386&doi=10.1109%2fBIOWIRELESS.2011.5724346&partnerID=40&md5=ba1f5197fcce3b4901e074c28c9cd3ff
DOI: 10.1109/BIOWIRELESS.2011.5724346
Barchetti, U., Capodieci, A., Guido, A.L., Mainetti, L.
Modelling collaboration processes through design patterns
(2011) Computing and Informatics, 30 (1), pp. 113-135. Cited 11 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-79952463204&partnerID=40&md5=14549dbcc918852728f2266d6c3a2dea
Barchetti, U., Bucciero, A., Mainetti, L.
Including nomadic people in collaborative e-learning: Experiences in research projects
(2010) Developing and Utilizing E-Learning Applications, pp. 203-224. Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84899321835&doi=10.4018%2f978-1-61692-791-2.ch012&partnerID=40&md5=713d9feed654409aed656908f57e2f73
DOI: 10.4018/978-1-61692-791-2.ch012
Barchetti, U., Mainetti, L., Orlando, A., Vergallo, R.
From item to human traceability by epcaware technologies: A case study
(2010) Proc. of the IADIS Int. Conf. Collaborative Technologies 2010, Proc. of the IADIS Int. Conf. Web Based Communities 2010, Part of the MCCSIS 2010, pp. 194-198.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-79955162827&partnerID=40&md5=912b34b2bc59182da8451cae851975ed
Pandurino, A., Bolchini, D., Mainetti, L., Paiano, R.
Rich-IDM: Extending IDM to model Rich Internet Applications
(2010) iiWAS2010 - 12th International Conference on Information Integration and Web-Based Applications and Services, pp. 147-154. Cited 8 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-79955993117&doi=10.1145%2f1967486.1967512&partnerID=40&md5=778387511893fbd52bd3a4fa56937fb2
DOI: 10.1145/1967486.1967512
Barchetti, U., Bucciero, A., Mainetti, L.
Collaborative learning through flexible web CVE: The experience of webtalk
(2010) Teaching through Multi-User Virtual Environments: Applying Dynamic Elements to the Modern Classroom, pp. 471-490. Cited 2 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84901525141&doi=10.4018%2f978-1-61692-822-3.ch025&partnerID=40&md5=8704013cffb31ed3aa64594d2a94a0a3
DOI: 10.4018/978-1-61692-822-3.ch025
Acierno, R., Maffia, M., Mainetti, L., Patrono, L., Urso, E.
A multidisciplinary approach to investigate potential exposure risks on drugs of RFID systems
(2010) 2010 3rd International Symposium on Applied Sciences in Biomedical and Communication Technologies, ISABEL 2010, art. no. 5702792, . Cited 2 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-79952010326&doi=10.1109%2fISABEL.2010.5702792&partnerID=40&md5=d850890cd7579d593a377d3b30301741
DOI: 10.1109/ISABEL.2010.5702792
Acierno, R., De Pascali, S.A., Fanizzi, F.P., Maffia, M., Mainetti, L., Patrono, L., Urso, E.
Investigating potential effects of RFID systems on the molecular structure of the human insulin
(2010) 2010 5th Cairo International Biomedical Engineering Conference, CIBEC 2010, art. no. 5716055, pp. 192-196. Cited 4 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-79952554414&doi=10.1109%2fCIBEC.2010.5716055&partnerID=40&md5=ca0dc6202bc45ae2e6d9b7504be090fb
DOI: 10.1109/CIBEC.2010.5716055
Barchetti, U., Bucciero, A., De Blasi, M., Guido, A.L., Mainetti, L., Patrono, L.
Impact of RFID, EPC and B2B on traceability management of the pharmaceutical supply chain
(2010) Proceeding - 5th International Conference on Computer Sciences and Convergence Information Technology, ICCIT 2010, art. no. 5711029, pp. 58-63. Cited 7 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-79952670283&doi=10.1109%2fICCIT.2010.5711029&partnerID=40&md5=ca9442795cae9cf75401c313abc59eaa
DOI: 10.1109/ICCIT.2010.5711029
Acierno, R., De Riccardis, L., Maffia, M., Mainetti, L., Patrono, L., Urso, E.
Exposure to electromagnetic fields in UHF band of an insulin preparation: Biological effects
(2010) 2010 IEEE Biomedical Circuits and Systems Conference, BioCAS 2010, pp. 78-81. Cited 5 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84860710574&partnerID=40&md5=e51e76742f652fac5d6799d530b2f061
Acierno, R., Carata, E., De Pascali, S.A., Fanizzi, F.P., Maffia, M., Mainetti, L., Patrono, L.
Potential effects of RFID systems on biotechnology insulin preparation: A study using HPLC and NMR spectroscopy
(2010) 2010 IEEE/ICME International Conference on Complex Medical Engineering, CME2010, art. no. 5558843, pp. 198-203. Cited 17 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-77957812581&doi=10.1109%2fICCME.2010.5558843&partnerID=40&md5=52eca8531ea241186d6f546016fd5dfc
DOI: 10.1109/ICCME.2010.5558843
Barchetti, U., Bucciero, A., De Blasi, M., Mainetti, L., Patrono, L.
RFID, EPC and B2B convergence towards an item-level traceability in the pharmaceutical supply chain
(2010) Proceedings of 2010 IEEE International Conference on RFID-Technology and Applications, RFID-TA 2010, art. no. 5529939, pp. 194-199. Cited 29 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-77956450540&doi=10.1109%2fRFID-TA.2010.5529939&partnerID=40&md5=299624a0a1cd1f18a363adb45f1b8610
DOI: 10.1109/RFID-TA.2010.5529939
Acierno, R., Carata, E., Maffia, M., Mainetti, L., Patrono, L.
Effects evaluation of UHF RFID systems on the molecular structure of biological drugs
(2010) 2010 4th International Conference on Bioinformatics and Biomedical Engineering, iCBBE 2010, art. no. 5515598, . Cited 2 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-77956147886&doi=10.1109%2fICBBE.2010.5515598&partnerID=40&md5=e2837b83d359b80c6303f031bc1b18a5
DOI: 10.1109/ICBBE.2010.5515598
Guido, A.L., Paiano, R., Pandurino, A., Mainetti, L.
Transforming legacy systems into user-centred web applications
(2010) Management of the Interconnected World - ItAIS: The Italian Association for Information Systems, pp. 395-401.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84901649784&doi=10.1007%2f978-3-7908-2404-9_46&partnerID=40&md5=f5cc3b0354dc6e6d1b141e3b62c50ab1
DOI: 10.1007/978-3-7908-2404-9_46
Barchetti, U., Bucciero, A., Mainetti, L.
Supply chain management meets auto-ID management: A structured approach
(2009) SoftCOM 2009 - 17th International Conference on Software, Telecommunications and Computer Networks, art. no. 5306879, pp. 80-84. Cited 5 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-70649097535&partnerID=40&md5=829abaef8e915356943755a6c4f594b9
Barchetti, U., Bucciero, A., Mainetti, L.
Fast prototyping of learning experiences: An attempt of modelling
(2009) Proceedings of the 12th IASTED International Conference on Computers and Advanced Technology in Education, CATE 2009, pp. 245-251.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-77954595001&partnerID=40&md5=16d985213db0f916c6f0f83c0e909411
Barchetti, U., Guido, A.L., Mainetti, L.
A conceptual framework for business driven integration
(2009) International Conference for Internet Technology and Secured Transactions, ICITST 2009, art. no. 5402527, .
https://www.scopus.com/inward/record.uri?eid=2-s2.0-77950313350&partnerID=40&md5=efcfb54d56dc0f53d0e4b302e0900f15
Bucciero, A., Guido, A.L., Mainetti, L.
Digiplaza: A 2,5D virtual environment to support the sense of locality of geographic communities using an ontologic approach
(2009) Proceedings of the International Conference on Management of Emergent Digital EcoSystems, MEDES '09, pp. 205-209. Cited 3 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-74549134473&doi=10.1145%2f1643823.1643861&partnerID=40&md5=85d58fd2809077cf22e9f6420040416d
DOI: 10.1145/1643823.1643861
Barchetti, U., Bucciero, A., De Blasi, M., Mainetti, L., Patrono, L.
Implementation and testing of an EPCglobal-aware discovery service for item-level traceability
(2009) 2009 International Conference on Ultra Modern Telecommunications and Workshops, art. no. 5345580, . Cited 32 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-74549162364&doi=10.1109%2fICUMT.2009.5345580&partnerID=40&md5=13cf92eee85a6d143808aa34a491e9cb
DOI: 10.1109/ICUMT.2009.5345580
Barchetti, U., Bucciero, A., De Benedittis, T.A., Macchia, F., Mainetti, L., Tamborino, A.
Mo WeT: A configurable framework to support ubiquitous location-aware applications
(2009) UIC-ATC 2009 - Symposia and Workshops on Ubiquitous, Autonomic and Trusted Computing in Conjunction with the UIC'09 and ATC'09 Conferences, art. no. 5319261, pp. 75-82. Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-72849126151&doi=10.1109%2fUIC-ATC.2009.59&partnerID=40&md5=db045e0bb48b204205f796fd522623a7
DOI: 10.1109/UIC-ATC.2009.59
Barchetti, U., Bucciero, A., Mainetti, L., Sabato, S.S.
A framework to support interoperability and multi-channel delivery among heterogeneous systems: Trame project
(2008) ICEIS 2008 - Proceedings of the 10th International Conference on Enterprise Information Systems, DISI, pp. 179-189. Cited 2 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-55849104356&partnerID=40&md5=fbcd205c6639fcd230aaa413302929ee
Barchetti, U., Bucciero, A., Capodieci, A., Capone, L., Mainetti, L., Sabato, S.S.
Multi-modal and multi-channel e-services framework meets modern freight management systems requirements: Dialogo project
(2008) MCCSIS'08 - IADIS Multi Conference on Computer Science and Information Systems; Proceedings e-Commerce 2008, pp. 265-270. Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-58449126139&partnerID=40&md5=51a6eb8b83bcaeac4c61f0c208c5e1fe
Mainetti, L., Paiano, R., Bucciero, A., Guido, A.L., Santo Sabato, S., Capone, L., Barchetti, U., Pulimeno, E.
YOUFILE: Ontology based system for document smart indexing
(2008) WMSCI 2008 - The 12th World Multi-Conference on Systemics, Cybernetics and Informatics, Jointly with the 14th International Conference on Information Systems Analysis and Synthesis, ISAS 2008 - Proc., 7, pp. 240-245.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84869049823&partnerID=40&md5=64c08b380b79d34b3e1ce2f0bf97f7ef
Barchetti, U., Bucciero, A., Sabato, S.S., Mainetti, L.
Loading and rendering optimization for networked virtual worlds
(2007) Proceedings - 2007 International Conference on Cyberworlds, CW'07, art. no. 4390929, pp. 265-272. Cited 3 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-46449121280&doi=10.1109%2fCW.2007.42&partnerID=40&md5=dab62bebd0cb7de9f79db262da628210
DOI: 10.1109/CW.2007.42
Baresi, L., Mainetti, L.
W2000 meets J2ME for the fast prototyping of mobile web applications
(2006) Proceedings of the IASTED International Conference on Software Engineering, as part of the 24th IASTED International Multi-Conference on APPLIED INFORMATICS, 2006, pp. 59-64.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-34047096457&partnerID=40&md5=cf09aee4f34e286c5d3a9e93e747b5c2
Mainetti, L., Paiano, R., Pandurino, A.
User-centered reverse engineering: Genesis-D project
(2006) CEUR Workshop Proceedings, 193, 5 p. Cited 1 time.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84884374379&partnerID=40&md5=0335ea2fa1f66178b146f6db50dbd2bf
Baresi, L., Colazzo, S., Mainetti, L., Morasca, S.
W2000: A modelling notation for complex web applications
(2006) Web Engineering, pp. 335-364. Cited 23 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84892244319&doi=10.1007%2f3-540-28218-1_11&partnerID=40&md5=7d4e06366cd4c9f4cf4a93313af52171
DOI: 10.1007/3-540-28218-1_11
Barbieri, T., Bianchi, A., Bruna, S., Mainetti, L., Sbattella, L.
Applications. MultiLezi: Implementation of an adaptive multichannel learning environment
(2006) Mobile Information Systems: Infrastructure and Design for Adaptivity and Flexibility, pp. 293-304. Cited 3 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84876279251&doi=10.1007%2f3-540-31008-8_11&partnerID=40&md5=83c050fc8035bf5c6428c98f4b24591f
DOI: 10.1007/3-540-31008-8_11
Barbieri, T., Barchetti, U., Bucciero, A., Mainetti, L., Santo Sabato, S.
WEBTALK04: A framework to support 3D collaborative E-learning
(2006) Proceedings of the Fifth IASTED International Conference on Web-based Education, 2006, pp. 13-18. Cited 3 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-33847198700&partnerID=40&md5=f37f12c39ce1d1b8bdcc841eb7803ee2
Torlone, R., Barbieri, T., Bertini, E., Bianchi, A., Billi, M., Bolchini, D., Bruna, S., Burzagli, L., Calì, A., Catarci, T., Ceri, S., Daniel, F., De Virgilio, R., Facca, F., Gabbanini, F., Gabrielli, S., Giunta, G., Graziani, P., Kimani, S., Legnani, M., Mainetti, L., Matera, M., Palchetti, E., Presenza, D., Santucci, G., Sbattella, L., Simeoni, N.
Methods and tools for the development of adaptive applications
(2006) Mobile Information Systems: Infrastructure and Design for Adaptivity and Flexibility, pp. 209-247. Cited 2 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-35148823463&doi=10.1007%2f3-540-31008-8_8&partnerID=40&md5=5fa2c5669e6ef64dcba380b0f98bcf07
DOI: 10.1007/3-540-31008-8_8
Di Nitto, E., Mainetti, L., Monga, M., Sbattella, L., Tedesco, R.
Supporting interoperability and reusability of learning objects: The virtual campus approach
(2006) Educational Technology and Society, 9 (2), pp. 33-50. Cited 20 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-33646592539&partnerID=40&md5=f8e2f112b8902d6bc37471dbfb71a75a
Baresi, L., Colazzo, S., Mainetti, L.
First experiences on constraining consistency and adaptivity of W2000 models
(2005) Proceedings of the ACM Symposium on Applied Computing, 2, pp. 1674-1678. Cited 10 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-33644523060&doi=10.1145%2f1066677.1067056&partnerID=40&md5=f418efe03ade161b7d61936d832da8ec
DOI: 10.1145/1066677.1067056
Perrone, V., Mainetti, L., Paolini, P.
A UML extension for designing usable user experiences for web applications
(2005) CEUR Workshop Proceedings, 153, pp. 25-35. Cited 2 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84883792319&partnerID=40&md5=16ba66fe1af21e7ed68222ed9f0add04
Baresi, L., Denaro, G., Mainetti, L., Paolini, P.
Assertions to better specify the Amazon bug
(2002) ACM International Conference Proceeding Series, 27, pp. 585-592. Cited 27 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-45849100501&doi=10.1145%2f568760.568863&partnerID=40&md5=8bfd1f481af1e6f4e37856b98ee89053
DOI: 10.1145/568760.568863
Mainetti, L., Monga, M., Sbattella, L.
A virtual campus for tethered and untethered scenarios
(2002) Proceedings - Frontiers in Education Conference, 1, pp. T3F/11-T3F/12. Cited 2 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-17144434766&partnerID=40&md5=566bf5a7c185033fe24aa40debe6a387
Baresi, L., Garzotto, F., Mainetti, L., Paolini, P.
Meta-modeling techniques meet web application design tools
(2002) Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2306, pp. 294-307. Cited 5 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84958747579&doi=10.1007%2f3-540-45923-5_20&partnerID=40&md5=e595d48cafd6b106f50b6ac164c573ac
DOI: 10.1007/3-540-45923-5_20
Garzotto, F., Mainetti, L., Paolini, P.
Designing modal hypermedia applications
(1997) Proceedings of the ACM Conference on Hypertext, pp. 38-47. Cited 9 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-0030684902&partnerID=40&md5=05b61f36117606dcfdd0b9b8499af500
Garzotto, F., Mainetti, L., Paolini, P.
Modal navigation for hypermedia applications
(1996) Proceedings of the Workshop on Advanced Visual Interfaces AVI, pp. 59-66.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84877265266&doi=10.1145%2f948449.948459&partnerID=40&md5=d93be2f2ca83f773f31a74be7f1d7897
DOI: 10.1145/948449.948459
Garzotto, F., Mainetti, L., Paolini, P.
Information reuse in hypermedia applications
(1996) Proceedings of the ACM Conference on Hypertext, pp. 93-104. Cited 24 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-0029703423&partnerID=40&md5=028ca9bf4320234eb219959c9daaadc4
Garzotto, F., Mainetti, L., Paolini, P.
Navigation in hypermedia applications: Modeling and semantics
(1996) Journal of Organizational Computing and Electronic Commerce, 6 (3), pp. 211-237. Cited 29 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-0000996089&doi=10.1080%2f10919399609540278&partnerID=40&md5=df4fbaf55aa547a88e6224a999e81829
DOI: 10.1080/10919399609540278
Garzotto, F., Mainetti, L., Paolini, P.
Hypermedia Design, Analysis, and Evaluation Issues
(1995) Communications of the ACM, 38 (8), pp. 74-86. Cited 112 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84976660747&doi=10.1145%2f208344.208349&partnerID=40&md5=66eaebb099b3e1b1df1e2a629cd7b227
DOI: 10.1145/208344.208349
Garzotto, F., Mainetti, L., Paolini, P.
Adding multimedia collections to the dexter model
(1994) Proceedings of the 1994 ACM European Conference on Hypermedia Technology, ECHT 1994, pp. 70-80. Cited 26 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85025354091&doi=10.1145%2f192757.192774&partnerID=40&md5=5a9602d1b161cf84621aad90f1f5f6fb
DOI: 10.1145/192757.192774
Garzotto, F., Mainetti, L., Paolini, P.
HDM2: Extending the E-R approach to hypermedia application design
(1994) Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 823 LNCS, pp. 179-189. Cited 12 times.
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85028462884&partnerID=40&md5=bfa0895d735990aa21ab3e56bc2dfc0e
Temi di ricerca
Web Engineering.
Model-driven Engineering applied to Mobile and Multi Device applications.
Model-driven Engineering applied to Internet of Things.