Subtitle World Esame di Stato 2014/2015 - Tesine

Pagina creata da Manuel Piazza
 
CONTINUA A LEGGERE
Subtitle World Esame di Stato 2014/2015 - Tesine
I.T.T. “G. MARCONI”

Subtitle World
Esame di Stato 2014/2015
     Candidata: Valentina Odorizzi
Indice

INTRODUZIONE ...........................................................................................................................................................3

TECNOLOGIE UTILIZZATE .............................................................................................................................................4

STRUTTURA .................................................................................................................................................................4

DISCIPLINE COINVOLTE ................................................................................................................................................7

PROBLEMATICHE E RISOLUZIONI .................................................................................................................................9

CONCLUSIONI ............................................................................................................................................................ 10

                                                                              Pagina 2
Introduzione

L’idea del mio progetto scaturisce da un’esperienza personale, ovvero da una difficoltà tutta mia relativa
alla memorizzazione di vocaboli in lingua straniera. Alludo al senso di fastidio, di frustrazione o di disagio
sperimentato nel guardare un film in lingua inglese, seppur sottotitolato, di fronte alla mancata conoscenza
del significato di alcune parole, che mi costringeva a consultare un dizionario cartaceo o digitale.

Pertanto, partendo dal presupposto che la mia difficoltà possa essere condivisa, il mio progetto consiste
nell’elaborazione di un programma che permetta la visione di film e di documentari in inglese sottotitolati.
La novità creativa del software consiste nella particolare interazione tra programma e utente: quando si
presenta la necessità di cercare una parola sconosciuta presente nel sottotitolo è possibile cliccare su di
essa e ritrovarsi immediatamente la traduzione. Inoltre, un’altra potenzialità del sistema riguarda la
possibilità di salvare su un file i vocaboli cercati durante la visione del film o del documentario. In tal modo
è garantita l’opportunità di visualizzare più volte le parole ignorate dall’utente anche successivamente alla
visione del film.

Le discipline coinvolte nel progetto sono Informatica e Inglese. Dal punto di vista informatico ho
implementato un database che ha la funzione di dizionario, poiché, come accennato precedentemente, ad
ogni parola in inglese è associata una parola in italiano. Il software è stato creato utilizzando C# in Visual
Studio.

Per quanto riguarda, invece, la lingua inglese, essa rappresenta la lingua veicolare del film proposto. Nello
specifico, il video proposto è Salvate il soldato Ryan in inglese.

                                                  Pagina 3
Tecnologie utilizzate

Le tecnologie utilizzate per sviluppare il mio progetto sono le seguenti:
     Visual Studio 2013, linguaggio C#;
     MySql, DBMS utilizzato per la creazione del database;
     API di google translate;
     DirectShow, libreria di C# utilizzata per la visualizzazione dei video.

MySql
MySql è un DBMS che permette di gestire database utilizzando il
linguaggio SQL

API
Un’API(Application Programming Interface) è una libreria disponibile per un certo linguaggio di
programmazione. Sono utilizzate per incrementare le funzionalità di un programma.

           Struttura

La mia tesina sé incentrata sullo sviluppo dei sottotitoli. Il file .srt dei sottotitoli è suddiviso in blocchi, i quali
sono composti da:
     Un numero progressivo che gli identifica;
     Un tempo di inizio e di fine;
     Testo del sottotitolo;
                                                                        Un blocco del
                                                                        file dei sottotitoli

In base a tali caratteristiche ho dovuto creare, nel programma, delle classi in grado di leggere e ricavare le
informazioni da me ritenute importanti, ovvero il testo e il tempo di visualizzazione.

Ho creato quattro classi:
     Sottotitolo;
     Sottotitoli;

                                                      Pagina 4
   UCSottotitolo;
       UCSottotitoli;

La classe sottotitolo contiene le informazioni di un solo blocco di sottotitoli.
Mentre sottotitoli contiene le informazioni di tutti i blocchi di sottotitoli, che sono raggruppate in una lista
sottotitolo, da me creata, che le potesse memorizzare. Inoltre, vi sono dei metodi in grado di restituire le
informazioni del sottotitolo corrente e del successivo.
Invece, in UCSottotitolo vi è la gestione dell’evento click della parola, ovvero quando una parola viene
cliccata si accede al database e si verifica se essa sia presente; se questa non è presente si ottiene una
traduzione tramite un’ API e viene inserita nel database.

                                                  Pagina 5
I risultati ottenuti sono visibili tramite una DataGriedView e possono essere salvati sul proprio computer
tramite un menù a tendina. Inoltre, nella DataGriedView vi è anche la possibilità di visualizzare le traduzioni
precedenti.

