70
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 Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 1 / 16

Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Universita degli studi di Modena e Reggio Emilia

Dipartimento di Scienze Fisiche, Informatiche e Matematiche

Corso di Laurea in Informatica

Progetto e sviluppo in Swift diun’applicazione per dispositivi mobili basata

su dati semantico-lessicali

Relatore:Ing. Riccardo Martoglia

Laureanda:Diana Sighinolfi

A.A. 2014-2015

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 1 / 16

Page 2: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Obiettivi della tesi

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

I Apprendere e conoscere il linguaggio Swift

I Gestire ed elaborare dati provenienti da un databasesemantico-lessicale

I Realizzare un’applicazione iOS in Swift

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 2 / 16

Page 3: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Obiettivi della tesi

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

I Apprendere e conoscere il linguaggio Swift

I Gestire ed elaborare dati provenienti da un databasesemantico-lessicale

I Realizzare un’applicazione iOS in Swift

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 2 / 16

Page 4: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Obiettivi della tesi

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

I Apprendere e conoscere il linguaggio Swift

I Gestire ed elaborare dati provenienti da un databasesemantico-lessicale

I Realizzare un’applicazione iOS in Swift

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 2 / 16

Page 5: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Obiettivi della tesi

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

I Apprendere e conoscere il linguaggio Swift

I Gestire ed elaborare dati provenienti da un databasesemantico-lessicale

I Realizzare un’applicazione iOS in Swift

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 2 / 16

Page 6: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Attivita svolte

Le attivita 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 daMultiWordNet

I Game app in Swift

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 3 / 16

Page 7: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Attivita svolte

Le attivita 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 daMultiWordNet

I Game app in Swift

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 3 / 16

Page 8: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Attivita svolte

Le attivita 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 daMultiWordNet

I Game app in Swift

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 3 / 16

Page 9: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Attivita svolte

Le attivita 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 daMultiWordNet

I Game app in Swift

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 3 / 16

Page 10: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Attivita svolte

Le attivita 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 daMultiWordNet

I Game app in Swift

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 3 / 16

Page 11: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Il linguaggio Swift

Swift e un linguaggio fresco, leggero e facile da apprendere, soprattuttoper i neofiti. Basato sul C e sull’Objective-C, e tuttavia consideratoquasi un linguaggio di scripting per la sua estrema flessibilita.

Le principali peculiarita del nuovo linguaggio sono:

I tipizzazione forte

I valori opzionali

I no fallthrough implicito

I Automatic Reference Counting

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 4 / 16

Page 12: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Il linguaggio Swift

Swift e un linguaggio fresco, leggero e facile da apprendere, soprattuttoper i neofiti. Basato sul C e sull’Objective-C, e tuttavia consideratoquasi un linguaggio di scripting per la sua estrema flessibilita.

Le principali peculiarita del nuovo linguaggio sono:

I tipizzazione forte

I valori opzionali

I no fallthrough implicito

I Automatic Reference Counting

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 4 / 16

Page 13: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Il linguaggio Swift

Swift e un linguaggio fresco, leggero e facile da apprendere, soprattuttoper i neofiti. Basato sul C e sull’Objective-C, e tuttavia consideratoquasi un linguaggio di scripting per la sua estrema flessibilita.

Le principali peculiarita del nuovo linguaggio sono:

I tipizzazione forte

I valori opzionali

I no fallthrough implicito

I Automatic Reference Counting

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 4 / 16

Page 14: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Il linguaggio Swift

Swift e un linguaggio fresco, leggero e facile da apprendere, soprattuttoper i neofiti. Basato sul C e sull’Objective-C, e tuttavia consideratoquasi un linguaggio di scripting per la sua estrema flessibilita.

Le principali peculiarita del nuovo linguaggio sono:

I tipizzazione forte

I valori opzionali

I no fallthrough implicito

I Automatic Reference Counting

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 4 / 16

Page 15: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Il linguaggio Swift

