multilingualidad para badele 3000oa.upm.es/52390/1/pfc_isabel_mejia_cruz.pdf · universidad...

93
Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad para Badele 3000 Autor Isabel Megía Cruz Tutora María del Socorro Bernardos Galindo

Upload: others

Post on 09-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

Universidad Politécnica de Madrid

FACULTAD DE INFORMÁTICA

Trabajo fin de carrera

Multilingualidad para Badele 3000

Autor Isabel Megía Cruz

Tutora María del Socorro Bernardos Galindo

Page 2: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

A mis dos hijos, Álvaro y Laura, y a mi madre.

Page 3: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

AGRADECIMIENTOS

En primer lugar quería agradecer a mi madre el esfuerzo que a lo largo de toda su vida ha realizado para ser la mujer qué es. Su sacrificio y tesón han sido en parte los responsables de conseguir encontrarme ahora en este punto de mi vida. Gracias a ella soy la persona que soy. Siempre estaré en deuda con ella.

A mi hermana, con quién siempre he peleado de pequeña y de no tan pequeña,

tan distintas y tan iguales a la vez, siempre dispuesta para lo que se le pida. Hermana, amiga y la mejor tía con la que mis hijos van a poder contar en el camino de la vida. Alguien con quien contar para lo bueno y difícil de la vida.

A mi padre que con su forma de ser me ha hecho de una piel dura a la hora de

encarar situaciones en la vida. A mi familia materna, porque siempre me han apoyado y animado a continuar

en los momentos difíciles. A Álvaro, mi compañero desde hace 21 años, padre de mis hijos, con quién

comencé está andadura, he continuado y ahora consigo darle fin. Espero que todas las que aún tenemos comenzadas y las que vengan alcancen finales tan satisfactorios y agradables.

A mis dos hijos Álvaro y Laura, que puedo decir de ellos, son el motor de mi

vida, el principal motivo por el que tenía que subir este último escalón y alcanzar el final de esta carrera. Ellos me demuestran que cada día es un regalo que nos da la vida, que hay que valorar y cuidar, disfrutar y consumir. Os quiero con todo mi corazón. Deseo que seáis tan buenas personas como a día de hoy demostráis ser, con vuestros defectos y virtudes pero siempre con buenos sentimientos y corazón.

A todos mis amig@s, tanto de la Facultad como de fuera, los que son y los que

fueron. L@s que están y han estado. Tod@s sois en parte responsables de ser la persona que soy. A tod@s os llevo en mi recuerdo, tod@s formáis una parte importante en mi vida.

A María del Socorro Bernardos porque gracias al excelente trato que me ha

dado con este proyecto, la considero una de las mejores profesoras de la Facultad, con una calidad humana y comprensión qué pocas veces un@ pueda encontrar. A lo largo de tantos años en esta institución, son much@s los docentes con los que me he tropezado, pero no tantos a los que considero y tengo en tan alta estima.

A la vida que tras duras batallas que me ha hecho afrontar, sobre todo durante

los últimos años, cada día me demuestra lo pequeñ@s que somos y lo mucho que tenemos que crecer junto a los que nos rodean.

II

Page 4: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

III

Page 5: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

Índice general

Contenido AGRADECIMIENTOS ................................................................................................................................................ II RESUMEN .............................................................................................................................................................. VII ABSTRACT .............................................................................................................................................................. IX 1. Introducción........................................................................................................................................................ 1 2. Desarrollo: Inclusión del idioma ......................................................................................................................... 3

2.1. Introducción ................................................................................................................................................. 3 2.2. Especificación de Requisitos ........................................................................................................................ 3

2.2.1. Visión general ....................................................................................................................................... 3 2.2.2. Requisitos funcionales .......................................................................................................................... 3 2.2.3. Requisitos no funcionales ..................................................................................................................... 6

2.3. Diseño de la aplicación ................................................................................................................................ 7 2.3.1. Diseño de la Base de Datos ................................................................................................................... 7

2.4. Codificación ............................................................................................................................................... 14 2.4.1. Framework Symfony ........................................................................................................................... 14 2.4.2. Otros directorios afectados ................................................................................................................ 16

2.5. Pruebas ...................................................................................................................................................... 17 2.5.1. Pruebas unitarias ................................................................................................................................ 17 2.5.2. Pruebas funcionales ............................................................................................................................ 17 2.5.3. Pruebas de validación ......................................................................................................................... 18 2.5.2. Pruebas de regresión .......................................................................................................................... 18

3. Desarrollo: Traducción ...................................................................................................................................... 19 3.1. Introducción ............................................................................................................................................... 19 3.2. Especificación de Requisitos ...................................................................................................................... 20

3.2.1. Visión general ..................................................................................................................................... 20 3.2.2. Requisitos funcionales ........................................................................................................................ 20 3.2.3. Requisitos no funcionales ................................................................................................................... 21

3.3. Diseño de la aplicación .............................................................................................................................. 22 3.3.1. Diseño de la Base de Datos ................................................................................................................. 22

3.4. Codificación ............................................................................................................................................... 29 3.4.1. Framework Symfony ........................................................................................................................... 29 3.4.2. Otros directorios afectados ................................................................................................................ 31

3.5. Pruebas ...................................................................................................................................................... 32 3.5.1. Pruebas unitarias ................................................................................................................................ 32 3.5.2. Pruebas funcionales ............................................................................................................................ 32 3.5.3. Pruebas de validación ......................................................................................................................... 32 3.5.2. Pruebas de regresión .......................................................................................................................... 32

4. Resolución de incidencias ................................................................................................................................. 33 4.1. Introducción ............................................................................................................................................... 33 4.2. Incidencias abordadas ............................................................................................................................... 33

4.2.1. Usuario Administrador inoperativo .................................................................................................... 33 4.2.2. Visualizar Módulo Administrar BD ...................................................................................................... 33 4.2.3. Creación de la copia de seguridad en local vacía ................................................................................ 34 4.2.4. Creación de la copia de seguridad en el servidor inoperativa ............................................................ 34 4.2.5. Carga copia seguridad desde local ...................................................................................................... 34 4.2.6. Carga de la copia de seguridad desde el servidor ............................................................................... 34 4.2.7. Tamaño de la carga de la copia de seguridad ..................................................................................... 35 4.2.8. Ejecución de comandos MySQL .......................................................................................................... 35 4.2.9. Funcionalidad errónea módulo Insertar ............................................................................................. 35

Page 6: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

5. Conclusiones y Futuras mejoras ....................................................................................................................... 36 6. Bibliografía y Referencias ................................................................................................................................. 38 Apéndice A: Ampliación de la relación Etiqueta Semántica-Lema ....................................................................... 39

A.1. Introducción .............................................................................................................................................. 39 A.2. Especificación de Requisitos ...................................................................................................................... 41

A.2.1. Visión general ..................................................................................................................................... 41 A.2.2. Requisitos funcionales ........................................................................................................................ 41 A.2.3. Requisitos no funcionales ................................................................................................................... 43

A.3. Diseño de la aplicación .............................................................................................................................. 44 A.3.1. Diseño de la Base de Datos ................................................................................................................ 44

A.4. Codificación ............................................................................................................................................... 50 A.4.1. Framework Symfony........................................................................................................................... 50 A.4.2. Otros directorios afectados ................................................................................................................ 52

A.5. Pruebas ...................................................................................................................................................... 53 A.5.1. Pruebas unitarias ................................................................................................................................ 53 A.5.2. Pruebas funcionales ........................................................................................................................... 53 A.5.3. Pruebas de validación ......................................................................................................................... 54 A.5.2. Pruebas de regresión .......................................................................................................................... 54

Apéndice B: Ciclo de vida del tratamiento de los datos ....................................................................................... 55 B.1. Introducción .............................................................................................................................................. 55 B.2. Ciclo de vida en Badele3000 ...................................................................................................................... 55

B.2.1 Inserción datos .................................................................................................................................... 55 B.2.3 Modificar datos ................................................................................................................................... 64 B.2.4 Consulta ............................................................................................................................................... 71 B.2.5 Consulta Gráfica .................................................................................................................................. 76 B.2.6 Borrar Datos ........................................................................................................................................ 80

Apéndice C: Mejoras adicionales .......................................................................................................................... 82 C.1. Introducción .............................................................................................................................................. 82 C.2.Mejoras abordadas ..................................................................................................................................... 82

C.2.1. Módulo Administar BD ....................................................................................................................... 82

V

Page 7: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

VI

Page 8: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

RESUMEN

El principal objetivo del presente proyecto fin de carrera, ha sido dotar a Badele3000, base de datos léxica (BDL) para palabras en Español, de la funcionalidad del idioma, ampliándola así a base de datos de palabras multilingüe. Dicha funcionalidad engloba los elementos de Lema, Etiqueta Semántica, Paráfrasis y Unidad Léxica

La fase principal ha consistido en añadir el idioma a la aplicación. Para ello ha

sido necesario contemplar cambios tanto en el nivel de bases de datos como en el de programación, tanto en el código HTML como en el código PHP de las páginas web que forman la aplicación, para adaptar la nueva funcionalidad en la información mostrada y tratada en estas.

Con ello se ha conseguido que Badele3000 englobe palabras de distintos

idiomas, pudiéndolas relacionar entre sí dentro de su mismo idioma, como venía siendo hasta ahora, y con las correspondientes a idiomas distintos al propio, mediante la Traducción. Así, además de permitir nutrir a la base de datos, los usuarios autorizados podrán ampliarla con las relaciones de traducción entre lemas de diferentes idiomas. Pudiendo ser posteriormente consultados por todas las personas.

VII

Page 9: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

VIII

Page 10: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

ABSTRACT

The main objective of the present final project, has been to provide Badele 3000, lexical database (BDL) for words in Spanish, of the functionality of the language, thus expanding it based on multilingual word data. This functionality includes the elements of Motto, Semantic Label, Paraphrase and Lexical Unit.

The main phase has been to add the language to the application. For this it has

been necessary to contemplate changes both in the level of databases and in the programming, both in the HTML code and in the PHP code of the web pages that form the application, to adapt the new functionality in the information shown and treated in these.

This has ensured that Badele3000 includes words from different languages,

