• Non ci sono risultati.

Ing.RiccardoMartoglia DianaSighinolfiA.A.2014-2015 Relatore: Laureanda: ProgettoesviluppoinSwiftdiun’applicazioneperdispositivimobilibasatasudatisemantico-lessicali Universit`adeglistudidiModenaeReggioEmilia

N/A
N/A
Protected

Academic year: 2021

Condividi "Ing.RiccardoMartoglia DianaSighinolfiA.A.2014-2015 Relatore: Laureanda: ProgettoesviluppoinSwiftdiun’applicazioneperdispositivimobilibasatasudatisemantico-lessicali Universit`adeglistudidiModenaeReggioEmilia"

Copied!
70
0
0

Testo completo

(1)

Universit`a degli studi di Modena e Reggio Emilia

Dipartimento di Scienze Fisiche, Informatiche e Matematiche

Corso di Laurea in Informatica

Progetto e sviluppo in Swift di

un’applicazione per dispositivi mobili basata su dati semantico-lessicali

Relatore:

Ing. Riccardo Martoglia

Laureanda:

Diana Sighinolfi A.A. 2014-2015

(2)

Obiettivi della tesi

Gli obiettivi che si intendevano raggiungere nell’ambito del progetto di tesi svolto sono:

I Apprendere e conoscere il linguaggio Swift

I Gestire ed elaborare dati provenienti da un database semantico-lessicale

I Realizzare un’applicazione iOS in Swift

(3)

Obiettivi della tesi

Gli obiettivi che si intendevano raggiungere nell’ambito del progetto di tesi svolto sono:

I Apprendere e conoscere il linguaggio Swift

I Gestire ed elaborare dati provenienti da un database semantico-lessicale

I Realizzare un’applicazione iOS in Swift

(4)

Obiettivi della tesi

Gli obiettivi che si intendevano raggiungere nell’ambito del progetto di tesi svolto sono:

I Apprendere e conoscere il linguaggio Swift

I Gestire ed elaborare dati provenienti da un database semantico-lessicale

I Realizzare un’applicazione iOS in Swift

(5)

Obiettivi della tesi

Gli obiettivi che si intendevano raggiungere nell’ambito del progetto di tesi svolto sono:

I Apprendere e conoscere il linguaggio Swift

I Gestire ed elaborare dati provenienti da un database semantico-lessicale

I Realizzare un’applicazione iOS in Swift

(6)

Attivit` a svolte

Le attivit`a svolte durante il tirocinio sono:

I Studio del linguaggio e delle tecnologie utilizzate in Swift

I Studio del database semantico MultiWordNet

I Software per l’elaborazione dei dati estrapolati da MultiWordNet

I Game app in Swift

(7)

Attivit` a svolte

Le attivit`a svolte durante il tirocinio sono:

I Studio del linguaggio e delle tecnologie utilizzate in Swift

I Studio del database semantico MultiWordNet

I Software per l’elaborazione dei dati estrapolati da MultiWordNet

I Game app in Swift

(8)

Attivit` a svolte

Le attivit`a svolte durante il tirocinio sono:

I Studio del linguaggio e delle tecnologie utilizzate in Swift

I Studio del database semantico MultiWordNet

I Software per l’elaborazione dei dati estrapolati da MultiWordNet

I Game app in Swift

(9)

Attivit` a svolte

Le attivit`a svolte durante il tirocinio sono:

I Studio del linguaggio e delle tecnologie utilizzate in Swift

I Studio del database semantico MultiWordNet

I Software per l’elaborazione dei dati estrapolati da MultiWordNet

I Game app in Swift

(10)

Attivit` a svolte

Le attivit`a svolte durante il tirocinio sono:

I Studio del linguaggio e delle tecnologie utilizzate in Swift

I Studio del database semantico MultiWordNet

I Software per l’elaborazione dei dati estrapolati da MultiWordNet

I Game app in Swift

(11)

Il linguaggio Swift

Swift `e un linguaggio fresco, leggero e facile da apprendere, soprattutto per i neofiti. Basato sul C e sull’Objective-C, `e tuttavia considerato

quasi un linguaggio di scripting per la sua estrema flessibilit`a.