Swift e un linguaggio fresco, leggero e facile da apprendere, soprattuttoper i neofiti. Basato sul C e sull’Objective-C, e tuttavia consideratoquasi un linguaggio di scripting per la sua estrema flessibilita.

Le principali peculiarita del nuovo linguaggio sono:

I tipizzazione forte

I valori opzionali

I no fallthrough implicito

I Automatic Reference Counting

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 4 / 16

Page 16: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

WordNet (1/2)

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

lexicon

dictionarylexicon

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

vocabularylexicon

mental lexicon

lexical

language

speech

cognition

knowledge

noesis

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 5 / 16

Page 17: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

WordNet (1/2)

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

lexicon

dictionarylexicon

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

vocabularylexicon

mental lexicon

lexical

language

speech

cognition

knowledge

noesis

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 5 / 16

Page 18: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

WordNet (1/2)

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

lexicon

dictionarylexicon

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

vocabularylexicon

mental lexicon

lexical

language

speech

cognition

knowledge

noesis

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 5 / 16

Page 19: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

WordNet (1/2)

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

lexicon

dictionarylexicon

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

vocabularylexicon

mental lexicon

lexical

language

speech

cognition

knowledge

noesis

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 5 / 16

Page 20: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

WordNet (2/2)

Il database lessicale e un thesaurus organizzato sulla base di concettistrutturati all’interno di insiemi:

I lemma

I sense

I synset

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

I iponimia

I ipernimia

I meronimia

I implicazione

I similarita

I attributo

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 6 / 16

Page 21: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

WordNet (2/2)

Il database lessicale e un thesaurus organizzato sulla base di concettistrutturati all’interno di insiemi:

I lemma

I sense

I synset

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

I iponimia

I ipernimia

I meronimia

I implicazione

I similarita

I attributo

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 6 / 16

Page 22: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

WordNet (2/2)

Il database lessicale e un thesaurus organizzato sulla base di concettistrutturati all’interno di insiemi:

I lemma

I sense

I synset

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

I iponimia

I ipernimia

I meronimia

I implicazione

I similarita

I attributo

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 6 / 16

Page 23: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

WordNet (2/2)

Il database lessicale e un thesaurus organizzato sulla base di concettistrutturati all’interno di insiemi:

I lemma

I sense

I synset

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

I iponimia

I ipernimia

I meronimia

I implicazione

I similarita

I attributo

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 6 / 16

Page 24: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

WordNet (2/2)

Il database lessicale e un thesaurus organizzato sulla base di concettistrutturati all’interno di insiemi:

I lemma

I sense

I synset

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

I iponimia

I ipernimia

I meronimia

I implicazione

I similarita

I attributo

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 6 / 16

Page 25: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

WordNet (2/2)

Il database lessicale e un thesaurus organizzato sulla base di concettistrutturati all’interno di insiemi:

I lemma

I sense

I synset

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

I iponimia

I ipernimia

I meronimia

I implicazione

I similarita

I attributo

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 6 / 16

Page 26: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

MultiWordNet

MultiWordNet e un database lessicale multilingue che nella versioneonline e realizzato in tre lingue:

I Inglese (WordNet dell’universita di Princeton)

I Spagnolo (Universita politecnica di Catalogna, Barcellona)

I Italiano (ITC-irst di Povo, Trento)

La versione distribuita, in formato XML, contiene solamente laversione in italiano allineata, per quanto possibile, con WordNetinglese dell’universita di Princeton.

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 7 / 16

Page 27: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

MultiWordNet

MultiWordNet e un database lessicale multilingue che nella versioneonline e realizzato in tre lingue:

I Inglese (WordNet dell’universita di Princeton)

I Spagnolo (Universita politecnica di Catalogna, Barcellona)

I Italiano (ITC-irst di Povo, Trento)

La versione distribuita, in formato XML, contiene solamente laversione in italiano allineata, per quanto possibile, con WordNetinglese dell’universita di Princeton.

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 7 / 16

Page 28: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

MultiWordNet

MultiWordNet e un database lessicale multilingue che nella versioneonline e realizzato in tre lingue:

I Inglese (WordNet dell’universita di Princeton)

I Spagnolo (Universita politecnica di Catalogna, Barcellona)

I Italiano (ITC-irst di Povo, Trento)

La versione distribuita, in formato XML, contiene solamente laversione in italiano allineata, per quanto possibile, con WordNetinglese dell’universita di Princeton.

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 7 / 16

Page 29: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

MultiWordNet

MultiWordNet e un database lessicale multilingue che nella versioneonline e realizzato in tre lingue:

I Inglese (WordNet dell’universita di Princeton)

I Spagnolo (Universita politecnica di Catalogna, Barcellona)

I Italiano (ITC-irst di Povo, Trento)

La versione distribuita, in formato XML, contiene solamente laversione in italiano allineata, per quanto possibile, con WordNetinglese dell’universita di Princeton.

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 7 / 16

Page 30: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

MultiWordNet

MultiWordNet e un database lessicale multilingue che nella versioneonline e realizzato in tre lingue:

I Inglese (WordNet dell’universita di Princeton)

I Spagnolo (Universita politecnica di Catalogna, Barcellona)

I Italiano (ITC-irst di Povo, Trento)

La versione distribuita, in formato XML, contiene solamente laversione in italiano allineata, per quanto possibile, con WordNetinglese dell’universita di Princeton.

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 7 / 16

Page 31: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (1/7)Il gioco

Il software sviluppato e una game application che ripropone il giocode “La Ghigliottina” presente nel programma televisivo L’eredita.

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 8 / 16

Page 32: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (1/7)Il gioco

Il software sviluppato e una game application che ripropone il giocode “La Ghigliottina” presente nel programma televisivo L’eredita.

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 8 / 16

Page 33: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (2/7)Schemi di gioco

Obiettivo propostoGenerare in maniera automatica gli elementi necessari per lacreazione degli schemi di gioco.

Lo schema di gioco si compone di:

I parola nascosta

I 5 parole-indizio

I 5 parole-intruso

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 9 / 16

Page 34: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (2/7)Schemi di gioco

Obiettivo propostoGenerare in maniera automatica gli elementi necessari per lacreazione degli schemi di gioco.

Lo schema di gioco si compone di:

I parola nascosta

I 5 parole-indizio

I 5 parole-intruso

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 9 / 16

Page 35: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (2/7)Schemi di gioco

Obiettivo propostoGenerare in maniera automatica gli elementi necessari per lacreazione degli schemi di gioco.

Lo schema di gioco si compone di:

I parola nascosta

I 5 parole-indizio

I 5 parole-intruso

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 9 / 16

Page 36: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (2/7)Schemi di gioco

Obiettivo propostoGenerare in maniera automatica gli elementi necessari per lacreazione degli schemi di gioco.

Lo schema di gioco si compone di:

I parola nascosta

I 5 parole-indizio

I 5 parole-intruso

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 9 / 16

Page 37: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (3/7)Elaborazione dei dati

I dati messi a disposizione da MultiWordNet sono distribuiti informato XML (≈ 1 milione di voci). Per il loro utilizzo si e decisodi elaborarli attraverso un software realizzato ad hoc in PHP chepermette la conversione dei dati XML in un database relazionaleSQLite.

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 10 / 16

Page 38: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (4/7)Elaborazione dei dati

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

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 11 / 16

Page 39: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (4/7)Elaborazione dei dati

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

Per interfacciare il database SQLite con l’applicazione si e utilizzatoun wrapper in Swift.

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 11 / 16

Page 40: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (5/7)Algoritmo di generazione schemi

Algoritmo di generazione automatica degli schemi di gioco:

synset

iponimo-1iponimo-2

...iponimo-n

synset

synset

iponimo-1iponimo-2

...iponimo-n

synsetiponimo-1iponimo-2

...iponimo-n

synset

iponimo-1iponimo-2

...iponimo-n

synset

iponimo-1iponimo-2

...iponimo-n

synset

synset

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 12 / 16