being able to relate them to each other within their own language, as it has been up to now, and with those corresponding to languages other than their own, through Translation. Thus, in addition to allowing the database to be nourished, authorized users can expand it with translation relations between slogans of different languages. Being able to subsequently be consulted by all people.

IX

Page 11: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

X

Page 12: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

Página 1

Capítulo 1

Introducción El presente documento pretende mostrar de forma detallada el Trabajo Fin de Carrera

realizado sobre la aplicación web que sirve de interfaz para BaDELE3000 (Barrios 2010), una base de datos léxica (BDL) centrada en los 3.300 sustantivos más utilizados del español ibérico -determinados a partir del estudio estadístico del Corpus Cumbre de Almela et al. (2005) y la información de varios hablantes nativos- y que toma como marco teórico la Teoría Sentido-Texto (Mel’čuk, 1988), especialmente las funciones léxicas y el principio de herencia léxica (Mel’čuk y Wanner, 1996). Consigue obtener automáticamente 9.000 relaciones léxicas que junto con las relaciones léxicas recogidas en los diccionarios combinatorios del español1 es capaz de formalizar un total de 20.700 relaciones.

Esta aplicación permite simultáneamente hacer consultas al contenido actual de la

base de datos léxica a cualquier persona interesada, y seguirla nutriendo y refinando a las personas autorizadas.

Aunque es una base de datos léxica extensa y que permite consultar diversas

características de los sustantivos más comunes del español, presenta algunas carencias que se ven necesarias en estos tiempos de tanta diversidad idiomática. Y es en este punto dónde se ha centrado el objetivo del presente trabajo, dotar a Badele3000 de la funcionalidad del idioma, ampliándola así a una base de datos multilingüe. Y aprovechando dicha ampliación dotarla de la ‘Traducción’ en el ámbito del Lema.

Para ello ha sido necesario, en una primera fase, realizar un cambio funcional del

comportamiento entre la relación de lema y etiqueta semántica, para conseguir la integridad del modelo Entidad-Relación definido en la base de la aplicación.

Ante lo expuesto, se concluye que el desarrollo del proyecto se ha visto dividido en

dos partes diferenciadas: modificación y adaptación del funcionamiento de la aplicación para permitir que un lema pueda clasificarse en una o más etiquetas semánticas, desarrollado en la asignatura de Sistemas Informáticos (Véase Apéndice A:Ampliación de la relación Etiqueta Semántica-Lema) y ampliación y modificación de la aplicación para ampliar a la misma a una aplicación multilingüe.

1 Versión recomendada Symfony 1.4.20

Page 13: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 2

Así la presente memoria se ve formada por cinco capítulos, una bibliografía y tres

apéndices. A su vez, debido a la extensión de las funcionalidades abordadas, cada capítulo se ve dividido en secciones.

En la sección de ‘Introducción’, se expone el objetivo a abordar y cómo es el estado

actual. En la sección de ‘Especificación de Requisitos’, se recogen todos los requisitos transmitidos por el cliente. En las secciones siguientes de ‘Diseño de la aplicación’ y ‘Codificación’ se recogen las fases del ciclo de vida que ha supuesto el desarrollo del proyecto. Para plasmar como colofón en una última sección la batería de pruebas unitarias y funcionales realizadas tras las adaptaciones y ampliaciones.

Page 14: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

Página 3

Capítulo 2

Desarrollo: Inclusión del idioma

2.1. Introducción

En este capítulo entraremos directamente en el proceso de desarrollo que nos atañe. En él se tratará el desarrollo correspondiente a la multilingüalidad dejando para el

siguiente el correspondiente a la funcionalidad de la Traducción.

2.2. Especificación de Requisitos

Se pretende permitir la inserción, modificación y consulta de lemas, etiquetas semánticas, paráfrasis y unidades léxicas en distintos idiomas en la BDL BADELE3000 [Barrios, 2010 ], [Mel’čuk, 1988] y [Mel’čuk y Wanner, 1996]

2.2.1. Visión general

El objetivo es permitir al usuario con permisos informar, modificar y consultar los distintos elementos en distintos idiomas.

Se ha intentado, siempre que ha sido posible, seguir la misma metodología de

desarrollo y diseño existente para mantener la idea original.

2.2.2. Requisitos funcionales

Consulta de la información.

Req01.Consulta de datos.El sistema permitirá la recuperación del conjunto de datos almacenados en la base de datos a partir de la elección de una serie de campos entre los que se encontrará el correspondiente al ‘Idioma’. Podrán consultarse los datos almacenados en un idioma concreto o en todos los existentes. El formulario de consulta seguirá manteniendo la capacidad de controlar las combinaciones que no tengan sentido dentro del ámbito lingüístico.

Page 15: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 4

Req02 Resultado Consulta.Los datos seguirán presentándose en formato tabla HTML.

Req03 Filtro Consulta.La consulta filtrará según los datos introducidos, pero el campo no aparecerá en la tabla HTML en las opciones del formulario de consulta que tengan datos en las cajas de texto pero no se haya pulsado en el check de validación.

Req04 Consulta vacía.En aquellos casos en los cuales los datos insertados por el usuario no obtienen información alguna por parte de la aplicación, se mostrará un mensaje avisando de dicha situación.

Req05 Ordenación consulta Todas las consultas seguirán pudiéndose ordenar por el usuario pulsando en cualquiera de los encabezados de la tabla.

Req06 Exportación resultado consulta.Todas las consultas que devuelvan un conjunto de datos, se podrán seguir exportando a los formatos: PDF, Microsoft Office Excel11.

Inserción de datos

Req07 Insertar/Alta Lema-Etiqueta Semántica-Paráfrasis-Unidad Léxica.El sistema permitirá la inserción de datos a los usuarios de tipo lingüista y administrador. La inserción de los datos se realizará mediante formularios web. La selección del Idioma se permitirá mediante la selección de una lista. En la base de datos se guardará el nombre del usuario así como la fecha de creación del alta.

Req08 Resultado Inserción/ Alta Lema-Etiqueta Semántica-Paráfrasis-Unidad Léxica.Se informará en otra pantalla si la inserción se ha realizado con éxito.

Page 16: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 5

Modificación de datos

Req09 Modificar Lema-Etiqueta Semántica-Paráfrasis-Unidad Léxica.El sistema permitirá la modificación de datos a los usuarios de tipo administrador. Si el usuario es de tipo lingüista, se realizará una comprobación de que es el autor del dato a modificar. La modificación de los datos se realizará mediante formularios web. Se permitirá la modificación del Idioma asociado mediante la selección del elemento de una lista. En el caso del Lema dicha modificación será posible si la etiqueta semántica asociada corresponde al idioma seleccionado.

Req10 Borrar Lema-Etiqueta Semántica-Paráfrasis-Unidad Léxica.El sistema permitirá el borrado de datos a los usuarios de tipo administrador. Si el usuario es de tipo lingüista, se realizará una comprobación de que es el autor del dato a eliminar. El borrado del Lema seleccionado supondrá la eliminación de todas sus dependencias.

Req11 Resultado Modificación/Borrado Lema-Etiqueta Semántica-Paráfrasis-Unidad Léxica.Se informará en otra pantalla si la modificación se ha realizado con éxito.

Page 17: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 6

2.2.3. Requisitos no funcionales

2.2.3.1 Administración y mantenimiento

Symfony es el framework utilizado como gestor de contenidos en la aplicación. Diseñado para optimizar el desarrollo de las aplicaciones, proporciona mecanismos que reducen el tiempo de desarrollo así como estructuras robustas que facilitan la codificación y mantenimiento de los desarrollos mediante la automatización de tareas.

Desarrollado en PHP5, es compatible con gestores de bases de datos, como MySQL,

Oracle y SQL Server de Windows y puede utilizarse tanto en plataformas Unix como en plataformas Windows.

De fácil instalación y configuración, presenta una flexibilidad ilimitada en cuanto a

adaptabilidad. Ampliable, estable y sostenible garantiza un cierto nivel de comodidad para los desarrolladores pudiéndose centrar en los aspectos más destacados reales de una aplicación.

La existencia de una cantidad considerable de documentación y el apoyo profesional

permiten que un iniciado en la materia se sienta rápidamente a gusto con este framework.

2.2.3.2 Usabilidad

La interfaz del formulario sufre prácticamente los mismos cambios en las pantallas de consulta, inserción y modificación. El usuario observará en la parte de inserción y consulta una lista de Idiomas para seleccionar, permitiéndole así cumplimentar la base de datos con los distintos elementos en los idiomas abordados. En el caso de la modificación se mostrará el idioma actual al que pertenece el objeto y se permitirá al usuario administrador modificar el mismo, si así procede, mediante la selección de la lista de Idiomas. Dicha modificación irá acompañada, en el caso del Lema, con la modificación de la etiqueta semántica a una del idioma correspondiente.

2.2.3.3 Accesibilidad

Al igual que antes, la aplicación debe seguir funcionando en los Sistemas Operativos

UNIX (y similares como Linux, Mac OS X) y Windows.

Page 18: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 7

2.3. Diseño de la aplicación

La parte de diseño de la aplicación que se ve afectada es la que corresponde a los módulos de ‘Consultas’, ‘Grafo’, ‘Modificar Datos’ e ‘Insertar’.

2.3.1. Diseño de la Base de Datos

La modificación en el Diseño de la Base de Datos para ampliar la funcionalidad de

Badele3000 a una base de datos multilingüe supone la modificación del código en cada uno de los módulos afectados.

2.3.1.1 Diagrama entidad-relación

El diagrama entidad-relación definido para la aplicación se ve modificado en la ampliación de la relación de las tablas Clasificación de Lema en Etiqueta Semántica, Etiqueta Semántica, Paráfrasis y Unidad Léxica con la nueva tabla de Idioma. Debido a que Lema y Etiqueta Semántica dependen directamente de la misma, sólo podrá asignarse a un Lema etiquetas semánticas correspondientes a su mismo idioma o lengua.

El diagrama de entidad-relación se ve modificado ya que aparece la tabla nueva de

Idioma, que se ve relacionada con las correspondientes a las entidades comentadas. (Véase Figura 2.3.1.1.: Diagrama entidad-relación)

Page 19: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 8

Page 20: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 9

2.3.1.2 Paso a tablas

