trabajo fin de estudios · a miriam andrés gómez: la persona que me ayudó cuando más lo...

194
TRABAJO FIN DE ESTUDIOS Reingeniería de una aplicación web FileMaker para una biblioteca Nabila Anou PROYECTO FIN DE CARRERA Tutor: Julio Rubio García Curso 2011-2012

Upload: others

Post on 21-Apr-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

  • 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: [email protected]

    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