Page 41: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (5/7)Algoritmo di generazione schemi

Algoritmo di generazione automatica degli schemi di gioco:

synset

iponimo-1iponimo-2

...iponimo-n

synset

synset

iponimo-1iponimo-2

...iponimo-n

synsetiponimo-1iponimo-2

...iponimo-n

synset

iponimo-1iponimo-2

...iponimo-n

synset

iponimo-1iponimo-2

...iponimo-n

synset

synset

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 12 / 16

Page 42: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (5/7)Algoritmo di generazione schemi

Algoritmo di generazione automatica degli schemi di gioco:

synset

iponimo-1iponimo-2

...iponimo-n

synset

synset

iponimo-1iponimo-2

...iponimo-n

synsetiponimo-1iponimo-2

...iponimo-n

synset

iponimo-1iponimo-2

...iponimo-n

synset

iponimo-1iponimo-2

...iponimo-n

synset

synset

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 12 / 16

Page 43: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (5/7)Algoritmo di generazione schemi

Algoritmo di generazione automatica degli schemi di gioco:

synset

iponimo-1iponimo-2

...iponimo-n

synset

synset

iponimo-1iponimo-2

...iponimo-n

synsetiponimo-1iponimo-2

...iponimo-n

synset

iponimo-1iponimo-2

...iponimo-n

synset

iponimo-1iponimo-2

...iponimo-n

synset

synset

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 12 / 16

Page 44: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (5/7)Algoritmo di generazione schemi

Algoritmo di generazione automatica degli schemi di gioco:

synset

iponimo-1iponimo-2

...iponimo-n

synset

synset

iponimo-1iponimo-2

...iponimo-n

synsetiponimo-1iponimo-2

...iponimo-n

synset

iponimo-1iponimo-2

...iponimo-n

synset

iponimo-1iponimo-2

...iponimo-n

synset

synset

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 12 / 16

Page 45: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (5/7)Algoritmo di generazione schemi

Algoritmo di generazione automatica degli schemi di gioco:

synset

iponimo-1iponimo-2

...iponimo-n

synset

synset

iponimo-1iponimo-2

...iponimo-n

synsetiponimo-1iponimo-2

...iponimo-n

synset

iponimo-1iponimo-2

...iponimo-n

synset

iponimo-1iponimo-2

...iponimo-n

synset

synset

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 12 / 16

Page 46: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (6/7)Algoritmo di generazione schemi

L’implementazione dell’algoritmo precedentemente descritto e statarealizzata principalmente in linguaggio SQL dopo la trasformazionedel grafo in tabelle relazionali secondo il seguente schema:

Recupero parola nascosta

let db = SQLiteDB.sharedInstance ()var array_tuple: [( writtenForm:String ,

synset:String ,targets:String )] = []

let parole = db.query( "select lex.lemma_writtenForm ,lem.sense_synset ,s1.targetsfrom lexicalentry lex ,lemmasenses lem ,synsetrelation s1where s1.reltype=’hypo ’and s1.id = lem.sense_synsetand lex.id = lem.idand lex.lemma_writtenForm <> ’GAP!’and lex.lemma_writtenForm <> ’PSEUDOGAP!’and s1.id <> s1.targets and 6<= (select count (distinct s2.targets)

from synsetrelation s2where s1.id=s2.idand s2.reltype=’hypo ’)")

for i in 0... parole.count -1{let riga_parola = parole[i].datalet tupla = (writtenForm:riga_parola["lemma_writtenForm"]!. asString(),synset:riga_parola["sense_synset"]!. asString(),targets:riga_parola["targets"]!. asString ())array_tuple.append(tupla)

}var i = Int(arc4random_uniform(UInt32(array_tuple.count ))+1)var parola_nascosta = array_tuple[i]. writtenForm

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 13 / 16

Page 47: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (6/7)Algoritmo di generazione schemi

L’implementazione dell’algoritmo precedentemente descritto e statarealizzata principalmente in linguaggio SQL dopo la trasformazionedel grafo in tabelle relazionali secondo il seguente schema:

Recupero parola nascosta

let db = SQLiteDB.sharedInstance ()var array_tuple: [( writtenForm:String ,

synset:String ,targets:String )] = []

let parole = db.query( "select lex.lemma_writtenForm ,lem.sense_synset ,s1.targetsfrom lexicalentry lex ,lemmasenses lem ,synsetrelation s1where s1.reltype=’hypo ’and s1.id = lem.sense_synsetand lex.id = lem.idand lex.lemma_writtenForm <> ’GAP!’and lex.lemma_writtenForm <> ’PSEUDOGAP!’and s1.id <> s1.targets and 6<= (select count (distinct s2.targets)

from synsetrelation s2where s1.id=s2.idand s2.reltype=’hypo ’)")

for i in 0... parole.count -1{let riga_parola = parole[i].datalet tupla = (writtenForm:riga_parola["lemma_writtenForm"]!. asString(),synset:riga_parola["sense_synset"]!. asString(),targets:riga_parola["targets"]!. asString ())array_tuple.append(tupla)

}var i = Int(arc4random_uniform(UInt32(array_tuple.count ))+1)var parola_nascosta = array_tuple[i]. writtenForm

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 13 / 16

Page 48: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (7/7)Interfaccia grafica

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

I Parole tra cui scegliere in alto asinistra

I Montepremi aggiornato in alto adestra

I Lista delle parole-indizio al centrocolorate in base alla selezione

I Campo di testo per scrivere lapropria soluzione in basso

I Pulsante “Parola nascosta” perverificare la soluzione

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 14 / 16

Page 49: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (7/7)Interfaccia grafica

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

I Parole tra cui scegliere in alto asinistra

I Montepremi aggiornato in alto adestra

I Lista delle parole-indizio al centrocolorate in base alla selezione

I Campo di testo per scrivere lapropria soluzione in basso

I Pulsante “Parola nascosta” perverificare la soluzione

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 14 / 16

Page 50: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (7/7)Interfaccia grafica

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

I Parole tra cui scegliere in alto asinistra

I Montepremi aggiornato in alto adestra

I Lista delle parole-indizio al centrocolorate in base alla selezione

I Campo di testo per scrivere lapropria soluzione in basso

I Pulsante “Parola nascosta” perverificare la soluzione

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 14 / 16

Page 51: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (7/7)Interfaccia grafica

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

I Parole tra cui scegliere in alto asinistra

I Montepremi aggiornato in alto adestra

I Lista delle parole-indizio al centrocolorate in base alla selezione

I Campo di testo per scrivere lapropria soluzione in basso

I Pulsante “Parola nascosta” perverificare la soluzione

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 14 / 16

Page 52: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (7/7)Interfaccia grafica

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

I Parole tra cui scegliere in alto asinistra

I Montepremi aggiornato in alto adestra

I Lista delle parole-indizio al centrocolorate in base alla selezione

I Campo di testo per scrivere lapropria soluzione in basso

I Pulsante “Parola nascosta” perverificare la soluzione

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 14 / 16

Page 53: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (7/7)Interfaccia grafica

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

I Parole tra cui scegliere in alto asinistra

I Montepremi aggiornato in alto adestra

I Lista delle parole-indizio al centrocolorate in base alla selezione

I Campo di testo per scrivere lapropria soluzione in basso

I Pulsante “Parola nascosta” perverificare la soluzione

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 14 / 16

Page 54: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (7/7)Interfaccia grafica

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

I Parole tra cui scegliere in alto asinistra

I Montepremi aggiornato in alto adestra

I Lista delle parole-indizio al centrocolorate in base alla selezione

I Campo di testo per scrivere lapropria soluzione in basso

I Pulsante “Parola nascosta” perverificare la soluzione

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 14 / 16

Page 55: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (7/7)Interfaccia grafica

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

I Parole tra cui scegliere in alto asinistra

I Montepremi aggiornato in alto adestra

I Lista delle parole-indizio al centrocolorate in base alla selezione