Realizado el cambio en el diagrama entidad-relación expuesto en el punto anterior el siguiente paso a realizar es la traducción o paso a tablas del mismo. Como en todos los puntos del proyecto, al tratarse de la modificación de una aplicación ya realizada, se presenta el cambio en el esquema de tablas final. . (Véase Figura 2.3.1.2.: Tablas de la base de datos afectadas.)

La ampliación de la funcionalidad que nos atañe se traduce en la creación de una

nueva tabla “idioma” relacionada con las tablas “clasificación_de_l_en_es”, “etiqueta _semántica”, “unidad_léxica” y “paráfrasis”. Dicha tabla estará formada por las columnas identificador de idioma “id” y nombre del mismo “idioma”, además de las estándar autor y fecha, reflejando en sus registros los distintos idiomas abarcados por la aplicación.

Esta modificación afecta también a la definición de las tablas

“clasificación_de_l_en_es”, “etiqueta _semántica”, “unidad_léxica” y “paráfrasis” con el aumento de la columna “idioma” en cada una de ellas. Teniendo así etiquetas semánticas, unidades léxicas y paráfrasis de distintos idiomas y clasificaciones de lemas en etiquetas semánticas determinadas según el idioma.

Page 21: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 10

Page 22: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 11

2.3.2 Módulos del Sistema

En el caso de los Módulos existentes del sistema la modificación a nivel de diseño y a nivel de código afecta a 4 de los mismos:

Consultas. Agrupa el funcionamiento de la sección de consultas.

Grafo: Agrupa ña representación gráfica de la información.

Insertar. Agrupa el funcionamiento de la sección de inserción de datos de la aplicación.

Modificar. Agrupa el funcionamiento de la sección de modificaciónde datos de la aplicación. Comprueba que el usuario conectado a la aplicación tenga permisos suficientes para modificar el dato y modifica los datos de la base de datos del sistema.

2.3.3 Interfaz web

El ámbito de la interfaz web se ve afectada en lo que se refiere a la lista de idiomas que aparece en las páginas de los módulos de “Consulta de datos”, “Insertar Datos” y “Modificar Datos” para los objetos abordados2. Se pasa a tener una lista de idiomas permitiendo la selección de aquel correspondiente al objeto tratado. (Véanse Figura 2.3.3: Estructura de diseño web Consulta Datos., Figura 2.3.3: Estructura de diseño web Consulta Gráfica, Figura 2.3.3: Estructura de diseño web Insertar Datos. y Figura 2.3.3: Estructura de diseño web Modificar Datos.)

2 Lema, Etiqueta Semántica, Unidad Léxica y Paráfrasis.

Page 23: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 12

Page 24: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 13

Page 25: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 14

2.4. Codificación

Al tratarse de una ampliación para una aplicación ya desarrollada, se especifican a continuación las partes del código modificado para la ampliación de la funcionalidad.

2.4.1. Framework Symfony

La modificación y adaptación del código a la nueva situación se centra dentro del

frontend, principalmente en el directorio /modules/ dónde se ubica el código de la aplicación (MVC). Dentro de este directorio se verán afectados con la nueva funcionalidad los correspondientes a los módulos comentados3 y que a continuación se exponen.

2.4.1.1 Consultas

Dentro de la carpeta Actions del módulo de consultas, está la acción:

actions.class.php. Y en la acción principal executeSalida será donde se aborde la nueva funcionalidad

del idioma.

La manera en la que esta acción se va a modificar es en el tratamiento de la obtención de los datos a la hora de montar las consultas contra la base de datos.

Esta modificación consiste en añadir en todos y cada uno de los sitios donde se hace

referencia a los objetos afectados4 la referencia a la columna de idioma para que todas las consultas estén filtradas bajo esta nueva condición.

De este modo cuando el usuario realice una consulta seleccionando el idioma

deseado, los datos obtenidos vendrán filtrados por el mismo, mostrando aquellos pertenecientes a dicha selección.

Del mismo modo, la acción myConsultas.class.php y myClasificacion.class.php de la

carpeta Lib se verán afectadas en sus funciones de getVocablo(), getAcepcion() y pintar_vocablos(), respectivamente.

3 Consulta, Grafo, Insertar y Modificar Datos. 4 Lema, Etiqueta Semántica, Unidad Léxica y Paráfrasis.

Page 26: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 15

2.4.1.2 Grafo

El cambio en este módulo es exactamente igual al realizado en el módulo anterior de Consultas.

2.4.1.3 Insertar

En el caso del módulo Insertar, y al igual que en los dos casos anteriores las carpetas Actions y Lib son las que recogen las acciones actions.class.php y myInserciones.class.php que se deben modificar respectivamente. Se debe incluir la referencia a la columna idioma de las tablas afectadas (funciones executeLemaAcepciones(), executeOutlema(),executeOutetiqueta(),executeOutparafrasis(),executeOutunidad(),) así como realizar el correcto tratamiento de la información para poder realizar correctamente las inserciones de los datos informados (función insertarLema(),insertarEtiquetaSemantica(),insertarParafrasis(),insertarUnidadLexica()).

Añadimos también el tratamiento del idioma en la acción lemaAcepcionesSucess.php

de la carpeta Templates donde se recoge la lista de idiomas a elegir.

2.4.1.4 Modificar

Como en los casos anteriores, Actions y Lib son las carpetas afectadas, en el caso de

la acción actions.class.php tanto en el filtrado de los datos mostrados a tratar (executeLema()) como en el tratamiento de los valores modificados (executeOutlema()) para que puedan ser considerados correctamente según el idioma seleccionado.

Además en este módulo la carpeta Templates se ve en su acción lemaSuccess.php

modificada, como en el caso del módulo anterior, para recoger la lista de Idiomas existentes con los que poder trabajar.

Page 27: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 16

2.4.2. Otros directorios afectados

La casuística tratada lleva además a modificar o adaptar cuatros directorios:

data/ En este directorio se almacenan los archivos relacionados con los datos. Por ejemplo, el esquema de una base de datos, el archivo que contiene las instrucciones SQL para crear la estructura de tablas, etc.

doc/ Carpeta donde se guarda documentación sobre el proyecto. Será en Scripts donde se cree la nueva tabla.

lib/ Las bibliotecas y clases del proyecto. ConsultasForm.php, LemaForm.class, UnidadLexicaForm.class, ParafrasisForm.class, EtiquetaSemanticaForm.class e IdiomaForm.class serán las clases modificadas y la nueva clase creada para la ampliación de la funcionalidad.

web/ El directorio raíz web. Los únicos archivos accesibles desde Internet están en este directorio. En el cual los estilos se ven modificados para habilitar o no las listas del idioma según corresponda en cada situación.

Page 28: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 17

2.5. Pruebas

2.5.1. Pruebas unitarias

Comprobación de las funcionalidades implementadas individualmente. Se realizan las siguientes pruebas unitarias:

Consulta de un Vocablo perteneciente al idioma ‘Español’.

Consulta de un Vocablo perteneciente al idioma ‘Inglés’.

Grafo de un Vocablo perteneciente al idioma ‘Español’.

Grafo de un Vocablo perteneciente al idioma ‘Inglés’.

Inserción de una nueva Etiqueta Semántica perteneciente al idioma ‘Español’.

Inserción de una nueva Etiqueta Semántica perteneciente al idioma ‘Inglés’.

Inserción de un nuevo Vocablo perteneciente al idioma ‘Español’.

Inserción de un nuevo Vocablo perteneciente al idioma ‘Inglés’.

Modificación de la etiqueta semántica de un Vocablo perteneciente al idioma ‘Español’.

Modificación de la etiqueta semántica de un Vocablo perteneciente al idioma ‘Inglés’.

Modificación del idioma de un Vocablo perteneciente al idioma ‘Español’.

Modificación del idioma de un Vocablo perteneciente al idioma ‘Inglés’.

Borrado de vocablo perteneciente al idioma ‘Español’.

Borrado de vocablo perteneciente al idioma ‘Inglés’.

2.5.2. Pruebas funcionales

Se realiza la comprobación de que la aplicación funciona tras la implementación realizada.

Se comprueba que funcionan las distintas combinaciones del formulario del módulo Consulta.

Se comprueba que la exportación de los resultados de la consulta a formato Excel y formato .pdf funcionan

Se comprueba que funcionan las distintas combinaciones del formulario del módulo Grafo.

Se comprueba que la captura de pantalla y almacenamiento del Grafo obtenido funcionan.

Se comprueba que funcionan las distintas combinaciones del formulario del módulo Insertar Datos.

Se comprueba que funcionan las distintas combinaciones del formulario del módulo Modificar Datos.

Page 29: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 18

2.5.3. Pruebas de validación

Pruebas diseñadas para verificar el cumplimiento de los requisitos de análisis correspondientes a la ampliación del idioma en Badele3000 (2.2. Especificación de Requisitos)

2.5.2. Pruebas de regresión

Son aquellas pruebas que intentan descubrir errores causados a cambios en la aplicación, como por ejemplo arreglar otro tipo de error, modificar la forma de consulta a la bases de datos. Esto implica que el error aparece de forma inesperada debido a un cambio de la aplicación.

Para evitar que este tipo de error ocurriera, cada vez que se terminaba de arreglar un

error, se lanzaban la batería de pruebas unitarias mediante el framework Symfony.

Page 30: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

Página 19

Capítulo 3

Desarrollo: Traducción

3.1. Introducción

Como colofón, y aprovechando la nueva funcionalidad implementada en Badele3000, se ha llevado a cabo el tratamiento de la ‘Traducción’ para el objeto ‘Lema’.

Del mismo modo que ocurriese en la adaptación y ampliación anteriormente

comentadas, ha sido necesario contemplar cambios a todos los niveles, para adaptar la nueva funcionalidad en la información mostrada y tratada en estas.

Con ello se ha conseguido que Badele3000 también englobe relaciones entre los

diferentes Vocablos de los distintos idiomas, pudiendo así decir que se amplía su funcionalidad a la de un pequeño traductor. Ya no se trata sólo de una base de palabras en Español con sus conceptos y principios lingüísticos más o menos complejos dentro del marco de la Teoría Sentido-Texto, sino que además permite relacionar a estos entre sí para reflejar la traducción existente entre ellos.

Page 31: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 20

3.2. Especificación de Requisitos

