GEDOLI
Gestión de Documentos Lingüísticos
Ana Victoria Gordo Garrosa
Berta Lerín Rodríguez
Antonio Muñoz Robles
GRADO EN INGENIERÍA DEL SOFTWARE
UNIVERSIDAD COMPLUTENSE DE MADRID
TRABAJO DE FIN DE GRADO
Madrid, 21 de Junio de 2013
Director: Antonio Sarasa Cabezuelo
II
Autorización de difusión y utilización
Se autoriza a la Universidad Complutense de Madrid a difundir y utilizar
con fines académicos, no comerciales y mencionando expresamente a sus
autores, tanto la memoria como el código, la documentación y/o el
prototipo desarrollado.
Berta Lerín Rodríguez Ana Victoria Gordo Garrosa Antonio Muñoz Robles
Madrid, 21 de Junio de 2013
III
IV
Índice
1. Introducción .................................................................................................................. 1
2. Objetivos del proyecto .............................................................................................. 3
3. Estado del Arte ......................................................................................................... 5
3.1. Repositorios Digitales .......................................................................................... 5
3.1.1. DSPACE [3] ........................................................................................................... 5
3.1.2. FEDORA [4] .......................................................................................................... 6
3.1.3. DURASPACE [5] ................................................................................................... 7
3.1.4. AGREGA [6] .......................................................................................................... 7
3.2. Sistemas de clasificación ...................................................................................... 7
3.3. Tecnologías de representación de sistemas de clasificación ................................ 9
3.3.1. IMS-VDEX (Vocabulary Definition and Exchange) ............................................. 9
3.3.2. SKOS (Simple Knowledge Organization System ) .............................................. 10
4. La taxonomía lingüística ........................................................................................ 13
5. Tecnologías usadas ................................................................................................. 15
5.1. PHP [10] ............................................................................................................. 15
5.2. MySQL [11] ....................................................................................................... 15
5.3. APACHE [12] .................................................................................................... 16
6. Arquitectura de la aplicación .................................................................................. 17
7. Funcionalidades del sistema ................................................................................... 21
7.1. Casos de uso usuario aplicación ......................................................................... 23
7.1.1. Caso 0. “Consultar Perfil” ............................................................................. 23
7.1.2. Caso 1. “Editar perfil propio” ......................................................................... 23
7.1.3. Caso 2. “Añadir objeto” ................................................................................ 24
7.1.4. Caso 3. “Realizar búsqueda” ......................................................................... 25
7.1.5. Caso 4. “Realizar búsqueda taxonómica”...................................................... 26
7.1.6. Caso 5. “Realizar búsqueda por campos” ...................................................... 27
7.1.7. Caso 6. “Realizar consulta de objeto” ........................................................... 28
7.2. Casos de uso Administrador: .............................................................................. 29
7.2.1. Caso 7. “Gestión taxonómica”....................................................................... 29
7.2.2. Caso 8. “Gestión de usuarios pendientes” ..................................................... 31
7.2.3. Caso 9. “Gestión de usuarios activos” ........................................................... 33
7.2.4. Caso 10. “Administrar Objetos” ..................................................................... 35
7.2.5. Caso 11. Ver Historial de cambios: ................................................................ 37
8. Conclusiones, dificultades y trabajo futuro ............................................................ 39
8.1. Dificultades ......................................................................................................... 39
8.2. Contribuciones de este trabajo ............................................................................ 39
8.3. Líneas de trabajo futuro ...................................................................................... 39
Bibliografía y Glosario de Términos ............................................................................. 41
Anexo I ........................................................................................................................... 45
Anexo II .......................................................................................................................... 49
Anexo III ........................................................................................................................ 67
V
VI
Resumen
El repositorio GEDOLI (Gestión de Documentos Lingüísticos), es una aplicación Web
cuyo principal objetivo es facilitar el acceso a distintos materiales, según una
clasificación y organización taxonómica.
Este repositorio tiene como ventaja que son los propios usuarios registrados y activos,
los encargados de mantener, actualizar y controlar los contenidos clasificados.
Se ha creado una aplicación fácil de usar y que gestiona de manera adecuada un
repositorio digital.
Palabras clave: repositorio, digital, web, taxonomía, materiales, objetos, recursos.
VII
Abstract
The GEDOLI (Linguistic Document Management) repository is a web application
whose main purpose is to facilitate access to different materials, according to a
taxonomic classification and organization.
This repository has the advantage that active users are able to maintain, update and
manage the classified content. It has created an easy-to-use application, which properly
manages a digital repository.
Keywords: repository, digital, web, taxonomy, objects, resources, tags.
1
1. Introducción
La digitalización de la documentación en formatos físicos supone uno de los nuevos
retos que se están realizando en la actualidad. Sin embargo en este proceso surgen
dificultades con respecto a la búsqueda y recuperación de información.
GEDOLI es una aplicación web que pretende facilitar la búsqueda y recuperación de
documentos, en el ámbito de la lingüística, a través de la clasificación de documentos
mediante una clasificación taxonómica.
Para representar la taxonomía usada para realizar la clasificación se ha optado por
representarla de una manera estándar usando la especificación IMS-VDEX [1].
Las principales características de GEDOLI son:
Disponer de un interfaz amigable y fácil de usar.
Permite realizar y participar en la gestión de la digitalización de documentos.
La digitalización de documentos facilita llevar a cabo la gestión y administración de
toda la información que en otros formatos físicos sería más complejo.
Otras ventajas de la digitalización de documentos son:
Disminuye el costo de impresión, papel, fotocopiado, distribución y publicado.
Facilidad de acceso a la documentación por parte de profesionales,
almacenamiento y consulta,
Reduce el tiempo de trabajo empleado en la búsqueda de documentos.
Permite preservar el valor del contenido e información de los documentos,
evitando los riesgos derivados y propios de los documentos que solo se
encuentran en soportes físicos.
2
3
2. Objetivos del proyecto
El proyecto GEDOLI consiste en un repositorio virtual que ofrece al usuario la
posibilidad de gestionar objetos del ámbito de la lingüística de manera sencilla y
eficiente, mediante el uso de taxonomías para su clasificación y posterior búsqueda.
Los objetivos que se han planteado abarcar en el proyecto son:
Crear un repositorio digital [2] de documentos de de la lingüística general.
Ofrecer, tanto al usuario como al administrador de la aplicación, un manejo
sencillo e intuitivo de la misma, mediante el desarrollo de una interfaz amigable.
Ofrecer una opción de búsqueda de objetos precisa y completa, a través del
desarrollo de caminos diferentes de búsqueda (búsqueda tradicional, búsqueda
por campos, y búsqueda taxonómica) que permitan al usuario acceder de manera
fácil y rápida a los objetos requeridos.
Dotar al administrador de una herramienta de gestión de usuarios cómoda y
sencilla, la cual le permitirá gestionar tanto a usuarios pendientes como a
usuarios que se encuentren registrados en el sistema.
Facilitar el compartir recursos mediante una herramienta de descarga que
permita tanto la descarga individual de recursos asociados al objeto, como la
descarga de un fichero comprimido que aúne todos los recursos existentes en el
objeto.
4
5
3. Estado del Arte
3.1. Repositorios Digitales
Un repositorio digital es un contenedor de información que a través de una aplicación
web se conecta a una base de datos, donde se almacena, mantiene y gestiona
información digital.
El objetivo de los repositorios es el de organizar, archivar, preservar y difundir los
archivos y documentos digitalizados.
Como características fundamentales que se deben cumplir en los repositorios digitales:
Correcto almacenaje de objetos digitalizados.
Modificaciones y administración de los objetos digitalizados.
La distribución de la información tiene que ser accesible.
Identificados por metadatos, unidad mínima para identificar un objeto.
Los repositorios digitales cubren las necesidades de:
Almacenamiento casi ilimitado
Perdurabilidad de la información.
Seguridad ante riesgos de pérdida o destrucción.
Accesibilidad a la información, desde cualquier lugar. Independencia local.
Reducción del tiempo empleado en la búsqueda de información adecuada.
Facilidad en la búsqueda y presentación de la información.
Valoración positiva o negativa de la calidad de la información, según búsqueda.
Las funcionalidades básicas en los repositorios son la búsqueda, almacenaje y edición
de documentación digitalizada.
Como funcionalidades avanzadas que no tienen todos los repositorios se encuentran las
URL permanentes, los canales RSS y los perfiles de usuario, que permiten por perfil
afinar en la presentación de documentos e información.
Los repositorios digitales son un medio para:
-Recoger información.
-Preservar información.
-Gestionar documentación.
-Diseminar la propiedad intelectual.
A continuación se revisan algunos ejemplos de repositorios digitales.
3.1.1. DSPACE [3]
Es un repositorio de código abierto usado comúnmente como repositorio institucional,
desarrollado y utilizado principalmente en el ámbito académico. DSpace permite el
almacenado de numerosos tipos de formatos de documentos, y cada uno de estos
documentos que son incorporados a DSpace es almacenado como un ítem por el
6
sistema, siendo estos ítems guardados como colecciones, y cada colección de datos
mantenida por una comunidad.
El desarrollo de DSpace se realiza por una comunidad descentralizada de
desarrolladores que trabajan sobre código abierto. Cada comunidad es dirigida por un
grupo autoseleccionado de expertos, según una meritocracia. En función de los méritos,
se ocupa una posición jerárquica, de modo que el desarrollo de de DSpace se realiza
sobre un código base o núcleo y por personas que tienen interés altruista y no reciben
paga alguna por ello
DSpace está escrito en lenguaje Java, y soporta Oracle y PostgradeSQL en una base de
datos de tipo relacional. Permite la captura y descripción de documentos, búsqueda y
recuperación de documentos digitales, distribución libre y preservación de la
información. Utiliza el sistema de urls permanentes (Handle System), preservación
digital mediante firmas y protección/control de versiones. Tiene dos interfaces
disponibles, una basada en JSP y otra que usa XML y XLT.
El sistema de guardado de información de metadatos se realiza en formato DIP, una
extensión del DCTms. En cualquier caso puede manejar distintos tipos de metadatos y
exportar fácilmente metadatos como ese o marcxml.
El sistema de búsqueda llevado a cabo por DSpace, es el de identificación de palabras
clave, omitiendo los nexos de unión entre palabras, ampliando tiempos verbales y
plurales.
3.1.2. FEDORA [4]
(Flexible Extensible Digital Object Repository Architecture). Es un repositorio digital
basado en arquitectura modular, que permite la gestión de contenidos a través de
módulos contenidos que representan objetos de datos. Los objetos se encuentran
enlazados entre distintas fuentes de información, en una serie de modelos de contenidos
que reciben el nombre de contenedores, dando una forma útil y una estructura concreta
a la información, lo que permite que la información pueda ser utilizada fácilmente
Fedora se basa en gestión, acceso, búsqueda y obtención de metadatos, que permiten
clasificar y delimitar el contenido del documento digitalizado, además de ser flexible
permitiendo el intercambio con otras aplicaciones basadas en XML.
El esquema de metadatos es extensible, basado en XMP, permitiendo como indica el
extensible, el crear nuevos tipos de metadatos que completan a los marcados como
estándar, nombre, titulo, descripción, etc., y no tiene restricciones a la hora de crear
extensiones, al tiempo que permite la creación de relaciones entre objetos.
Características principales:
Arquitectura SOA, desarrollada en Java.
Funciones utilizables como servicios web. (búsqueda, eliminación, creación).
Múltiples vistas de los objetos digitales contenidos.
Relación entre objetos digitales.
7
Relación entre objetos RDF.
Uso del estándar XACML.
Control y mantenimiento del versionado de documentos.
3.1.3. DURASPACE [5]
En 2009 se fundó la organización sin ánimo de lucro DuraSpace, la cual nace a través
de la alianza entre Fedora y DSpace. El objetivo principal de DuraSpace es el de aunar
sus fuerzas para crear y mantener el acceso libre a largo plazo al patrimonio digital
disponible en el mundo, y es desarrollado conjuntamente por bibliotecarios, archivistas,
tecnólogos e investigadores de todo el mundo.
Al ser de código abierto, permite el intercambio libre y transparente de ideas y recursos,
por lo que constituye importantes ventajas sobre software similar de carácter privativo.
3.1.4. AGREGA [6]
Repositorio digital llevado a cabo mediante la colaboración conjunta de red.es, el
Ministerio de Educación, y las diferentes comunidades autónomas españolas.
El objetivo principal de Agrega es el de establecer y unificar un estándar común para la
catalogación y publicación de objetos de aprendizaje dentro de la comunidad educativa
española, así como desarrollar un marco de referencia tecnológico, donde se pueda
acceder a los objetos de aprendizaje bajo diferentes modelos de utilización.
El proyecto Agrega gestiona sus objetos de aprendizaje en formato SCORM 2004, el
cual comprende una colección de estándares y especificaciones para objetos de
aprendizaje en la web.
El estándar SCORM 2004 que utiliza el proyecto Agrega ofrece la ventaja de poder
crear paquetes con un contenido más versátil y dinámico que ofrecerá al alumno una
experiencia de aprendizaje de acuerdo a sus necesidades y nivel de actividad.
3.2. Sistemas de clasificación
La clasificación es la actividad de agrupar los elementos de información según una serie
de propiedades comunes. Los sistemas de clasificación nos permiten dividir y
categorizar el conocimiento humano. Siendo como grandes tareas de los sistemas de
clasificación, el permitir comparar distintas partes de conocimiento, dar visibilidad a la
información ya que aquello que no se puede observar no puede aportar información y
controlar en tanto que las fuentes de información pueden ser variadas y distintas,
aportando mayor o menor valor según lo sean.
Los sistemas de clasificación tienen como ventajas:
Univocidad de la documentación.
Ordenación de documentos.
Agrupación de documentos por temática o similitud.
8
Los tipos de sistemas de clasificación, se diferencian en tres grupos;
Tesauros:
Es una relación de palabras o términos organizada en torno a unas determinadas
características y que pretende cumplir con la indización para representar
conceptos, permitiendo la clasificación y la interrelación de los términos entre
ellos de manera que las relaciones conceptuales se establezcan de un modo que
permita la posterior recuperación del contenido.
El fin u objeto de la clasificación en tesauros es facilitar el acceso a las personas
de la información.
Los tesauros se ordenan de manera alfabética, temática y jerárquica, e
interrelacionan entre ellos por medio de enlaces de asociación o equivalencia.
Como ejemplos de sistemas organizados en tesauros, se pueden consultar las
siguientes aplicaciones:
a. Artlex [7]
b. Getty Vocabularies [8]
Taxonomías:
Es un conjunto de términos que permiten ordenar y organizar en grupos,
elementos que tienen unas características comunes.
Se emplea este término para determinar la división y clasificación en taxones,
entendiendo por taxón el elemento único que comparte cualidades con otros
elementos. Los taxones se anidan unos dentro de otros y permitiendo una
división y una clasificación que facilita la búsqueda en la agrupación y
clasificación de objetos, los cuales se agrupan entorno a otros objetos con
iguales características y propiedades.
Vocabularios controlados:
El vocabulario controlado es un conjunto de unidades léxicas. Un vocabulario
que ha sido seleccionado con fines didácticos. Su objetivo es favorecer la
selección y gradación de vocabulario en el área de la clasificación a partir de
criterios sistemáticos.
Con este fin consta de un conjunto de términos, entendiendo como términos una
o más palabras que representan un concepto, y de reglas para guardar la
información indexada de modo que permita la recuperación.
La clasificación de la información es utilizada para facilitar una búsqueda rápida del
documento apropiado, delimitando el área de búsqueda y el tiempo empleado en la
misma.
9
3.3. Tecnologías de representación de sistemas de clasificación
Algunas de las tecnologías para representar sistemas de clasificación son:
3.3.1. IMS-VDEX (Vocabulary Definition and Exchange)
Define una gramática para el intercambio de listas de valores o vocabularios, que
puedan ser procesables automáticamente y entendibles por las personas.
IMS-VDEX, es una especificación propuesta por el IMS Global Consortium, que define
un lenguaje de marcado para representar vocabularios controlados, taxonomías y
tesauros.
El vocabulario estructurado dispone de un título y una lista de términos que vienen
identificados por el título, de este modo cada término es una clave única que permite
identificar otros títulos y otras descripciones. Los valores de la lista, los términos son
denominados vocabulario.
La estructura de los documentos IMS-VDEX se realiza de la siguiente manera (figura 0)
Figura 1. Estructura de los documentos IMS-VDEX
Como se puede observar en la figura 0, un vocabulario identificado se divide en una
serie de términos identificados, términos con valores concretos y metadatos, que forman
el vocabulario. Cada término a su vez contiene información agrupada y estructurada de
manera similar.
Vocabulario
Términos
Descripción
Metadatos
Término
Términos
Descripción
Metadatos
Término
Términos
Descripción
Metadatos
10
3.3.2. SKOS (Simple Knowledge Organization System)
SKOS Core (Simple Knowledge Organization System) [9]: Es un modelo que permite
representar esquemas conceptuales en formato de listas, taxonomías, tesauros y en
cualquier formato de vocabulario controlado, se trata de una ontología definida en
OWL_Full, basada en RDF, que permite representar la estructura y contenido de
sistemas de clasificación, abarcando taxonomías, esquemas de clasificación, tesauros y
otros tipos de vocabularios controlados. Expresa de manera formal estructuras de
clasificación y conocimiento, al tiempo que permite construir y realizar un modelo de
datos que se ajuste al nivel de formalización necesario para que un tesauro forme parte
del modelo de datos. Los elementos del modelo son principalmente propiedades y
clases, y la integridad del modelo se define por las relaciones entre estas.
Los SKOS, identifican a través de etiquetas, conceptos y esquemas de conceptos,
marcan léxicos, relaciones semánticas, documentación, agrupan colecciones de
conceptos y propiedades de mapeado. Las etiquetas utilizadas para esto son las
siguientes:
Conceptos y esquemas de conceptos:
Etiquetas léxicas:
Relaciones semánticas:
Documentación:
skos: Concept
skos: ConceptScheme
skos: inScheme
skos: hasTopConcept
skos: narrowerTransitive
skos: related
skos: narrower
skos: broader
skos: semanticRelation
skos: prefLabel
skos: altLabel
skos: hiddenLabel
skos: editorialNote
skos: example
skos: definition
skos: historyNote
skos: scopeNote
11
Colecciones de conceptos
Propiedades de mapeado
En la figura 2 se muestra un ejemplo de uso de SKOS.
Figura 2. Ejemplo de uso de SKOS
skos: member
skos: memberList
skos: Collection
skos: OrderedCollection
skos: mappingRelation
skos: exactMatch
skos: broadMatch
skos: narrowerMatch
skos: relatedMatch
12
13
4. La taxonomía lingüística
Para clasificar los documentos digitales que gestiona la aplicación se ha utilizado una
taxonomía específica para el área de lingüística que se muestra en la figura 3.
Figura 3. Taxonomía de lingüística.
1. Lingüística
1.1Concepto y Objetivos de la Lingüística General
1.2Lingüística Teórica y Lingüística Aplicada
1.3Historia de la Lingüística
1.3.1Antigüedad Clásica
1.3.2Edad Media y Renacimiento
1.3.3S. XVII-XVIII
1.3.4S. XIX
1.3.5S. XX
1.4Modelos lingüísticos actuales
2. Lenguaje
2.1Naturaleza y constitución del lenguaje humano
2.2La comunicación lingüística
2.3Lenguaje, mente y cerebro
3. Lenguas
3.1Unidad y diversidad lingüística
3.2Clasificación de las lenguas
3.3Cambio lingüístico
4. Principios teóricos generales
4.1Niveles: definición y relaciones (interfaces
4.2Unidades y procesos
5. Fonética y fonología
5.1Fundamentos de fonética articulatoria y representación de sonidos
5.2Fundamentos de fonética acústica
5.3Fundamentos de fonética perceptiva
5.4Construcción de los sistemas fonológicos
5.5Procesos fonológicos (reglas vs. Restricciones
5.6Fonología autosegmental. Estructura silábica
6. Semántica
6.1Tipos de significados. Tipos de semántica
6.2Semántica léxica
6.3Semántica oracional
7. Morfología
7.1Unidades morfológicas: morfemas, temas, raíces y palabras. Categorías gramaticales
7.2Procesos morfológicos
7.3Morfología derivativa
7.4Morfología flexiva
8. Sintaxis
8.1Principios básicos de sintaxis
8.2Construcciones sintagmáticas
8.3La oración: simple y compleja
9. Pragmática
9.1Dominio y objetivos de la pragmática
9.2Actos de Habla
9.3Lógica conversacional: cooperación, cortesía, relevancia
10. Sociolingüística
10.1Contacto de lenguas
10.2La variación intralingüística
10.3Funciones sociales y lenguaje
11. Análisis del discurso
11.1Tipos de discursos
11.2Coherencia y cohesión
11.3Análisis de la conversación
12. Obras de carácter general
14
Para gestionar la taxonomía desde la aplicación, se ha representado usando la
especificación IMS-VDEX. Para ello se ha creado un documento XML que contiene la
descripción de la taxonomía (Figura 4)
Figura 4. Estructura de los documentos IMS-VDEX
El documento IMS-VDEX está ordenado de forma jerárquica, añadiendo términos
anidados unos dentro de otros. Para describir cada término de la taxonomía, seguimos el
siguiente formato de etiquetas:
En la etiqueta termIdentifier identificamos el nivel del término en la taxonomía, y entre
la etiqueta de apertura y de cierre langstring su descripción.
Para añadir un sub-término se seguiría el mismo formato antes del cierre de la etiqueta
, de esta forma se irán clasificando unos elementos dentro de otros.
<
1
-
Lingüística
-
1.1
-
Concepto y Objetivos de la Lingüística General
-
1.2
-
Lingüística Teórica y Lingüística Aplicada
-
1.3
-
Historia de la Lingüística
-
1.3.1
-
Antigüedad Clásica
15
5. Tecnologías usadas
En esta sección se describe brevemente las tecnologías utilizadas en el desarrollo de la
aplicación.
5.1. PHP [10]
PHP es un lenguaje de programación de uso general que se ejecuta en servidores de
aplicaciones web y permite crear paginas HTML dinámicas. PHP permite ser incluido
directamente en documentos HTML aportando a la Web el carácter dinámico por el cual
destaca. PHP propone soporte conjunto con MySQL y con casi todo el conjunto de
bases de datos relacionales.
Se ha utilizado en el proyecto debido a las siguientes características:
Sistema Multiplataforma.
Es libre.
Permite el manejo de Excepciones.
Integración con MySQL
Existe una amplia documentación sobre el leguaje.
El aprendizaje del lenguaje es rápido.
Diseñado especialmente para aplicaciones web.
Sin embargo, su uso en el proyecto ha planteado algunas dificultades:
Es difícil de optimizar.
El mantenimiento es complejo.
5.2. MySQL [11]
Es un sistema de gestión de bases de datos relacional, multihilo y multiusuario. Una
base de datos es un conjunto de tablas que contienen datos y el ser relacional quiere
decir que archiva datos en tablas distintas en lugar de introducir toda la información en
un único archivo de gran tamaño. Se ofrece bajo una licencia de GNU GPL aunque la
mayor parte de su código está gestionado por una empresa privada.
Es un sistema que funciona sobre múltiples plataformas y destaca por haber incluido
numerosas características como integridad referencial, transacciones, clave foránea,
conectividad segura, replicación, indexación…
Se ha utilizado en el proyecto debido a las siguientes características:
Tiene un buen rendimiento, es rápido.
Es gratuito.
Integración con PHP
Fácil de configurar e instalar
Soporte en SO como Linux y Windows.
16
Sin embargo, su uso en el proyecto ha planteado algunas dificultades:
Son necesarios conocimientos previos de BBDD.
No es intuitivo.
5.3. APACHE [12]
Es un servidor de aplicaciones, con soporte de servlets, JSPs, .PHP, el cual mantiene y
gestiona las funciones de acceso a los datos de una paliación y la lógica de las funciones
y procedimientos del negocio. El uso del servidor Apache aporta una centralización y
facilidad en el desarrollo de aplicaciones.
Se ha utilizado en el proyecto debido a las siguientes características:
Fácil configuración.
Documentación amplia sobre el servidor de aplicaciones.
Licencia freeware
Extendido en el uso conjunto con PHP y MySQL
Sin embargo, su uso en el proyecto ha planteado algunas dificultades:
La administración del servidor no es intuitiva.
17
6. Arquitectura de la aplicación
GEDOLI se trata de una aplicación web en la que se distinguen tres capas: la vista, la
lógica de control, y la persistencia de datos.
Figura 5: Esquema aplicación web
Para realizar la persistencia de datos se ha definido un modelo de datos usando una base
de datos relacional sobre MySQL. Se han definido las siguientes tablas con los
siguientes atributos:
Tabla usuarios
En esta tabla se gestionan datos referentes a los usuarios del sistema. Comprende los
siguientes atributos:
registro: identificador numérico de tipo entero. Se asigna automáticamente al
usuario en el momento de su registro y es único para cada usuario.
nombre: nombre del usuario, de tipo varchar.
apellido1: primer apellido del usuario, de tipo varchar.
apellido2: segundo apellido del usuario, de tipo varchar.
nombre_usuario: alias mediante el cual el usuario se identificará en el sistema,
de tipo varchar. El nombre de usuario es único, por lo que no puede repetirse.
contrasenya: contraseña de acceso establecida por el usuario, de tipo varchar.
Dicha contraseña se encontrará encriptada en la tabla usuarios, para una mayor
seguridad.
tipo: tipo de usuario en el sistema. Los posibles valores para este campo son
“Usuario” (usuario común) o “Admin” (usuario administrador).
activo: indica si el usuario está dado de alta en el sistema, o por el contrario
permanece pendiente de activación. Los posibles valores para este campo son
“S” (sí) o “N” (no).
18
Tabla objetos
En esta tabla se gestionan datos correspondientes a los objetos lingüísticos del sistema.
Comprende los siguientes atributos:
id_objeto: identificador numérico de tipo entero. Se asigna de manera
automática al registrar un objeto en el sistema y es único para cada objeto.
título: título que se dará al objeto registrado, de tipo varchar.
autor: autor del objeto, de tipo varchar.
escuela: escuela a la que pertenece el objeto registrado. Los posibles valores
para este campo son “GT” (Gramática Tradicional), “GE” (Gramática
Estructural), “C” (Cognitivismo) o “L” (Lingüística Formal).
idioma: idioma asociado al objeto registrado. Los posibles valores para este
campo son “español” (idioma español) o “ingles” (idioma inglés).
tipo: tipo al que pertenece el objeto. Los posibles valores para este campo son
“ejercicio” (ejercicio) o “teoría” (teoría).
texto: indica si el objeto posee texto de referencia. Los posibles valores para este
campo son “si” (sí posee texto de referencia) o “no” (no posee texto de
referencia.
palabras_clave: palabras clave que etiquetan y categorizan al objeto para su
futura búsqueda, de tipo varchar.
descripción: descripción del objeto registrado, de tipo varchar.
Tabla recursos
En esta tabla se gestionan datos correspondientes a los recursos asociados a un objeto
del sistema. Comprende los siguientes atributos:
id_objeto: identificador numérico de tipo entero correspondiente al objeto al que
pertenece el recurso registrado.
nombre: nombre del recurso registrado, de tipo varchar.
url: indica si el recurso registrado corresponde a una URL (valor 1) o a un
archivo (valor 0).
Tabla rutas_taxonomicas_objetos
En esta tabla se gestionan datos correspondientes a la/s ruta/s taxonómica/s asignada/s a
un objeto. Comprende los siguientes atributos:
id: identificador numérico de tipo entero. Se asigna de manera automática al
registrar una ruta taxonómica para un objeto y es único para cada ruta
taxonómica.
id_objeto: identificador numérico de tipo entero correspondiente al objeto al que
pertenece la ruta taxonómica registrada.
rutaTax: ruta taxonómica asociada al objeto al que se hace referencia en el
campo id_objeto, de tipo varchar.
19
Tabla taxonomías
En esta tabla se gestionan datos correspondientes a las diferentes taxonomías
almacenadas en el sistema. Comprende los siguientes campos:
id_tax: identificador numérico de tipo entero. Se asigna de manera automática al
registrar una taxonomía en el sistema y es único para cada taxonomía.
nombreArchivo: nombre del archivo que contiene la taxonomía registrada, de
tipo varchar.
nombreTax: nombre mediante el cual se identifica la taxonomía, de tipo
varchar.
Las tablas se encuentran relacionadas de la siguiente forma (figura 4):
Figura 6. Diagrama representativo de las relaciones entre tablas de la base de datos
La vista se construye mediante páginas HTML dinámicas que se generan mediante
llamadas a scripts de PHP que implementan la lógica de control de la aplicación.
20
21
7. Funcionalidades del sistema
En esta sección se va a mostrar las diferentes funcionalidades que presenta el sistema
para los distintos usuarios del mismo.
Añadir Objetos:
A través de un formulario se pueden añadir objetos al repositorio, a cada objeto
añadido se le pueden asociar uno o varios recursos. Entendiendo como recursos en
el ámbito de la gestión documental, documentos asociados al objeto añadido.
Añadir Recursos:
Los recursos se asocian a un objeto con la función de agrupar la información
entorno a un objeto que se encuentra ordenado dentro de una taxonomía. Los
recursos asociados a un objeto, quedan correctamente clasificados, facilitando la
recuperación y búsqueda de información.
Búsqueda de documentos:
Se pueden realizar tres tipos de búsqueda; búsqueda normal, búsqueda taxonómica,
búsqueda por campos.
El sistema de búsqueda facilita la localización del documento a encontrar,
aportando el sistema de búsqueda taxonómica que permite realizar una búsqueda
gradual y en profundidad, por desglose de la información a encontrar.
La búsqueda por campos permite encontrar documentos de los que se tiene algún
tipo de información, titulo, autor, escuela, idioma, palabras clave.
Descarga de documentos:
Una vez realizada la búsqueda y localizado el objeto, el sistema permite la descarga
de los archivos asociados a dicho objeto. Se podrá descargar un archivo en concreto
deseado, o todos los asociados en formato .zip.
Gestión de usuarios:
El usuario administrador podrá llevar a cabo toda la gestión referente a los usuarios.
Darlos de alta tras el registro para que puedan acceder a la aplicación, editar sus
datos e incluso, eliminarlos.
Gestión de taxonomías:
Otra función propia del usuario administrador, el cual podrá dar de altas nuevas
taxonomías o borrar alguna ya existente. En este último caso, se eliminaran las
rutas asociadas de los objetos que les clasifican en dicha taxonomía, si alguno de
ellos no tuvieran asociado ninguna otra ruta, se eliminará del sistema
automáticamente.
Gestión de objetos:
El usuario administrador podrá eliminar objetos ya existentes y editarlos. Pudiendo
cambiar los nombres de los campos y añadiendo nuevas clasificaciones o recursos.
22
A continuación se detallan los casos de uso de la aplicación.
Se identifican dos Actores:
Administrador
Usuario de la aplicación
En el siguiente diagrama se representan los actores y los casos de uso que tienen
asociado (figura 4).
Figura 7: Diagrama de casos de uso
23
7.1. Casos de uso usuario aplicación
7.1.1. Caso 0. “Consultar Perfil”
7.1.1. Consultar Perfil
Descripción El usuario acceda a su perfil para consultar los datos con los que
se encuentra registrado en la aplicación.
Dependencias N/A
Precondición El usuario se encuentra dado de alta y activo en la BBDD.
Secuencia normal 1. El usuario accede a la aplicación con su nombre de usuario y
contraseña, pantalla de inicio.
2. El usuario accede a la pestaña de consulta de perfil
Campos Nombre, Primer Apellido, Segundo Apellido, Nombre de usuario.
Imagen/Icono representativo
Botones Editar: Para ir al caso de uso 7.1.2. “Editar perfil”
Volver Atrás: para volver a la pantalla inicial.
7.1.2. Caso 1. “Editar perfil propio”
7.1.2. Editar Perfil Propio
Descripción El usuario acceda a su perfil para modificar, los datos que
considere oportunos, excepto campo nombre que no puede ser
modificado.
Dependencias 7.1.1. Consultar Perfil
Precondición El usuario se encuentra dado de alta y activo en la BBDD.
Secuencia normal 1. El usuario accede a la aplicación con su nombre de usuario y
contraseña
2. El usuario accede a la pestaña perfil
3. Modifica los campos.
4. Pincha en Envía.
5. La BBDD se actualiza correctamente
Campos Nombre, Primer Apellido, Segundo Apellido, Nombre de usuario,
Contraseña, Confirmar Contraseña, Icono Representativo.
Botones Examinar: Para seleccionar icono representativo
Envía: Para enviar los datos y realizar la actualización de datos.
Volver Atrás: para volver a consultar perfil
24
7.1.3. Caso 2. “Añadir objeto”
7.1.3. Añadir Objeto
Descripción El usuario añade objetos y clasifica dentro de una taxonomía, el
objeto y recursos que desea compartir.
Dependencias N/A
Precondición El usuario se encuentra dado de alta y activo en la BBDD.
Secuencia normal 1. El usuario accede a la aplicación con su nombre de usuario y
contraseña.
2. El usuario accede a la pestaña añadir Objeto.
3. Rellena los datos de formulario, para crear objeto.
4. Pincha en continuar.
5. Añade los recursos que quiere se encuentren asociados al
objeto creado.
a. Añade recursos mediante URL.
b. Añade recursos desde su propio PC.
6. Una vez finaliza de añadir recursos. Pincha añadir, para
añadir los recursos y clasificarlos taxonómicamente.
7. Elige una de las taxonomías que se encuentren disponibles.
8. Dentro de la taxonomía navega para ubicar correctamente,
según su criterio el objeto creado.
9. Selecciona y añade ruta.
a. Añade otra ruta o tantas rutas considere necesarias.
10. Publica objeto, el objeto se almacenado en la BBDD.
Campos Titulo, Autor, Escuela, Idioma, tipo, texto de referencia, palabras
clave, descripción, icono representativo.
Añadir recursos mediante URL.
Añadir nuevos recursos desde PC.
Botones Examinar: Para seleccionar icono representativo.
Continuar: Para crear objeto y añadir recursos.
Añadir a la lista: Para añadir recursos al objeto.
Añadir: Para asociar recursos con objetos.
Botones propios de la clasificación taxonómica: se cargan de manera
dinámica según clasificación.
Añadir Ruta: Para añadir rutas al objeto creado
Publicar objeto: Para finalizar la creación del objeto. En caso de no
ser publicado el objeto no se guardara.
25
7.1.4. Caso 3. “Realizar búsqueda”
7.1.4. Realizar Búsqueda
Descripción El usuario realiza una búsqueda de un documento u objeto,
introduciendo una frase o un criterio de búsqueda en la pantalla
de inicio
Dependencias 7.1.7. Realizar consulta de objeto
Precondición El objeto u documento a buscar se encuentra dado de alta en la
BBDD y clasificado dentro de una de las taxonomías.
Secuencia normal 1. El usuario accede a la aplicación con su nombre de usuario y
contraseña
2. El usuario introduce palabras que considere suficientes para
encontrar un objeto.
3. Se listan los objetos, que son favorables según características
buscadas
4. Se muestra el documento u objeto.
Campos Campos para la búsqueda: campo libre para realizar la búsqueda.
Botones Búsqueda: lista los elementos coincidentes con el campo libre
introducido por el usuario.
Volver Atrás: para volver a pantalla de inicio
Ver ficha: muestra la información asociada al objeto y permite
descargarlo
26
7.1.5. Caso 4. “Realizar búsqueda taxonómica”
7.1.5. Realizar Búsqueda Taxonómica
Descripción El usuario realiza una búsqueda de un documento u objeto,
siguiendo la interacción especial que permite la aplicación de
búsqueda taxonómica.
Dependencias 7.1.7. Realizar consulta de objeto
Precondición El objeto u documento a buscar se encuentra dado de alta en la
BBDD y clasificado dentro de una de las taxonomías.
Secuencia normal 1. El usuario accede a la aplicación con su nombre de usuario y
contraseña
2. El usuario pincha en el botón de búsqueda taxonómica, en la
pantalla de inicio
3. Selecciona la taxonomía sobre la que desea realizar la
búsqueda y navega por la clasificación taxonómica hasta
llegar a la taxonomía donde podría localizarse el documento u
objeto clasificado. Se muestra una lista de los posibles
objetos.
4. Selecciona el documento u objeto pinchando en ver ficha.
5. Se muestra el documento u objeto.
Campos Campos propios de la clasificación activa sobre la que se busca.
Estos campos pueden variar según clasificación taxonómica
Botones Búsqueda Taxonómica: da acceso a la búsqueda taxonómica.
Botones propios para la navegación por la taxonomía, se carga de
manera dinámica según clasificación.
Volver atrás: para volver a pantalla de inicio
Ver ficha: muestra la información asociada al objeto y permite
descargarlo
27
7.1.6. Caso 5. “Realizar búsqueda por campos”
7.1.6. Realizar Búsqueda por campos
Descripción El usuario realiza una búsqueda de un documento u objeto,
siguiendo el funcionamiento para realizar la búsqueda por
campos, introduce los campos que delimitan la búsqueda, para
encontrar el documento u objeto deseado.
Dependencias 7.1.7. Realizar consulta de objeto
Precondición El objeto u documento a buscar se encuentra dado de alta en la
BBDD y clasificado dentro de una de las taxonomías.
Secuencia normal 5. El usuario accede a la aplicación con su nombre de usuario y
contraseña
6. El usuario pincha en el botón de búsqueda por campos, en la
pantalla de inicio
7. Filtra por los campos posibles y pincha en buscar.
8. Se listan los objetos, que son favorables según características
buscadas
9. Se muestra el documento u objeto.
Campos Campos para la búsqueda: Titulo, Autor, Escuela, Idioma, Tipo,
Texto de referencia, palabras clave.
Botones Búsqueda por campos: da acceso a la búsqueda por campos.
Búsqueda: realiza la búsqueda de los objetos una vez seleccionados
los filtros deseados.
Volver Atrás: para volver a pantalla de inicio
Ver ficha: muestra la información asociada al objeto y permite
descargarlo
28
7.1.7. Caso 6. “Realizar consulta de objeto”
7.1.7. Realizar consulta de objeto
Descripción El usuario consulta la ficha del documento u objeto,
permitiéndole la descarga de los recursos en caso de que lo crea
necesario.
Dependencias: 7.1.4. Realizar búsqueda.
7.1.5. Realizar búsqueda taxonómica.
7.1.6. Realizar búsqueda por campos.
Precondición: El objeto u documento a buscar se encuentra dado de alta en la
BBDD y tiene asociados recursos.
Secuencia normal 1. El usuario accede a la aplicación con su nombre de usuario y
contraseña
2. El usuario pincha en el botón de búsqueda taxonómica, o
búsqueda por campos.
3. Identifica el documento u objeto a consultar.
4. Selecciona el documento u objeto pinchando en ver ficha.
a. Descarga el recurso asociado y deseado.
b. Descarga todos los recursos asociados al objeto, en un
archivo comprimido.
5. Se descargan los recursos.
Campos Titulo, Autor, Escuela, Idioma, Tipo, texto, descripción, Taxonomías
asociadas, Recursos asociados.
Botones Descargar todo: descarga todos los recursos asociados al objeto
comprimiendo y creando un .zip con el nombre del objeto.
Descargar: Descarga únicamente el recurso seleccionado.
Volver atrás: Vuelve a la pantalla de inicio
29
7.2. Casos de uso Administrador:
El usuario administrador tendrá los mismos casos de uso que el usuario de la aplicación
más los siguientes casos de uso.
7.2.1. Caso 7. “Gestión taxonómica”
7.2.1. Gestión Taxonómica
Descripción El administrador desde el menú perfil administra las taxonomías,
añadiendo o eliminando las misas
Dependencias 7.2.1.1. Caso 7.1. “Añadir taxonomía”
7.2.1.2. Caso 7.2. “Eliminar taxonomía”
Precondición Han de existir ficheros en formato adecuado para realizar la carga de
las taxonomías.
Han de existir taxonomía cargada para poder ser eliminada
Secuencia normal 1. El administrador accede a través de la pestaña perfil a las
opciones especiales de administrador
2. Pincha en el botón de Gestión Taxonómica.
3. Añade/Elimina taxonomía
a. Añade taxonomía 7.2.1.1. Caso 7.1. “Añadir
taxonomía”
b. Elimina taxonomía 7.2.1.2. Caso 7.2. “Eliminar
taxonomía”
Campos Nombre, Archivo, opciones.
Botones Añadir Taxonomía: Añade taxonomía desde un archivo.
Eliminar Taxonomía: Elimina taxonomía ya existente.
Volver atrás: Vuelve a la pantalla de inicio
30
7.2.1.1. Caso 7.1. “Añadir taxonomía”
7.2.1.1. Añadir Taxonomía
Descripción El administrador añade taxonomías, cargándolas desde fichero en
formato adecuado.
Dependencias 7.2.1. Gestión Taxonómica
Precondición Han de existir ficheros en formato adecuado para realizar la carga de
las taxonomías.
Secuencia normal 1. El administrador accede a través de la pestaña perfil a las
opciones especiales de administrador
2. Pincha en el botón de Gestión Taxonómica.
4. Añade a lista Taxonomía desde fichero
5. Añade Taxonomía.
Campos Nombre, Archivo, opciones. Añadir nuevas taxonomías.
Botones Añadir a la lista: añade taxonomía
Eliminar de la lista: eliminar de la lista antes de ser añadida
Volver atrás: Vuelve a la pantalla de inicio
7.2.1.2. Caso 7.2. “Eliminar taxonomía”
7.2.1.2. Eliminar Taxonomía
Descripción El administrador elimina taxonomías ya cargadas
Dependencias: 7.2.1. Gestión Taxonómica
Precondición: Han de existir taxonomía cargada para poder ser eliminada
Secuencia normal 1. El administrador accede a través de la pestaña perfil a las
opciones especiales de administrador
2. Pincha en el botón de Gestión Taxonómica.
3. Elimina Taxonomía
Campos Nombre, Archivo, opciones. Añadir nuevas taxonomías.
Botones Eliminar: Elimina la taxonomía.
Volver atrás: Vuelve a la pantalla de inicio
31
7.2.2. Caso 8. “Gestión de usuarios pendientes”
7.2.2. Gestión de usuarios pendientes
Descripción El administrador desde el menú perfil administra los usuarios
pendientes de activación, tras el registro que se haya realizado en
la aplicación.
Dependencias 7.2.2.1. Ver Ficha”
7.2.2.2. Dar de Alta”
7.2.2.3.“Eliminar”
Precondición Han de existir usuarios registrados en la aplicación, pero que se
encuentren pendientes de activación.
Secuencia normal 1. El administrador accede a través de la pestaña perfil a las
opciones especiales de administrador
2. Pincha en el botón de Gestión de usuarios pendientes.
3. Gestión de usuarios pendiente:
a. Ver Ficha
b. Dar de alta
c. Eliminar
Campos Nombre, apellidos, nombre de usuario
Botones Ver ficha: permite ver más detalles del usuario
Dar de alta: permite activar el usuario para que pueda acceder a la
aplicación.
Eliminar: Elimina al usuario que se encuentra pendiente de
activación
Volver atrás: Vuelve a la pantalla de inicio
32
7.2.2.1. Caso 8.1. “Ver Ficha”
7.2.2.1. Ver ficha
Descripción El administrador accede a la ficha y detalle del usuario pendiente
de activación
Dependencias 7.2.2. Gestión de usuarios pendientes
Precondición Han de existir usuarios registrados en la aplicación, pero que se
encuentren pendientes de activación.
Secuencia normal 1. Gestión de usuarios pendiente:
2. Ver Ficha.
Campos Apellido1, apellido2, nombre, nombre de usuario, Tipo
Botones Ver ficha: permite ver más detalles del usuario
Volver atrás: Vuelve a la pantalla de inicio
7.2.2.2. Caso 8.2. “Dar de Alta”
7.2.2.2. Dar de Alta
Descripción El administrador da de alta al usuario pendiente de activación.
Dependencias 7.2.2. Gestión de usuarios pendientes
Precondición Han de existir usuarios registrados en la aplicación, pero que se
encuentren pendientes de activación.
Secuencia normal 1. Gestión de usuarios pendiente:
2. Activar usuario
Campos Nombre, apellidos, nombre de usuario, opciones.
Botones Dar de alta: Activa al usuario.
33
7.2.2.3. Caso 8.3. “Eliminar”
7.2.2.3. Eliminar
Descripción El administrador accede a la ficha y detalle del usuario pendiente
de activación
Dependencias: 7.2.2. Gestión de usuarios pendientes
Precondición: Han de existir usuarios registrados en la aplicación, pero que se
encuentren pendientes de activación.
Secuencia normal 1. Gestión de usuarios pendiente:
2. Eliminar
Campos Apellido1, apellido2, nombre, nombre de usuario, Tipo
Botones Eliminar: permite eliminar a los usuarios que no se encuentren
activos.
Volver atrás: Vuelve a la pantalla de inicio
7.2.3. Caso 9. “Gestión de usuarios activos”
7.2.3. Gestión de usuarios activos
Descripción El administrador desde el menú perfil administra los usuarios
activos.
Dependencias: 7.2.3.1. Editar usuarios activos
7.2.3.2. Eliminar usuarios activos
Precondición: Han de existir usuarios registrados en la aplicación, como usuarios
activos
Secuencia normal 1. El administrador accede a través de la pestaña perfil a las
opciones especiales de administrador
2. Pincha en el botón de Gestión de usuarios.
3. Gestión de usuarios:
a. Editar usuarios activos.
b. Eliminar usuarios activos.
Campos Nombre, apellidos, nombre de usuario
Botones Editar: permite modificar campos de usuarios activos
Eliminar: Elimina al usuario que se encuentra pendiente de
activación
Volver atrás: Vuelve a la pantalla de inicio
34
7.2.3.1. Caso 9.1. “Editar usuarios activos”
7.2.3.1. Editar usuarios activos
Descripción El administrador edita los usuarios activos, para modificar los
campos que considere oportunos.
Dependencias 7.2.3. Gestión de usuarios activos
Precondición Han de existir usuarios registrados en la aplicación, pero que se
encuentren pendientes de activación.
Secuencia normal 1. El administrador accede a través de la pestaña perfil a las
opciones especiales de administrador
2. Pincha en el botón de Gestión de usuarios.
3. Gestión de usuarios activos:
a. Editar usuario
4. Modifica y guarda
Campos Nombre, apellidos, nombre de usuario
Botones Editar: permite modificar campos de usuarios activos
Volver atrás: Vuelve a la pantalla de inicio
7.2.3.2. Caso 9.2. “Eliminar usuarios activos”
7.2.3.2. Eliminar usuarios activos
Descripción El administrador elimina los usuarios activos
Dependencias: 7.2.3. Gestión de usuarios activos
Precondición: Han de existir usuarios registrados en la aplicación, pero que se
encuentren pendientes de activación.
Secuencia normal 1. El administrador accede a través de la pestaña perfil a las
opciones especiales de administrador
2. Pincha en el botón de Gestión de usuarios.
3. Gestión de usuarios activos:
a. Elimina usuarios activos
Campos Nombre, apellidos, nombre de usuario
Botones eliminar: permite eliminar usuarios activos
Volver atrás: Vuelve a la pantalla de inicio
35
7.2.4. Caso 10. “Administrar Objetos”
7.2.4. Administrar objetos
Descripción El administrador desde el menú perfil administra los objetos
creados por los usuarios editando, eliminando
Dependencias 7.1.7. Realizar consulta de objeto
Precondición El objeto u documento a administrar se encuentra dado de alta en la
BBDD y tiene asociados recursos.
Secuencia normal 1. El administrador accede a través de la pestaña perfil a las
opciones especiales de administrador
2. pincha en el botón de administrar objetos
3. Identifica el documento u objeto a administrar realizando un
filtrado por las opciones que muestra la aplicación.
4. Selecciona el documento u objeto administrar, dando como
opciones;
a. Ver ficha (7.1.7. Realizar consulta de objeto)
b. Editar objeto (7.2.4.1. Editar objeto a administrar)
c. Eliminar objeto (7.2.4.2. Eliminar objeto a
administrar)
Campos Titulo, Autor, Escuela, Idioma, Tipo, texto, descripción, Taxonomías
asociadas, Recursos asociados.
Botones Buscar: Permite filtrar la búsqueda de objetos a administrar.
Ver ficha: Muestra la ficha del objeto, permitiendo la descarga de los
recursos.
Editar objeto: Editar objeto a administrar
Eliminar objeto: Eliminar objeto a administrar
Volver atrás: Vuelve a la pantalla de inicio
36
7.2.4.1. Caso 10.1. “Editar objeto a administrar”
7.2.4.1. Editar objeto a administrar
Descripción El administrador edita el objeto para realizar los cambios que
considera oportunos.
Dependencias: 7.2.4. Administrar objetos
Precondición: El objeto u documento a administrar se encuentra dado de alta en la
BBDD y tiene asociados recursos.
Secuencia normal 1. El administrador pincha en editar objeto.
2. Se muestran los campos posibles de modificación.
a. Pincha en Enviar para hacer efectivos los cambios,
finaliza la interacción.
b. Continuar para realizar modificaciones en los recursos
añadidos
3. Continuar para realizar cambios en las rutas taxonómicas
asociadas.
4. Finalizar
5. Texto libre para indicar los cambios realizados.
Campos Titulo, Autor, Escuela, Idioma, Tipo, texto, descripción, Taxonomías
asociadas, Recursos asociados.
Botones Enviar: Para hacer efectivos los cambios
Continuar: Para modificar recursos añadidos y para realizar cambios
en rutas taxonómicas.
Finalizar: para que los cambios surtan efecto.
Volver atrás: Vuelve a la pantalla de inicio
37
7.2.4.2. Caso 10.2. “Eliminar objeto a administrar”
7.2.4.2. Eliminar objetos a Administrar
Descripción El administrador desde el menú perfil elimina un objeto
identificado y concreto.
Dependencias: 7.2.4. Administrar objetos
Precondición: El objeto u documento a administrar se encuentra dado de alta en la
BBDD y tiene asociados recursos.
Secuencia normal 1. El administrador pincha en eliminar objeto.
2. Se muestra petición de confirmación para la eliminación de
dicho objeto.
3. Eliminar. Elimina objeto y recursos de la aplicación.
Campos Titulo, Autor, Escuela.
Botones Eliminar: Eliminar objeto a administrar
Volver atrás: Vuelve a la pantalla de inicio
7.2.5. Caso 11. Ver Historial de cambios:
7.2.5. Ver Historial de cambios
Descripción El administrador desde el menú perfil puede descargar un fichero
para ver los cambios que se han realizado, en los objetos.
Dependencias: N/A
Precondición: El objeto u documento a administrar se encuentra dado de alta en la
BBDD y tiene asociados recursos.
Secuencia normal 1. El administrador accede a través de la pestaña perfil a las
opciones especiales de administrador
2. Pincha en el botón de Ver Historial de cambios. se descarga
fichero .txt.
Campos N/A
Botones Ver historial de cambios: se descarga un fichero con los cambios que
se han producido
38
39
8. Conclusiones, dificultades y trabajo futuro
En el desarrollo de la aplicación se ha conseguido el objetivo propuesto: se ha diseñado
un repositorio capaz de gestionar recursos digitales clasificados taxonómicamente. Así
mismo se ha desarrollado un sistema de carga de taxonomías en formato IMS-VDEX.
De esta forma se han cubierto los objetivos que se habían marcado al inicio del trabajo.
8.1. Dificultades
Las dificultades principales a las que nos hemos enfrentado como equipo han sido; el
desconocimiento del lenguaje de programación en PHP y la programación en entornos
web. Estas dificultades fueron solventadas con la instalación del paquete WAMP [13],
que nos permitió tener un entorno accesible y configurado de manera amigable.
El desconocimiento de la especificación IMS-VDEX, nos obligó a estudiar dicha
especificación.
El desarrollo en local, al subirlo a servidores gratuitos no funciono correctamente, lo
cual implico la adaptación y restructuración de código para que funcionara
correctamente en servidores de dominio público.
Todas las dificultades han sido solventadas y se ha obtenido una valoración positiva, en
cuanto a aprendizaje, de las mismas, fortaleciendo la comunicación del equipo para
solventar todos los problemas a los que nos hemos enfrentado.
8.2. Contribuciones de este trabajo
Las principales contribuciones de este trabajo son:
Se ha desarrollado una aplicación que permite la carga de distintas taxonomías,
siguiendo la especificación IMS-VDEX.
Se ha desarrollado un sistema de búsqueda específico para recuperar la
información deseada.
Se ha desarrollado una aplicación que permite la gestión y clasificación de
recursos digitales de acuerdo a una taxonomía.
8.3. Líneas de trabajo futuro
La primera línea de continuación de este trabajo, seria la de la separación en el
desarrollo de código de PHP y HTML, una de las características de PHP es que permite
embeber código PHP dentro de HTML. La separación de estos códigos, en la medida
40
que sea posible permitirá mejorar la calidad de la aplicación, al igual que simplificar la
lectura del código.
La eficiencia de la aplicación se ha enmarcado en un segundo plano y en el desarrollo
de la aplicación se ha tenido mas en cuenta la funcionalidad de la misma, que cumpla
con los objetivos, que la eficiencia con que cumple los objetivos. Se tendría que mejorar
en la eficiencia de la aplicación, teniendo en cuenta tiempos de entrega de la
información.
La aplicación no se ha desarrollado cumpliendo los estándares para el acceso a
discapacitados, ni ha sido validada para cumplir con los estándares W3C, se tendría que
cumplir con estos estándares y adaptarla para el acceso a discapacitados.
En algunos casos la usabilidad de la aplicación puede verse reducida por el uso de
imágenes para definir objetos, esta característica que se tuvo en cuenta como
obligatorio, sería útil transformarla en una opción. Lo cual no limitaría la creación de
objetos y recursos, a disponer de una imagen adecuada.
41
Bibliografía y Glosario de Términos
Referencias
[1] http://www.imsglobal.org/vdex/
http://www.imsglobal.org/vdex/vdexv1p0/imsvdex_bestv1p0.html
http://www.slideshare.net/agrega/ims-vdex-agrega-presentation
(Martínez-Ortiz, 2009) Martínez-Ortiz, I., Sierra, J.L., Fernández-Manjón, B.
(2009). Authoring and Reengineering of IMS Learning Design Units of
Learning. IEEE Transactions on Learning Technologies.
(IMS 2010) Lamber M. Surhone, Mariam T. TEnnoe, Susan F. Henssonow
IMS VDEX, Controlled Vocabulary, Faceted Clasisification, Repositoy Opens
Service Interface Definition
(IMS, 2008) IMS Question and Test Interoperability 2.1.
www.imsglobal.org/question/
[2]
http://web.usal.es/~angelpoveda/web%20biologia/tutoriales/cat%C3%A1logos,
%20repositorios%20y%20bibliotecas%20virtuales1/repositorios_digitales.html
http://www.emc.com/infographics/digital-universe-consumer-infographic.htm
http://digital.csic.es/politicas/
http://www.rsp.ac.uk/start/before-you-start/what-is-a-repository/
http://repositoriosdinamicos.wordpress.com/2010/03/04/funcionalidades-2-0-
ofrecidas-por-los-repositorios-espanoles/
http://www.slideshare.net/lfg_pc/ponencia-dspace-istec
[3] http://www.dspace.org/
http://www.xercode.es/es/productos/dspace
http://dspace.ceu.es/community-list
[4] http://fedora-commons.org/
[5] http://www.duraspace.org/
[6] http://www.proyectoagrega.es
[7] http://www.artlex.com/
[8] http://www.getty.edu/research/tools/vocabularies/index.html
[9] http://www.w3.org/2004/02/skos/
http://skos.um.es/
42
(Pastor Sánchez, Juan Antonio, 2009) Diseño de un sistema colaborativo para la
creación y gestión de tesauros en Internet basado en SKOS
[10] (Addison- Wesley Educational Publishers Inc, 2004) User Interface Design: A
Software Engineering Perspective. Addison Wesley
(Ben Balbo 2007), Harry Fuecks, Davey Shafik, Ligaya Turmelle ,Matthew
Weler O'Phinney . The PHP Anthology: 101 Essential Tips, Trickes & Hacks
2nd Edition is a collection of powerful PHP 5 solutions to the most common
programming problems
(Leon Atkinson ,Zeev Suraski 2003) Core PHP Programming. Tercera edición.
http://php.net/
[11] (Ian Gilfillan, 2003) La Biblia MySql.
(Pavon Puertas, Jacobo, 2007) Creación de un portal con PHP y MYSQL.
Tercera edición
http://www.mysql.com/
[12] http://httpd.apache.org/
[13] (WAMP, 2012) WampServer, php, mysql. http://www.wampserver.com/en/
43
Glosario de términos
Canal RSS
Siglas de Really Simple Syndication. Tecnología utilizada para recoger contenidos de
páginas web y mostrarla a usuarios suscritos ha dicho canal.
JSP
Siglas de Java Server Pages. Tecnología orientada a la creación de páginas web
dinámicas basadas en HTML, XML u otro tipo de documentos.
Metadatos
Definidos comúnmente como “datos sobre datos”, se refiere a la información utilizada
de tal manera que ayude a la localización de otros datos.
Objetos RDF
Siglas de Resource Description Framework. Marco de trabajo utilizado para representar
metadatos en la web.
Ontología
Esquema conceptual formulado dentro de un dominio concreto, con el objetivo de
ofrecer un sistema fácil para el intercambio de información entre diferentes sistemas. Es
comúnmente utilizado en la rama de la inteligencia artificial.
OWL
Acrónimo de Web Ontology Language. Conjunto de lenguajes utilizados para la
representación de conocimiento para ontologías de autor.
PostgreSQL
Sistema de gestión de bases de datos relacional, orientada a objetos y de código abierto.
Servlets
Clase de programación de lenguaje Java, usada para dotar a los servidores de
funcionales adicionales.
XMP
Acrónimo de Extensible Metadata Platform. Estándar ISO para la creación,
procesamiento e intercambio de metadatos de todo tipo de fuentes.
44
XACML
Acrónimo de Extensible Access Control Markup Language. Estándar que define una
política de lenguaje para el control de acceso declarativo implementado en XML, así
como un modelo de procesamiento el cual describe cómo evaluar peticiones de
autorización de acuerdo a reglas definidas en diferentes políticas.
45
Anexo I
Guía de instalación de la aplicación
El propósito de este anexo es el de proporcionar una guía fácil y sencilla de instalación
de la aplicación GEDOLI.
Para la instalación en un servidor local, necesitaremos un sistema de infraestructura de
internet el cual proporcione un servidor web, y un gestor de bases de datos. Se
recomienda instalar WAMP server, por ser sencillo e intuitivo, o sus versiones para
Linux (LAMP) o Macintosh (MAMP).
WAMP server puede ser descargado de su página oficial, www.wampserver.com.
Una vez descargado e instalado en el equipo, dispondremos de un directorio wamp, en
el que almacenaremos el código fuente y la base de datos de la aplicación.
Figura1 anexo I: Carpeta wamp.
Para importar el código fuente, bastará con crear un nuevo directorio dentro del
subdirectorio www, e importar en dicho directorio el código fuente de la aplicación.
Figura2 anexo I: Carpeta proyecto.
46
Para importar la base de datos de la aplicación, se hará uso de la herramienta
phpMyAdmin, la cual incluye el propio WAMP. A través de dicha herramienta, se
importará la base de datos desde un fichero.
Figura3 anexo I: Importar bbdd.
Una vez se disponga del código fuente y la base de datos de la aplicación, se iniciarán
los servicios WAMP, para poder hacer uso de la misma.
Figura4 anexo I: Iniciar servicios wamp.
Para ejecutar la aplicación, solo será necesario abrir un navegador y escribir en la barra
de direcciones la palabra localhost. Esto nos llevará a la página de inicio de WAMP
server, desde donde se podrá seleccionar el directorio de la aplicación y los archivos que
se deseen ejecutar.
47
Figura5 anexo I: Projects
Si la aplicación se encuentra instalada en un servidor de internet, bastará con sustituir la
palabra localhost por la dirección IP del equipo donde se encuentre la aplicación (en
caso de usarse un equipo como servidor), o por la dirección donde se encuentre alojada
la aplicación,
48
49
Anexo II
Guía del usuario y del administrador
Esta guía pretende mostrar las funcionalidades de la aplicación para el usuario y para el
administrador. Con este objetivo se ha dividido en dos secciones. Guía del usuario,
donde se especifican las funcionalidades del perfil usuario y Guía del administrador,
donde se especifican las funcionalidades para la gestión y administración propias del
perfil administrador. Observar que el perfil administrador tendrá acceso a las opciones
propias del perfil usuario, pudiendo actuar como un usuario.
1. Guía del Usuario
1.1. Pantalla Portal de Acceso
Para acceder a la aplicación el usuario tendrá que acceder a la URL donde se encuentre
la aplicación ejecutándose:
Figura1 anexo II: Portal de acceso
Para acceder el usuario tiene que encontrarse registrado y activo (tarea a realizar por el
administrador de la aplicación):
Si el usuario es la primera vez que accede a de pinchar en ¿aún no estas
registrado?, para realizar el registro
Si el usuario esta registrado y no ha sido activado, tiene que contactar con el
administrador del sistema para la activación de su usuario.
Registro de
usuario
Registro de
usuario
50
Si el usuario esta registrado y ha sido activado, tiene que introducir nombre de
usuario y contraseña y pinchar en entrar.
1.2. Registro de Usuario
En el registro de usuario, el usuario introducirá los datos con los cuales quiere darse de
alta en la aplicación y pinchará en enviar, para realizar el registro del usuario.
Figura2 anexo II: Registro usuario
1.3. Menú Principal GEDOLI
Figura3 anexo II: Menu principal
Acceso a Perfil
Añadir Objeto a
GEDOLI Regresar a la
pantalla Principal
Salir de la
aplicación
51
Acceso a perfil: permite acceder al usuario al menú perfil, donde puede
consultar y editar sus datos, para realizar las modificaciones que considere
oportunas.
Añadir Objetos: permite acceder a las pantallas de añadir nuevos objetos y
recursos.
Regresar a pantalla principal: permite regresar a esta pantalla, desde cualquier
otra pantalla.
Salir de la aplicación: permite cerrar la sesión.
1.4. Perfil Usuario
Nos permite acceder al perfil de usuario para consultar y editarlo, en el caso de que se
quiera modificar o corregir algún dato.
Figura3 anexo II: Editar Perfil Usuario
Editar
52
Editar: Permite modificar los datos del usuario.
Figura4 anexo II: enviar/guardar perfil usuario
Enviar: guarda las modificaciones realizadas.
1.5. Añadir Objeto
Permite crear objetos, añadir recursos y clasificar los objetos como elemento dentro
de una taxonomía.
Enviar
Continuar
53
Figura5 anexo II: Formulario de objeto, continuar.
Continuar: permite crear el objeto en la aplicación y continúa con el
funcionamiento normal
Figura6 anexo II: Opciones de carga nuevo recurso.
Añadir a la lista: permite añadir a la listar los recursos que se asociaran al
objeto. Ya sean recursos url, como documentos que se encuentren en local.
Eliminar: permite eliminar recursos de la lista antes de ser añadidos al objeto.
Añadir: añade los recursos al objeto y continua con el funcionamiento normal.
Figura7 anexo II: Selección de taxonomías.
Añadir a la lista
Eliminar
Añadir
Seleccionar
taxonomía
Añadir ruta
Publicar
objeto
54
Seleccionar Taxonomía: permite elegir entre las distintas taxonomías que se
encuentren cargadas, en el ejemplo una única. Linunizar001.
Añadir Ruta: permite añadir una ruta nueva al objeto que se esta creando.
Publicar objeto: una vez añadida la ruta, permite publicar el objeto.
Al seleccionar taxonomía, se nos muestra la clasificación de la misma. Navegamos
hasta encontrar la clasificación adecuada para el objeto que estamos creando, la
seleccionamos y pinchamos en añadir objeto.
Figura8 anexo II: Listado taxonómico.
Al pinchar en añadir ruta se nos mostrara la ruta que se ha añadido. Al pinchar en
publicar objeto se publicará el objeto de manera automática, llevándonos a la pantalla
principal.
Figura9 anexo II: Eliminar taxonomía añadida.
Eliminar
55
Eliminar: permite eliminar la ruta asociada al objeto antes de publicarlo.
1.6. Pantalla Principal GEDOLI
Desde la pantalla principal se podrán realizar las búsquedas que se consideren
oportunas. Para esto se dispone de tres tipos de búsqueda.
Figura10 anexo II: Tipos de búsqueda.
Búsqueda no específica: permite introducir un texto libre y al pinchar buscar,
mostrará todos los objetos relacionados encontrados.
Búsqueda Taxonómica: permite acceder a una búsqueda específica dentro de la
clasificación taxonómica.
Búsqueda específica por campos: permite acceder a una búsqueda específica en
la que se introducen criterios de búsqueda específicos
1.7. Pantalla búsqueda no específica/ Resultado de búsqueda
Mostrara los resultados encontrados según criterios buscados.
Búsqueda no
específica
Búsqueda
taxonómica
Búsqueda especifica
por campos
56
Figura11 anexo II: Ver Ficha.
Ver Ficha: nos da acceso a los recursos del objeto listado.
Ver ficha
57
1.8. Pantalla búsqueda Taxonómica
Mostrar las distintas clasificaciones taxonómicas, permitiendo la navegación por la
misma hasta llegar a los objetos que se desean encontrar.
Figura11 anexo II: Elementos de la taxonomía
Taxonomía Cargada: nos indica la taxonomía que hemos seleccionado y la ruta
por la que avanzamos
Elementos de la taxonomía: nos muestra los elementos de esta clasificación
cargada.
Objetos encontrados: nos muestra el numero de objetos encontrados asociados a
ese elemento de la clasificación.
Buscar objetos: mostrará como resultado, los objetos que se encuentran dentro
de esa clasificación taxonómica.
Taxonomía
cargada.
Elementos de
la taxonomía
Objetos
encontrado
Buscar
objetos
58
Figura12 anexo II: Ver ficha del objeto.
Ver Ficha: nos da acceso a los recursos del objeto listado.
1.9. Pantalla búsqueda por campos
Muestra los distintos campos por los que puede ser buscado un objeto dentro de la
aplicación.
Figura13 anexo II: búsqueda por campos
Búsqueda
por campos
Ver ficha
Buscar
59
Buscar: mostrará como resultado, los objetos que cumplen con los criterios de
búsqueda, en el caso del ejemplo hemos realizado una búsqueda con titulo “k” y
nos muestra un único resultado.
Figura14 anexo II: Ver ficha objeto.
Ver Ficha: nos da acceso a los recursos del objeto listado.
Ver ficha
60
1.10. Pantalla Ver ficha
Muestra los recursos asociado a los objetos listados, al igual que datos propios del
objeto creado
Figura15 anexo II: Datos.
Taxonomías: nos indica a las taxonomías que está asociado el objeto.
Descargar todo: permite descargar un archivo comprimido, con todos los
recursos asociados.
Descarga: permite descargar uno a uno los recursos asociados al objeto.
Taxonomías
asociadas
Descargar
Descargar
todo
61
2. Guía del Administrador
El administrador tendrá acceso a la aplicación, de igual modo que el perfil usuario,
al igual que tendrá acceso a todas las funcionalidades que se encuentran descritas en
la guía del usuario. A parte de las funcionalidades propias del perfil usuario tendrá
otras particulares para realizar la gestión y administración de la aplicación.
2.1. Pantalla Perfil Administrador
El enlace perfil que se encuentra en el menú principal, en caso el usuario tenga
perfil administrador, le dará acceso a un menú especial de gestión y administración.
Figura16 anexo II: PerfilAdministrador.
Figura16 anexo II: OpcionesAdministrador.
Gestión Taxonomías: permite gestionar las taxonomías.
Acceso a Perfil
62
Gestión de usuarios Pendientes: permite gestionar los usuarios pendientes de
activación.
Gestión de usuarios: permite gestionar los usuario activos.
Administrar Objetos: permite gestionar los objetos.
Ver Historial de cambios: descarga archivo con registro de las modificaciones
realizadas.
Añadir Taxonomía: permite realizar la carga de una nueva taxonomía.
Editar: edita el perfil del administrador para cambiar, corregir los datos propios.
2.2. Gestión Taxonómica
Pantalla que nos permite cargar distintas taxonomías y eliminar las que ya tenemos
cargadas
Figura17 anexo II: Carga de taxonomía.
Añadir taxonomía: permite añadir y cargar nuevas taxonomías, desde un fichero
IMS-VDEX, nos llevara a la ventana “Cargar Taxonomías”.
Eliminar: permite eliminar taxonomías existentes.
Añadir
taxonomía
Eliminar
63
Figura18 anexo II: Añadir taxonomía a la lista.
Añadir a la lista: añade a la lista antes de realizar la carga final de la taxonomía.
Figura19 anexo II: Añadir taxonomía.
Eliminar: permite eliminar de la lista taxonomías, antes de ser cargadas.
Añadir: añade la taxonomía a la aplicación, nos lleva a la pantalla principal.
2.3. Gestión Usuarios Pendientes
Pantalla que nos muestra todos los usuario que están pendientes de activación
Añadir a la lista
Añadir Eliminar de la lista
64
Figura20 anexo II: Opciones.
Ver Ficha: permite acceder a los datos con los que se ha registrado el usuario.
Dar de alta: activa el usuario al darle de alta en la aplicación.
Eliminar: elimina el registro del usuario.
2.4. Gestión Usuarios
Pantalla que nos muestra todos los usuarios que se encuentran activos en la
aplicación.
Figura21 anexo II: Gestión de usuarios.
Opciones
Opciones
Buscar
65
Editar: permite acceder a los datos con los que se ha registrado el usuario y
modificarlos, también permite acceder al perfil administrador para modificar
sus datos.
Eliminar: elimina el registro del usuario. NOTA: el perfil administrador no se
puede eliminar, por esto en el caso del ejemplo el administrador no tiene el
botón de eliminar visible.
Buscar: permite buscar el nombre del usuario que se quiere administrar.
2.5. Administrar Objetos
Pantalla que permite administrar los objetos, para esto permite realizar una
búsqueda del objeto a administrar como punto de partida.
Figura22 anexo II: Buscar usuarios.
Buscar: nos permite realizar la búsqueda del objeto a administrar.
Buscar
66
Figura23 anexo II: Opciones sobre usuarios.
Ver ficha: permite ver la ficha propia del objeto.
Editar Objeto: permite editar el objeto para añadir, modificar cualquiera de los
campos propios de la creación del objeto.
Eliminar: permite eliminar el objeto, tras pedir confirmación.
Figura24 anexo II: Eliminar usuarios.
Eliminar: petición de confirmación para eliminar objeto.
Opciones
Eliminar
67
Anexo III
Taxonomía lingüística en IMS-VDEX
68
69
70