I Campo di testo per scrivere lapropria soluzione in basso

I Pulsante “Parola nascosta” perverificare la soluzione

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 14 / 16

Page 56: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (7/7)Interfaccia grafica

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

I Parole tra cui scegliere in alto asinistra

I Montepremi aggiornato in alto adestra

I Lista delle parole-indizio al centrocolorate in base alla selezione

I Campo di testo per scrivere lapropria soluzione in basso

I Pulsante “Parola nascosta” perverificare la soluzione

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 14 / 16

Page 57: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (7/7)Interfaccia grafica

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

I Parole tra cui scegliere in alto asinistra

I Montepremi aggiornato in alto adestra

I Lista delle parole-indizio al centrocolorate in base alla selezione

I Campo di testo per scrivere lapropria soluzione in basso

I Pulsante “Parola nascosta” perverificare la soluzione

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 14 / 16

Page 58: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (7/7)Interfaccia grafica

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

I Parole tra cui scegliere in alto asinistra

I Montepremi aggiornato in alto adestra

I Lista delle parole-indizio al centrocolorate in base alla selezione

I Campo di testo per scrivere lapropria soluzione in basso

I Pulsante “Parola nascosta” perverificare la soluzione

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 14 / 16

Page 59: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (7/7)Interfaccia grafica

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

I Parole tra cui scegliere in alto asinistra

I Montepremi aggiornato in alto adestra

I Lista delle parole-indizio al centrocolorate in base alla selezione

I Campo di testo per scrivere lapropria soluzione in basso

I Pulsante “Parola nascosta” perverificare la soluzione

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 14 / 16

Page 60: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

L’applicazione (7/7)Interfaccia grafica

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

I Parole tra cui scegliere in alto asinistra

I Montepremi aggiornato in alto adestra

I Lista delle parole-indizio al centrocolorate in base alla selezione

I Campo di testo per scrivere lapropria soluzione in basso

I Pulsante “Parola nascosta” perverificare la soluzione

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 14 / 16

Page 61: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML aquello SQL

I Game application in Swift con calcolo automatico deglischemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica piu user friendly

I introduzione dei punti esperienza

I sfide con amici

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 15 / 16

Page 62: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML aquello SQL

I Game application in Swift con calcolo automatico deglischemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica piu user friendly

I introduzione dei punti esperienza

I sfide con amici

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 15 / 16

Page 63: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML aquello SQL

I Game application in Swift con calcolo automatico deglischemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica piu user friendly

I introduzione dei punti esperienza

I sfide con amici

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 15 / 16

Page 64: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML aquello SQL

I Game application in Swift con calcolo automatico deglischemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica piu user friendly

I introduzione dei punti esperienza

I sfide con amici

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 15 / 16

Page 65: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML aquello SQL

I Game application in Swift con calcolo automatico deglischemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica piu user friendly

I introduzione dei punti esperienza

I sfide con amici

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 15 / 16

Page 66: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML aquello SQL

I Game application in Swift con calcolo automatico deglischemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica piu user friendly

I introduzione dei punti esperienza

I sfide con amici

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 15 / 16

Page 67: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML aquello SQL

I Game application in Swift con calcolo automatico deglischemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica piu user friendly

I introduzione dei punti esperienza

I sfide con amici

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 15 / 16

Page 68: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Conclusione e sviluppi futuri

In conclusione sono stati realizzati i seguenti software:

I Software per la conversione dei dati dal formato XML aquello SQL

I Game application in Swift con calcolo automatico deglischemi di gioco

Sviluppi futuri:

I migliorare l’efficienza dei tempi di risposta del sistema

I rendere l’interfaccia grafica piu user friendly

I introduzione dei punti esperienza

I sfide con amici

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 15 / 16

Page 69: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Grazie per l’attenzione

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 16 / 16

Page 70: Progetto e sviluppo in Swift di un applicazione per ... · Universita degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea

Diana Sighinolfi Applicazione mobile in Swift 15 Luglio 2015 16 / 16