Se pretende permitir la traducción entre los distintos lemas en los diferentes idiomas existentes en la BDL BADELE3000 [Barrios, 2010].

3.2.1. Visión general

El objetivo es permitir al usuario con permisos modificar los lemas para relacionarlos

entre sí a través de la traducción. Modificando, una vez insertados los lemas en los diferentes idiomas, a estos para informar qué lema es traducción de otro y permitir así consultar la traducción de los lemas.

Como siempre se ha intentado, siempre que ha sido posible, seguir la misma

metodología de desarrollo y diseño existente para mantener la idea original.

3.2.2. Requisitos funcionales

Consulta de la información.

Req01.Consulta de datos.El sistema permitirá la recuperación del conjunto de datos almacenados en la base de datos a partir de la elección de una serie de campos entre los que se encontrará el correspondiente a la ‘Traducción’. Podrán consultarse los datos de las traducciones almacenados en un idioma concreto5. El formulario de consulta seguirá manteniendo la capacidad de controlar las combinaciones que no tengan sentido dentro del ámbito lingüístico.

Req02 Resultado Consulta.Los datos seguirán presentándose en formato tabla HTML.

Req03 Filtro Consulta.La consulta filtrará según los datos introducidos, pero el campo no aparecerá en la tabla HTML en las opciones del formulario de consulta que tengan datos en las cajas de texto pero no se haya pulsado en el check de validación.

Req04 Consulta vacía.En aquellos casos en los cuales los datos insertados por el usuario no obtienen información alguna por parte de la aplicación, se mostrará un mensaje alertando de dicha situación.

Req05 Ordenación consulta Todas las consultas seguirán pudiéndose ordenar por el usuario pulsando en cualquiera de los encabezados de la tabla.

Req06 Exportación resultado consulta.Todas las consultas que devuelvan un conjunto de datos, se podrán seguir exportando a los formatos: PDF, Microsoft Office Excel11.

5 Español o Inglés.

Page 32: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 21

Modificación de datos

Req07 Modificar Lema.El sistema permitirá la modificación de datos a los usuarios de tipo administrador. Si el usuario es de tipo lingüista, se realizará una comprobación de que es el autor del dato a modificar. La modificación de los datos se realizará mediante formularios web. Se permitirá la modificación del Lema asociado como traducción mediante la selección del elemento de una lista. Dicha lista mostrará los posibles lemas a asociar como traducción filtrados de tal forma que no pertenezcan al idioma del Lema a modificar. La modificación se realizará en un único sentido, se tratará la traducción del lema a modificar pero no la del seleccionado como traducción del primero.

Req08 Borrar Lema.El sistema permitirá el borrado de datos a los usuarios de tipo administrador. Si el usuario es de tipo lingüista, se realizará una comprobación de que es el autor del dato a eliminar. El borrado del Lema seleccionado supondrá la eliminación de todas sus dependencias.

Req09 Resultado Modificación/Borrado Lema.Se informará en otra pantalla si la modificación se ha realizado con éxito.

3.2.3. Requisitos no funcionales

3.2.3.1 Administración y mantenimiento

Consultar apartado anterior 2.2.3.1 Administración y mantenimiento.

3.2.3.3 Usabilidad

La interfaz del formulario sufre cambios en las pantallas de consulta y modificación. El usuario observará en la parte de consulta un check para seleccionar la posibilidad de consultar la Traducción de un Lema. En el caso de la modificación se mostrará la traducción actual del Lema si existiese, en caso contrario se mostrará vacía, y se permitirá al usuario administrador modificar el mismo, si así procede, mediante la selección de la lista de lemas posibles a asignar como traducción. Dicha lista vendrá filtrada por los lemas que no sean pertenecientes al idioma del lema a modificar.

3.2.3.4 Accesibilidad

Al igual que antes, la aplicación debe seguir funcionando en los Sistemas Operativos

UNIX (y similares como Linux, Mac OS X) y Windows.

Page 33: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 22

3.3. Diseño de la aplicación

La parte de diseño de la aplicación que se ve afectada para la inclusión de la traducción es la que corresponde a los módulos de ‘Consultas’ y ‘Modificar Datos’.

3.3.1. Diseño de la Base de Datos

La modificación en el Diseño de la Base de Datos para ampliar la funcionalidad de

Badele3000 de la Traducción, supone la modificación del código en cada uno de los módulos afectados.

3.3.1.1 Diagrama entidad-relación

El diagrama entidad-relación definido para la aplicación se ve modificado en la ampliación de la relación de la tabla Clasificación de Lema en Etiqueta Semántica, con la nueva tabla de Traducción de Lema.

Este se ve modificado ya que aparece la tabla nueva de Traducción de Lema que se

ve relacionada con la correspondiente a los objetos comentados. . (Véase Figura 3.3.1.1.)

Page 34: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 23

Page 35: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 24

3.3.1.2 Paso a tablas

Realizado el cambio en el modelo entidad-relación expuesto en el punto anterior el siguiente paso a realizar es la traducción o paso a tablas del mismo. Como en todos los puntos del proyecto, al tratarse de la modificación de una aplicación ya realizada, se presenta el cambio en el esquema de tablas final. . (Véase Figura 3.3.1.2.: Tablas de la base de datos modificadas.)

La ampliación de la funcionalidad que nos atañe se traduce en la creación de una

nueva tabla “traducción_lema” relacionada con la tabla “clasificación_de_l_en_es”. Dicha tabla estará formada por las columnas identificador de lema, identificador de etiqueta semántica e identificador de idioma “id” del lema a asignar la traducción, y las columnas identificador de lema, identificador de etiqueta semántica e identificador de idioma “id” del lema traducción, además de las estándar autor y fecha.

Esta modificación no afecta a ninguna tabla más, pero sí es importante destacar que

los registros se corresponden con el tratamiento individual según el lema.

Page 36: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 25

Page 37: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 26

3.3.2 Módulos del Sistema

En el caso de los Módulos existentes del sistema la modificación a nivel de diseño y a nivel de código afecta a 2 de los mismos:

Consultas. Este módulo agrupa el funcionamiento de la sección de consultas.

Modificar. Se encarga del funcionamiento de la sección de modificaciónde datos de la aplicación. Comprueba que el usuario conectado a la aplicación tenga permisos suficientes para modificar el dato y modifica los datos de la base de datos del sistema.

3.3.3 Interfaz web

El ámbito de la interfaz web se ve afectada en la página del módulo de “Consulta de datos” en la incorporación de un nuevo check ‘Traducción’ que permite consultar la posible o posibles traducciones de un Lema (Véase Figura 3.3.3: Estructura de diseño web Consultar Datos.). Y en la página correspondiente al módulo “Modificar Datos” se pasa a tener una lista de lemas, en idioma distinto al seleccionado, permitiendo seleccionar aquel correspondiente a la traducción del mismo (Véanse Figura 3.3.3: Estructura de diseño web Modificar Datos, Figura 3.3.3: Estructura de diseño web Modificar Datos. Traducción asignada., y Figura 3.3.3: Estructura de diseño web Modificar Datos. Cambio Traducción asignada.). Del mismo modo si ya tuviese una traducción asociada podría modificarse.

Page 38: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 27

Page 39: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 28

Page 40: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 29

3.4. Codificación

A continuación se especifican las partes del código modificado para la ampliación de la funcionalidad.

3.4.1. Framework Symfony

Al igual que ocurriese en los Capítulos anteriores 1 y 2, en el presente capítulo, la

modificación y adaptación del código a la nueva situación se centra dentro del frontend, principalmente en el directorio /modules/ dónde se ubica el código de la aplicación (MVC).

Dentro de este directorio se verán afectados con la nueva funcionalidad los

correspondientes a los módulos comentados6 y que a continuación se exponen.

3.4.1.1 Consultas

Como ocurriese tanto con la adaptación de la funcionalidad como con la ampliación a

base de datos multilingüe de Badele3000, la ampliación de la funcionalidad con la Traducción del Lema pasa a abordarse en la acción principal executeSalida, correspondiente a la acción actions.class.php de la carpeta Actions perteneciente al módulo de consulta.

Esta acción se ve a modificada en el tratamiento de la obtención de los datos a la

hora de montar las consultas.

Esta modificación consiste en añadir el tratamiento de la Traducción para que todas las consultas que refieran a la misma obtengan y muestren los resultados solicitados.

De este modo cuando el usuario realice una consulta seleccionando la Traducción del

Lema consultado, se mostrará o mostrarán aquellos correspondientes a dicha selección en el caso que existan.

Del mismo modo, la acción myConsultas.class.php de la carpeta Lib se verá afectada

con la inclusión de dos nuevas getIdentificadorVocablo(), getIdentificadorEtiquetaSemantica().

6 Consulta y Modificar Datos.

Page 41: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 30

3.4.1.2 Modificar

Actions y Lib carpetas afectadas para la inclusión de la traducción, en el caso de la

acción actions.class.php tanto en el filtrado de los datos mostrados a tratar (executeLema()) como en el tratamiento de los valores modificados (executeOutlema()) para que puedan ser considerados correctamente según el lema seleccionado como el correspondiente a la traducción.

Al igual que ocurriere con la ampliación tratada anteriormente, la carpeta Templates

se ve modificada en su acción lemaSuccess.php, para recoger la lista de lemas existentes en distinto idioma al modificado con los que poder trabajar.

Page 42: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 31

3.4.2. Otros directorios afectados

La casuística tratada lleva además a modificar o adaptar cuatros directorios:

data/ En este directorio se almacenan los archivos relacionados con los datos. Por ejemplo, el esquema de una base de datos, el archivo que contiene las instrucciones SQL para crear la estructura de tablas, etc.

doc/ Carpeta donde se guarda documentación sobre el proyecto. Será en Scripts donde se cree la nueva tabla de traducción_lema.

lib/ La clase del proyecto. Traduccion_Lema.class.php será la nueva clase creada para la ampliación de la funcionalidad.

web/ El directorio raíz web. Los únicos archivos accesibles desde Internet están en este directorio. En el cual los estilos se ven modificados para habilitar o no la lista de los lemas posibles como traducción según corresponda en cada situación.

Page 43: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 32

3.5. Pruebas

3.5.1. Pruebas unitarias

Comprobación de las funcionalidades implementadas individualmente. Se realizan las siguientes pruebas unitarias:

Consulta de un Vocablo sin Traducción.

Consulta de un Vocablo con Traducción asociada.

Asignación de traducción de un Vocablo perteneciente al idioma ‘Español’.

Asignación de traducción de un Vocablo perteneciente al idioma ‘Inglés’.

Modificación de la traducción de un Vocablo perteneciente al idioma ‘Español’.

Modificación de la traducción de un Vocablo perteneciente al idioma ‘Inglés’.

Borrado de vocablo perteneciente al idioma ‘Español’.

Borrado de vocablo perteneciente al idioma ‘Inglés’.

3.5.2. Pruebas funcionales

Se realiza la comprobación de que la aplicación funciona tras la implementación realizada.

Se comprueba que funcionan las distintas combinaciones del formulario del módulo Consulta.

Se comprueba que la exportación de los resultados de la consulta a formato Excel y formato .pdf funcionan

Se comprueba que funcionan las distintas combinaciones del formulario del módulo Grafo.

Se comprueba que funcionan las distintas combinaciones del formulario del módulo Modificar Datos.

3.5.3. Pruebas de validación

Pruebas diseñadas para verificar el cumplimiento de los requisitos de análisis correspondientes a la ampliación de la Traducción de Lema en Badele3000 (3.2. Especificación de Requisitos)

3.5.2. Pruebas de regresión

Consulta 2.5.2. Pruebas de regresión.

Page 44: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

Página 33

Capítulo 4

Resolución de incidencias

4.1. Introducción A lo largo de las distintas etapas del proyecto realizado se han encontrado una serie

de incidencias que se han necesitado solucionar para la continuación y resolución del propósito final.

A continuación se exponen las mismas. Como podrá comprobarse van desde la

configuración de la base de datos hasta la funcionalidad de los distintos módulos desarrollados, pasando por la definición de usuario.

4.2. Incidencias abordadas

4.2.1. Usuario Administrador inoperativo

La información de la tabla sf_guard_user se ve modificada en su registro correspondiente al usuario Administrador (admin) para permitir el acceso a la aplicación con tal rol y así poder realizar las tareas correspondientes. Para ello se informa el campo self a nulo y se genera una password nueva mediante el algoritmo sa1t ya que la existente no es correcta.

4.2.2. Visualizar Módulo Administrar BD

En el chequeo inicial de la aplicación, el menú principal no está visible cuando se

accede en modo privilegiado a la aplicación.

Se cambia el tamaño de los menús.

En el directorio web\ se encuentra la definición de estilos de cada una de las páginas de la aplicación. Será en la correspondiente al menú donde se ajusten los parámetros del padding que engloba las distintas opciones de menú y así visualizar todas las existentes.

Page 45: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 34

4.2.3. Creación de la copia de seguridad en local vacía

El módulo Dump no funciona de forma correcta en la creación de una copia de la

base de datos en local pues la crea sin información, completamente vacía.

Se modifica la acción actions.class.php, en la función que realiza el backup executeDoBackup() para que reconozca la ubicación y ruta completa. Por otro lado la contraseña del root no es la correcta en el comando ejecución.

4.2.4. Creación de la copia de seguridad en el servidor inoperativa

Como en el caso de la copia en local, la copia en servidor ha tenido que ser

rectificada para que la misma pueda realizarse. En este caso ni siquiera se creaba una copia vacía.

Al igual que en la local la contraseña del root no es la correcta en el comando

ejecución ni el reconocimiento de la ubicación.

4.2.5. Carga copia seguridad desde local

Al igual que ocurriese con la realización del backup en local, la problemática de

realizar la carga de una copia desde el local no es posible debido a las incorrecciones existentes en la contraseña del root y la ubicación del fichero.

Por tanto la acción actions.class.php se ve modificada en la función que realiza la

carga executeDoLoad() para que reconozca la ubicación y ruta completa y contraseña del root.

4.2.6. Carga de la copia de seguridad desde el servidor

Exactamente la misma problemática que la expuesta en el punto 4.2.4. Creación de la copia de seguridad en el servidor inoperativa.

Modificación de la función executeDoLoad() para que reconozca la ubicación y ruta

completa y contraseña del root.

Page 46: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 35

4.2.7. Tamaño de la carga de la copia de seguridad

Además de los problemas comentados a la hora de realizar las cargas de seguridad se

ha tenido que aumentar el tamaño del fichero que se va a cargar ya que los parámetros quedaban por debajo e imposibilitaban la carga de los mismos.

Para ello en el fichero php.ini se modifica el parámetro upload_max_fichero a un

valor igual a 10M y el tiempo de espera max_execution_true a 60s.

4.2.8. Ejecución de comandos MySQL

Debido a que la aplicación ha sido instalada en un Sistema Operativo Windows, ha

sido necesaria la inclusión en el Path (Panel de Control\Sistema y Seguridad\Sistema\Configuración avanzada del Sistema\Propiedades del Sistema\Operaciones avanzadas\Variables entorno) el valor correspondiente a la ruta del bin del gestor de la base de datos MySQL, para que las operaciones realizadas contra la base de datos puedan ejecutarse por consola desde cualquier ruta del sistema.

La ruta incluida ha sido: C:\Program Files\MySQL\MySQL Server 5.6\bin\

4.2.9. Funcionalidad errónea módulo Insertar

En el chequeo previo del funcionamiento de la aplicación se detecta que el módulo Insertar no funciona correctamente en algunas de sus opciones:

4.2.9.1. Inserción de valores a función léxica y lema

Imposibilidad de realizar una inserción de correspondencia FL_L _UL.

Para ello es necesaria la modificación de la definición de la tabla

correspondencia_FL_L_UL en sus columnas fusionado, rechazado y heredado para que por defecto sean cero. El tratamiento de la información en de la acción actions.class.php del módulo la función executeGet_correspondencia_fl_l_ul() de la acción actions.class.php del módulo en cuestión no contempla estos valores.

4.2.9.2. Inserción Lema

Aunque se realice correctamente la inserción del nuevo Lema que se quiere crear, aparecen errores referentes al Rasgo, Semantema, Esquema y Localización.

La función executeOutLema() de la acción actions.class.php del módulo se ve

modificada en la referencia a estos puntos debido a que los mismos no existen en la definición de la tabla Lema. Se comprueba que dicha funcionalidad está inacabada.

Page 47: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

Página 36

Capítulo 5

Conclusiones y Futuras mejoras

En el Proyecto de Fin de Carrera que se ha tratado a lo largo de todo el presente documento, se ha conseguido dotar a la aplicación web BADELE3000 de las funcionalidades del idioma y traducción del Lema.

Con las ampliaciones de funcionalidad realizadas, BADELE3000 pasa de ser una

base de datos del idioma Español a ser una base de datos de diferentes idiomas. Incrementando el número de sustantivos reflejados así como el correspondiente a sus relaciones léxicas.

Si bien es verdad que la aplicación desarrollada para Badele3000 es sencilla en

cuanto a diseño web, la funcionalidad que encierra es compleja y amplia permitiendo así que la misma esté en continuo crecimiento.

Se ha intentado a lo largo de todo el desarrollo que la codificación y programación se

asimile a la sencillez previa del desarrollo ya realizado para mantener la navegabilidad y amigabilidad de la misma.

Aunque se han depurado algunas incidencias (Véase Capítulo 4: Resolución de

incidencias) a lo largo del desarrollo en el funcionamiento de la misma que interferían en el objetivo final, no se descarta que aún existan mejoras que se puedan realizar ya no solo funcionalmente sino también en cuanto a la optimización y el rendimiento.

En cuanto a las líneas futuras de mejora podrían orientarse hacia distintos aspectos,

entre los que destacarían:

Optimización de la interfaz y del código en los distintos puntos de tratamiento de los módulos, para la obtención de un mejor rendimiento.

Considerar el cambio del leguaje para el desarrollo web PHP a un leguaje que soporte la complejidad que constituye Badele3000. (JVM-Java Virtual Machine, por ejemplo )

Considerar la actualización a Symfony 4, para conseguir una simplificación en el árbol de directorios y una estructura más plana y sencilla.

Page 48: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 37