Le principali peculiarit`a del nuovo linguaggio sono:

I tipizzazione forte

I valori opzionali

I no fallthrough implicito

I Automatic Reference Counting

(12)

Il linguaggio Swift

Swift `e un linguaggio fresco, leggero e facile da apprendere, soprattutto per i neofiti. Basato sul C e sull’Objective-C, `e tuttavia considerato

quasi un linguaggio di scripting per la sua estrema flessibilit`a.

Le principali peculiarit`a del nuovo linguaggio sono:

I tipizzazione forte

I valori opzionali

I no fallthrough implicito

I Automatic Reference Counting

(13)

Il linguaggio Swift

Swift `e un linguaggio fresco, leggero e facile da apprendere, soprattutto per i neofiti. Basato sul C e sull’Objective-C, `e tuttavia considerato

quasi un linguaggio di scripting per la sua estrema flessibilit`a.

Le principali peculiarit`a del nuovo linguaggio sono:

I tipizzazione forte

I valori opzionali

I no fallthrough implicito

I Automatic Reference Counting

(14)

Il linguaggio Swift

Swift `e un linguaggio fresco, leggero e facile da apprendere, soprattutto per i neofiti. Basato sul C e sull’Objective-C, `e tuttavia considerato

quasi un linguaggio di scripting per la sua estrema flessibilit`a.

Le principali peculiarit`a del nuovo linguaggio sono:

I tipizzazione forte

I valori opzionali

I no fallthrough implicito

I Automatic Reference Counting

(15)

Il linguaggio Swift

Swift `e un linguaggio fresco, leggero e facile da apprendere, soprattutto per i neofiti. Basato sul C e sull’Objective-C, `e tuttavia considerato

quasi un linguaggio di scripting per la sua estrema flessibilit`a.

Le principali peculiarit`a del nuovo linguaggio sono:

I tipizzazione forte

I valori opzionali

I no fallthrough implicito

I Automatic Reference Counting

(16)

WordNet (1/2)

WordNet `e un database semantico, strutturato a forma di grafo, sviluppato nell’universit`a di Princeton.

lexicon

dictionary lexicon lexical

lexical entry dictionary entry

wordbook

unabridged dictionary, unabridged

bilingual dictionary

gazetteer

spell- checker

pocket dictionary lerner’s

dictionary school dictionary desk

dictionary collegiate dictionary etymological

dictionary

vocabulary lexicon mental lexicon

lexical language

speech

cognition knowledge

noesis

(17)

WordNet (1/2)

WordNet `e un database semantico, strutturato a forma di grafo, sviluppato nell’universit`a di Princeton.

lexicon

dictionary lexicon lexical

lexical entry dictionary entry

wordbook

unabridged dictionary, unabridged

bilingual dictionary

gazetteer

spell- checker

pocket dictionary lerner’s

dictionary school dictionary desk

dictionary collegiate dictionary etymological

dictionary

vocabulary lexicon mental lexicon

lexical language

speech

cognition knowledge

noesis

(18)

WordNet (1/2)

WordNet `e un database semantico, strutturato a forma di grafo, sviluppato nell’universit`a di Princeton.

lexicon

dictionary lexicon lexical

lexical entry dictionary entry

wordbook

unabridged dictionary, unabridged

bilingual dictionary

gazetteer

spell- checker

pocket dictionary lerner’s

dictionary school dictionary desk

dictionary collegiate dictionary etymological

dictionary

vocabulary lexicon mental lexicon

lexical language

speech

cognition knowledge

noesis

(19)

WordNet (1/2)

WordNet `e un database semantico, strutturato a forma di grafo, sviluppato nell’universit`a di Princeton.

lexicon

dictionary lexicon lexical

lexical entry dictionary entry

wordbook

unabridged dictionary, unabridged

bilingual dictionary

gazetteer

spell- checker

pocket dictionary lerner’s

dictionary school dictionary desk

dictionary collegiate dictionary etymological

dictionary

vocabulary lexicon mental lexicon

lexical language

speech

cognition knowledge

noesis

(20)

WordNet (2/2)

Il database lessicale `e un thesaurus organizzato sulla base di concetti strutturati all’interno di insiemi:

I lemma

I sense

I synset

