Post on 21-Apr-2020
TRABAJO FIN DE ESTUDIOS
Reingeniería de una aplicación web FileMaker parauna biblioteca
Nabila Anou
PROYECTO FIN DE CARRERA
Tutor: Julio Rubio García
Curso 2011-2012
© El autor© Universidad de La Rioja, Servicio de Publicaciones, 2012
publicaciones.unirioja.esE-mail: publicaciones@unirioja.es
Reingeniería de una aplicación web FileMaker para una biblioteca, trabajo fin deestudios
de Nabila Anou , dirigido por Julio Rubio García (publicado por la Universidad de LaRioja), se difunde bajo una Licencia
Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported.Permisos que vayan más allá de lo cubierto por esta licencia pueden solicitarse a los
titulares del copyright.
1
UNIVERSIDAD DE LA RIOJA
Facultad de Ciencias, Estudios Agroalimentarios e Informática
PROYECTO FIN DE CARRERA
Ingeniería Técnica en Informática de Gestión
Reingeniería de una aplicación Web FileMaker para Biblioteca
Alumno: Nabila Anou
Director: Julio Jesús Rubio García
Logroño, 26 de junio de 2012
PFC de NABILA ANOU
2
Agradecimientos
Mis más sinceros agradecimientos:
A Miriam Andrés Gómez: la persona que me ayudó cuando más lo necesitaba, la que me dio el apoyo y el cariño incondicional, la que confió en mí cuando estaba más débil que nunca, una gran persona que todos deseamos que esté con nosotros, pero lo único que podemos hacer es desear con todo el alma que descanse en paz. Y también a su familia por estar siempre a mi lado.
A mi director de proyecto Julio Rubio García: por su constante dedicación y paciencia, y por su apoyo y su ayuda cuando las cosas se ponían cuesta arriba durante la elaboración del proyecto. Y por darme la oportunidad de realizar este proyecto y aprender de él. A Joaquín León Marín, por su buena voluntad y su apoyo en todo momento, puesto que sin su ayuda muchas cosas hubieran sido más difíciles. Y a los bibliotecarios por involucrarse de forma muy activa para el desarrollo de este proyecto. A mi familia, por estar junto a mi lado todo este tiempo y haberme proporcionado los medios necesarios para ayudarme, además de aguantarme en mis malos momentos, enfados y demás sucesos que me han acaecido a lo largo de la elaboración de este proyecto. A todos mis profesores por ayudarme durante toda la carrera aportándome sus conocimientos, y por entender mi situación y animarme a seguir adelante a pesar de todas las dificultades que tuve durante mi paso por la Universidad de La Rioja. A mis amigos los que conocí dentro y fuera de la universidad por estar ahí, gracias por su apoyo y por conseguir que todos los días valga la pena vivirlos con una sonrisa en la cara. A mis compañeros por el ánimo y la ayuda que me han ofrecido durante la elaboración de este proyecto. SIN VOSOTROS HUBIERA SIDO IMPOSIBLE, ¡MUCHÍSIMAS GRACIAS A TODOS!
PFC de NABILA ANOU
3
Índice: 1. Capítulo I: Introducción ................................................................... 11
1.1 Tema ................................................................................... 11
1.2 Motivos de la elección del Tema ................................................... 11
2. Capítulo II: Documento de objetivos del proyecto .................................... 12
2.1 Objetivos del proyecto .............................................................. 12
2.2 Participantes en el proyecto ........................................................ 12
2.3 Descripción ............................................................................ 12
2.4 Alcance del proyecto ................................................................ 13
2.4.1 Requisitos de la primera parte: Creación de la aplicación Web ......... 13
2.4.2 Requisitos de la segunda parte: Exportación y sincronización ........... 13
2.4.2.1 Exportación de los datos .................................................. 13
2.4.2.2 Sincronización .............................................................. 13
2.4.2.3 Posibles ampliaciones de la plataforma ................................ 14
2.4.3 Tecnologías utilizadas .......................................................... 14
2.5 EDT y estimación de tiempo ........................................................ 15
2.5.1 Dirección y gestión del proyecto.............................................. 17
2.5.1.1 Seguimiento del proyecto ................................................ 17
2.5.1.2 Creación del EDT .......................................................... 17
2.5.1.3 Realización del DOP ....................................................... 17
2.5.2 Iniciación ......................................................................... 18
2.5.3 Primera parte del proyecto: reingeniería de la aplicación Web ......... 18
2.5.3.1 Análisis del sistema ........................................................ 18
2.5.3.1.1 Diagrama de casos de uso ............................................. 18
2.5.3.1.2 Modelo conceptual ..................................................... 18
2.5.3.1.3 Revisión .................................................................. 18
2.5.3.2 Diseño: Diseñar el sistema a construir .................................. 19
2.5.3.2.1 Diseñar la base de datos ............................................... 19
2.5.3.2.2 Diseño de clases de lógica de negoció y persistencia ............. 19
2.5.3.2.3 Revisión .................................................................. 19
2.5.3.3 Construcción ................................................................ 19
PFC de NABILA ANOU
4
2.5.3.3.1 Implementación ......................................................... 19
2.5.3.3.2 Clases de prueba ........................................................ 20
2.5.3.4 Documentación............................................................. 20
2.5.4 Segunda Parte del proyecto: Exportación y sincronización ............... 20
2.5.4.1 Análisis ...................................................................... 20
2.5.4.1.1 Diagrama de casos de uso ............................................. 20
2.5.4.1.2 Modelo conceptual ..................................................... 21
2.5.4.1.3 Revisión .................................................................. 21
2.5.4.2 Diseño ....................................................................... 21
2.5.4.2.1 Diseño de clases de lógica de negocio ............................... 21
2.5.4.2.2 Revisión .................................................................. 21
2.5.4.3 Construcción ................................................................ 22
2.5.4.3.1 Implementación ......................................................... 22
2.5.4.3.2 Clases de prueba ........................................................ 22
2.5.4.3.3 Documentación .......................................................... 22
2.5.5 Formación ........................................................................ 22
2.5.6 Memoria .......................................................................... 22
2.5.7 Manuales ......................................................................... 23
2.5.8 Defensa ........................................................................... 23
2.6 Estimaciones globales ................................................................ 23
2.7 Diagrama de Gantt ................................................................... 25
2.8 Riesgos ................................................................................. 26
2.9 Entregables ............................................................................ 28
3. Capítulo III: Análisis ....................................................................... 29
3.1 Análisis 1ª parte del proyecto: Reingeniería de la aplicación Web ........... 29
3.1.1 Descripción general del proceso .............................................. 29
3.1.2 Descripción de los términos ................................................... 31
3.1.3 Características de los usuarios ................................................ 32
3.1.4 Modelos de casos de uso ....................................................... 32
3.1.4.1 Diagrama de casos de uso ................................................ 33
3.1.4.2 Actores ...................................................................... 34
3.1.4.2.1 Administrador del sistema ............................................. 34
3.1.4.2.2 Usuario Web ............................................................. 34
3.1.4.3 Especificaciones de casos de uso ........................................ 35
PFC de NABILA ANOU
5
3.1.4.3.1 Mostrar un listado de investigadores de una letra ................. 35
3.1.4.3.2 Ordenar el listado de los investigadores por apellido ............. 35
3.1.4.3.3 Mostrar información de un determinado investigador ............. 35
3.1.4.3.4 Mostrar un listado de todos los departamentos .................... 36
3.1.4.3.5 Mostrar información de cada departamento ........................ 36
3.1.4.3.6 Mostrar un listado los institutos y centros de investigación ...... 36
3.1.4.3.7 Mostrar información de una investigación .......................... 36
3.1.4.3.8 Mostrar las publicaciones de cada investigador .................. 37
3.1.4.3.9 Mostrar un listado de los investigadores que pertenecen a un departamento ......................................................................... 37
3.1.4.3.10 Mostrar un listado de los componentes del centro de investigación .......................................................................... 37
3.1.4.3.11 Mostrar un listado de los grupos de investigación ................ 38
3.1.4.3.12 Mostrar la información de un grupo de investigación ............ 38
3.1.4.3.13 Hacer búsquedas ...................................................... 38
3.1.4.3.14 Búsqueda por título ................................................... 39
3.1.4.3.15 Búsqueda por Autor ................................................... 39
3.1.4.3.16 Tareas de Gestión Web ............................................... 39
3.1.4.3.17 Actualizar Datos ....................................................... 39
3.1.5 Modelo conceptual .............................................................. 40
3.1.5.1.1 Diagrama de clases de Análisis ....................................... 40
3.1.5.1.2 Descripción de las clases .............................................. 41
3.2 Análisis Segunda parte del proyecto: Exportación y sincronización........... 43
3.2.1 Descripción general del proceso .............................................. 43
3.2.2 Descripción de los términos ................................................... 43
3.2.3 Características de los usuarios ................................................ 44
3.2.4 Modelo de casos de Uso ........................................................ 44
3.2.4.1 Diagrama de casos de uso ................................................ 44
3.2.4.2 Especificación de casos de uso .......................................... 44
3.2.4.2.1 Exportación .............................................................. 44
3.2.4.2.2 Actualización de los datos ............................................. 45
3.2.4.2.3 Inserción de los datos .................................................. 45
3.2.4.2.4 Borrado de los datos ................................................... 45
3.2.5 Modelo conceptual .............................................................. 45
PFC de NABILA ANOU
6
3.2.5.1 Exportación ................................................................. 45
3.2.5.1.1 Diagrama de clases de análisis ........................................ 46
3.2.5.2 Sincronización .............................................................. 46
3.2.5.2.1 Diagrama de clases de análisis ........................................ 46
3.3 Documento especificación de requisitos .......................................... 47
3.3.1 Referencias ...................................................................... 47
3.3.2 Apreciación global de este documento ...................................... 47
3.3.3 Tecnologías y recursos ......................................................... 47
3.3.4 Especificación de Requisitos .................................................. 48
3.3.4.1 Requisitos Funcionales .................................................... 48
3.3.4.2 Requisitos no funcionales ................................................. 48
3.3.4.2.1 Requisitos de operación ............................................... 48
3.3.4.2.2 Requisitos de rendimiento ............................................. 49
3.3.4.2.3 Requisitos de Desarrollo ............................................... 49
3.3.4.2.4 Requisitos de documentación ......................................... 49
3.3.4.2.5 Requisitos de navegador ............................................... 49
4. Capítulo IV: Diseño ........................................................................ 50
4.1 Diseño de la base de datos .......................................................... 51
4.1.1 Diagrama de Entidad/Relación ................................................ 52
4.1.2 Modelo de datos ................................................................. 53
4.1.2.1 Tabla USUARIOSBUR ....................................................... 55
4.1.2.2 Tabla Departamento ...................................................... 56
4.1.2.3 Tabla CENTRO_INVESTIG.................................................. 57
4.1.2.4 Tabla PUB_INVESTIG_ESPEJO ............................................ 57
4.1.2.5 Tabla INV_GRUPO_ESPEJO ............................................... 58
4.1.2.6 Tabla GENERALINVESTIGACION ......................................... 58
4.1.2.7 Tabla SCOPUSUR ........................................................... 59
4.1.2.8 Tabla Web .................................................................. 59
4.1.2.9 Tabla ACTIVIDADES_ESPEJO .............................................. 60
4.1.2.10 Taba ATESIS ................................................................ 61
4.1.2.11 Tabla ALIBRO ............................................................... 61
4.1.2.12 Tabla ACONGRESO ......................................................... 61
4.1.2.13 Tabla AREVISTA ............................................................ 62
4.1.2.14 Tabla ACAPLIBRO .......................................................... 62
PFC de NABILA ANOU
7
4.1.2.15 Tabla COLABORA ........................................................... 63
4.1.2.16 Tabla GENERAL ............................................................. 63
4.1.2.17 Tabla CATA_ESPEJO ....................................................... 64
4.1.2.18 Tabla AUTORES ............................................................. 64
4.1.1.20. Tabla AUTORIDAD_ESPEJO ............................................... 65
4.1.1.21. Tabla ASIGNATURA ........................................................ 65
4.1.2. Normalización ................................................................... 66
4.1.3. Modificaciones en el Diseño de las base de datos .......................... 67
4.2. Diseño de la 1ª parte del proyecto: reingeniería de la aplicación Web ...... 69
4.2.1. Diseño del sistema .............................................................. 69
4.2.1.1. Objetos de negocio ........................................................ 69
4.2.1.1.1. Clase Actividades ...................................................... 71
4.2.1.1.2. Clase Asignatura ....................................................... 71
4.2.1.1.3. Clase Autores ........................................................... 72
4.2.1.1.4. Clase AutoridadesEspejo .............................................. 72
4.2.1.1.5. Clase CapitulosLibro ................................................... 73
4.2.1.1.6. Clase CentroInvestigacion ............................................ 73
4.2.1.1.7. Clase Colabora ......................................................... 74
4.2.1.1.8. Clase Departamento ................................................... 75
4.2.1.1.9. Clase Director .......................................................... 75
4.2.1.1.10. Clase General ......................................................... 75
4.2.1.1.11. Clase GeneralInvestigacion ......................................... 76
4.2.1.1.12. Clase GrupoInvestigacion............................................ 77
4.2.1.1.13. Clase InvestigGrupo .................................................. 77
4.2.1.1.14. Clase ISBN ............................................................. 78
4.2.1.1.15. Clase LibrosCatalogo ................................................. 78
4.2.1.1.16. Clase Revista .......................................................... 79
4.2.1.1.17. Clase ScopusUR ....................................................... 80
4.2.1.1.18. Clase SumPublicacionesInvestigador .............................. 80
4.2.1.1.19. Clase Tesis ............................................................. 81
4.2.1.1.20. Clase Usuario .......................................................... 82
4.2.1.1.21. Clase Web ............................................................. 82
4.2.2. Modificaciones en el diseño del sistema ..................................... 83
4.2.2.1. Clase Investigadoresactividad ............................................ 84
PFC de NABILA ANOU
8
4.2.3. Capa de Lógica de Negocio .................................................... 84
4.2.3.1.1. Diagrama de clases de capa de lógica de negocio ................ 85
4.2.3.1.2. Descripción de cada Método ......................................... 85
4.2.4. Capa de Persistencia ........................................................... 88
4.2.4.1. Clases de implementación de operaciones de persistencia ......... 89
4.2.4.2. Diagrama de clases de Persistencia ..................................... 89
4.2.5. Capa de Presentación .......................................................... 90
4.2.5.1. Prototipos de Interfaz ..................................................... 92
4.2.5.1.1. La plantilla de la página Principal ................................... 93
4.2.5.1.2. Plantilla de la página Investigadores ............................... 94
4.2.5.1.3. Plantilla de la página departamentos ............................... 95
4.2.5.1.4. Plantilla de la página información de un investigador ........... 96
4.2.5.1.5. Plantilla de la página información de un departamento ......... 97
4.2.5.1.6. Plantilla de la página centros de investigación ................... 98
4.2.5.1.7. Plantilla de la página grupos de investigación .................... 99
4.2.5.1.8. Plantilla de la página información grupo de investigación .... 100
4.2.5.1.9. Plantilla de la página información centro investigación ....... 101
4.2.5.1.10. Plantilla de la página información de las publicaciones ...... 102
4.2.6. Especificación de pruebas unitarias ........................................ 102
4.2.6.1. CREACIÓN DE UN TEST .................................................. 103
4.3. Diseño Segunda parte del proyecto: Exportación y sincronización .......... 106
4.3.1. Exportación .................................................................... 106
4.3.1.1. Diseño del sistema ....................................................... 107
4.3.1.2. Diagrama de clases UML ................................................ 107
4.3.1.3. Descripción de cada método ........................................... 109
4.3.2. Sincronización ................................................................. 114
4.3.2.1. Diagrama de actividad actualizaciones e inserciones .............. 114
4.3.2.2. Diagrama de clases UML ................................................ 115
4.3.2.3. Descripción de cada método ........................................... 117
4.3.3. Gestión de las transacciones y recuperación ............................. 119
4.3.3.1. Gestionar publicaciones ................................................ 120
4.3.3.2. Gestionar Investigadores ............................................... 121
4.3.3.3. Gestionar Grupos de Investigación .................................... 122
4.3.3.4. Gestionar Departamentos .............................................. 122
PFC de NABILA ANOU
9
4.3.3.5. Gestionar Centro Investigación ........................................ 123
4.3.4. Diseño de la interfaz: Exportación y sincronización ..................... 123
5. Capitulo V: Implementación ............................................................ 125
5.1. Implementación de la primera parte del proyecto ............................ 125
5.1.1. Descripción Drupal ............................................................ 125
5.1.2. Drupal como módulo vista controlador .................................... 129
5.1.3. Preparación del entorno de trabajo ........................................ 130
5.1.4. Implementación de los prototipos de la interfaz ......................... 132
5.1.5. Implementación de la pruebas de unidad ................................. 135
5.1.5.1. Ejemplos de Test ........................................................ 136
5.2. Implementación de la segunda parte del proyecto ............................ 139
5.2.1. Exportación de los datos ..................................................... 139
5.2.1.1. Preparación del entorno de trabajo .................................. 140
5.2.2. Sincronización entre FileMaker y MySQL ................................... 140
5.2.2.1. Preparación del entorno de trabajo .................................. 141
6. Capítulo VI: Gestión del proyecto ..................................................... 142
6.1. Duración Real de las tareas y actividades ...................................... 142
6.2. Comparación entre tiempo estimado y tiempo real .......................... 145
6.3. Motivos del desfase ................................................................ 145
7. Capítulo VII: Conclusiones .............................................................. 147
8. Bibliografía ............................................................................... 148
9. Anexos ..................................................................................... 149
9.1. Anexo1. Instalación Drupal ........................................................ 149
9.1.1. Instalar Drupal en modo local .............................................. 149
9.1.2. Instalar Drupal en modo remoto ............................................ 149
9.1.3. Preparar Instalación de Drupal en Español ................................ 149
9.1.4. Subir archivos de Drupal 6.x al Servidor ................................... 150
9.1.5. Iniciar el proceso de Instalación ............................................ 150
9.2. Anexo2. Pruebas de Unidad primera parte ..................................... 154
9.2.1. Clase Actividad ................................................................ 154
9.2.2. Clase Asignatura ............................................................... 156
9.2.3. Clase CentroInvestigacion.php .............................................. 157
9.2.4. Clase Colabora.php ........................................................... 160
9.2.5. Clase Congreso.php ........................................................... 160
PFC de NABILA ANOU
10
9.2.6. Clase Departamento.php ..................................................... 161
9.2.7. Clase Director.php ............................................................ 162
9.2.8. Clase General.php ............................................................ 163
9.2.9. Clase GeneralInvestigacion.php ............................................. 165
9.2.10. Clase GruposInvestigación.php ........................................... 167
9.2.11. Clase investigaGrupo.php ................................................. 170
9.2.12. Clase Libro.php ............................................................. 171
9.2.13. Clase SumPubInvestigador.php ........................................... 171
9.2.14. Clase Usuario.php .......................................................... 172
9.2.15. Clase Web.php .............................................................. 177
9.2.16. Clase Persistencia.php ..................................................... 180
PFC de NABILA ANOU
11
1. Capítulo I: Introducción
1.1 Tema
El presente proyecto está formado por dos partes esenciales: la primera parte es hacer una reingeniería de una aplicación Web que utiliza tres bases de datos FileMaker y que recoge la información de la producción científica de los investigadores de la Universidad de La Rioja. El objetivo es mantener la interfaz Web, pero sirviendo la información desde una base de datos MySQL.
Y la segunda parte trata de sincronizar las tres bases de datos FileMaker en las que se van a añadir y actualizar y borrar datos con la base de datos MySQL. El objetivo es conseguir que los empleados de la biblioteca puedan gestionar las bases FileMaker, reproduciéndose después las altas, bajas y modificaciones en la base de datos MySQL desde la que se sirven los datos a la aplicación Web.
1.2 Motivos de la elección del Tema
Joaquín León, subdirector de la Biblioteca de la Universidad de La Rioja, propuso el tema. Estaban utilizando FileMaker en la capa de persistencia de una aplicación web que recoge la producción científica de los investigadores de la Universidad de La Rioja. Pero esta aplicación cuando hay concurrencia de varios usuarios (o sea varias consultas simultáneas) tiene un rendimiento muy malo. Del análisis que hicieron los bibliotecarios, se concluyó que el mal rendimiento es una consecuencia de utilizar el FileMaker como motor de búsqueda (no es el más recomendable). Por eso propusieron hacer un cambio completo de esa aplicación. Se propuso llevar a cabo la reingeniería de esta aplicación. Se quiere mantener la interfaz Web que tenían hecha al principio pero en vez de trabajar con FileMaker la nueva aplicación se apoyaría en una base de datos MySQL en la que solo se permite hace consultas.
Ellos seguirán trabajando con las bases de datos FileMaker, donde realizarán cambios, inserciones y borrado de los datos, y quieren sincronizar estas bases de datos sobre una base de datos MySQL que dará soporte al portal Web para evitar el problema de rendimiento que tienen.
Palabras clave: Aplicación web, sincronización, Drupal, FileMaker.
PFC de NABILA ANOU
12
2. Capítulo II: Documento de objetivos del proyecto
2.1 Objetivos del proyecto
El objetivo de este proyecto es construir una aplicación Web que recoge la información de producción científica de los investigadores de la Universidad de La Rioja y que extrae los datos de una base de datos MySQL, además que estos datos presentados en la Web, queden sincronizados con una base de datos FileMaker donde se van a introducir nuevos datos, hacer actualizaciones y borrados.
2.2 Participantes en el proyecto
En Representación del cliente
Joaquín León Marín, Subdirector de la biblioteca de la Universidad de La Rioja.
Ejecución del Proyecto
La alumna NABILA ANOU.
El director del proyecto Julio Jesús Rubio García.
2.3 Descripción
Se trata de hacer una reingeniería de una aplicación Web mediante la cual los usuarios podrán consultar, o buscar la información correspondiente a la producción científica de los investigadores de la Universidad de La Rioja. Dicha información incluye los distintos investigadores, los departamentos a los que pertenecen, distintos centros dedicados a la investigación científica y técnica o la creación artística, y los grupos de investigación además de todas las publicaciones de cada uno de estos investigadores: libros, artículos en revistas, congresos, capítulos de libros, etc.
La aplicación la tenían hecha al principio extrayendo datos de tres bases de datos FileMaker, pero a la hora de hacer consultas simultáneas hay un mal rendimiento.
Por eso en este proyecto se trata de hacer una especie de reingeniería para esta aplicación .Lo que se mantiene es la interfaz Web, pero esta vez los datos se van extrayendo de una base de datos MySQL y luego a través de esta misma aplicación sincronizar las bases de datos de FileMaker con estos datos presentados en la Web
PFC de NABILA ANOU
13
de la base de datos MySQL; es decir cuando se hacen actualizaciones, borrados o incluso cuando se introducen nuevos datos en las bases de datos de FileMaker estos datos se modifican en la base de datos MySQL.
2.4 Alcance del proyecto
Se han establecido una serie de requisitos mínimos que deben alcanzarse. También se establezcan una serie de posibles ampliaciones del proyecto que llevarán a cabo en orden de importancia y en función del tiempo disponible.
2.4.1 Requisitos de la primera parte: Creación de la aplicación Web
Gestionar la información de los investigadores de la Universidad de La Rioja. Gestionar los Departamentos de la Universidad, con el listado de todos los
investigadores que le pertenecen. Gestionar los Institutos y Centros de investigación (centros dedicados a la
investigación científica y técnica o a la creación artística). Gestionar Grupos de investigación Gestionar publicaciones Gestionar búsquedas.
2.4.2 Requisitos de la segunda parte: Exportación y sincronización
2.4.2.1 Exportación de los datos
Exportar de las tres bases de datos FileMaker: UsuariosBur, AbsysEspejo e Investiga, los datos necesarios a la base de datos MySQL InvestigadoresUR, para ser representados en la Web. Este proceso obtiene de las bases de datos FileMaker los datos relacionados con los investigadores y sus publicaciones, ignorando el resto de los datos, debido a que estas bases de datos FileMaker tienen otras relaciones con otras bases de datos, e información que no interesa mostrar en la Web.
2.4.2.2 Sincronización
Crear un programa intermedio entre los dos sistemas de gestión de bases de datos: FileMaker y MySQL que permite la sincronización de los datos entre las bases de datos FileMaker: UsuariosBur, AbsysEspejo y investiga y la base de datos MySQL InvestigadoresUR; o sea, que cuando se modifiquen, se borran o se insertan datos en
PFC de NABILA ANOU
14
las bases de datos FileMaker. Estos datos modificados pasan de forma automática a la base de datos MySQL donde residen los datos presentados en la Web, Sería preferible que la sincronización fuese en tiempo real, o sea cada vez que se actualiza algún dato en las bases de datos FileMaker, la actualización pasa directamente a la base de datos MySQL. Si no es posible hacerlo directamente, se crearía un programa que se ejecuta cada un determinado periodo de tiempo, por ejemplo se ejecutara una vez al día.
2.4.2.3 Posibles ampliaciones de la plataforma
Permitir hacer actualizaciones y modificaciones a través de la aplicación Web además de las consultas, e intentar sincronizar en el sentido contrario es decir que cuando se actualizan los datos en la base de datos MySQL se actualizan también en FileMaker.
2.4.3 Tecnologías utilizadas
Para el desarrollo del proyecto se utilizan diferentes herramientas y tecnologías:
MySQL: Porque a Joaquín León , el subdirector de la Biblioteca, que tiene el rol del cliente en este proyecto le interesa que sea el SGBD que soporta las tablas del esquema propio del sistema pensando que es un motor de búsqueda mejor que FileMaker y que esto pueda aliviar el problema del rendimiento que tienen.
Apache: Es un servidor Web http, libre y de código abierto, el más popular en cuanto a uso, sirviendo como plataforma de referencia para el diseño y evaluación de otros servidores Web.
PHP: Es un lenguaje de programación diseñado para producir sitios Web dinámicos. Es utilizado en aplicaciones del lado del servidor, aunque puede ser usado desde una interfaz de línea de comandos o como aplicación de escritorio.
Drupal: Un Sistema de Gestión de Contenidos, también elegido por el cliente para el desarrollo de este proyecto.
NetBeans IDE: Para escribir y compilar el código de las clases PHP para este proyecto.
DreamWeaver CS4: Para modificar el contenido de los CSS ofrecidos por drupal y adaptarlos a la interfaz requerida para este proyecto; también para modificar el archivo de configuración de Drupal.
PFC de NABILA ANOU
15
FileMaker Pro: Es el sistema gestor de bases de datos que maneja las bases de datos donde están almacenados los datos de la producción científica de los investigadores de la Universidad de La Rioja.
FileMaker Server: Es donde van a estar alojadas las bases de datos FileMaker para llevar a cabo el proceso de exportación y sincronización de los datos.
Como es una aplicación web tiene que ser accesible desde cualquier punto del mundo a través de Internet.
Figura 2.4.3.1) Arquitectura Física
2.5 EDT y estimación de tiempo
Para mejor organización del proyecto este se divide en una serie de tareas que nos ayudaran a estimar mejor el tiempo total dedicado a este proyecto.
La figura 2.5.1.1) muestra de manera grafica el diagrama de descomposición de tareas.
16
Figura 2.5.1.1): Estructura de descomposición de las tareas
Proyecto
Dirección y Gestión del
Proyecto
Seguimiento del proyecto
Creación del EDT
Realización del DOP
1ªparte: reingeniería de la aplicación Web
Análisis
Diagrama de casos de Uso
Modelo conceptual
Revisión
Diseño
Diseño de la base de datos
Diseño de clases de lógica de negocio y
persistencia
Revisión
Construcción
Implementación
Documentación
Clases de prueba
2ªparte: sincronizar con FileMaker
Análisis
Especificación de casos de
uso
Modelo conceptual
Diseño
Diseño de clases de lógica de
negocio y persistencia
Revisión
Construcción
Implementación
Documentación
Clases de prueba
Formación
Manuales
Memoria Defensa Iniciación
17
2.5.1 Dirección y gestión del proyecto
En este paquete se agrupan todas las tareas de planificación y seguimiento del proyecto, además de las tareas derivadas de las reuniones tanto con el director del proyecto como con Joaquín león Marín, el subdirector de la biblioteca que tiene el rol del cliente.
2.5.1.1 Seguimiento del proyecto
Esta tarea recoge la vida del proyecto de forma temporal, se realiza el seguimiento de diversas tareas del proyecto y esto incluye:
Reuniones: Tiempo dedicado a las reuniones entre el alumno y el director del proyecto o con Joaquín León, el subdirector de la biblioteca.
Estimación: 13 horas.
Revisiones: Se pretende hacer una revisión periódica del estado global del proyecto para poder destacar las posibles desviaciones en el cumplimento de los objetivos para poder tomar medidas correctivas.
Estimación: 10 horas
2.5.1.2 Creación del EDT
Esta actividad consiste en la identificación de los procesos que componen el proyecto, y que nos van a llevar a la estructuración de los mismos por fases.
Estimación: 2 horas
2.5.1.3 Realización del DOP
Creación del documento de objetivos del proyecto que consta de las tareas de contextualización del proyecto en el que se describen las siguientes tareas:
Estudio previo. Obtener información sobre dirección del proyecto Descomposición de las tareas Asignar tiempo a tareas Diagrama de Gantt Documentación. Redactar las tareas identificadas
Estimación: 15 horas
PFC de NABILA ANOU
18
2.5.2 Iniciación
Corresponde a las tareas realizadas al principio del proyecto, y que sirven para definir el problema, identificar los requisitos y los objetivos que se quieren lograr con la realización del proyecto.
La extracción de los requisitos por parte del proyectante son tareas que se desarrollan en los primeros reuniones con el director del proyecto y con Joaquín León, el subdirector de la biblioteca.
Estimación: 10 horas
2.5.3 Primera parte del proyecto: reingeniería de la aplicación Web
2.5.3.1 Análisis del sistema
2.5.3.1.1 Diagrama de casos de uso
Es la tarea correspondiente al análisis del sistema, lo que significa identificar y crear los casos de uso, identificar los actores que interactúan con el sistema, y crear un diagrama de actividad, además de una revisión de la documentación generada a lo largo de esta tarea.
Estimación: 5 horas.
2.5.3.1.2 Modelo conceptual
Generar las clases más importantes para el diseño de la aplicación, sin entrar en detalles de métodos y propiedades y luego crear el diagrama de clases UML.
Estimación: 5 horas.
2.5.3.1.3 Revisión
Revisión general de esta fase de análisis, mirar si se cumplen todos los requisitos que ha pedido el cliente y si los diagramas generados están bien.
Estimación: 2 horas
PFC de NABILA ANOU
19
2.5.3.2 Diseño: Diseñar el sistema a construir
2.5.3.2.1 Diseñar la base de datos
En esta tarea se diseñará la base de datos para almacenar los datos en MySQL.
Crear el modelo entidad relación para las tablas de la base de datos, generar el diagrama de clases UML, la documentación de las tablas, lo que significa una breve explicación de las tablas y sus campos de La BD.
Estimación: 10 horas.
2.5.3.2.2 Diseño de clases de lógica de negoció y persistencia
Partiendo de los casos de uso y de las clases de análisis, se identifican las clases y métodos principales. Además habrá que ampliar el diagrama de clase de análisis para poder entrar en más detalle.
Esta tarea también incluye la gestión de la persistencia de los datos que se usa para realizar dichos procesos.
Estimación: 40 horas.
2.5.3.2.3 Revisión
Corresponde al tiempo invertido en la revisión de las tareas hechas durante el diseño para evitar los errores que se pueden acumular para siguientes fases.
Estimación: 4 horas.
2.5.3.3 Construcción
2.5.3.3.1 Implementación
Corresponde con las tareas necesarias para la implementación del sistema:
Crear un Script BD, lo que significa generar el script de la base de datos del diagrama Entidad Relación generado anteriormente.
Escribir el código necesario para las clases de lógica de negocio, más la gestión de la persistencia de los datos que se usa para realizar dichos procesos.
PFC de NABILA ANOU
20
Estimación: 23 horas
2.5.3.3.2 Clases de prueba
Probar el Script de la base de datos y solucionar los posibles fallos que se produzcan, además de realizar las pruebas unitarias para la aplicación. Además de desarrollar las tareas necesarias para la puesta en marcha del sistema en el servidor.
Estimación: 14 horas
2.5.3.4 Documentación
Esta tarea corresponde con la documentación necesaria para guardar la información de las clases y métodos.
Estimación: 3 horas
2.5.4 Segunda Parte del proyecto: Exportación y sincronización
Esta tarea corresponde a la segunda parte de este proyecto. Al final de este ciclo dispondremos de una aplicación Web que extraiga datos de MySQL y que cuando se modifican los datos en las bases de datos FileMaker estas modificaciones pasan a la base de datos MySQL.
En esta tarea no hay labores de creación de base de datos porque ya se creó lo necesario en la tarea anterior.
2.5.4.1 Análisis
Analizaremos el sistema a desarrollar en esta segunda parte del proyecto.
2.5.4.1.1 Diagrama de casos de uso
Corresponde con la tarea de crear un diagrama de casos de uso para esta segunda parte del proyecto.
Estimación 6 horas
PFC de NABILA ANOU
21
2.5.4.1.2 Modelo conceptual
Generar las clases más importantes para el diseño de la aplicación, sin entrar en detalles de métodos y propiedades y luego crear el diagrama de clases UML.
Estimación: 9 horas.
2.5.4.1.3 Revisión
Revisión general de esta fase de análisis, mirar si se cumplen todos los requisitos que ha pedido el cliente y si los diagramas generados están bien.
Estimación: 2 horas
2.5.4.2 Diseño
Diseñar el sistema a construir.
2.5.4.2.1 Diseño de clases de lógica de negocio
Partiendo de los casos de uso y clases de análisis se identifican las clases y métodos principales. Además de ampliar el diagrama de clase de análisis para y entrar en más detalle.
Estimación: 70 horas.
2.5.4.2.2 Revisión
Corresponde al tiempo invertido en la revisión de las tareas hechas durante el diseño para evitar los errores que se pueden acumular para las siguientes fases
Estimación: 8 horas.
PFC de NABILA ANOU
22
2.5.4.3 Construcción
2.5.4.3.1 Implementación
Corresponde con las tareas necesarias para la implementación del sistema:
Escribir el código necesario para las clases de lógica de negocio, más la gestión de la persistencia de los datos que se usa para realizar dichos procesos.
Estimación: 28 horas
2.5.4.3.2 Clases de prueba
Las pruebas unitarias para la aplicación, probar si los datos actualizados en FileMaker se modifican también en MySQL, es decir mirar si funciona bien la sincronización, y comprobar que la exportación de los datos se hizo de manera correcta.
Estimación: 14 horas
2.5.4.3.3 Documentación
Esta tarea corresponde con la documentación de esta fase de construcción.
Estimación: 3 horas
2.5.5 Formación
Corresponde con el proceso de formación y familiarización con las tecnologías que se usarán durante el desarrollo del proyecto.
Estimación: 45 horas.
2.5.6 Memoria
Esta tarea incluye el estudio de la documentación sobre proyectos anteriores, y la creación del documento Memoria del proyecto.
La duración de esta tarea comprende toda la vida del proyecto, puesto que la memoria está sujeta a continuas actualizaciones a medida que se van completando las tareas.
PFC de NABILA ANOU
23
Estimación: 30 horas.
2.5.7 Manuales
Generar manual completo en formato pdf para el administrador encargado del mantenimiento y gestión de la página Web.
Estimación: 20 horas
2.5.8 Defensa
Esta tarea incluye la preparación de la presentación del proyecto con los aspectos más importantes discutidos en la memoria, y la defensa del proyecto ante el tribunal.
Estimación: 13 horas
2.6 Estimaciones globales
Las estimaciones globales correspondientes con los paquetes principales de la estructura de descomposición del trabajo son las siguientes:
Dirección-Gestión del proyecto: 38 horas Iniciación: 12 horas 1ª Parte del proyecto: 106 horas
o Análisis: 12 horas o Diseño: 54 horas o Construcción: 40 horas
2ª Parte del proyecto: 140 o Análisis: 17 horas o Diseño: 78 horas o Construcción: 45 horas
Formación: 45 horas. Manuales: 20 horas Memoria: 30 horas. Defensa: 13 horas. Total: 404 horas.
PFC de NABILA ANOU
24
Figura 2.6.1) Distribución de horas estimada
9% 2%
27%
36%
10%
5% 8%
3%
Dirección y Gestion Iniciación
1ª Parte
2ª Parte
Formación
Manuales
Memoria
Defensa
25
2.7 Diagrama de Gantt
26
2.8 Riesgos
Se pasa a describir las categorías de riesgo que pueden afectar al proyecto así como a cuantificar la probabilidad de que sucedan y cuándo pueden afectar:
Cambios en los requisitos: Pueden surgir nuevas necesidades respecto a la funcionalidad pedida inicialmente o incluso podría poder recortarse el alcance de los mismos en caso de que surgiera una imposibilidad técnica a la hora de su realización u ocupara más tiempo del previsto en la planificación, afectando de una manera decisiva en la entrega o el desarrollo posterior de la aplicación.
Probabilidad: Muy elevada.
Momento Previsto: En cualquier momento del proyecto, sobre todo en el análisis-diseño.
Plan de contingencia: Documentar los cambios en los requisitos y revisar el diseño actual del sistema para adaptarlo a las nuevas necesidades.
Errores de diseño, omisiones o malentendidos: Es probable que no se hayan entendido con exactitud ciertos requisitos que debe cumplir el sistema y que debido a esto se haya cometido un error de diseño en fases posteriores del proyecto, pudiendo afectar de forma negativa sobre su transcurso normal. También es posible que se haya omitido u olvidado cierta funcionalidad a la hora de recoger los requisitos funcionales del sistema, teniendo que ser en parte reconstruido en fases más avanzadas con el consiguiente retraso sobre la planificación prevista.
Probabilidad: Elevada.
Momento previsto: Durante todo el desarrollo del proyecto.
Plan de contingencia: Se deberán corregir los errores y documentarlos.
Estimaciones mal realizadas o poco realistas: Consiste en la mala estimación de tiempo asignado en las tareas a realizar en el proyecto. Habitualmente esta estimación no coincide con el tiempo real debido a la inexperiencia en realizar planificaciones. También hay que destacar que es un riesgo que puede afectar de forma negativa y de forma positiva.
Probabilidad: Segura.
Momento previsto: Durante todo el desarrollo del proyecto. Plan de Contingencia: si se produce al alza, es decir, se ha empleado menos tiempo del esperado, no se debe hacer nada. Por el contrario si se produce a la baja se podría reducir el alcance del sistema, dedicar más tiempo a la realización del proyecto o retardar la fecha de entrega.
Proyectante poco especializado o experimentado: Es posible que debido a la poca especialización tanto técnica como teórica o la relativa inexperiencia se produzcan
PFC de NABILA ANOU
27
retrasos en la construcción, análisis... Podría decirse que es el riesgo que más influye sobre los otros riesgos.
Probabilidad: Segura.
Momento previsto: Durante todo el desarrollo del proyecto.
Plan de contingencia: Dedicar tiempo a formarse en tecnologías y metodología de uso en el proyecto.
Falta de recursos: Consiste en la no disposición de recursos para la consecución efectiva de ciertas tareas del proyecto. La falta de estos recursos puede impedir la realización de esas tareas o retrasarla.
Probabilidad: Baja.
Momento Previsto: Durante todo el desarrollo del proyecto.
Plan de contingencia: Informar al director para pactar las medidas que sean necesarias.
Pérdida de información o de archivos: Por alguna causa ajena, el contenido de archivos se ha corrompido, perdido o borrado. También puede producirse debido a un conflicto entre versiones.
Probabilidad: Media.
Momento previsto: Durante todo el desarrollo del proyecto.
Plan de contingencia: Se debe crear un plan de recuperación, y necesidad de realizar copias de seguridad para recuperar las últimas versiones.
Ausencia del Proyectante por causa justificada: Se produce debido a enfermedades, trabajo, situación personal…
Probabilidad: alta.
Momento previsto: durante todo el desarrollo del proyecto.
Plan de contingencia: el mismo que en el caso de estimaciones a la baja.
Carga lectiva inesperada: consiste en un gasto de tiempo mayor del esperado en el desarrollo de las actividades de estudio habituales del proyectante.
Probabilidad: Segura.
Momento previsto: Durante todo el desarrollo paralelo del proyecto con el plan de estudios.
Plan de contingencia: El mismo que en el caso de estimaciones a la baja.
PFC de NABILA ANOU
28
Problemas técnicos: Ocurrirá cuando no dispongamos de los medios técnicos para el desarrollo del proyecto, como pueden ser cortes de luz prolongados, roturas del computador, o pérdida de información.
Probabilidad: Baja
Momento previsto: Durante todo el desarrollo del proyecto.
Plan de contingencia: Como medida preventiva se realizarán copias de seguridad tanto de la documentación, como de la jerarquía de clases y los datos, de modo que sean recuperables desde dispositivos externos. Además, en caso de rotura de ordenador, se dispone de otros dos ordenadores más que pueden servir como solución temporal del problema.
2.9 Entregables
Durante el desarrollo del proyecto se generarán y entregarán los siguientes productos:
Memoria del proyecto:
o Documento de objetivo del proyecto. o Documento de análisis de requisitos de la 1ª Parte. o Documento de diseño de la 1ª Parte. o Documento de análisis de requisitos de la 2ª Parte. o Documento de diseño de la 2ª Parte.
Producto final: La plataforma completa se compondrá de: Aplicación Web que representa la información de la producción científica de
los investigadores de la universidad de La Rioja, esta aplicación extrae datos de una base de datos MySQL (InvestigadoresUR).
Programa de exportación de datos: Programa hecho en php, y con la api de FileMaker para php que permite exportar los datos almacenados en la bases de datos FileMaker en la base de datos MySQL.
Programa de Sincronización: un programa también hecho en php y con la api de FileMaker para php que sincroniza la base de datos MySQL con las bases de datos FileMaker.
Listado de pruebas de integración
PFC de NABILA ANOU
29
3. Capítulo III: Análisis
3.1 Análisis 1ª parte del proyecto: Reingeniería de la aplicación Web
3.1.1 Descripción general del proceso
Este proyecto fin de carrera en esta primera parte consiste en resolver un problema de rendimiento de una aplicación web hecha contra FileMaker que recoge la producción científica de los investigadores de la Universidad de La Rioja y que cuando se conectan varios usuarios o incluso cuando se conecta un único usuario a la web tiene un rendimiento muy malo.
Aunque este problema puede ser relacionado con varias causas, por ejemplo, el mal diseño a de las base de datos, la forma de implementar, etc., el cliente piensa que eso es una consecuencia del uso de FileMaker como motor de búsqueda (que no es muy adecuado para esa tarea).
Por eso lo que se pretende en esta primera parte del proyecto es hacer una reingeniería de esta aplicación: mantener la interfaz Web, pero en vez de trabajar sobre FileMaker hay que rediseñar estas bases de datos FileMaker y construir una base de datos MySQL en la que se van guardando solo los datos que se quieren presentar en la Web. Lo más fácil será hacer un clon de todas la base de datos FileMaker y convertirlas en bases de datos MySQL pero no sabemos cómo afectaría esto al rendimiento de la aplicación que es más o menos el problema principal que se quiere resolver en esta primera parte del proyecto. Lo que se está pensando es exportar datos concretos de unas tablas concretas de estas tres bases de datos que vamos a necesitar para construir la aplicación Web.
Los datos están distribuidos en tres bases de datos FileMaker:
-UsuariosBur
-investiga
-absys_espejo
En conclusión la plataforma a desarrollar tratará sobre una aplicación Web contra una base de datos MySQL en la que se almacenan de las bases de datos FileMaker solo los datos que serán representados en la Web.
La aplicación está basada en una arquitectura cliente-servidor de tres capas con cliente ligero (thin-client) donde la lógica de negocio y la persistencia residirán en el mismo servidor.
PFC de NABILA ANOU
30
Las consultas se hacen de la siguiente manera: A través de la página Web se puede consultar la información correspondiente a los investigadores de la Universidad de La Rioja. O bien con, más detalle:
Mostrar un listado de los investigadores de cada una de las letras del alfabeto, o sea que en la página Web de los investigadores aparecen todas las letras del alfabeto y al seleccionar cualquiera de estas letras aparece el listado de los investigadores cuyo apellido empieza por esta letra.
Ordenar el listado de los investigadores por apellido. Mostrar información de un determinado investigador. Esta información incluye
además del nombre y los apellidos, la facultad, el departamento, el área de conocimiento, los grupos de investigación a los que pertenece, la tesis doctoral y los artículos que ha publicado.
Mostrar un listado de los departamentos de la Universidad de La Rioja. Mostrar información correspondiente a cada departamento, es decir de los
investigadores que pertenecen a este departamento. Mostrar un listado de los institutos y centros de investigación con los que
trabaja cada uno de los departamentos de la universidad. Mostrar las asignaturas que imparte cada investigador. Mostrar un listado de los artículos de cada investigador. Mostrar un listado con todas las personas que pertenecen a un determinado
departamento (aunque no sean investigadores). Mostrar un listado de los componentes del centro de investigación, es decir
con los nombres de los investigadores de cada centro.
Figura 3.1.1) Descripción general del objetivo del proyecto
PFC de NABILA ANOU
31
3.1.2 Descripción de los términos
Aplicación Web: El nombre asignado a la página Web que recoge la información de la producción científica de los investigadores de la Universidad de La Rioja.
Investigador: Todo Personal de la Universidad de La Rioja que pertenece a algún grupo de investigación.
Reingeniería de la aplicación Web: Se trata de hacer un cambio total de la aplicación hecha contra FileMaker, manteniendo la interfaz Web.
Producción científica: se refiere a las publicaciones de los libros y los artículos de los investigadores de la Universidad de La Rioja.
UsuariosBur : UsuariosBur es una base de datos en la que se recogen registros de los usuarios de la Universidad de La Rioja a los que se dan servicios bibliotecarios que no están contemplados en Absys (aplicación con la que se gestiona la Biblioteca), como por ejemplo el servicio de préstamo interbibliotecario. Está relacionada con otros proyectos de la Biblioteca como la Web de la bibliografía básica de las distintas asignaturas de grado (BIBA: http://biblioteca.unirioja.es/biba/) y lo que se quiere es que sirva para definir los investigadores de la Universidad que deben aparecer en el futuro repositorio de la Universidad de La Rioja.
Investiga: es una base de datos en la que se importan registros de la aplicación Universitas XXI correspondientes a los trabajos de investigación que han sido publicados. Es una base de datos que, relacionada con UsuariosBur, queremos que sirva como base para experimentar la creación de un repositorio de la producción científica de la UR.
Absys_espejo: es una base de datos en la que se importan los registros de la aplicación Absys (la aplicación con la que se gestiona la biblioteca). La usamos para poder enriquecer los registros bibliográficos con datos (imágenes de portadas,...) que no tienen cabida dentro de la aplicación, con la idea de poder generar otros productos y servicios distintos a los que ofrece el catálogo de la biblioteca. Está relacionada con otros proyectos de la biblioteca como la web de la bibliografía básica de las distintas asignaturas de grado (BIBA:http://biblioteca.unirioja.es/biba/) o la web del Rincón del lector (http://biblioteca.unirioja.es/rincon_lector), y el objetivo es poder relacionarla con el repositorio de la producción científica de la Universidad de La Rioja, en el caso de los libros escritos por investigadores de la Universidad o de los libros en los que hayan tenido alguna participación.
PFC de NABILA ANOU
32
3.1.3 Características de los usuarios
Hay dos tipos de usuarios para la aplicación:
Usuario Web: Se trata de los usuarios que entran en la Web para consultar la información de los investigadores de la Universidad como sus producciones científicas, estos usuarios pueden navegar a través de la Web y realizar búsquedas.
Administrador de la aplicación: Se encarga de las tareas de mantenimiento de la página web, y actualización de la bases de datos.
3.1.4 Modelos de casos de uso
Este apartado está dividido en:
Diagrama de casos de uso: Presenta los casos de uso, los actores y las relaciones que existen entre ellos. Actores: Describe los actores que aparecen en el Diagrama de casos de uso. Especificación de casos de uso: describe cada uno de los casos de uso que se presentan en el Diagrama de casos de uso especificando: Su definición. Los actores con los que está relacionado. Los requisitos que implementa. Cada uno de los escenarios en los que se puede sustanciar el caso de uso,
incluyendo su precondición, postcondición, detalle de operaciones y un diagrama de actividad si se estima necesario.
Es destacable que la estructura anterior permite gestionar el impacto que un cambio de requisitos tiene en el sistema. Al registrar en cada caso de uso los requisitos que implementa, es sencillo y rápido localizar la funcionalidad programada afectada por un cambio de requisitos.
PFC de NABILA ANOU
33
3.1.4.1 Diagrama de casos de uso
Mostrar listadoinvestigadores de una letra
Mostrar informacionde un investigador
MostrarDepartamentos
Mostrarinformacion departamento
Mostrar institutos ycentros de investigación
Mostrar Grupos deInvestigacion
Consultar listadoordenado por apellido
Mostrar informacion de undeterminado grupo de
investigacion
Administrador Usuario Web
Mostrar información de undeterminado centro de
investigación
«uses»
Tareas Gestion Web
Actualizar datos
Hacer BusquedasHacer busqueda por
autor
Hacer Busqueda portitulo
«extends»
«extends»
Mostrarpublicaciones investigador
Figura 3.1.4.1) Diagrama de casos de uso
PFC de NABILA ANOU
34
3.1.4.2 Actores
Hay dos tipos de Actores:
Administrador del sistema Usuario Web
3.1.4.2.1 Administrador del sistema
Identificación:
Este rol se corresponde con el de un usuario que se ha registrado en el sistema y es administrador del mismo.
Contexto:
Incluye a los usuarios que se han registrado en el sistema, y son administradores, por lo tanto dispondrán de ciertos privilegios e información adicional que les permite un control total sobre el sistema.
Objetivos:
El objetivo de este usuario es el de acceder a la aplicación con un usuario y un password de forma que pueda beneficiarse de la aplicación, pero que además pueda cambiar la información mostrada y controlar el proceso de sincronización entre los dos SGBD FileMaker y MySQL.
3.1.4.2.2 Usuario Web
Identificación:
Cualquier usuario final de la aplicación pertenecerá a este rol. Por lo tanto podrá realizar casi todas las funciones que en la aplicación se han diseñado.
Contexto:
Incluye a los usuarios que van a usar las web para consultar la información de los investigadores que ofrece nuestra aplicación, para consultar dicha información no hace falta registrarse.
PFC de NABILA ANOU
35
Objetivos:
El principal objetivo de este rol, es dejar disponible la información de la producción científica de los investigadores de la Universidad de La Rioja disponible a todos los usuarios interesados en consultarla.
3.1.4.3 Especificaciones de casos de uso
3.1.4.3.1 Mostrar un listado de investigadores de una letra
Representa la acción de consultar el listado de los investigadores de la Universidad cuyo apellido empieza por la misma letra.
Precondición: La información de cada uno de los investigadores debe estar almacenada en la base de datos.
Postcondición: El usuario a través de la Web puede consular la información de todos los investigadores de la letra seleccionada.
3.1.4.3.2 Ordenar el listado de los investigadores por apellido
Representa la función de ordenar los investigadores por orden alfabético por apellido.
Precondición: Los investigadores deben de estar almacenados en la base de datos.
Postcondición: El usuario Web puede consultar los datos de un investigador ordenado por apellido.
3.1.4.3.3 Mostrar información de un determinado investigador
Mostrar la información correspondiente a cada investigador: Nombre completo, grupos de investigación a los que pertenece, su departamento, facultad, área de conocimiento, sus publicaciones, etc.
Precondición: El investigador debe pertenecer a algún grupo de investigación de la Universidad de La Rioja.
Postcondición: Los usuarios Web pueden consultar la información de todos los investigadores de la Universidad de La Rioja.
PFC de NABILA ANOU
36
3.1.4.3.4 Mostrar un listado de todos los departamentos
Consultar un listado con los nombres de todos los Departamentos de la Universidad
Precondición: Los departamentos deben de estar almacenados en la base de datos.
Postcondición: El usuario Web puede consular un listado de todos los departamentos de la Universidad.
3.1.4.3.5 Mostrar información de cada departamento
Representa el hecho de consultar el listado de los departamentos de la Universidad de La Rioja, la información correspondiente: nombre del departamento, su director, la web del departamento y los investigadores que pertenecen a cada uno de ellos
Precondición: El departamento tiene que tener por lo menos un investigador.
Postcondición: El usuario web puede consultar un listado de los investigadores que pertenecen a un determinado departamento, más la información de ese departamento.
3.1.4.3.6 Mostrar un listado los institutos y centros de investigación
Mostrar un listado con todos los institutos y centros de investigación con los que trabaja la Universidad de La Rioja.
Precondición: Los institutos y centros de investigación tienen que estar relacionados con la Universidad.
Postcondición: El usuario Web puede consultar la información de todos los institutos centros de la investigación con los que trabaja la Universidad de La Rioja.
3.1.4.3.7 Mostrar información de una investigación
Mostrar la información correspondiente a una determinada investigación: el título, el nombre del investigador, la ficha de publicación…
Precondición: La investigación debe pertenecer a uno de los investigadores actuales de la Universidad.
PFC de NABILA ANOU
37
Postcondición: El usuario Web puede consultar la información de todas las investigaciones de los investigadores de la Universidad.
3.1.4.3.8 Mostrar las publicaciones de cada investigador
Mostrar todas las Publicaciones de un determinado investigador de la Universidad de La Rioja, estas publicaciones pueden ser Artículos de Revistas, Colaboraciones en congresos, Libros, Artículos de Libros, Tesis Doctoral, Propiedad Industrial, etc.
Precondición: Cada publicación se muestra dependiendo de un determinado código de cada publicación en la base de datos CODIGOIAI:
Si el código empieza por AR se muestran los Artículos.
Si el código empieza por LM se muestran los Libros.
Si el código empieza por CO se muestran los Capítulos de Libro.
Si el código empieza por CC se muestra las Colaboraciones en Congresos.
Si el código empieza por TE se muestra la Tesis del investigador.
Si el código empieza por PI se muestra la Propiedad industrial del investigador.
Postcondición: El usuario Web puede consultar la información de todas las publicaciones de un investigador.
3.1.4.3.9 Mostrar un listado de los investigadores que pertenecen a un departamento
Mostrar un listado con los nombres de todos los investigadores que pertenecen a un determinado departamento.
Precondición: La información de los investigadores debe estar almacenada en la base de datos.
Postcondición: El usuario puede consultar la información de todos los investigadores que pertenecen a los departamentos de la Universidad.
3.1.4.3.10 Mostrar un listado de los componentes del centro de investigación
PFC de NABILA ANOU
38
Mostrar un listado de todos los investigadores que componen el instituto o centro de investigación.
Precondición: Las investigadores pueden pertenecer o no a un departamento de la universidad.
Postcondición: El usuario Web puede consultar la información de todos los componentes de los centros de investigación.
3.1.4.3.11 Mostrar un listado de los grupos de investigación
Mostrar un listado de todos los grupos de investigación de los investigadores de la Universidad de La Rioja
Precondición: La fecha final del funcionamiento del grupo de investigación debe ser mayor o igual que la fecha actual.
Postcondición: Los usuarios web pueden consultar el listado de todos los grupos de investigación de la Universidad.
3.1.4.3.12 Mostrar la información de un grupo de investigación
Mostrar la información correspondiente a un determinado grupo de investigación, el nombre, la web, departamento, además de un listado de investigadores que componen el grupo.
Precondición: El grupo de investigación debe seguir funcionando, y su información almacenada en la base de datos.
Postcondición: Los usuarios Web pueden consultar toda la información correspondiente a un determinado grupo de investigación.
3.1.4.3.13 Hacer búsquedas
Permitir al usuario buscar toda la información presentada en la Web, que corresponde a las producciones científicas de los investigadores de la universidad.
Precondición: La información buscada debe estar presentada en la Web.
Postcondición: El usuario Web puede acceder a una información concreta de un determinado investigador sin tener que navegar por todas las páginas.
PFC de NABILA ANOU
39
3.1.4.3.14 Búsqueda por título
Permitir al usuario hacer búsquedas por el título de la investigación.
Precondición: El titulo de la investigación tiene que coincidir con una investigación de los investigadores de la Universidad de La Rioja.
Postcondición: El usuario Web puede acceder a la información de una determinada investigación introduciendo el titulo.
3.1.4.3.15 Búsqueda por Autor
Permitir al usuario buscar toda la información de una determinada investigación introduciendo el nombre del investigador.
Precondición: El investigador tiene que estar en la lista de los investigadores de la universidad de La Rioja.
Postcondición: El usuario Web puede acceder a la información de una determinada investigación introduciendo el nombre del autor.
3.1.4.3.16 Tareas de Gestión Web
El administrador tiene que hacer las tareas de gestión y mantenimiento de la página Web.
Precondición: El acceso tiene que ser con nombre de usuario y contraseña.
Postcondición: El Administrador mantiene la página Web actualizada.
3.1.4.3.17 Actualizar Datos
El administrador del sistema debe encargarse de la tarea de mantener los datos mostrados en la Web actualizados, evitando las inconsistencias de los mismos.
Precondición: Tiene que haber modificaciones en las bases de datos FileMaker.
PFC de NABILA ANOU
40
Postcondición: El usuario Web siempre puede consultar la información de la producción científica de los investigadores de la Universidad de La Rioja actualizada con las últimas novedades.
3.1.5 Modelo conceptual
En este apartado veremos el diagrama de clases UML que forman la aplicación.
Para que no resulte demasiado pesado, no entraremos en mucho detalle sobre los métodos o aspectos más técnicos de las clases, pues se tratará este tema a fondo en el apartado correspondiente al diseño.
En este proyecto se va a seguir una arquitectura Cliente-Servidor de tres capas con el objetivo de separar la lógica de negocio de la capa de los datos (Persistencia) y de la capa de presentación al usuario.
3.1.5.1.1 Diagrama de clases de Análisis
La siguiente figura representa todas las clases necesarias para construir la aplicación Web:
PFC de NABILA ANOU
41
UsuarioBur
CentrosInvestigación
GruposInvestigaciónDepartamento Articulo Revista
Libro
General
BusquedaActividades
CapitulosLibro Catalogo
Autor
ISBN EditorialLibro Editores_Normalizados
Asigantura
AutoridadesEspejo Web
SumPubInvestigador
ScopusUR
Director
Figura 3.1.5.1) Diagrama de clases de análisis
3.1.5.1.2 Descripción de las clases
Clase Departamento: esta clase contiene los atributos y los métodos que permiten consultar la información de los departamentos de la Universidad de La Rioja.
Clase GrupoInvestigación: Contiene atributos y métodos que permiten consultar la información de los grupos de investigación de la Universidad de La Rioja.
Clase UsuarioBur: Contiene atributos y métodos que permiten consultar la información de los todos los investigadores de la Universidad.
Clase CentrosInvestigacion: Contiene los atributos y métodos que permiten consultar la información de los distintos institutos y centros de investigación con los que trabaja la Universidad de La Rioja.
Clase GeneralInvestigacion: Contiene los atributos y métodos que permiten consultar la información de todas las investigaciones de los investigadores y los
PFC de NABILA ANOU
42
grupos de investigación. Esta clase está relacionada con casi todas las clases necesarias para construir la aplicación.
Clase Actividad: Contiene los atributos y métodos que permiten consultar la información de todas las actividades de los investigadores de la Universidad de La Rioja.
Clase Revista: Contiene los atributos y métodos que permiten consultar la información de las actividades correspondiente a revistas.
Clase Libro: Contiene los atributos y métodos que permiten consultar la información de las actividades de correspondientes a libros.
Clase CapitulosLibro: Contiene los atributos y métodos que permiten consultar la información de capítulos concretos de un determinado libro.
Clase Congreso: Contiene los atributos y métodos que permiten consultar la información de los congresos en los que han estado los investigadores de la UR.
Clase Tesis: Contiene los atributos y métodos que permiten consultar la información de las tesis de los investigadores de la UR.
Clase Catalogo: Contiene los atributos y métodos que permiten consultar la información que está en el catálogo de la biblioteca que corresponde a la producción científica de los investigadores de la Universidad de La Rioja.
Clase AutoridadesEspejo: Contiene los atributos y métodos que permiten consultar la información de los autores de las distintas investigaciones.
Clase Autor: Contiene los atributos y métodos que relacionan a los investigadores con las investigaciones.
Clase Asignatura: Contiene los atributos y métodos que permiten consultar la información de toda las asignaturas que imparten docencia los investigadores.
Clase Busqueda: Contiene los atributos y métodos que permiten hacer búsquedas por autor o por título de cualquier información de la producción científica de los investigadores.
Clase ScopusUR: Contiene los atributos y métodos que permiten consultar la información de la base de datos ScopusUR, y acceder a todas sus referencias.
Clase Web: Contiene los atributos y métodos necesarios para mostrar las publicaciones de los investigadores.
Clase Director: Contiene los atributos y métodos para representar la información de los directores de departamentos.
Clase SumPubInvestigador: Contiene los atributos y métodos para calcular la suma de las publicaciones de los investigadores de la Universidad.
PFC de NABILA ANOU
43
3.2 Análisis Segunda parte del proyecto: Exportación y sincronización
3.2.1 Descripción general del proceso
Tal y como se ha comentado antes uno de los objetivos fundamentales de este proyecto fin de carrera es la sincronización entre los dos sistemas gestores de bases de datos FileMaker y MySQL.
Esta parte también se puede dividir en dos partes, la primera es la exportación de los datos desde las bases de datos FileMaker hacia la base de datos MySQL, y la segunda parte es la sincronización entre estos dos sistemas gestores de bases de datos.
FileMaker es el sistema Gestor de bases de datos con el que se trabaja en la Biblioteca, es donde se residen los datos de toda la información correspondiente a la producción científica de los investigadores de la Universidad de La Rioja. En este proyecto se trabaja sobre tres bases de datos: UsuariosBur, Investiga, Absys_espejo.
El objetivo de esta parte del proyecto en primer lugar es exportar de las tres bases de datos FileMaker a la base de datos MySQL la información de los investigadores de la Universidad y de sus producciones científicas, y en segundo lugar crear un programa que permite de forma automática que cuando se inserta algún dato o se actualiza en alguna tabla de las bases de datos FileMaker ese dato se inserta o se actualiza (según el caso) en la base de datos MySQL, así se puede representarlo en la Web, y en el caso de que se borra algún dato de alguna tabla de las bases de datos FileMaker este dato se tiene que borrar también de la base de datos MySQL.
3.2.2 Descripción de los términos
Exportación: Es el proceso de exportar los datos necesarios para representar en la Web desde las bases de datos FileMaker a la base de datos MySQL.
Sincronización de los datos: Cuando se inserta, se borra o se actualiza algún dato en alguna tabla de las tres bases de datos FileMaker estos datos pasan modificados a la base de datos MySQL.
PFC de NABILA ANOU
44
3.2.3 Características de los usuarios
En esta parte hay un único usuario que es el administrador del sistema, se encarga de actualizar los datos de las bases de datos FileMaker e insertar nuevos datos, también es el que se encarga del borrado de los datos. Además se encarga de las tareas de mantenimiento de las tres bases de datos FileMaker y de la base de datos MySQL.
3.2.4 Modelo de casos de Uso
3.2.4.1 Diagrama de casos de uso
Exportacion
Actualizacion delos datos
Borrado de losdatos
Insercion de datos
Administrador
Figura 3.2.4.1) Diagrama de casos de uso
3.2.4.2 Especificación de casos de uso
3.2.4.2.1 Exportación
Representa el proceso de la exportación de los datos reales desde las bases de datos FileMaker a la base de datos MySQL.
Precondición: Hay que respetar las relaciones entre las tablas, y exportar solo los datos necesarios para presentarlos en la Web, no todo el contenido de las tablas.
Postcondición: Las tablas diseñadas para la aplicación Web, tienen todos los datos de los investigadores de la Universidad y de sus producciones científicas.
PFC de NABILA ANOU
45
3.2.4.2.2 Actualización de los datos
Representa la acción de cuando se actualiza algún dato en alguna tabla de alguna de las tres bases de datos FileMaker ese datos se tiene que actualizar también en la base de datos MySQL.
Precondición: El dato que se va a actualizar tiene que tener en FileMaker la fecha de modificación mayor que la última fecha de modificación en MySQL.
Postcondición: El dato modificado tiene que aparecer en la base de datos MySQL, y los usuarios Web pueden consultarlo.
3.2.4.2.3 Inserción de los datos
Representa la acción de que cuando se inserta algún dato nuevo en alguna tabla de las bases de datos FileMaker, este dato se tiene que insertar también en la base de datos MySQL.
Precondición: El dato no tiene que existir antes en la base de datos MySQL.
Postcondición: El nuevo dato aparece también en la base de datos MySQL, y los usuarios pueden consultarlo a través de la Web.
3.2.4.2.4 Borrado de los datos
Representa la acción de borrar algún dato de alguna tabla de las bases de datos FileMaker y que este dato se tiene que borrar también de las tablas correspondientes en la base de datos MySQL.
Precondición: El dato tiene que estar en alguna de las tres bases de datos FileMaker
Postcondición: El dato borrado de la base de datos FileMaker se tiene que borrar de la base de datos.
3.2.5 Modelo conceptual
3.2.5.1 Exportación
PFC de NABILA ANOU
46
Las clases UML que forman esta parte de aplicación son las mismas clases de la parte anterior, y para el proceso de exportación se añaden las clases GestorMySQL y GestorFileMaker y la clase Exportacion que se va a encargar del proceso de exportar los datos desde las bases de datos FileMaker hacia la base de datos MySQL.
3.2.5.1.1 Diagrama de clases de análisis
GestorMySQL GestorFileMaker
Exportacion
Figura 3.3) Diagrama de clases de análisis Exportación
3.2.5.2 Sincronización
Para esta parte de sincronización también se necesitan los objetos de negocio de la primera parte y las clases GestorMySQL y GestorFileMaker creadas en la parte de exportación (el proceso de exportación de datos se hizo pensando en la sincronización).
3.2.5.2.1 Diagrama de clases de análisis
Figura 3.2.5.2) Clases análisis Sincronización
PFC de NABILA ANOU
47
3.3 Documento especificación de requisitos
3.3.1 Referencias
IEEE STD 830 1998: Especificaciones de los requisitos del software.
3.3.2 Apreciación global de este documento
El siguiente apartado pretende explicar el sistema a desarrollar y los documentos de especificación de requisitos que se deben cumplir una vez terminado este proyecto.
3.3.3 Tecnologías y recursos
Lenguajes de programación:
PHP: Es un lenguaje de programación interpretado diseñado originalmente para la creación de pagina web dinámicas, con acceso a la información almacenada en las bases de datos.
Sistema gestor de base de datos:
MySql: Se ha escogido este sistema gestor de bases de datos porque al cliente le interesa que sea el sistema gestor de bases de datos para recoger los datos que quiere presentar en la Web.
El servidor Web:
Apache: Es un Servidor Web HTTP, de código abierto .Es usado principalmente para enviar páginas Web dinámicas y estáticas en la Word Wide Web. Además Apache es el componente de Servidor Web en la popular plataforma de aplicaciones LAMP junto a MySQL y PHP.
Otro sistema gestor de bases de datos:
FileMaker Pro: Otro sistema gestor de bases de datos, usado por el personal de la biblioteca, es donde realmente residen los datos de los investigadores de la Universidad de La Rioja.
Servidor FileMaker
PFC de NABILA ANOU
48
FileMaker Server: El servidor donde se alojarán las bases de datos FileMaker para la sincronización con la base de datos MySQL.
El sistema de gestión de contenidos:
Drupal: Un sistema de gestión de contenidos usado para construir la Web, es propuesto por Joaquín León, el subdirector de la biblioteca como condición para construir el sitio Web.
3.3.4 Especificación de Requisitos
3.3.4.1 Requisitos Funcionales
A continuación enumeraremos la lista de Requisitos Funcionales Globales (RFG):
RFG 1: A través de Internet el usuario puede navegar por la página web. RFG 2: El sistema debe permitir al usuario consultar la información de los
investigadores de la Universidad de La Rioja. RFG 3: El sistema debe permitir al usuario consultar la información de todas
las investigaciones de estos investigadores. RFG 4: El sistema debe permitir al usuario consultar los distintos centros e
institutos con los que trabaja la Universidad de La Rioja. RFG 5: El sistema debe permitir al usuario hacer búsqueda por autor (Nombre
del investigador) o por título (Título de la investigación). RFG5: El sistema debe permitir consultar la información de todos los grupos
de investigación que forman los investigadores de la Universidad. RFG6: El sistema debe permitir que las actualizaciones, modificaciones, o
borrado de cualquier datos en las bases de datos FileMaker pasen a la base de datos MYSQL, y por lo tanto a la Web.
3.3.4.2 Requisitos no funcionales
3.3.4.2.1 Requisitos de operación
A continuación se enumeran la lista de Requisitos de Operación Global (ROG)
ROG1. La plataforma debe permitir el acceso multiusuario a la aplicación.
ROG2. La plataforma debe permitir el acceso concurrente a la aplicación.
PFC de NABILA ANOU
49
3.3.4.2.2 Requisitos de rendimiento
A continuación se enumeran la lista de Requisitos de Rendimiento (RR): RR1. Se debe garantizar que cualquier usuario que quiera utilizar la aplicación web, pueda acceder a ella a través de cualquier navegador (Explorer, mocilla, etc.) y su correcto funcionamiento en ella. Además que cuando haya un acceso concurrente la aplicación debe tener un buen rendimiento.
3.3.4.2.3 Requisitos de Desarrollo
En este apartado se enumeran una serie de Requisitos de desarrollo: RD1. El sistema deberá mostrar el contenido de una página en un tiempo razonable, es decir, de media no deberá de superar los 10 segundos. RD2. El sistema deberá mostrar el editor de páginas en un tiempo razonable, es decir, de media no deberá de superar los 20 segundos. RD3. El sistema deberá mostrar la búsqueda en un tiempo razonable, es decir, de media no deberá de superar los 10 segundos por petición de búsqueda.
3.3.4.2.4 Requisitos de documentación
A continuación se enumeran la lista de Requisitos de documentación (RD):
RD1. La plataforma contará con manuales de usuario de las distintas partes del proyecto.
3.3.4.2.5 Requisitos de navegador
RN1. El navegador web debe soportar CSS.
PFC de NABILA ANOU
50
4. Capítulo IV: Diseño
En este capítulo se tratan los temas referentes al diseño de la aplicación entre los que se encuentran:
El Diseño del Modelo de Datos: Incluye el Diagrama Entidad/Relación y la definición del modelo de datos que da soporte a la aplicación.
La Arquitectura Software: describe la separación en capas de la aplicación y describe las funcionalidades e interrelaciones de las clases que las conforman.
El Diseño de la Interfaz: Al principio, en las primeras reuniones con el cliente, nos ha dejado claro que no tiene intención de cambiar la interfaz, y que lo único que le interesa es cambiar el sistema gestor de base de datos de FileMaker a MySQL para mejorar el rendimiento de la aplicación.
Pero después, el cliente Joaquín León (el subdirector de la Biblioteca) propuso construir la aplicación Web con un sistema gestor de contenidos Drupal, y me ha resultado más fácil crear una nueva interfaz que mantener la anterior, por eso también conviene diseñar la nueva interfaz web.
Desde el punto de vista lógico, descomponemos el sistema en las tres capas habituales: Presentación, lógica de negocio y persistencia. A continuación la figura 4.1.1) muestra dicha descomposición.
Figura4.1.1) Diagrama de Descomposición de capas Lógicas
Capa Presentación
Capa Lógica de Negocio
Capa Persistencia
PFC de NABILA ANOU
51
Capa de Presentación: Se corresponde con la presentación. Es la capa encargada de interactuar con los usuarios y con las capas inferiores, es como una especie de “puente” la aplicación más de bajo nivel de comunicación con el usuario final. Esta capa facilita mucho el trabajo, pues es la encargada de presentar un interfaz cómodo y agradable para el usuario. Capa de persistencia: Formada por el módulo Persistencia que contiene la clase Persistencia, que se encargará de acceder a la base de datos. Capa de lógica de negocio: Esta capa es la que se encarga de realizar las operaciones y contiene clases representativas de algunos objetos con los que se trabaja en la biblioteca, y los que se requiere representar en la Web.
4.1 Diseño de la base de datos
El diagrama de entidad relación de la figura 4.1.2.) representa todas las entidades que forman parte del sistema así como sus relaciones. No se han representado los atributos para simplificar el diagrama. De las tres bases de datos FileMaker: UsuariosBur, Absys_espejo e Investiga, se recoge solo la información relacionada con la pro