.Ampliación a varias lenguas. Aunque esta funcionalidad ha quedado ya implementada y el modelo de la base de datos está contemplado para cualquier idioma pudiendo así la herramienta trabajar con estos., se debería tener en cuenta un modo diferente de realizar la traducción de estos conceptos a través de un idioma pivote. Si bien esto no está directamente relacionado con la aplicación tal y como está concebida y tendría relación más bien con los conceptos de la Teoría Sentido-Texto, y la potencia que desarrolla el sistema de traducción multilingüe ATAMIRI (https://es.wikipedia.org/wiki/Atamiri), resultando así una potente herramienta en el campo de la cuestión que nos atañe, consiguiendo así una herramienta mediante la cual las traducciones no dependerían de la corrección de la base de conocimiento de las que se vaya nutriendo sino de las reglas y de las colocaciones que se incluyan en la base de conocimiento de las funciones léxicas y las relaciones incluidas en BaDELE3000

Considerar las etiquetas semánticas como únicas para cada idioma, mostrándolas en la lengua del lema asociado según corresponda e independizándolas del idioma. El significado de una etiqueta semántica es igual independientemente del idioma. Con esta mejora, sólo habría que dar de alta una vez la etiqueta semántica pues la aplicación sería capaz de traducirla según el idioma del lema asociado.

Ampliar la funcionalidad de la aplicación incluyendo los Rasgos, Semantemas, Esquemas y Locuciones.

Solucionar la problemática de la funcionalidad Rasgo-Lema ante la situación a día de hoy, no recoge el valor.

Page 49: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

Página 38

Capítulo 6

Bibliografía y Referencias

[1] Adrián González Izquierdo, Proyecto fin de carrera, Interfaz de BaDELE3000, Febrero 2012. http://oa.upm.es/10946/1/pfc.pdf [2] Marina Segovia Aceituno, Sistemas Informáticos, Interfaz de BaDELE3000. Interfaz Gráfica, Junio 2012.

[3] Juan José Rodríguez Sánchez. Proyecto Fin de carrera, Interfaz Gráfica de BaDELE3000. Mejora de accesibilidad y visualización, Julio 2018.

[4] Entornos de Symfony, cursos prácticos. http://symfony.com/legacy/doc/jobeet?orm=Propel

[5] Página oficial PHP. http://www.php.net/

[6] Página oficial de MySQL http://www.mysql.com/

[7] Página oficial de Symfony. http://symfony.com/

Page 50: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

Página 39

Apéndice A

Ampliación de la relación Etiqueta Semántica-Lema

A.1. Introducción

El sustento de la aplicación, que parte del Principio de Herencia Léxica, son las etiquetas semánticas de los sustantivos: Etiquetas semánticas jerárquicas, que permiten la herencia por dominios; y etiquetas semánticas reticulares, que permiten la explicación de diversos fenómenos combinatorios y facilitan la descripción de los rasgos de dominio.

Y es aquí, en la relación de este sustento con los lemas, donde se ha centrado la

primera fase del presente proyecto, más concretamente en la ampliación de la relación entre ambos, ya que así se puede clasificar un mismo lema en más de una etiqueta semántica, cubriendo por completo la definición del Diagrama entidad-relación diseñado para la aplicación desarrollada.

Unidad léxica. Se define unidad léxica como forma lingüística o conjunto de

formas lingüísticas que posee significado propio. Una unidad léxica puede ser base de alguna función léxica con uno o varios lemas como valores. De la misma manera, puede ser base de alguna función léxica con uno o varias etiquetas semánticas. Además una unidad léxica puede pertenecer a uno o varios conceptos y puede ser actante de uno o varios lemas.

Concepto. Esta entidad almacena un sistema de categorías o conceptos de un dominio, en concreto el mundo en el que vivimos. Es una entidad que tiene una relación reflexiva en la que un concepto puede pertenecer a uno o varios conceptos. De esta forma, se obtiene una tabla que sirve para clasificar los conceptos del dominio. Un concepto puede formar parte de ninguna o varias etiquetas semánticas, unidades léxicas o lemas. Y de igual manera le ocurre a una etiqueta semántica, unidad léxica o lema.

Lema. Representa cada una de las entradas de un diccionario. Puede tener uno o varios rasgos, semantemas, esquemas o locuciones. Puede ser actante de uno o varios conceptos y unidades léxicas. Por último, puede pertenecer a una o varias etiquetas semánticas.

Page 51: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 40

Etiqueta semántica. Una etiqueta semántica identifica, generalmente, el inmediato genérico que se emplea en su definición. Tiene una relación reflexiva en la que una etiqueta semántica puede pertenecer a una o varias etiquetas semánticas. De esta manera, se obtiene una clasificación de etiquetas semánticas. Además una etiqueta semántica se relaciona con uno o varios conceptos. Una etiqueta semántica puede suponer una o varias funciones léxicas.

Función léxica. Una función léxica pone en relación dos unidades léxicas, una de ellas recibe el nombre de base y la otra se llama valor.

Paráfrasis. Algunas se corresponden con funciones léxicas que admiten alguna explicación en lenguaje natural. Cada una de las cuales constituiría una paráfrasis de la función léxica.

Page 52: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 41

A.2. Especificación de Requisitos

Se pretende permitir la inserción, modificación y consulta de la clasificación de un lema en una o más etiquetas semánticas en la BDL BADELE3000 [Barrios, 2010], completando así la integridad del Modelo Entidad-Relación definido en la misma.

A.2.1. Visión general

El objetivo es permitir al usuario con permisos informar, modificar y consultar la

correspondencia de los lemas con las etiquetas semánticas correspondientes tanto en el caso que ésta sea única como múltiple.

Debido a que es una modificación de funcionalidad de una aplicación ya desarrollada

se ha intentado, siempre que ha sido posible, seguir la misma metodología de desarrollo y diseño.

A.2.2. Requisitos funcionales

Consulta de la información.

Req01.Consulta de datos.El sistema permitirá la recuperación del conjunto de datos almacenados en la base de datos a partir de la elección de una serie de campos. El formulario de consulta seguirá manteniendo la capacidad de controlar las combinaciones que no tengan sentido dentro del ámbito lingüístico.

Req02 Resultado Consulta.Los datos seguirán presentándose en formato tabla HTML.

Req03 Filtro Consulta.La consulta filtrará según los datos introducidos, pero el campo no aparecerá en la tabla HTML en las opciones del formulario de consulta que tengan datos en las cajas de texto pero no se haya pulsado en el check de validación.

Req04 Consulta vacía.En aquellos casos en los cuales los datos insertados por el usuario no obtienen información alguna por parte de la aplicación, se mostrará un mensaje alertando de dicha situación.

Req05 Ordenación consulta.Todas las consultas seguirán pudiéndose ordenar por el usuario pulsando en cualquiera de los encabezados de la tabla.

Req06 Exportación resultado consulta.Todas las consultas que devuelvan un conjunto de datos, se podrán seguir exportando a los formatos: PDF, Microsoft Office Excel11.

Page 53: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 42

Inserción de datos

Req07 Insertar/Alta Lema.El sistema permitirá la inserción de datos a los usuarios de tipo lingüista y administrador. La inserción de los datos se realizará mediante formularios web. La selección de una o más etiquetas semánticas se permitirá mediante selección múltiple de una lista. En la base de datos se guardará el nombre del usuario así como la fecha de creación del alta. Un lema siempre llevará asociada una etiqueta semántica.

Req08 Resultado Inserción/Alta Lema.Se informará en otra pantalla si la inserción se ha realizado con éxito.

Modificación de datos

Req09 Modificar Lema.El sistema permitirá la modificación de datos a los usuarios de tipo administrador. Si el usuario es de tipo lingüista, se realizará una comprobación de que es el autor del dato a modificar. La modificación de los datos se realizará mediante formularios web. Se permitirá la modificación de la o las etiquetas semánticas asociadas al lema mediante la selección o deselección múltiple de los elementos.

Req10 Borrar Lema.El sistema permitirá el borrado de datos a los usuarios de tipo administrador. Si el usuario es de tipo lingüista, se realizará una comprobación de que es el autor del dato a eliminar. El borrado del Lema seleccionado supondrá la eliminación de todas sus dependencias.

Req11 Resultado Modificación/Borrado Lema.Se informará en otra pantalla si la modificación se ha realizado con éxito.

Page 54: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 43

A.2.3. Requisitos no funcionales

A.2.3.1 Administración y mantenimiento

Consultar Apartado 2.2.3.1 Administración y mantenimiento.

A.2.3.2 Codificación y formato de los contenidos

La modificación de la aplicación ha supuesto cambios tanto en el código HTML como en el código PHP de las páginas web que forman la aplicación, para adaptar la información mostrada y tratada en estas a la situación anteriormente comentada.

A.2.3.3 Usabilidad

La interfaz del formulario no sufre prácticamente cambios. El usuario sólo observará

en la parte de inserción y modificación de datos que la lista de etiquetas semánticas pasa a ser multiselección permitiéndole así realizar varias asignaciones de clasificación en una sola acción.

A.2.3.4 Accesibilidad

La aplicación debe seguir funcionando en los Sistemas Operativos UNIX (y

similares como Linux, Mac OS X) y Windows.

Page 55: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 44

A.3. Diseño de la aplicación

La parte de diseño de la aplicación que se ve afectada es la que corresponde a los módulos de ‘Consultas’, ‘Grafo’, ‘Modificar Datos’ e ‘Insertar Datos’.

A.3.1. Diseño de la Base de Datos

La modificación en el Diseño de la Base de Datos para ampliar la clasificación de

lema en más de una etiqueta semántica supone la modificación del código en cada uno de los módulos afectados.

A.3.1.1 Diagrama entidad-relación

El diagrama entidad-relación definido para la aplicación se ve modificado en la cardinalidad de la relación “Pertenece” entre Lema y Etiqueta Semántica. Debido a que un Lema puede clasificarse en una o más etiquetas semánticas, la relación de pertenencia en este sentido, pasa a tener una cardinalidad de 1:N. En la Figura A.3.1.1.: Modelo entidad-relación, se muestra este cambio.

Las relaciones del Usuario con los módulos siguen siendo las mismas, las

modificaciones en estos son únicamente a nivel de código y no afectan en nada al modelo entidad-relación pero sí al esquema del modelo relacional.

Page 56: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 45

Page 57: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 46

A.3.1.2 Paso a tablas

Realizado el cambio en el modelo entidad-relación expuesto en el punto anterior el siguiente paso a realizar es la traducción o paso a tablas del mismo. Como en todos los puntos del proyecto, al tratarse de la modificación de una aplicación ya realizada, se presenta el cambio en el esquema de tablas final. (Véase Figura A.3.1.2.: Tablas de la base de datos afectadas.)

La ampliación de la funcionalidad que nos atañe se traduce en la creación de una

nueva tabla intermedia “clasificación_de_l_en_es” entre las tablas “lema” y “etiqueta _semántica” reflejándose así la relación 1:N. Dicha tabla estará formada únicamente por las columnas identificador de lema “id_L” e identificador de etiqueta semántica “id_Es”, además de las estándar autor y fecha, reflejando en sus registros las clasificaciones de los distintos lemas en las distintas etiquetas semánticas.

Esta modificación afecta también a la definición de la tabla “Lema” en la

disminución de columnas que la conforman, su columna id_ES desaparece suponiendo así la desaparición de la relación directa con la tabla “etiqueta semántica”.

Page 58: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 47

Page 59: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 48

A.3.2. Módulos del Sistema

En el caso de los Módulos existentes del sistema la modificación a nivel de diseño no afecta a ninguno de los existentes, pero a nivel de código sí afecta a 3 de los mismos:

Consultas. Módulo que agrupa el funcionamiento de la sección de consultas.

Grafo. Agrupa la representación gráfica de la información.

Insertar. Agrupa el funcionamiento de la sección de inserción de datos de la aplicación.

Modificar. Se encarga del funcionamiento de la sección de modificaciónde datos de la aplicación. Comprueba que el usuario conectado a la aplicación tenga permisos suficientes para modificar el dato y modifica los datos de la base de datos del sistema.

A.3.3. Interfaz web

El ámbito de la interfaz web se ve afectada única y exclusivamente en lo que se refiere a la lista de etiquetas semánticas que aparece en las páginas de los módulos de “Insertar Datos” y “Modificar Datos”. Pasa a ser una lista multiselección permitiendo la selección de más de un elemento. . (Véanse Figura A.3.3: Estructura de diseño web Insertar Datos. y Figura A.3.3: Estructura de diseño web Modificar Datos.)

Page 60: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 49

Otra modificación de la misma consiste en la visualización de los resultados de la

búsqueda una vez seleccionado el lema a modificar dentro del módulo “Modificar Datos”.

Page 61: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 50

A.4. Codificación

Al tratarse de una modificación de funcionalidad para una aplicación ya desarrollada, se especifican a continuación las partes del código modificado para la ampliación de la funcionalidad.

A.4.1. Framework Symfony

En Symfony todas aquellas aplicaciones que utilicen el mismo modelo de datos se

agrupan en proyectos.

En el proyecto aquí expuesto, existen dos aplicaciones: frontend, donde los usuarios interactúan con el sitio web; y backend, donde los administradores gestionan el sitio web.

Dichas aplicaciones ya están creadas y la modificación y adaptación del código a la

nueva situación se centra dentro del frontend, principalmente en el directorio /modules/ dónde se ubica el código de la aplicación (MVC).

Dentro de este directorio se verán afectados con la nueva funcionalidad los

correspondientes a los cuatro módulos comentados y que a continuación se exponen.

A.4.1.1 Consultas

Dentro de la carpeta Actions del módulo de consultas, está la acción:

actions.class.php. Dentro de este fichero están implementadas las siguientes acciones: executeIndex, executeConsultas y executeSalida.

Y será en la acción principal executeSalida que lleva a cabo la recolección de los

datos introducidos por el usuario en el formulario, prepara la consulta para la base de datos y la realiza, dejando en una variable el resultado, la que se vea afectada.

La manera en la que esta acción se va a modificar es el tratamiento de la obtención

de los datos a la hora de montar las consultas contra la base de datos.

Esta modificación consiste en sustituir en todos y cada uno de los sitios donde se hace referencia a la columna de identificador de etiqueta semántica (id_Es) de la tabla ‘Lema’ por la referencia a la columna de identificador de etiqueta semántica (id_Es) de la nueva tabla ‘clasificación_de_l_en_es’.

De este modo cuando el usuario realice una consulta de la etiqueta semántica de un

determinado vocablo o acepción, los datos obtenidos vendrán según las clasificaciones existentes en esta tabla.

Page 62: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 51

Del mismo modo, las acciones myConsultas.class.php y myClasificacion.class.php de la carpeta Lib se verán afectadas en sus funciones de getVocablo(), getAcepcion() y pintar_vocablos(), respectivamente.

A.4.1.2 Grafo

El cambio en este módulo es exactamente igual al realizado en el módulo anterior de

Consultas.

A.4.1.3 Insertar

En el caso del módulo Insertar, las modificaciones aunque son menores en número

con respecto a las realizadas en los dos módulos anteriores, no son menos importantes.

Al igual que en los dos casos anteriores las carpetas Actions y Lib son las que recogen las acciones actions.class.php y myInserciones.class.php que se deben modificar respectivamente. Se deben sustituir las referencias de la columna id_Es de la tabla Lema por las de la nueva tabla creada (función executeLemaAcepciones()) así como realizar el correcto tratamiento de la información para poder realizar correctamente las inserciones de los datos informados (función insertarLema()).

Añadimos también la acción lemaAcepciones.php de la carpeta Templates donde se

recoge el texto informativo de la operativa a seguir en la selección de las etiquetas que se muestra en la página

A.4.1.4 Modificar

Como en los casos anteriores, Actions y Lib son las carpetas afectadas, en el caso de

la acción actions.class.php no solo en las referencias a la nueva tabla sino también en los cambios de la lista de etiquetas semánticas para que esta sea multiselección (executeLema()) y el tratamiento de los valores seleccionados en la misma (executeOutlema()) para que todos puedan ser considerados.

Además en este módulo la carpeta Templates se ve en su acción lemaSuccess.php

modificada, como en el caso del módulo anterior, para recoger el texto informativo de la operativa a seguir en la selección de las etiquetas.

Page 63: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 52

A.4.2. Otros directorios afectados

La casuística tratada lleva además a modificar o adaptar tres directorios:

data/ En este directorio se almacenan los archivos relacionados con los datos. Por ejemplo, el esquema de una base de datos, el archivo que contiene las instrucciones SQL para crear la estructura de tablas, etc.

doc/ Carpeta donde se guarda documentación sobre el proyecto. Será en Scripts donde cree la nueva tabla.

lib/ Las bibliotecas y clases del proyecto. Clasificación_De_L_En_Es.class, Clasificación_De_L_En_EsTable.class y BaseClasificacion_De_L_En_Es.class serán las clases nuevas creadas. Y definida como multiselección la lista del módulo Insertar (LemaForm.class.php)

web/ El directorio raíz web. Los únicos archivos accesibles desde Internet están en este directorio. En el cual los estilos se ven modificados para la alineación del Menú principal.

Page 64: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 53

A.5. Pruebas

A.5.1. Pruebas unitarias

Comprobación de las funcionalidades implementadas individualmente. Se realizan las siguientes pruebas unitarias:

Consulta de un Vocablo clasificado en una etiqueta semántica.

Consulta de un Vocablo clasificado en más de una etiqueta semántica.

Grafo de un Vocablo clasificado en una etiqueta semántica.

Grafo de un Vocablo clasificado en más de una etiqueta semántica.

Inserción de un nuevo Vocablo clasificado en una etiqueta semántica.

Inserción de un nuevo Vocablo clasificado en más de una etiqueta semántica.

Modificación de la clasificación única de etiqueta semántica de un vocablo.

Modificación de la clasificación de etiqueta semántica de un vocablo con pertenencia a más de una clasificación.

Modificación de las clasificaciones de etiqueta semántica de un vocablo con pertenencia a más de una clasificación.

Borrado de vocablo con clasificación de etiqueta semántica única.

Borrado de vocablo con clasificación de etiqueta semántica múltiple.

A.5.2. Pruebas funcionales

Se realiza la comprobación de que la aplicación funciona tras la implementación realizada.

Se comprueba que funcionan las distintas combinaciones del formulario del módulo Consulta.

Se comprueba que la exportación de los resultados de la consulta a formato Excel y formato .pdf funcionan

Se comprueba que funcionan las distintas combinaciones del formulario del módulo Grafo.

Se comprueba que la captura de pantalla y almacenamiento del Grafo obtenido funcionan.

Se comprueba que funcionan las distintas combinaciones del formulario del módulo Insertar Datos.

Se comprueba que funcionan las distintas combinaciones del formulario del módulo Modificar Datos.

Page 65: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 54

A.5.3. Pruebas de validación

El objetivo de este tipo de pruebas no es encontrar fallos del producto, se diseñan para verificar que se han cumplido los requisitos de análisis (A.2. Especificación de Requisitos)

Estas pruebas de validación, se han realizaron cada vez que una sección de la

aplicación quedaba terminada. Una vez terminada todas las secciones del producto, se realizaron una serie de pruebas de validación que engloban a toda la aplicación.

A.5.2. Pruebas de regresión

Son aquellas pruebas que intentan descubrir errores causados a cambios en la aplicación, como por ejemplo arreglar otro tipo de error, modificar la forma de consulta a la bases de datos. Esto implica que el error aparece de forma inesperada debido a un cambio de la aplicación.

Para evitar que este tipo de error ocurriera, cada vez que se terminaba de arreglar un

error, se lanzaban la batería de pruebas unitarias mediante el framework Symfony.

Page 66: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

Página 55

Apéndice B

Ciclo de vida del tratamiento de los datos

B.1. Introducción

Como en todo proceso de desarrollo de una aplicación es importante reflejar el ciclo de vida del tratamiento de los datos tras la finalización del mismo.

Con ello se plasma el trabajo realizado y el fin alcanzado. A continuación se muestra el ciclo completo desde la creación de un lema por el

usuario administrador con la asociación de las distintas etiquetas semánticas que le dan significado en un idioma, hasta la consulta de su traducción por los distintos usuarios de la aplicación.

B.2. Ciclo de vida en Badele3000

B.2.1 Inserción datos B.2.1.1 Inserción Etiqueta Semántica

Este primer paso del ciclo de vida en Badele3000 consiste en alimentar dicha base de

datos con los objetos de tipo Etiqueta Semántica.

Para ello se detallan a continuación los pasos a realizar para conseguir dicho objetivo:

Primer paso La inserción de datos sólo está permitida para los usuarios de tipo administrador, por

lo que el primer paso para realizar la inserción de una Etiqueta Semántica es logarse como administrador a la aplicación. En la parte superior izquierda puede introducirse el nombre y la contraseña para realizar dicho login.

Page 67: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 56

Segundo paso Una vez logado, el usuario puede acceder, mediante un click, a la operación de

‘Insertar Datos’. La aplicación mostrará una lista de objetos en los cuales se puede realizar inserción de datos. Click en ‘Etiqueta Semántica’.

Page 68: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 57

Tercer paso Una vez seleccionada la opción de ‘Etiqueta Semántica’, se muestra un formulario

con varios campos. Entre ellos los únicos obligatorios son el Idioma y el nombre de la Etiqueta Semántica a insertar.

Page 69: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 58

Cuarto paso Tras rellenar el formulario, click en el botón ‘Insertar’. E inserta la Etiqueta

Semántica recién creada en base de datos.

REPLACE INTO etiqueta_semantica (idioma,expresion,inferencia_semantica,autor) VALUES (1, Molécula inorgánica, 1, admin) REPLACE INTO etiqueta_semantica (idioma,expresion,inferencia_semantica,autor) VALUES (2, liquid, 0, admin)

Page 70: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 59

B.2.1.2 Inserción Lema

Como en el caso del tipo de objeto de la Etiqueta Semántica, la inserción de un Lema sigue los mismos dos primeros pasos en su ciclo de creación.

Una vez realizados continúa con los que se exponen a continuación:

Tercer paso Una vez seleccionada la opción de ‘Lema’, se muestra un formulario en el que se

debe indicar el nombre del ‘Vocablo’ a insertar.

Page 71: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 60

Cuarto paso Introducido el nombre del ‘Lema’ a insertar se continúa. El formulario que se

muestra a continuación engloba la información que un Lema puede tener. Entre ellos los obligatorios son los correspondientes al Vocablo, Acepción y Número de Actantes que por defecto vienen completados.

A continuación se selecciona la Etiqueta o Etiquetas Semánticas a relacionar con el mismo, las cuales darán significado al objeto.

Page 72: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 61

Cabe mencionar que la lista de etiquetas semánticas a asociar se muestra filtrada por el idioma del lema a tratar. Así siempre un Lema tendrá una etiqueta asociada perteneciente a su mismo idioma.

Page 73: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 62

Puede ocurrir que al seleccionar el lema ya tenga alguna etiqueta semántica asociada, en ese caso, tras su selección se muestra la pantalla de información de dicha situación dando opción a añadir una nueva acepción o no.

Page 74: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 63

Cuarto paso Tras rellenar el formulario, click en el botón ‘Insertar’. E inserta el Lema recién

creado en base de datos.

Si no se asocia ninguna etiqueta semántica al lema, se informa de dicha situación sin

realizar ninguna inserción.

INSERT INTO lema (vocablo, acepcion, revisada, completada, dominio, autor) VALUES (water, water, 0, 0, , admin) INSERT INTO clasificacion_de_l_en_es (id_idioma_l, id_l, id_es, nivel_1, nivel_2, nivel_3, categoria_gramatical, genero, definicion, estructura_actancial, n_actantes, autor) VALUES (2, 3610, 649, 1, 1, 1, n. c., f, , , 0, admin) INSERT INTO clasificacion_de_l_en_es (id_idioma_l, id_l, id_es, nivel_1, nivel_2, nivel_3, categoria_gramatical, genero, definicion, estructura_actancial, n_actantes, autor) VALUES (1, 3610, 548, 1, 1, 1, , , , , 0, admin)

Page 75: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 64

B.2.3 Modificar datos

La modificación de un objeto supone el cambio de los valores ya asignados al mismo.

La ampliación de Traducción de Lema realizada a Badele3000, se ha englobado en el Módulo de ‘Modificar Datos’ una vez creados los lemas, ya que es necesario tener la definición completa de los mismos para poder establecer una relación de traducción entre ellos. De ahí mostrar la modificación del objeto ‘Lema’, por englobar todas las ampliaciones aplicadas.

Para ello se detallan a continuación los pasos a realizar para conseguir dicho

objetivo:

B.2.3.1 Modificar Lema

Primer paso La modificación de datos, como ocurre con la inserción, sólo está permitida para los

usuarios de tipo administrador, por lo que el primer paso para realizar una modificación de un objeto, en este caso de un Lema, es logarse como administrador a la aplicación. En la parte superior izquierda puede introducirse el nombre y la contraseña para realizar dicho login.

Segundo paso Una vez logado, el usuario puede acceder, mediante un click, a la operación de

‘Modificar Datos’. La aplicación mostrará una lista de objetos en los cuales se puede realizar modificación de datos. Click en ‘Lema’.

Page 76: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 65

Tercer paso Una vez seleccionada la opción de ‘Lema’, se muestra un formulario en el que se

debe seleccionar el Lema a modificar.

Cuarto paso Introducido el nombre del ‘Lema’ a modificar se continúa. El formulario que se

muestra a continuación engloba la información que en un Lema se puede modificar.

Page 77: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 66

Entre dicha información se encuentran las dos ampliaciones abordadas en el presente

proyecto:

a) ‘Idioma’. La modificación de dicha característica lleva por defecto el tener que modificar la ‘Etiqueta Semántica’ asociada por una en el mismo idioma a modificar.