I synset sono collegati fra loro attraverso relazioni semantiche; le possibili relazioni previste dal dizionario sono:

I iponimia

I ipernimia

I meronimia

I implicazione

I similarit`a

I attributo

(21)

WordNet (2/2)

Il database lessicale `e un thesaurus organizzato sulla base di concetti strutturati all’interno di insiemi:

I lemma

I sense

I synset

I synset sono collegati fra loro attraverso relazioni semantiche; le possibili relazioni previste dal dizionario sono:

I iponimia

I ipernimia

I meronimia

I implicazione

I similarit`a

I attributo

(22)

WordNet (2/2)

Il database lessicale `e un thesaurus organizzato sulla base di concetti strutturati all’interno di insiemi:

I lemma

I sense

I synset

I synset sono collegati fra loro attraverso relazioni semantiche; le possibili relazioni previste dal dizionario sono:

I iponimia

I ipernimia

I meronimia

I implicazione

I similarit`a

I attributo

(23)

WordNet (2/2)

Il database lessicale `e un thesaurus organizzato sulla base di concetti strutturati all’interno di insiemi:

I lemma

I sense

I synset

I synset sono collegati fra loro attraverso relazioni semantiche; le possibili relazioni previste dal dizionario sono:

I iponimia

I ipernimia

I meronimia

I implicazione

I similarit`a

I attributo

(24)

WordNet (2/2)

Il database lessicale `e un thesaurus organizzato sulla base di concetti strutturati all’interno di insiemi:

I lemma

I sense

I synset

I synset sono collegati fra loro attraverso relazioni semantiche; le possibili relazioni previste dal dizionario sono:

I iponimia

I ipernimia

I meronimia

I implicazione

I similarit`a

I attributo

(25)

WordNet (2/2)

Il database lessicale `e un thesaurus organizzato sulla base di concetti strutturati all’interno di insiemi:

I lemma

I sense

I synset

I synset sono collegati fra loro attraverso relazioni semantiche; le possibili relazioni previste dal dizionario sono:

I iponimia

I ipernimia

I meronimia

I implicazione

I similarit`a

I attributo

(26)

MultiWordNet

MultiWordNet `e un database lessicale multilingue che nella versione online `e realizzato in tre lingue:

I Inglese (WordNet dell’universit`a di Princeton)

I Spagnolo (Universit`a politecnica di Catalogna, Barcellona)

I Italiano (ITC-irst di Povo, Trento)

La versione distribuita, in formato XML, contiene solamente la versione in italiano allineata, per quanto possibile, con WordNet inglese dell’universit`a di Princeton.

(27)

MultiWordNet

MultiWordNet `e un database lessicale multilingue che nella versione online `e realizzato in tre lingue:

I Inglese (WordNet dell’universit`a di Princeton)

I Spagnolo (Universit`a politecnica di Catalogna, Barcellona)

I Italiano (ITC-irst di Povo, Trento)

La versione distribuita, in formato XML, contiene solamente la versione in italiano allineata, per quanto possibile, con WordNet inglese dell’universit`a di Princeton.

(28)

MultiWordNet

MultiWordNet `e un database lessicale multilingue che nella versione online `e realizzato in tre lingue:

I Inglese (WordNet dell’universit`a di Princeton)

I Spagnolo (Universit`a politecnica di Catalogna, Barcellona)

I Italiano (ITC-irst di Povo, Trento)

La versione distribuita, in formato XML, contiene solamente la versione in italiano allineata, per quanto possibile, con WordNet inglese dell’universit`a di Princeton.

(29)

MultiWordNet

MultiWordNet `e un database lessicale multilingue che nella versione online `e realizzato in tre lingue:

I Inglese (WordNet dell’universit`a di Princeton)

I Spagnolo (Universit`a politecnica di Catalogna, Barcellona)

I Italiano (ITC-irst di Povo, Trento)

La versione distribuita, in formato XML, contiene solamente la versione in italiano allineata, per quanto possibile, con WordNet inglese dell’universit`a di Princeton.

(30)

MultiWordNet

MultiWordNet `e un database lessicale multilingue che nella versione online `e realizzato in tre lingue:

I Inglese (WordNet dell’universit`a di Princeton)