L’ultima classe creata è UCSottotitoli che ha il compito di calcolare e gestire i tempi di visualizzazione dei
sottotitoli.

                                                  Pagina 6
Discipline coinvolte

Come ribadito precedentemente le discipline coinvolte in questo progetto sono: informatica e inglese

Informatica

       Diagramma E-R

                        Italiano                                              Inglese
                                      corrisponde
                      VocItaliano                                            VocInglese
                                                               corrisponde

                                                    Inglese
                                                    Italiano

Il mio progetto utilizza un database composto da tre tabelle (due entità e un’associazione); le due relazioni
contengono l’una le parole in italiano e l’altra i vocaboli in inglese. La realtà del database che ho voluto
rappresentare corrisponde a quella concreta, ovvero ad una parola in inglese corrispondono tanti termini in
italiano e viceversa. Dunque la cardinalità fra queste due entità è N:M.

L’associazione fra le due entità è obbligatoria poiché tutte le parole sia inglesi che italiane hanno una
corrispondenza fra di loro.

       Schema relazionale

Italiano(VocItaliano)                                                              NB:
                                                                                          Chiave primaria

Dizionario(VocItaliano, VocInglese)                                                       Chiave esterna

Inglese(VocInglese)

       Script di creazione
CREATE TABLE Inglese
(
  VocInglese varchar(100),
  COSTRAINT Inglese_PK PRIMARY KEY(VocInglese)
)

CREATE TABLE Italiano
(
  VocItaliano varchar(100),
  COSTRAINT Italiano_PK PRIMARY KEY(VocItaliano)
)

                                                         Pagina 7
CREATE TABLE Dizionario
(
  inglese varchar(100),
  italiano varchar(100),
  COSTRAINT FK_Italiano FOREIGN KEY (italiano)
REFERENCES tblItaliano(vocabolo)
  ON DELETE CASCADE
  ON UPDATE CASCADE,
  COSTRAINT FK_Inglese FOREIGN KEY(inglese)
REFERENCES tblInglese(vocabolo)
  ON DELETE CASCADE
  ON UPDATE CASCADE,
  COSTRAINT PK_dizionario PRIMARY KEY (inglese,
italiano));

                                                  Pagina 8
Problematiche e risoluzioni

Le problematiche riscontrate in questo progetto si sono verificate durante la fase di ideazione dei
sottotitoli, parte principale del mio progetto.

I problemi riscontrati riguardano:
      L’API: che dovrebbe trovare più traduzioni di una parola inglese e tuttavia ottiene un solo
        significato.
        Tale complicazione non è stata risolta, poiché non ne ho individuate altre funzionanti.
      L’impossibilità di creare dei sottotitoli dinamici: a causa di un errore di protezione degli accessi
        rilevato durante la programmazione, non ho potuto creare dei sottotitoli in maniera dinamica. Di
        conseguenza, ho realizzato una lista di UCSottotitolo, la cui lunghezza rimane fissa e cambia solo il
        contenuto di ogni componente di essa.
      La ricerca di una libreria che potesse far visualizzare i video in maniera corretta: ho implementato
        diverse librerie nel mio progetto per far visualizzare i filmati, che tuttavia non erano in grado di far
        girare il video correttamente; di conseguenza ho utilizzato DirectShow, una libreria realizzata
        diversi anni fa.

                                                  Pagina 9
Conclusione

Alla luce di quanto analizzato, ritengo che il mio progetto di ricerca possa considerarsi per alcuni aspetti
abbastanza innovativo, poiché l’utente è messo nelle condizioni di poter interagire in prima persona con il
programma grazie ai sottotitoli cliccabili. Si tratta di una forma di attivazione dinamica che rende l’utente
protagonista della decodifica del messaggio poiché lo sottrae a una dimensione di passività.

Inoltre, non va trascurata l’opportunità di apprendere vocaboli nuovi attraverso una modalità veloce e
insolita, capace di stimolare la curiosità dell’utente che si appassiona via via alla comprensione di parole
collocate in situazione, ossia in discorsi vivaci e concreti.

Tuttavia, vorrei avere l’opportunità di ampliare il mio progetto, in modo tale che sia disponibile non solo in
lingua inglese, ma anche in altre lingue, per amanti di film o documentari di altre nazionalità. A questo
scopo occorrerebbe implementare nel database altre relazioni, che permettano di memorizzare i vocaboli
stranieri.

                                                  Pagina
                                                  10
Puoi anche leggere