. Dicha situación se indica al seleccionar el check ‘Modificar Idioma’ además de la habilitación de la lista de ‘Etiqueta Semántica’ junto con el check ‘Modificar etiqueta semántica’ activado.

Page 78: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 67

Del mismo modo al seleccionar el Idioma al que se quiere modificar, la lista de etiquetas a poder seleccionar se filtra por dicha selección.

Page 79: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 68

b) ‘Traducción’ La modificación de dicha característica supone asociar la traducción

del lema modificado. .

Dicha situación se indica al seleccionar el check ‘Modificar Traducción’. La lista de los posibles lemas como traducción viene filtrada por el idioma. De tal manera que sólo se muestran los lemas que pueden ser traducción del lema a modificar.

Page 80: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 69

En el caso que ya exista traducción asociada y lo que se requiera es modificarla se mostrará también la traducción actual.

Page 81: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 70

Quinto paso Tras rellenar el formulario, click en el botón ‘Finalizar’. Se modifica el Lema en lo

que se refiere a:

a) Su clasificación con ‘Etiqueta Semántica’ e ‘Idioma’.

b) Su traducción en otro idioma7. Si la traducción supone una modificación de la ya existente. En todos los casos, la finalización correcta de la modificación se indicará mediante

un mensaje de confirmación.