I Spagnolo (Universit`a politecnica di Catalogna, Barcellona)

I Italiano (ITC-irst di Povo, Trento)

La versione distribuita, in formato XML, contiene solamente la versione in italiano allineata, per quanto possibile, con WordNet inglese dell’universit`a di Princeton.

(31)

L’applicazione (1/7)

Il gioco

Il software sviluppato `e una game application che ripropone il gioco de “La Ghigliottina” presente nel programma televisivo L’eredit`a.

(32)

L’applicazione (1/7)

Il gioco

Il software sviluppato `e una game application che ripropone il gioco de “La Ghigliottina” presente nel programma televisivo L’eredit`a.

(33)

L’applicazione (2/7)

Schemi di gioco

Obiettivo proposto

Generare in maniera automatica gli elementi necessari per la creazione degli schemi di gioco.

Lo schema di gioco si compone di:

I parola nascosta

I 5 parole-indizio

I 5 parole-intruso

(34)

L’applicazione (2/7)

Schemi di gioco

Obiettivo proposto

Generare in maniera automatica gli elementi necessari per la creazione degli schemi di gioco.

Lo schema di gioco si compone di:

I parola nascosta

I 5 parole-indizio

I 5 parole-intruso

(35)

L’applicazione (2/7)

Schemi di gioco

Obiettivo proposto

Generare in maniera automatica gli elementi necessari per la creazione degli schemi di gioco.

Lo schema di gioco si compone di:

I parola nascosta

I 5 parole-indizio

I 5 parole-intruso

(36)

L’applicazione (2/7)

Schemi di gioco

Obiettivo proposto

Generare in maniera automatica gli elementi necessari per la creazione degli schemi di gioco.

Lo schema di gioco si compone di:

I parola nascosta

I 5 parole-indizio

I 5 parole-intruso

(37)

L’applicazione (3/7)

Elaborazione dei dati

I dati messi a disposizione da MultiWordNet sono distribuiti in formato XML (≈ 1 milione di voci). Per il loro utilizzo si `e deciso di elaborarli attraverso un software realizzato ad hoc in PHP che

(38)

L’applicazione (4/7)

Elaborazione dei dati

Il software utilizza un parser XML per estrapolare i dati dal database e genera il codice SQL necessario per la creazione e il popolamento della base di dati destinata all’applicativo.

(39)

L’applicazione (4/7)

Elaborazione dei dati

Il software utilizza un parser XML per estrapolare i dati dal database e genera il codice SQL necessario per la creazione e il popolamento della base di dati destinata all’applicativo.

(40)

L’applicazione (5/7)

Algoritmo di generazione schemi

Algoritmo di generazione automatica degli schemi di gioco:

synset

iponimo-1 iponimo-2

...

iponimo-n

synset

synset

iponimo-1 iponimo-2

...

iponimo-n

synset iponimo-1

iponimo-2 ...

iponimo-n synset

iponimo-1 iponimo-2

...

iponimo-n synset

synset

(41)

L’applicazione (5/7)

Algoritmo di generazione schemi

Algoritmo di generazione automatica degli schemi di gioco:

synset

iponimo-1 iponimo-2

...

iponimo-n

synset

synset

iponimo-1 iponimo-2

...

iponimo-n

synset iponimo-1

iponimo-2 ...

iponimo-n synset

iponimo-1 iponimo-2

...

iponimo-n synset

synset

(42)

L’applicazione (5/7)

Algoritmo di generazione schemi

Algoritmo di generazione automatica degli schemi di gioco:

synset

iponimo-1 iponimo-2

...

iponimo-n

synset

synset

iponimo-1 iponimo-2

...

iponimo-n

synset iponimo-1

iponimo-2 ...

iponimo-n synset

iponimo-1 iponimo-2

...

iponimo-n synset

synset

(43)

L’applicazione (5/7)

Algoritmo di generazione schemi

Algoritmo di generazione automatica degli schemi di gioco:

synset

iponimo-1 iponimo-2

...

iponimo-n

synset

synset

iponimo-1 iponimo-2

...

iponimo-n

synset iponimo-1

iponimo-2 ...

iponimo-n synset

iponimo-1 iponimo-2

...

iponimo-n synset

synset

(44)

L’applicazione (5/7)

Algoritmo di generazione schemi

Algoritmo di generazione automatica degli schemi di gioco:

synset

iponimo-1 iponimo-2

...

iponimo-n

synset

synset

iponimo-1 iponimo-2

...

iponimo-n

synset iponimo-1

iponimo-2 ...

iponimo-n synset

iponimo-1 iponimo-2

...

iponimo-n synset

synset

(45)

L’applicazione (5/7)

Algoritmo di generazione schemi

Algoritmo di generazione automatica degli schemi di gioco:

synset

iponimo-1 iponimo-2

...

iponimo-n

synset

synset

iponimo-1 iponimo-2

...

iponimo-n

synset iponimo-1

iponimo-2 ...

iponimo-n synset

iponimo-1 iponimo-2

...

iponimo-n synset

synset

(46)

L’applicazione (6/7)

Algoritmo di generazione schemi

L’implementazione dell’algoritmo precedentemente descritto `e stata realizzata principalmente in linguaggio SQL dopo la trasformazione del grafo in tabelle relazionali secondo il seguente schema:

Recupero parola nascosta

let db = S Q L i t e D B . s h a r e d I n s t a n c e () var a r r a y _ t u p l e : [( w r i t t e n F o r m :String,

s y n s e t :String,

t a r g e t s :S t r i n g)] = []

let p a r o l e = db . q u e r y ( " s e l e c t lex . l e m m a _ w r i t t e n F o r m , lem . s e n s e _ s y n s e t ,

s1 . t a r g e t s

f r o m l e x i c a l e n t r y lex , l e m m a s e n s e s lem ,

s y n s e t r e l a t i o n s1

w h e r e s1 . r e l t y p e = ’ hypo ’ and s1 . id = lem . s e n s e _ s y n s e t and lex . id = lem . id

and lex . l e m m a _ w r i t t e n F o r m < > ’ GAP ! ’

and lex . l e m m a _ w r i t t e n F o r m < > ’ P S E U D O G A P ! ’ and s1 . id < > s1 . t a r g e t s and 6 <= (

s e l e c t c o u n t ( d i s t i n c t s2 . t a r g e t s ) f r o m s y n s e t r e l a t i o n s2

w h e r e s1 . id = s2 . id

and s2 . r e l t y p e = ’ hypo ’) ") for i in 0... p a r o l e . count -1{

let r i g a _ p a r o l a = p a r o l e [ i ]. d a t a let t u p l a = (

w r i t t e n F o r m : r i g a _ p a r o l a [" l e m m a _ w r i t t e n F o r m "]!. a s S t r i n g () ,

(47)

L’applicazione (6/7)

Algoritmo di generazione schemi

L’implementazione dell’algoritmo precedentemente descritto `e stata realizzata principalmente in linguaggio SQL dopo la trasformazione del grafo in tabelle relazionali secondo il seguente schema:

Recupero parola nascosta

let db = S Q L i t e D B . s h a r e d I n s t a n c e () var a r r a y _ t u p l e : [( w r i t t e n F o r m :String,

s y n s e t :String,

t a r g e t s :S t r i n g)] = []

let p a r o l e = db . q u e r y ( " s e l e c t lex . l e m m a _ w r i t t e n F o r m , lem . s e n s e _ s y n s e t ,

s1 . t a r g e t s

f r o m l e x i c a l e n t r y lex , l e m m a s e n s e s lem ,

s y n s e t r e l a t i o n s1

w h e r e s1 . r e l t y p e = ’ hypo ’ and s1 . id = lem . s e n s e _ s y n s e t and lex . id = lem . id

and lex . l e m m a _ w r i t t e n F o r m < > ’ GAP ! ’

and lex . l e m m a _ w r i t t e n F o r m < > ’ P S E U D O G A P ! ’ and s1 . id < > s1 . t a r g e t s and 6 <= (

s e l e c t c o u n t ( d i s t i n c t s2 . t a r g e t s ) f r o m s y n s e t r e l a t i o n s2

w h e r e s1 . id = s2 . id

and s2 . r e l t y p e = ’ hypo ’) ") for i in 0... p a r o l e . count -1{

let r i g a _ p a r o l a = p a r o l e [ i ]. d a t a let t u p l a = (

w r i t t e n F o r m : r i g a _ p a r o l a [" l e m m a _ w r i t t e n F o r m "]!. a s S t r i n g () ,

(48)

L’applicazione (7/7)

Interfaccia grafica

Il gioco prevede un’interfaccia molto semplice per l’utente:

I Parole tra cui scegliere in alto a sinistra

I Montepremi aggiornato in alto a destra

I Lista delle parole-indizio al centro colorate in base alla selezione

I Campo di testo per scrivere la propria soluzione in basso

I Pulsante “Parola nascosta” per verificare la soluzione

(49)

L’applicazione (7/7)

Interfaccia grafica

Il gioco prevede un’interfaccia molto semplice per l’utente:

I Parole tra cui scegliere in alto a sinistra

I Montepremi aggiornato in alto a destra

I Lista delle parole-indizio al centro colorate in base alla selezione

I Campo di testo per scrivere la propria soluzione in basso

I Pulsante “Parola nascosta” per verificare la soluzione

(50)

L’applicazione (7/7)

Interfaccia grafica

Il gioco prevede un’interfaccia molto semplice per l’utente:

I Parole tra cui scegliere in alto a sinistra

I Montepremi aggiornato in alto a destra

I Lista delle parole-indizio al centro colorate in base alla selezione

I Campo di testo per scrivere la propria soluzione in basso

I Pulsante “Parola nascosta” per verificare la soluzione

(51)

L’applicazione (7/7)

Interfaccia grafica

Il gioco prevede un’interfaccia molto semplice per l’utente:

I Parole tra cui scegliere in alto a sinistra

I Montepremi aggiornato in alto a destra

I Lista delle parole-indizio al centro colorate in base alla selezione

I Campo di testo per scrivere la propria soluzione in basso

I Pulsante “Parola nascosta” per verificare la soluzione

(52)

L’applicazione (7/7)

Interfaccia grafica

Il gioco prevede un’interfaccia molto semplice per l’utente:

I Parole tra cui scegliere in alto a sinistra

I Montepremi aggiornato in alto a destra

I Lista delle parole-indizio al centro colorate in base alla selezione

I Campo di testo per scrivere la propria soluzione in basso

I Pulsante “Parola nascosta” per verificare la soluzione

(53)

L’applicazione (7/7)

Interfaccia grafica

Il gioco prevede un’interfaccia molto semplice per l’utente:

I Parole tra cui scegliere in alto a sinistra

I Montepremi aggiornato in alto a destra

I Lista delle parole-indizio al centro colorate in base alla selezione

I Campo di testo per scrivere la propria soluzione in basso

I Pulsante “Parola nascosta” per verificare la soluzione

(54)

L’applicazione (7/7)

Interfaccia grafica

Il gioco prevede un’interfaccia molto semplice per l’utente:

I Parole tra cui scegliere in alto a sinistra

I Montepremi aggiornato in alto a destra

I Lista delle parole-indizio al centro colorate in base alla selezione

I Campo di testo per scrivere la propria soluzione in basso

I Pulsante “Parola nascosta” per verificare la soluzione

(55)

L’applicazione (7/7)

Interfaccia grafica

Il gioco prevede un’interfaccia molto semplice per l’utente:

I Parole tra cui scegliere in alto a sinistra

I Montepremi aggiornato in alto a destra

I Lista delle parole-indizio al centro colorate in base alla selezione

I Campo di testo per scrivere la propria soluzione in basso

I Pulsante “Parola nascosta” per verificare la soluzione

(56)

L’applicazione (7/7)

Interfaccia grafica

Il gioco prevede un’interfaccia molto semplice per l’utente:

I Parole tra cui scegliere in alto a sinistra

I Montepremi aggiornato in alto a destra

I Lista delle parole-indizio al centro colorate in base alla selezione

I Campo di testo per scrivere la propria soluzione in basso

I Pulsante “Parola nascosta” per verificare la soluzione

(57)

L’applicazione (7/7)

Interfaccia grafica

Il gioco prevede un’interfaccia molto semplice per l’utente:

I Parole tra cui scegliere in alto a sinistra

I Montepremi aggiornato in alto a destra

I Lista delle parole-indizio al centro colorate in base alla selezione

I Campo di testo per scrivere la propria soluzione in basso

I Pulsante “Parola nascosta” per verificare la soluzione

(58)

L’applicazione (7/7)

Interfaccia grafica

Il gioco prevede un’interfaccia molto semplice per l’utente:

I Parole tra cui scegliere in alto a sinistra

I Montepremi aggiornato in alto a destra

I Lista delle parole-indizio al centro colorate in base alla selezione

I Campo di testo per scrivere la propria soluzione in basso

I Pulsante “Parola nascosta” per verificare la soluzione

(59)

L’applicazione (7/7)

Interfaccia grafica

Il gioco prevede un’interfaccia molto semplice per l’utente:

I Parole tra cui scegliere in alto a sinistra

I Montepremi aggiornato in alto a destra

I Lista delle parole-indizio al centro colorate in base alla selezione

I Campo di testo per scrivere la propria soluzione in basso

I Pulsante “Parola nascosta” per verificare la soluzione

(60)

L’applicazione (7/7)

Interfaccia grafica

Il gioco prevede un’interfaccia molto semplice per l’utente:

I Parole tra cui scegliere in alto a sinistra

I Montepremi aggiornato in alto a destra

I Lista delle parole-indizio al centro colorate in base alla selezione

I Campo di testo per scrivere la propria soluzione in basso

I Pulsante “Parola nascosta” per verificare la soluzione

(61)

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML a quello SQL

I Game application in Swift con calcolo automatico degli schemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica pi`u user friendly

I introduzione dei punti esperienza

(62)

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML a quello SQL

I Game application in Swift con calcolo automatico degli schemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica pi`u user friendly

I introduzione dei punti esperienza

(63)

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML a quello SQL

I Game application in Swift con calcolo automatico degli schemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica pi`u user friendly

I introduzione dei punti esperienza

(64)

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML a quello SQL

I Game application in Swift con calcolo automatico degli schemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica pi`u user friendly

I introduzione dei punti esperienza

(65)

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML a quello SQL

I Game application in Swift con calcolo automatico degli schemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica pi`u user friendly

I introduzione dei punti esperienza

(66)

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML a quello SQL

I Game application in Swift con calcolo automatico degli schemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica pi`u user friendly

I introduzione dei punti esperienza

(67)

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML a quello SQL

I Game application in Swift con calcolo automatico degli schemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica pi`u user friendly

I introduzione dei punti esperienza

(68)

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML a quello SQL

I Game application in Swift con calcolo automatico degli schemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica pi`u user friendly

I introduzione dei punti esperienza

(69)

Grazie per l’attenzione

(70)

Riferimenti

Documenti correlati

Il grafico delle mosse nella modalit` a di allenamento social (Figura 5.15) viene riportato come esempio di distribuzione affetta da rumore: le partite di training sono state le

Questo sicuramente comporta il fatto che la rete apprenda molto bene i casi specifici, ottenendo un’accuratezza molto alta su un test set estratto dallo stesso dataset sui cui la

Figura 6.9: Pannello Prediction Settings, cos`ı come appare al lancio del modulo di predizione... Il pannello permette all’utente di selezionare uno o due algoritmi o di ge-

che il modello con ritardo fisico applicato al simulatore UVA/Padova del diabete di tipo 1 presenta un’elevata percentuale di soggetti che superano il runtest rispetto alla

Le misure effettuate sulle immagini M-mode ricostruite possono essere falsate a causa della distorsione dell’immagine bidimensionale se la linea di analisi devia dalla

L’utilizzo del metodo Random Survival Forests sui dataset contenenti dati clinici e de- mografici dei pazienti SLA ha permesso di ottenere, per ciascun soggetto, delle

In questa tesi verr`a analizzata l’implementazione di un applicativo CRM basato su software open source presso la succursale italiana di una prestigiosa azienda giap- ponese, leader

• Gestione gruppi Visualizza i gruppi presenti nel sito, permettendo la visualizzazione degli applicativi e degli utenti associati a quel gruppo.. • Riferimenti per Gruppo Dopo