7 Inglés o Español según proceda.

delete from clasificacion_de_l_en_es where id_ES=575 and id_L=50 INSERT INTO clasificacion_de_l_en_es (id_L, id_idioma_L, id_ES, autor) VALUES ("50","2", "649", "admin")

INSERT INTO traduccion_lema (id_L_1,id_ES_1,id_idioma_1,id_L_2,id_ES_2,id_idioma_2,autor) values ("50", "575", "1", "3610", "649", "2", "admin")

update traduccion_lema set id_L_2=3611, id_ES_2=651, id_idioma_2=2, autor="admin", fecha="2018-07-08 18:58:04" where id_L_1=50 and id_ES_1=575 and id_idioma_1=1

Page 82: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 71

B.2.4 Consulta La consulta de datos abarca todas las posibles situaciones existentes en la base de

datos Badele3000. A diferencia del resto de módulos comentados, cualquier usuario puede realizar una

consulta sin necesidad de tener permisos para ello.

Primer paso Acceder al módulo de consulta mediante el click en la sección correspondiente.

Page 83: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 72

Segundo paso Mediante la selección de las distintas opciones del formulario, el usuario puede

consultar la información existente en la base de datos

a) .Datos traducción:

Page 84: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 73

Tras realizar la búsqueda, click en botón ‘Buscar’, se muestra el resultado de dicha selección.

Page 85: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 74

b) Datos Vocablo con sus etiquetas semánticas en todos los idiomas.

Page 86: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 75

Tras realizar la búsqueda, click en botón ‘Buscar’, se muestra el resultado de dicha selección.

En aquellos casos en los cuales las opciones seleccionadas de consulta no obtengan resultado, se informará mediante el correspondiente mensaje.

Page 87: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 76

B.2.5 Consulta Gráfica La consulta de datos abarca todas las posibles situaciones existentes en la base de

datos Badele3000 a excepción de la traducción que se propone como futura mejora. Como ocurre con el módulo de ‘Consulta’, cualquier usuario puede realizar una

consulta sin necesidad de tener permisos para ello.

Primer paso Acceder al módulo de consulta mediante el click en la sección correspondiente.

Page 88: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 77

Segundo paso Mediante la selección de las distintas opciones del formulario, el usuario puede

consultar la información existente en la base de datos

a) Datos Vocablo con sus etiquetas semánticas en todos los idiomas.

Page 89: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 78

Tras realizar la búsqueda, click en botón ‘Buscar’, se muestra el resultado de dicha

selección.

Page 90: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 79

En aquellos casos en los cuales las opciones seleccionadas de consulta no obtengan

resultado, se informará mediante el correspondiente mensaje.

Page 91: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 80

B.2.6 Borrar Datos

Como ocurriese en el apartado anterior comentado, la ampliación de Traducción de

Lema, realizada a Badele3000, y a su vez el idioma, están contempladas en el objeto Lema. Por ello se detalla el borrado de dicho objeto y no de otro, por englobar todas las situaciones abordadas.

Para ello se detallan a continuación los pasos a realizar para conseguir dicho

objetivo:

B.2.6.1 Borrar Lema El borrado de datos es una forma más del modificado de datos, por lo tanto, como es

de esperar, los tres primeros pasos a seguir concuerdan con los del apartado anterior B.2.3.1 Modificar Lema, continuando con los siguientes que a continuación se muestran:

Cuarto paso Introducido el nombre del ‘Lema’ a borrar se continúa. El formulario que se muestra

a continuación engloba la información que en un Lema se puede modificar y la posibilidad de borrarlo.

Page 92: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

PROYECTO FIN DE CARRERA

Página 81

Quinto paso Tras la elección de borrado del formulario, click en el botón ‘Finalizar’. Se elimina el

Lema y las relaciones correspondientes con él.

La finalización correcta del borrado se indicará mediante el correspondiente mensaje.

DELETE FROM lema WHERE id_l = 3607 DELETE FROM clasificacion_de_l_en_es WHERE (id_l = 3607 AND id_idioma_l = 1 AND id_es = 548) DELETE FROM traducción_lema WHERE (id_l = 3607 AND id_idioma_l = 1 AND id_es = 548)

Page 93: Multilingualidad para Badele 3000oa.upm.es/52390/1/PFC_ISABEL_MEJIA_CRUZ.pdf · Universidad Politécnica de Madrid FACULTAD DE INFORMÁTICA Trabajo fin de carrera Multilingualidad

Página 82

Apéndice C

Mejoras adicionales

C.1. Introducción A lo largo de la realización de las distintas pruebas funcionales iniciales ha surgido la

posibilidad de realizar mejoras en los tiempos de ejecución de las consultas, optimización del código inicial desarrollado, así como del tratamiento ante las situaciones de fallo o no contempladas.

La mayoría se han resuelto con las modificaciones pertinentes en el código de las distintas acciones afectadas.

Aquellas que no han podido ser solucionadas bien por alejarse bastante al objetivo del presente proyecto, bien por las limitaciones del lenguaje php, se han englobado como futuras mejoras a tener en cuenta. (Consultar Capítulo 4: Conclusiones y futuras mejoras)

C.2.Mejoras abordadas

C.2.1. Módulo Administrar BD

Analizado el tratamiento de la carga de seguridad ante las situaciones de fallo, se realiza una mejora en el tratamiento de estas situaciones, de tal forma que si falla dicha carga la aplicación indicará el motivo de dicho fallo, ya sea por la inexistencia del fichero o por un error al moverlo.