scieee AI-readable full text Open interactive document viewer

MILITULI: Mi Libro Tu Libro

García Barroso, Cristian,Conde Calvillo, Rubén

Abstract

Ingeniería Técnica en Informática de Gestión

Full text

E.U. De Informática (Segovia) Ingeniería Técnica en Informática de Gestión MILITULI Mi Libro Tu Libro Junio 2013 – Octubre 2013 Realizado por: Rubén Conde Calvillo Cristian García Barroso Tutor: Juan José Álvarez Sánchez MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 2 ÍNDICE 1 Descripción General del Proyecto .....................................................................pag 3 1.1 Objetivos y Características de la Aplicación.......................................pag 3 1.2 Motivación...........................................................................................pag 6 2 Cuestiones Metodológicas .......................................... .....................................pag 7 3 Planificación y Presupuesto ..............................................................................pag 8 3.1 Estimación .........................................................................................pag 8 3.2 Calendario del Proyecto y Presupuesto ............................................pag 12 4 Documentación Técnica: Análisis .................................................................... pag 17 4.1 DRS: Objetivos del Sistema ..............................................................pag 17 4.2 DRS: Requisitos de Información .......................................................pag 22 4.3 DRS: Restricciones de Información ..................................................pag 30 4.4 DRS: Requisitos Funcionales ........................................................... pag 36 4.5 DRS: Requisitos No Funcionales ..................................................... pag 82 4.6 Modelo Estático del Sistema ............................................................ pag 86 4.7 DAS: Diagrama de Clases ................................................................pag 88 4.8 DAS: Tipo de Objetos y Asociaciones ..............................................pag 89 4.9 DAS: Diagramas de secuencia del sistema ......................................pag 113 4.10 DAS: Diagramas de estados del sistema ........................................pag 126 5 Documentación Técnica: Diseño ...................................................................... pag. 139 5.1 Modelo de Comportamiento del Sistema .......................................... pag 139 5.2 Diseño Base de Datos: Modelo Entidad-Relación ............................ pag 141 5.3 Diseño Base de Datos: Modelo Relacional........................................ pag 144 5.4 Diseño Web .......................................................................................pag. 158 5.5 Restricciones de Diseño.....................................................................pag. 162 6 Implementación ................................................................................................ pag 163 7 Pruebas ............................................................................................................ pag 165 7.1 Pruebas de Instalación ......................................................................pag 165 7.2 Pruebas de sistema ...........................................................................pag. 165 7.3 Pruebas de Funcionalidad .................................................................pag 167 7.4 Pruebas de Caja Negra .....................................................................pag 171 8 Manuales de Usuario ........................................................................................pag 181 8.1 Manual de Instalación ...................................................................... pag 181 8.2 Manual de Uso .................................................................................. pag 189 9 Conclusión y Ampliaciones .............................................................................. pag 198 10 Bibliografía ...................................................................................................... pag 200 MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 3 1 Descripción General del Proyecto 1.1 Objetivos y características de la aplicación El objetivo principal del proyecto será el desarrollo de una aplicación web que gestione el intercambio de libros de texto entre usuarios, estos usuarios podrán solicitar libros de un único centro educativo o de varios ya que la base de datos será común para los usuarios de todos los centros educativos. Además, los centros educativos podrán darse de alta en la base de datos y poder publicar listados de libros pertenecientes a cada año académico. Se ha realizado la aplicación web de una manera lo más intuitiva posible, separando las tareas propias del administrador de las del usuario general. Los usuarios se deberán registrar en la página para acceder a la información. Para ello, introducirán datos personales mediante un formulario y se almacenarán en una base de datos. El usuario de identificara a través de un DNI y su clave de acceso. Un usuario no registrado podrá acceder a la aplicación web (portal) pero tendrá un acceso más restringido. Un usuario ya registrado puede realizar varias acciones: añadir un ejemplar que quiera prestar, o bien, buscar un libro que desea conseguir así como gestionar la información de su perfil de usuario. Para añadir un ejemplar, es decir para poner en préstamo bastará con introducir los datos del mismo en un formulario que se mostrará en pantalla al usuario. Una vez esté relleno, los datos de dicho ejemplar quedarán almacenados en la base de datos. Cuando otro usuario realice una solicitud de ese mismo libro y ambos acepten el intercambio, se enviará un correo electrónico a la cuenta de correo del usuario que registró el libro, para informarle de que existe una petición para un determinado libro almacenado por el usuario anteriormente citado. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 4 Cuando un usuario quiera buscar un libro tendrá que dirigirse a la sección de búsqueda en la cual podrá elegir entre diversos tipos de búsqueda: por ISBN, por Materia, curso … y almacenar en su perfil un listado de libros solicitados de tal manera que cuando se realice una inserción en la base de datos coincidente con su búsqueda el usuario o usuarios reciban un aviso en la aplicación web. Por su parte, cada centro educativo podrá darse de alta en nuestra aplicación con el fin de publicar los listados de los libros que usará cada año académico. Además podrá gestionar la información perteneciente a su perfil. Los usuarios registrados tendrán acceso al listado de los libros publicado por cada uno de los centros educativos que estén dados de alta en el sistema. Para el alojamiento de la aplicación web y de la base de datos los requisitos iniciales serian: Servidor web que soporte aplicaciones Java. Ej: Apache Tomcat, Jetty, GlassFish, etc.. Servidor de base de datos: Mysql Para el periodo de desarrollo los dos servicios pueden convivir en el mismo servidor físico. Conteniendo el Servidor web + aplicación y la base de datos. Idealmente en un entorno de producción deberían existir dos servidores Frontend que contengan el servidor web y la aplicación y otros dos servidores que contengan un cluster activo-pasivo o activo-activo con la base de datos para dotar de alta disponibilidad a la arquitectura del sistema. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 5 1.1.1. Funcionalidades de la aplicación Se explican las funcionalidades de los diferentes tipos de usuarios que interactúan con la aplicación. - Usuario:  Añadir nuevo ejemplar.  Editar perfil de usuario.  Visualizar listado de libros de los centros educativos.  Búsqueda de ejemplares.  Visualización, Aceptación, Rechazo y Eliminación de Notificaciones.  Búsqueda de libros.  Visualización de video tutoriales.  Borrar o modificar los ejemplares introducidos. - Centro Educativo:  Crear listado de nuevo año académico.  Cargar listado del año académico anterior en el actual.  Editar perfil de Centro Educativo.  Borrado de libros añadidos por el propio centro.  Visualización de video tutoriales. - Administrador:  Visualización y Eliminación de Usuarios.  Visualización y Eliminación de Centros Educativos.  Visualización y Eliminación de Libros.  Modificación de los datos de Administrador. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 6 1.2. Motivación Antes de comenzar nuestro proyecto nos entrevistamos con varias personas de diversas asociaciones de madres y padres (AMPA) y con alguna persona de la FEDAMPA. Además, de padres y madres que tienen niños en algún centro educativo. Todos coincidieron en que les atraía la idea y les gustaría poder disponer de una aplicación como la que teníamos en mente. Nos resolvieron algunas incógnitas que teníamos acerca de los cambios de libros en los centros educativos y otras cuestiones que nos facilitarían el trabajo y nos ayudarían a crear una plataforma que se adaptase lo más posible a sus necesidades. Entre otras cosas, les preguntamos cómo les gustaría que fuese la aplicación y qué esperarían encontrar en ella. Así cómo las diversas maneras mediante las cuales les gustaría poder comunicarse. Las respuestas fueron similares en todos ellos. Les gustaría encontrarse con una aplicación muy amigable y muy sencilla de usar. Con búsquedas de libros y listados de libros por centro, ciclo, curso y materia. Toda esta relación de libros que fuese rápida y accesible. La forma de comunicación, nos sugirieron que preferían vía email antes que sms puesto que gracias a los Smartphone pueden acceder al correo inmediatamente cuando ellos lo deseen. Algunos de ellos, los más interesados, nos sugirieron ampliaciones o ideas que ellos valorarían, como por ejemplo añadir en el perfil de usuario un grado de fiabilidad. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 7 2. Cuestiones Metodológicas Para la realización de este proyecto hemos optado por el modelo Incremental con Iteraciones que usan modelo en Cascada, es decir, al final de cada Iteración, tendremos un producto acabado que cumplirá una serie de funcionalidades respecto del producto final. Cada Iteración se compone de análisis, diseño, implementación, pruebas y en la primera de ellas también estudio de las tecnologías a usar y planificación. Todo esto unido a la documentación de cada fase de cada Iteración. Cada fase de cada Iteración se divide en Tareas las cuales logran un pequeño objetivo para conseguir el objetivo final que es la realización de este proyecto. En cuanto a las técnicas utilizadas son Programación Orientada a Objetos y a su vez con técnicas de Programación Estructurada apoyándonos en Bases de Datos. Los lenguajes utilizados son: Java en su mayoría, utilizando el framework Struts 1, HTML, y JavaScript. Hemos implementado el Modelo-Vista-Controlador como patrón para nuestra aplicación. Todo esto basado en la arquitectura Cliente-Servidor que usan las aplicaciones Web, en la que el Cliente realiza peticiones a un Servidor y este genera respuestas a esas peticiones. Los clientes en este caso son los usuarios (hay 3 tipos: Administrador, Usuario No Registrado, Usuario Registrado y Centros Educativos). La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no tiene porqué ejecutarse únicamente sobre una sola máquina ni es necesariamente un único programa. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 8 Características del cliente/servidor: El cliente:  Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación.  Espera y recibe las respuestas del servidor.  Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario. El servidor:  Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación.  Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.  Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado).  No es frecuente que interactúen directamente con los usuarios finales. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 9 3. Planificación y Presupuesto 3.1. Estimación El primer paso del proyecto fue realizar una estimación de costes mediante el método COCOMO (COnstructive COst MOdel), el cual estima el tamaño del software en líneas de código. El tipo de proyecto de COCOMO que utilizamos es el orgánico ya que es un proyecto pequeño menor de 50 KLDC. Del siguiente modo, calculamos el número de líneas del proyecto. Supongamos los siguientes factores con sus valores asociados: Factor de Ajuste: Factores de complejidad Reflejan el nivel de complejidad de cada una de las siguientes opciones: Comunicación de Datos 4 Funciones Distribuidas 3 Rendimiento 3 Gran carga de Trabajo 3 Frecuencia de Transacciones 3 Entrada On-line de Datos 5 Requisitos de Manejo del Usuario Final 4 Actualizaciones On-Line 1 Procesos Complejos 3 Utilización con otros sistemas 1 Facilidad de mantenimiento 3 Facilidad de Operación 3 Instalación en Múltiple Lugares 0 Facilidad de Cambio 2 Calculamos la suma total de todos ellos. Suma: 38 Factor de ajuste = (Nivel de influencia * 0,01) + 0,65 FA = 0,65 + (0,01*38) = 1,03 MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 16 Con los datos de los recursos y la calendarización obtenemos el siguiente diagrama de Gantt: MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 17 Los presupuestos finales asociados al proyecto con estos datos son: Con lo que el presupuesto total del proyecto es de 14112€, siendo algo superiores los costes debido a esa diferencia de 16 días entre la estimación y lo realizado. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 18 4 Documentación Técnica: Análisis 4.1 DRS: Objetivos del Sistema Son los objetivos que se esperan alcanzar al desarrollar el sistema software. A continuación mostramos los objetivos y subobjetivos que esperamos alcanzar en el desarrollo de nuestra aplicación: OBJ-01 Gestión de usuario global Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción El sistema deberá ser capaz de gestionar toda la información relativa a los usuarios. Subobjetivos OBJ-1.1 Gestión de usuario OBJ-1.2 Gestión de administrador OBJ-1.3 Gestión de centro educativo Importancia Elevada Urgencia Inmediata Estado Comprobado Estabilidad Elevada OBJ-1.1 Gestión de usuario Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción El sistema deberá ser capaz de gestionar toda la información relacionada con los datos personales de los usuarios registrados en el sistema. Importancia Elevada Urgencia Inmediata Estado Comprobado Estabilidad Elevada MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 19 OBJ-1.2 Gestión de administrador Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción El sistema deberá ser capaz de gestionar la información relacionada con los datos de un usuario administrador. Importancia Elevada Urgencia Inmediata Estado Comprobado Estabilidad Elevada OBJ-1.3 Gestión de centro educativo Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción El sistema deberá gestionar la información relacionada con los datos de un colegio. Importancia Elevada Urgencia Inmediata Estado Comprobado Estabilidad Elevada OBJ-02 Gestión de libro Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción El sistema deberá ser capaz de gestionar toda la información relacionada con los libros almacenados en el sistema. Subobjetivos OBJ-2.1 Gestión de libros nuevos. OBJ-2.2 Gestión de solicitudes. OBJ-2.3 Gestión de coincidencia. Importancia Elevada Urgencia Inmediata Estado Comprobado Estabilidad Elevada MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 20 OBJ-2.1 Gestión de libros nuevos. Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción El sistema deberá ser capaz de gestionar la información relacionada con un nuevo libro introducido en el sistema por un usuario. Importancia Elevada Urgencia Inmediata Estado Comprobado Estabilidad Elevada OBJ-2.2 Gestión de solicitudes Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción El sistema deberá ser capaz de gestionar la información relacionada con una nueva solicitud introducida en el sistema por el usuario. Importancia Elevada Urgencia Inmediata Estado Comprobado Estabilidad Elevada OBJ-2.3 Gestión de coincidencia. Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción El sistema deberá ser capaz de gestionar la información relacionada con las coincidencias que se produzca entre los distintos usuarios y sus libros. Importancia Elevada Urgencia Inmediata Estado Comprobado Estabilidad Elevada MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 21 OBJ-03 Gestión de Notificación Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción El sistema deberá ser capaz de gestionar toda la información relacionada con los libros almacenados en el sistema. Importancia Elevada Urgencia Inmediata Estado Comprobado Estabilidad Elevada OBJ-04 Gestión de contenido Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción El sistema deberá gestionar la información relacionada con diversos contenidos de la aplicación. Subobjetivos OBJ-4.1 Gestión de ayuda OBJ-4.2 Gestión de contacto Importancia Elevada Urgencia Inmediata Estado Comprobado Estabilidad Elevada OBJ-4.1 Gestión de ayuda Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción El sistema deberá gestionar el contenido de la información de ayuda de la aplicación. Importancia Elevada Urgencia Inmediata Estado Comprobado Estabilidad Elevada MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 22 OBJ-4.2 Gestión de contacto Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción El sistema deberá gestionar el contenido de la información de contacto de la aplicación. Importancia Elevada Urgencia Inmediata Estado Comprobado Estabilidad Elevada OBJ-05 Permitir listados y estadísticas Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción El sistema deberá poder realizar listados de libros y estadísticas de los libros. Importancia Elevada Urgencia Inmediata Estado Comprobado Estabilidad Elevada MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 23 4.2. DRS: Requisitos de Información Un requisito es una necesidad documentada sobre el contenido, forma o funcionalidad de un producto o servicio. A continuación se mostrarán 12 tablas con el número de cada IRQ, su uso común, el nivel de prioridad asignada por defecto a cada línea de interrupción. En la tabla se muestra también una descripción general, diferencias y conflictos más frecuentes a la hora de configurar o modificar las IRQ. IRQ-01 Información de usuario Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ–01 Gestión de Usuario Global OBJ–1.1 Gestión de Usuario Requisitos asociados Descripción El sistema deberá almacenar la información correspondiente al Usuario. En concreto: Datos específicos Usuario Contraseña Nombre Apellidos Población Email Foto Datos de interés Fecha de creación del usuario Fecha de ultimo acceso DNI Importancia Alta Urgencia Alta Estado Comprobado Estabilidad Máxima Comentarios El usuario será el DNI del usuario registrado. Todos los requisitos SON OBLIGATORIOS para registrarse en el sistema, excepto Foto y los datos de interés. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 24 IRQ-02 Información de libro Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ–02 Gestión de libro OBJ–2.1 Gestión de libros nuevos. Requisitos asociados Descripción El sistema deberá almacenar la información correspondiente al libro asociado a un usuario. En concreto: Datos específicos Identificador ISBN Usuario Título Materia Editorial Edición Autor Fecha publicación Importancia Alta Urgencia Alta Estado Comprobado Estabilidad Máxima Comentarios Cuando el contador de número de ejemplares es 0, el libro no se puede prestar. IRQ-03 Información de solicitud Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-02 Gestión de libro OBJ-2.2 Gestión de coincidencia Requisitos asociados Descripción El sistema deberá almacenar la información asociada a una coincidencia. En concreto: Datos específicos Identificador solicitud Identificador libro Usuario Fecha de la solicitud Importancia Alta Urgencia Alta Estado Comprobado Estabilidad Máxima Comentarios El identificador del libro se compone del ISBN del mismo y del DNI del usuario al que pertenece. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 25 IRQ-04 Información de coincidencia Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-02 Gestión de libro OBJ-2.2 Gestión de coincidencia Requisitos asociados Descripción El sistema deberá almacenar la información asociada a una coincidencia. En concreto: Datos específicos Identificador coincidencia Identificador libro Usuario Propietario Usuario Demandante Importancia Alta Urgencia Alta Estado Comprobado Estabilidad Máxima Comentarios El identificador del libro se compone del ISBN del mismo y del DNI del usuario al que pertenece. IRQ-05 Información de Notificación Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-03 Gestión de Notificación Requisitos asociados Descripción El sistema deberá almacenar la información asociada a un EMAIL. En concreto: Datos específicos Identificador Fecha Envío Estado Contenido Importancia Media Urgencia Media Estado Comprobado Estabilidad Alta Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 32 CRQ-05 Unicidad de identificador de solicitud Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-02 Gestión de libro OBJ-2.2 Gestión de coincidencia Requisitos asociados IRQ–04 Información de solicitud Descripción La información almacenada por el sistema deberá satisfacer la siguiente restricción: el identificador de solicitud de libros debe ser único. Datos específicos Tipo Importancia Alta Urgencia Alta Estado Comprobado Estabilidad Alta Comentarios CRQ-06 Unicidad de identificador de mensaje privado Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ–01 Gestión de Usuario global OBJ–1.1 Gestión de Usuario OBJ–1.3 Gestión de Perfil de usuario OBJ–1.4 Gestión de Mensaje Privado Requisitos asociados IRQ–06 Información de mensaje privado Descripción La información almacenada por el sistema deberá satisfacer la siguiente restricción: el identificador de un mensaje privado debe ser único. Datos específicos Tipo Importancia Alta Urgencia Alta Estado Comprobado Estabilidad Alta Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 33 CRQ-07 Unicidad de identificador de ayuda Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-04 Gestión de contenido OBJ-4.1 Gestión de Ayuda Requisitos asociados IRQ–07 Información de ayuda Descripción La información almacenada por el sistema deberá satisfacer la siguiente restricción: el identificador de ayuda debe ser único. Datos específicos Tipo Importancia Alta Urgencia Alta Estado Comprobado Estabilidad Alta Comentarios CRQ-08 Unicidad de identificador de contacto Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-04 Gestión de contenido OBJ-4.2 Gestión de contacto Requisitos asociados IRQ–08 Información de contacto Descripción La información almacenada por el sistema deberá satisfacer la siguiente restricción: el identificador de contacto debe ser único. Datos específicos Tipo Importancia Alta Urgencia Alta Estado Comprobado Estabilidad Alta Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 34 CRQ-09 Unicidad de identificador de copia de seguridad Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-01 Gestión de usuario global OBJ-02 Gestión de ruta OBJ-03 Gestión de EMAIL OBJ-04 Gestión de contenido Requisitos asociados IRQ–09 Información copia de seguridad Descripción La información almacenada por el sistema deberá satisfacer la siguiente restricción: el identificador de cada elemento de copia de seguridad debe ser único. Datos específicos Tipo Importancia Alta Urgencia Alta Estado Comprobado Estabilidad Alta Comentarios CRQ-10 Unicidad de identificador de administrador Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-01 Gestión de usuario global OBJ-1.2 Gestión de administrador OBJ–1.3 Gestión de Perfil de usuario Requisitos asociados IRQ–10 Información de Administrador Descripción La información almacenada por el sistema deberá satisfacer la siguiente restricción: el identificador de cada elemento de copia de seguridad debe ser único. Datos específicos Tipo Importancia Alta Urgencia Alta Estado Comprobado Estabilidad Alta Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 35 CRQ-11 Relación entre libro y usuario Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-02 Gestión de libro Requisitos asociados IRQ–02 Información de libro Descripción La información almacenada por el sistema deberá satisfacer la siguiente restricción: un libro concreto es añadido y deberá pertenecer a un sólo usuario. Datos específicos Tipo Importancia Alta Urgencia Alta Estado Comprobado Estabilidad Alta Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 36 4.4. DRS: Requisitos Funcionales Un requisito funcional define una función del sistema de software o sus componentes. Una función es descrita como un conjunto de entradas, comportamientos y salidas. Los requerimientos funcionales pueden ser: cálculos, detalles técnicos, manipulación de datos y otras funcionalidades específicas que se supone, un sistema debe cumplir. Los requerimientos de comportamiento para cada requerimiento funcional se muestran en los casos de uso. A continuación mostraremos los diferentes tipos de requisitos funcionales de nuestro sistema: 4.4.1 Definición de actores Un actor es una entidad externa al sistema que se modela y que puede interactuar con él. Puede ser una persona o un grupo de personas homogéneas, otro sistema, o una máquina. Los actores son externos al sistema que vamos a desarrollar. Por lo tanto, al identificarlos, estamos comenzando a delimitar el sistema y a definir su alcance. En nuestro caso como actores principales tendremos: Usuario registrado Usuario no registrado Centro educativo Administrador MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 37 A continuación, mostraremos y explicaremos cada uno de los actores involucrados en nuestra aplicación: ACT-01 Usuario Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción Este actor representa al Usuario que interactúa con el sistema. Comentarios ACT-02 Usuario no registrado Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción Este actor representa a un usuario no registrado en la aplicación con acceso limitado. Comentarios ACT-03 Administrador Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción Este actor representa al administrador encargado de gestionar el contenido de la aplicación. Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 38 ACT-04 Centro Educativo Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción Este actor representa a un colegio encargado de generar los listados de los libros pertenecientes a cada curso. Comentarios ACT-05 Sistema Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Descripción Este actor representa al Sistema encargado de generar coincidencias entre usuarios con sus libros y el sistema de EMAIL. Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 39 4.4.2 Diagramas de caso de uso Los casos de uso se emplean para capturar el comportamiento deseado del sistema en desarrollo, sin tener que especificar cómo se implementa ese comportamiento. Nos proporcionan un medio para que los desarrolladores, los usuarios finales del sistema y los expertos del dominio lleguen a una comprensión común del sistema. Además ayudan a validar la arquitectura y a verificar el sistema mientras evoluciona a lo largo del desarrollo. Ampliándolo un poco más diremos que son unas unidades funcionales y coherentes de un sistema, subsistema o clase en los cuales uno o más actores interactúan con el sistema el cual realiza algunas acciones. Para definirlos y especificarlos contaremos con los siguientes elementos: Los actores Las relaciones Los casos de uso en si Los casos de uso son siempre iniciados por un actor, el cual puede solicitar información, modificar información o informar al sistema de un cambio en el entorno. Para nuestro caso, como ejemplo, seria la introducción de los datos de un libro, reflejar en el sistema que ya no está disponible para ser prestado o una búsqueda en el sistema. A su vez el sistema interactúa con los actores para informarles de que algo a ocurrido en el sistema o para ayudarle a tomar una decisión necesaria para delegar alguna responsabilidad en el actor, como por ejemplo que un libro que había solicitado el usuario esta disponible. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 40 4.4.2.1 Diagrama de subsistemas 4.4.2.2 Herencia Actores MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 41 Para ayudar a la explicación haremos también uso de los diagramas de casos de uso. El diagrama de casos de uso representan la forma en cómo un Actor opera con el sistema en desarrollo, además de la forma, tipo y orden en como los elementos interactúan (operaciones o casos de uso). Los diagramas muestran relaciones entre los casos de uso de un sistema y sus actores dando una visión general del modelo de casos de uso ya que el 90% del contenido del modelo de casos de uso está en las tablas que describen cada caso de uso. Estos diagramas pues ayudaran a interpretar y esclarecer los casos de uso No son algo definido aisladamente sino algo que debemos considerarlo en el contexto en el que los desarrollamos, ya que no es una actividad analítica sino sintética en la que se pretende crear una concepción común del sistema software a desarrollar A continuación presentamos una serie de diagramas que muestran los diferentes casos de uso y como interaccionan en nuestro sistema: 4.4.2.3 Gestión de Usuario USUARIO ALTA USUARIO LOGIN USUARIO BAJA USUARIO CONSULTA DATOS PROPIOS USUARIO MODIFICAR DATOS USUARIO BAJA EJEMPLARES MODIFICAR CONTRASEÑA USUARIO BAJA COINCIDENCIA <<extend>> <<extend>> <<extend>> <<extend>> <<include>> BUSCAR UN LIBRO LISTADO CENTROS VER CENTRO SOLICITAR/PRESTAR LIBRO COINCIDENCIAS ENVIAR EMAIL AVISO COINCIDENCIA CORREO MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 48 UC-2 Alta de Usuario Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ–1 Gestión de Usuario Global OBJ–1.1 Gestión de Usuario Requisitos asociados IRQ–1 Información de Usuario CRQ-1 Unicidad de identificador de Usuario Descripción Un Usuario No Registrado se quiere dar de Alta en la aplicación y se almacenan los datos relativos a un nuevo Usuario en el sistema.(Centro Educativo o Usuario) Precondición El Usuario no debe estar identificado en el sistema Secuencia normal Paso Acción p1 El Usuario No Registrado accede a la opción Registrarse de la aplicación. p2 El sistema presenta un formulario de datos para el registro. p3 El Usuario no registrado introduce los datos que le pide la aplicación. p4 El sistema valida los datos. p5 Se almacenarán los datos en la bbdd. p6 Se visualizarán un mensaje de información de la inserción. Postcondición El Usuario queda dado de alta en la bbdd. Comentarios El Usuario es dado de alta con el Tipo de Perfil Usuario MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 49 UC-3 Modificar Datos de Usuario Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ–1 Gestión de Usuario Global OBJ-1.1 Gestión de Usuario Requisitos asociados IRQ–1 Información de Usuario CRQ-1 Unicidad de identificador de Usuario Descripción Cuando el Usuario quiera modificar alguno de sus datos personales. Precondición El Usuario debe estar visualizando sus datos de usuario Secuencia normal Paso Acción p1 El Usuario accede a la opción Modificar Datos. p2 El Sistema muestra un formulario con la información correspondiente al Usuario. p3 El Usuario modifica los datos y solicita al Sistema Guardar los datos p4 El Sistema solicita confirmación de la Modificación p5 El Usuario confirma que quiere almacenar la Modificación. p6 El Sistema almacena los nuevos datos referentes al Usuario. Postcondición Los nuevos datos se almacenan en la bbdd. Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 50 UC-4 Modificar Contraseña Usuario Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ–1 Gestión de Usuario Global OBJ-1.1 Gestión de Usuario Requisitos asociados IRQ–1 Información de Usuario CRQ-1 Unicidad de identificador de Usuario Descripción Cuando el Administrador quiera Modificar la contraseña de un usuario Precondición El Administradir debe estar visualizando sus Datos de Usuario Secuencia normal Paso Acción p1 El usuario accede a la opción Modificar Contraseña. p2 El Sistema muestra un formulario. p3 El Usuario modifica los datos y solicita al Sistema Guardar los datos p4 El Sistema valida la contraseña antigua y las nuevas. p5 El Sistema solicita confirmación de la Modificación p6 El Usuario confirma que quiere almacenar la Modificación. p7 El Sistema almacena los nuevos datos referentes al Usuario. Postcondición Los nuevos datos se almacenan en la bbdd. Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 51 UC-05 Baja de Usuario Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ–1 Gestión de Usuario Global OBJ-1.1 Gestión de Usuario Requisitos asociados IRQ–1 Información de Usuario IRQ-2 Información de Libro IRQ-4 Información de Coincidencia CRQ-1 Unicidad de identificador de Usuario CRQ-2 Unicidad de identificador de Libro CRQ-4 Unicidad de identificador de Coincidencia Descripción Cuando se quiera dar de baja a un Usuario del sistema. Precondición El administrador debe estar visualizando los datos de usuario Secuencia normal Paso Acción p1 El usuario solicita darse de Baja en el Sistema via email. p2 El Administrador busca y visualiza al Usuario p3 El administrador realiza la peticion de baja p4 Se bloquean los ejemplares del usuario se anulan sus coincidencias , se eliminan sus solicitudes p5 El sistema elimina los datos referentes al Usuario Postcondición El Usuario se dará de baja en la bbdd. Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 52 UC-06 Introducir Libro Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ–2 Gestión de Libro OBJ-2.1 Gestión de Nuevo Nuevo Requisitos asociados IRQ-1 Información de Usuario IRQ–2 Identificador de Libro CRQ-1 Unicidad de identificador de Usuario CRQ-2 Unicidad de identificador de Libro Descripción Cuando el Usuario quiere introducir un Libro ya sea Una solicitud o un ejemplar Precondición El Usuario debe estar validado en el Sistema. Secuencia normal Paso Acción p1 El Usuario accede a la opción Añadir Libro p2 El Sistema carga el Formulario de Libro. p3 El Usuario introduce en el Formulario los datos correspondientes. p4 El Usuario almacena el Libro en el Sistema si este no existía p5 El Sistema almacena la información en la BBDD Postcondición Los nuevos datos se almacenan en la bbdd. El Sistema buscará Libros solicitados con los que el Libro introducido pueda generar una coincidencia si fuera un ejemplar Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 53 UC-07 Introducir peticion Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ–2 Gestión de Libro OBJ-2.1 Gestión de Nuevo Nuevo Requisitos asociados IRQ-1 Información de Usuario IRQ–2 Identificador de Libro CRQ-1 Unicidad de identificador de Usuario CRQ-2 Unicidad de identificador de Libro Descripción Cuando el Usuario quiere solicitar un Libro Precondición El Usuario debe estar validado en el Sistema. Secuencia normal Paso Acción p1 El Usuario accede a la opción Solicitudes p2 El Sistema carga el Formulario de Libro. p3 El Usuario introduce en el Formulario los datos correspondientes. p4 El Usuario almacena la solicitud en el Sistema p5 El Sistema almacena la información en la BBDD p6 Se muestra por pantalla el Libro solicitado. Postcondición Los nuevos datos se almacenan en la bbdd. El Sistema buscará Libros pendientes de prestamos con los que el Libro solicitado pueda generar una coincidencia. Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 54 UC-08 Generar Coincidencia Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ–2 Gestión de Libro OBJ-2.1 Gestión deLibros Nuevos OBJ-2.2 Gestión de Coincidencia Requisitos asociados IRQ-1 Identificador de Usuario IRQ–2 Identificador de Libro IRQ–4 Información Coincidencia CRQ-1 Unicidad de identificador de Usuario CRQ-2 Unicidad de identificador de Libro CRQ-4 Unicidad de identificador de Coincidencia Descripción Una vez introducido un Libro, el Sistema compara Libros solicitados de distintos Usuarios para buscar coincidencias con el Libro introducido Precondición Se debe haber dado de alta un Libro. Secuencia normal Paso Acción p1 El Sistema compara el Libro introducido con Libros solicitados por distintos Usuarios para ver si coinciden p2 Si hay una coincidencia el Sistema Genera y Almacena los datos de la misma. p3 Si se han aceptado las coincidencias, se enviarán alertas via EMAIL indicando Nueva Coincidencia aceptada a los Usuarios con los que coincide el nuevo Libro introducido. Postcondición Los nuevos datos se almacenan en la bbdd. Comentario MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 55 UC-09 Nueva Coincidencia Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ–2 Gestión de Libro OBJ-2.2 Gestión de Solicitudes OBJ–2.3 Gestión coincidencia Requisitos asociados IRQ-1 Identificador de Usuario IRQ–2 Identificador de Libro IRQ–4 Información Coincidencia CRQ-1 Unicidad de identificador de Usuario CRQ-2 Unicidad de identificador de Libro CRQ-4 Unicidad de identificador de Coincidencia Descripción El Sistema advierte al usuario que tiene notificaciones en la interfaz de usuario en la opcion notificaciones Precondición Se debe haber generado una Coincidencia de Libro. Secuencia normal Paso Acción p1 El Sistema analiza las coincidencias buscando El dni del usuario en ellas p2 De existir coincidencias p3 El sistema cambia el boton de no hay notificaciones por el de Tiene notificaciones Postcondición Usuario avisado Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 56 UC-10 Visualizar Lista de Libros Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ– 2 Gestión de Libro OBJ–2.3 Gestión coincidencia Requisitos asociados IRQ–3 Información de Libro CRQ-2 Unicidad de identificador de Libro Descripción Se mostrará por pantalla un listado con la información básica de los Libros del Usuario pendientes de prestamos o de los que ha solicitado prestamos. Precondición El Usuario debe estar validado en el Sistema. Secuencia normal Paso Acción p1 El Usuario accede a la opción Visualizar Libros p2 El Sistema carga la información básica de l as Libros del Usuario. p3 Se muestran por pantalla un listado básico de Libros con opción de o solicitar o prestar ese libro Postcondición Se visualizarán por pantalla un listado de los Libros. Comentarios Este caso de uso es utilizado para Libros propios del Usuario y en el caso de Búsqueda de Libros y visualizacion de libros en los Centros MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 57 UC-11 Visualizar Libro para modificación Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ– 2 Gestión de Libro Requisitos asociados IRQ–3 Información de Libro CRQ-2 Unicidad de identificador de Libro Descripción Semostrará por pantalla la información de un Libro. Precondición Se debe haber seleccionado un Libro. Secuencia normal Paso Acción p1 El Usuario accede a la opción Visualizar Libro p2 El sistema carga la información de el Libro de la BBDD. p3 Se mostrará por pantalla la información completa de el Libro. Postcondición Se visualizará por pantalla un Libro. Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 64 UC-18 Cargar Año Anterior Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ– 1.3 Gestion dde Centro Educativo Requisitos asociados IRQ–11 Informacion de año académico CRQ-03 Unicidad del identificador de Centro Educativo Descripción Cuando un usuario crea un año nuevo por primera vez se le da la opción de añadir al año actual el listado de libros del año anterior Precondición Haber introducido un nuevo año académico Secuencia normal Paso Acción p1 El Usuario selecciona la opción de cargar año anterior p2 El sistema copia al año nuevo los libros del año anterior p3 Se almacenan los datos en la BBDD Postcondición El nuevo año creado inicializado con los libros el curso anterior Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 65 UC-19 Baja Coincidencia Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ2 Gestión de Libro OBJ2.2 Gestión de Coincidencia Requisitos asociados IRQ–4 Información de coincidencia CRQ-4 Unicidad de identificador de Coincidencia Descripción Cuando el Usuario es eliminado es decir es dado de Baja damos de baja las coincidencias del usuario por eliminacion. Precondición Se debe haber seleccionado una Coincidencia aceptada . Secuencia normal Paso Acción p1 El Sistema busca las coincidencias relacionadas con el usuario a eliminar p2 y actualiza su estado a nive 4 en la BBDD. Postcondición Coincidencias del usuario aun activas en el sistema anuladas Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 66 UC-20 Inicializar Nuevo Año Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ– 1.3 Gestion dde Centro Educativo Requisitos asociados IRQ–11 Informacion de año académico CRQ-03 Unicidad del identificador de Centro Educativo Descripción Cuando un usuario crea un año nuevo por primera vez se le da la opción inicializarlo sin libro alguno Precondición Haber introducido un nuevo año académico Secuencia normal Paso Acción p1 El Usuario selecciona la opción de cargar año anterior p2 El sistema copia al año nuevo los libros del año anterior p3 Se almacenan los datos en la BBDD Postcondición El nuevo año creado inicializado con los libros el curso anterior Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 67 UC-21 Añadir Libro a año Académico Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ– 1.3 Gestion dde Centro Educativo Requisitos asociados IRQ–11 Informacion de año académico CRQ-03 Unicidad del identificador de Centro Educativo Descripción Permite al usuario incluir libros en el año académico seleccionado ya sea por creación directa o por selección del listado de años Precondición Seleccionado un año académico de la BBDD Secuencia normal Paso Acción p1 El usuario rellena un formulario con los datos del libro a incluir p2 Se validan los datos del libro p3 Y si no existe en la BBDD se añade a la base de datos y si o si se asocia al año académico del Centro Postcondición MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 68 UC-22 Buscar Libro Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-2 Gestión de Libro Requisitos asociados IRQ-2 Información de Libro CRQ-2 Unicidad de identificador de Libro Descripción Cuando un Usuario quiera buscar un Libro según unos parámetros de búsqueda. Precondición El Usuario debe estar validado en el Sistema Secuencia normal Paso Acción p1 El Usuario accede a la opción Buscar Libro p2 El Usuario introduce los parámetros de búsqueda (Ciclo o Curso o Materia o Editorial o ISBN) p3 El sistema accede a la BBDD para obtener la información de los Libros. p4 En caso de existir alguna, el Sistema Mostrará por pantalla la información de los Libros ejecutando UC12 Visualizar Lista de Libros. Postcondición Se visualizará un listado de Libros. Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 69 UC-23 Consulta Datos Usuario Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ–1 Gestión de Usuario Global OBJ-1.1 Gestión de Usuario Requisitos asociados IRQ–1 Información de Usuario CRQ-1 Unicidad de identificador de Usuario Descripción Cuando un Usuario desee visualizar por pantalla sus datos personales. Precondición El Usuario debe estar validado en el Sistema. Secuencia normal Paso Acción p1 El Usuario accede a la opción Modificar Perfil. p2 El Sistema carga la información de la BBDD. p3 El Sistema muestra la información Postcondición Se muestra por pantalla la información del Usuario Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 70 UC-24 Seleccionar Año Académico Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ– 1.3 Gestion dde Centro Educativo Requisitos asociados IRQ–11 Informacion de año académico CRQ-03 Unicidad del identificador de Centro Educativo Descripción Se preselecciona un año académico a editar Precondición Tener creado al menos un año académico Secuencia normal Paso Acción p1 Seleccionamos Años académicos p2 Del listado que se nos muestra de los años dados de alta selecciona el centro uno p3 Se presenta un formulario y un listado con los libros asociados para ese año p4 Postcondición Año académico en edicion Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 71 UC-25 Buscar Libro por Curso Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-2 Gestión de Libro Requisitos asociados IRQ-2 Información de Libro CRQ-2 Unicidad de identificador de Libro Descripción Cuando un Usuario quiera buscar un Libro según el curso. Precondición El Usuario debe estar validado en el Sistema. Secuencia normal Paso Acción p1 El Usuario accede a la opción Buscar Libro p2 El Usuario introduce los parámetros de búsqueda (curso) p3 El sistema accede a la BBDD para obtener la información de los Libros. p4 En caso de existir alguna, el Sistema mostrará por pantalla la información de las Libros ejecutando UC-12 Visualizar Lista de Libros. Postcondición Se visualizará un listado de Libros. Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 72 UC-26 Buscar Libro por Editorial Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-2 Gestión de Libro Requisitos asociados IRQ-2 Información de Libro CRQ-2 Unicidad de identificador de Libro Descripción Cuando un Usuario quiera buscar un Libro según el curso. Precondición El Usuario debe estar validado en el Sistema. Secuencia normal Paso Acción p1 El Usuario accede a la opción Buscar Libro p2 El Usuario introduce los parámetros de búsqueda (editorial) p3 El sistema accede a la BBDD para obtener la información de los Libros. p4 En caso de existir alguna, el Sistema mostrará por pantalla la información de las Libros ejecutando UC-12 Visualizar Lista de Libros. Postcondición Se visualizará un listado de Libros. Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 73 UC-27 Buscar Libro por ISBN Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-2 Gestión de Libro Requisitos asociados IRQ-2 Información de Libro CRQ-2 Unicidad de identificador de Libro Descripción Cuando un Usuario quiera buscar un Libro según el curso. Precondición El Usuario debe estar validado en el Sistema. Secuencia normal Paso Acción p1 El Usuario accede a la opción Buscar Libro p2 El Usuario introduce los parámetros de búsqueda (ISBN) p3 El sistema accede a la BBDD para obtener la información de los Libros. p4 En caso de existir alguna, el Sistema mostrará por pantalla la información de las Libros ejecutando UC-12 Visualizar Lista de Libros. Postcondición Se visualizará un listado de Libros. Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 80 UC-34 Visualizar Lista de Usuarios Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ–1 Gestión de Usuario Global OBJ-1.1 Gestión de Usuario OBJ-1.2 Gestión de Administrador Requisitos asociados IRQ–1 Información de Usuario CRQ-1 Unicidad de identificador de Usuario Descripción cuando el Administrador desea ver la lista de Usuarios registrados en la aplicación. Precondición El Administrador debe estar validado en el Siste ma. Secuencia normal Paso Acción p1 El Administrador accede a la opción Consultar Usuarios. p2 El Sistema carga los datos básicos d e los Usuarios desde BBDD. p3 El Sistema muestra por pantalla un li stado con los datos básicos de los Usuarios. Postcondición Se visualizará un listado de los Usuarios. Excepciones Paso Acción Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 81 UC-35 Buscar Libro por Materia Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-2 Gestión de Libro Requisitos asociados IRQ-2 Información de Libro CRQ-2 Unicidad de identificador de Libro Descripción Cuando un Usuario quiera buscar un Libro según el curso. Precondición El Usuario debe estar validado en el Sistema. Secuencia normal Paso Acción p1 El Usuario accede a la opción Buscar Libro p2 El Usuario introduce los parámetros de búsqueda (materia) p3 El sistema accede a la BBDD para obtener la información de los Libros. p4 En caso de existir alguna, el Sistema mostrará por pantalla la información de las Libros ejecutando UC-12 Visualizar Lista de Libros. Postcondición Se visualizará un listado de Libros. Comentarios UC-35 Buscar Libro por Materia Versión 1.0(Julio - 2013) Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-2 Gestión de Libro Requisitos asociados IRQ-2 Información de Libro CRQ-2 Unicidad de identificador de Libro Descripción Cuando un Usuario quiera buscar un Libro según el curso. Precondición El Usuario debe estar validado en el Sistema. Secuencia normal Paso Acción p1 El Usuario accede a la opción Buscar Libro p2 El Usuario introduce los parámetros de búsqueda (materia) p3 El sistema accede a la BBDD para obtener la información de los Libros. p4 En caso de existir alguna, el Sistema mostrará por pantalla la información de las Libros ejecutando UC-12 Visualizar Lista de Libros. Postcondición Se visualizará un listado de Libros. Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 82 4.5 DRS: Requisitos No Funcionales Un requisito no funcional o atributo de calidad es, en la ingeniería de sistemas y la ingeniería de software, un requisito que especifica criterios que pueden usarse para juzgar la operación de un sistema en lugar de sus comportamientos específicos. Por tanto, se refieren a todos los requisitos que ni describen información a guardar, ni funciones a realizar. A continuación se definen los requisitos no funcionales utilizados en nuestro sistema: NFR-01 Copia de seguridad Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados Todos Requisitos asociados Todos Descripción El sistema deberá incorporar algún mecanismo que permita realizar copias de seguridad de los datos almacenados. Importancia Alta Urgencia Alta Estabilidad Máxima Comentarios NFR-02 Portabilidad Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados Todos Requisitos asociados Todos Descripción El sistema deberá ser fácilmente portable a cualquier otro sistema operativo. Importancia Alta Urgencia Alta Estabilidad Máxima Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 83 NFR-03 Disponibilidad del sistema. Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados Todos Requisitos asociados Todos Descripción El sistema deberá ser capaz de funcionar 24 horas al día, 365 días al año. Importancia Alta Urgencia Alta Estabilidad Máxima Comentarios NFR-04 Tiempo de reinicio entre fallos Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados Todos Requisitos asociados Todos Descripción El sistema deberá volver a pedir identificación tras una identificación fallida en menos de 3 segundos. Importancia Alta Urgencia Alta Estabilidad Máxima Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 84 NFR-05 Personal de mantenimiento Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados Todos Requisitos asociados Todos Descripción Las operaciones de mantenimiento deberán ser realizadas por personal altamente cualificado. Importancia Alta Urgencia Alta Estabilidad Máxima Comentarios NFR-06 Propiedad intelectual Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados Todos Requisitos asociados Todos Descripción La propiedad intelectual del sistema software desarrollado será de la empresa proveedora. Importancia Alta Urgencia Alta Estabilidad Máxima Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 85 NFR-07 Copias del producto Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados Todos Requisitos asociados Todos Descripción El sistema deberá volver a pedir identificación tras una identificación fallida. Importancia Alta Urgencia Alta Estabilidad Máxima Comentarios NFR-08 Servicio EMAIL Versión 1.0 Autores Cristian García Barroso Rubén Conde Calvillo Fuentes Cristian García Barroso Rubén Conde Calvillo Objetivos asociados OBJ-03 Gestión de EMAIL Requisitos asociados - Descripción Envío de emails usando Javamail usando como servidor de correo Gmail Importancia Normal Urgencia Normal Estabilidad Normal Comentarios MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 86 4.6 Modelo Estático del Sistema Los diferentes tipos de objetos y asociaciones del sistema son las siguientes: Usuario Registrado: usuario que utiliza las funcionalidades de solicitud y registro de libros. Centro Educativo: usuario que utiliza las funcionalidades de creación de listados de libros Usuario No Registrado: usuario con acceso limitado a la funcionalidad de la aplicación Usuario: engloba a los dos anteriores Administrador: encargado de gestionar ayudas, contacto, foro y usuarios Libro: libros registrados en el sistema Ejemplar: ejemplares registrados en el sistema Perfil: tipo de usuario que accede al sistema Coincidencia: se produce cuando un usuario solicita un libro que ha registrado otro usuario. Notificación: se produce cuando existe una coincidencia. Ayuda: ayuda en formato multimedia que resuelven dudas a los usuarios, F.A.Q. Contacto: información de contacto con el/los administradores de la aplicación Copia de Seguridad: donde se respalda la información actual del sistema Asociación Usuario usa Perfil Asociación Usuario busca Libro Asociación Centro Educativo registra Libro Asociación Administrador usa Perfil Asociación Centro Educativo usa Perfil Asociación Centro Educativo tiene Ciclo Asociación Usuario encuentra Coincidencia Asociación Administrador introduce Ayuda Asociación Administrador edita Contacto Asociación Administrador realiza Copia Seguridad. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 87 Modelo Estático del Sistema MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 88 4.7. DAS: Diagrama de Clases Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, orientados a objetos. A continuación se muestra el diagrama de nuestra aplicación: MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 89 4.8 DAS: Tipo de Objetos y Asociaciones En las siguientes tablas se va a realizar una definición detallada del diagrama de clases, definiendo las entidades, asociaciones y atributos: 4.8.1 Tipo de objeto Usuario Registrado 4.8.1.1 Descripción del tipo de objeto Usuario Registrado Tipo Usuario Registrado Versión Versión 1.0 Autores Rubén Conde Calvillo Cristian García Barroso Requisitos Asociados  IRQ-1 Información de Usuario Descripción Este tipo concreto representa a un Usuario ya Registrado que puede acceder a la información de la aplicación web. Subtipos Administrador, Centro Educativo, Usuario (exclusiva) 4.8.1.2 Atributos del tipo de objeto Usuario Registrado Atributo constante Usuario Registrado::Usuario Descripción Representa el nombre de un Usuario Registrado en la aplicación Tipo OCL VARCHAR Atributo constante Usuario Registrado::Contraseña Descripción Representa la contraseña de un Usuario Registrado en la aplicación Tipo OCL VARCHAR MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 96 4.8.8.2 Atributos del tipo de objeto Ayuda Atributo constante Ayuda::Id_Ayuda Descripción Representa al identificador de una Ayuda Tipo OCL Integer Atributo constante Ayuda::Encabezado Descripción Representa una indicación sobre la ayuda tratada Tipo OCL VARCHAR Atributo constante Ayuda::Contenido Descripción Representa al contenido de la Ayuda Tipo OCL VARCHAR 4.8.8.3 Invariante del tipo de objeto Ayuda Invariante Ayuda Descripción El identificador de una Ayuda es único para cada Ayuda Expresión Ayuda .allinstances -> forAll (a1,a2 | a1<> a2) = ( a1.Id_ayuda<> a2.Id_ayuda) 4.8.9 Tipo de objeto Contacto 4.8.9.1 Descripción del tipo de objeto Contacto Tipo Contacto Versión Versión 1.0 (18-06-2013) Autores Rubén Conde Calvillo Cristian García Barroso Requisitos Asociados -07 Información de Contacto Descripción Este tipo concreto representa al Contacto de la aplicación web. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 97 4.8.9.2 Atributos del tipo de objeto Contacto Atributo constante Contacto::Nombre Descripción Representa el nombre de contacto Tipo OCL VARCHAR Atributo constante Contacto::Teléfono Descripción Representa el teléfono de contacto Tipo OCL VARCHAR Atributo constante Contacto::Dirección Descripción Representa la dirección de contacto Tipo OCL VARCHAR Atributo constante Contacto::Población Descripción Representa la población del contacto Tipo OCL VARCHAR Atributo constante Contacto::Provincia Descripción Representa la provincia del contacto Tipo OCL VARCHAR Atributo constante Contacto::Código Postal Descripción Representa el código postal del contacto Tipo OCL VARCHAR MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 98 4.8.10.3 Invariante del tipo de objeto Contacto Invariante Contacto Descripción El email de un Contacto es único para cada Contacto Expresión Contacto .allinstances -> forAll (c1,c2 | c1<> c2) = ( c1.email<> c2.email) 4.8.10 Tipo de objeto Copia de Seguridad 4.8.10.1 Descripción del tipo de objeto Copia de Seguridad Tipo Copia de Seguridad Versión Versión 1.0 (18-06-2013) Autores Rubén Conde Calvillo Cristian García Barroso Requisitos Asociados -12 Información de Copia de Seguridad Descripción Este tipo concreto representa a la Copia de Seguridad de la BBDD 4.8.11.2 Atributos del tipo de objeto Copia de Seguridad Atributo constante Copia de Seguridad::Fecha Realización Descripción Representa a la fecha de creación de la copia de seguridad de la BBDD Tipo OCL Date Comentarios Es el identificador Atributo constante Copia de Seguridad:: Fecha Restauración Descripción Representa los fecha de restauración de la copia de seguridad Tipo OCL Date MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 99 4.8.11.3 Invariante del tipo de objeto Copia de Seguridad Invariante Copia de Seguridad Descripción La fecha de creación de la Copia de Seguridad es única. Expresión CopiaSeguridad .allinstances -> forAll (cs1,cs2 | cs1<> cs2) = (cs1.FechaCreacion<> cs2.FechaCreacion) 4.8.12 Tipo de objeto Año académico 4.8.12.1 Descripción del tipo de objeto Año académico Tipo Año académico Versión Versión 1.0 Autores Rubén Conde Calvillo Cristian García Barroso Requisitos Asociados  IRQ-11 Información de año académico Descripción Este tipo concreto representan los diferentes años académicos. 4.8.13 Tipo de objeto Ciclo 4.8.13.1 Descripción del tipo de objeto Ciclo Tipo Ciclo Versión Versión 1.0 Autores Rubén Conde Calvillo Cristian García Barroso Requisitos Asociados  IRQ-13 Información de ciclo Descripción Este tipo concreto representa a los diferentes ciclos de un centro educativo. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 100 4.8.14 Tipo de objeto Coincidencia 4.8.14.1 Descripción del tipo de objeto Coincidencia Tipo Coincidencia Versión Versión 1.0 Autores Rubén Conde Calvillo Cristian García Barroso Requisitos Asociados  IRQ-04 Información de coincidencia Descripción Este tipo concreto representa a los diferentes coincidencias en las solicitudes de los usuarios. 4.8.14.2 Atributos del tipo de objeto Coincidencia Atributo constante Coincidencia::Id Descripción Representa el id de una coincidencia Tipo OCL VARCHAR Atributo constante Coincidencia::Libro Descripción Representa el libro involucrado en una coincidencia Tipo OCL VARCHAR Atributo constante Coincidencia::Propietario Descripción Representa el propietario del libro asociado en la coincidencia. Tipo OCL VARCHAR Atributo constante Coincidencia::Demandante Descripción Representa la persona demandante del libro involucrado en la coincidencia. Tipo OCL VARCHAR MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 101 4.8.15 Tipo de objeto Notificación 4.8.15.1 Descripción del tipo de objeto Notificación Tipo Notificación Versión Versión 1.0 Autores Rubén Conde Calvillo Cristian García Barroso Requisitos Asociados  IRQ-05 Información de notifiacion Descripción Este tipo concreto representa a los diferentes notificaciones sobre las diferentes solicitudes. 4.8.15.1 Atributos del tipo de objeto Notificación Atributo constante Notificación::Id Descripción Representa el id de una notificación Tipo OCL VARCHAR Atributo constante Notificación::Usuario Origen Descripción Representa el usuario origen de la notificación. Tipo OCL VARCHAR Atributo constante Notificación::Usuario Destino Descripción Representa el usuario destino de la notificación. Tipo OCL VARCHAR Atributo constante Notificación::Contenido Descripción Representa el contenido de la notificación. Tipo OCL VARCHAR Atributo constante Notificación::Fecha Envío Descripción Representa la fecha en la que se envía el mensaje de notificación. Tipo OCL TIME STAMP Atributo constante Notificación::Estado Descripción Representa el estado en el que se encuentra la notificación. Tipo OCL VARCHAR MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 102 4.8.16 Asociación usa Perfil Usuario (Perfil, Usuario) 4.8.16.1 Descripción de la Asociación usa Perfil Usuario (Perfil,Usuario) Asociación Usa Perfil Usuario entre (Perfil, Usuario) Versión 1.0 (20-06-2013) Autores Rubén Conde Calvillo Cristian García Barroso Requisitos Asociados  IRQ1 Información de Usuario Descripción Esta asociación representa el perfil usado por un Usuario 4.8.16..2 Roles de la Asociación usa Perfil Usuario (Perfil,Usuario) Rol Perfil juega rol Perfil en usa Perfil Usuario Descripción Perfil usado por un usuario registrado no administrador Tipo OCL Perfil Multiplicidad 0..* Rol Usuario juega rol Usuario en usa Perfil Usuario Descripción Usuario de la aplicación que utiliza un tipo determinado de Perfil Tipo OCL Usuario Multiplicidad 1 MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 103 4.8.17 Asociación usa Perfil Administrador (Perfil, Administrador) 4.8.17.1 Descripción de la Asociación usa Perfil Administrador (Perfil, Administrador) Asociación Usa Perfil Administrador entre (Perfil, Administrador) Versión 1.0 (20-06-2013) Autores Rubén Conde Calvillo Cristian García Barroso Requisitos Asociados - 09 Información de Administrador Descripción Esta asociación representa el perfil usado por un Administrador 4.8.17.2 Roles de la Asociación usa Perfil Administrador (Perfil, Administrador) Rol Perfil juega rol Perfil en usa Perfil Administrador Descripción Perfil usado por un usuario registrado, en este caso, administrador Tipo OCL Perfil Multiplicidad 1 Rol Administrador juega rol Administrador en usa Perfil Administrador Descripción Administrador de la aplicación que utiliza un tipo determinado de Perfil Tipo OCL Administrador Multiplicidad 1 MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 104 4.8.18 Asociación usa Perfil Administrador (Perfil, Centro Educativo) 4.8.18.1 Descripción de la Asociación usa Perfil Administrador (Perfil, Centro Educativo) Asociación Usa Perfil Administrador entre (Perfil, Centro Educativo) Versión 1.0 (20-06-2013) Autores Rubén Conde Calvillo Cristian García Barroso Requisitos Asociados - 09 Información de Administrador Descripción Esta asociación representa el perfil usado por un Administrador 4.8.18.2 Roles de la Asociación usa Perfil Administrador (Perfil, Centro Educativo) Rol Perfil juega rol Perfil en usa Perfil Centro Educativo Descripción Perfil usado por un usuario registrado, en este caso, Centro Educativo Tipo OCL Perfil Multiplicidad 1 Rol Administrador juega rol Administrador en usa Perfil Centro Educativo Descripción Administrador de la aplicación que utiliza un tipo determinado de Perfil Tipo OCL Administrador Multiplicidad 1 MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 105 4.8.19 Asociación busca (Usuario, Libro) 4.8.19.1 Descripción de la Asociación busca (Usuario, Libro) Asociación Busca entre (Usuario, Libro) Versión 1.0 (20-06-2013) Autores Rubén Conde Calvillo Cristian García Barroso Requisitos Asociados IRQ-01 Información de usuario IRQ-02 Información de libro Descripción Esta asociación representa el libro buscado por un Usuario 4.8.19.2 Roles de la Asociación busca (Usuario, Libro) Rol Libro juega rol Libro en busca Descripción Libro usado por un usuario registrado no administrador Tipo OCL Perfil Multiplicidad 0..* Rol Usuario juega rol Usuario en busca Descripción Usuario de la aplicación que utiliza un tipo determinadode Libro Tipo OCL Usuario Multiplicidad 1 MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 112 4.8.26 Asociación realiza (Administrador, Copia Seguridad) 4.8.26.1 Descripción de la Asociación realiza (Administrador, Copia Seguridad) Asociación realiza entre (Administrador, Copia Seguridad) Versión 1.0 (20-06-2013) Autores Rubén Conde Calvillo Cristian García Barroso Requisitos Asociados - 12 Información de Copia Seguridad - 09 Información de Administrador Descripción Esta asociación representa a la Copia de Seguridad realizada por el Administrador 4.8.26.2 Roles de la Asociación realiza (Administrador, Copia Seguridad) Rol Administrador juega rol realizador en realiza Descripción Administrador puede realizar una Copia de Seguridad Tipo OCL Administrador Multiplicidad 0..1 Rol Copia Seguridad juega rol realizado en realiza Descripción Un objeto Copia Seguridad es realizado por un Administrador Tipo OCL Ayuda Multiplicidad 1 MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 113 4.9 DAS: Diagramas de secuencia del sistema Un diagrama de secuencia es una forma de diagrama de interacción que muestra los objetos como líneas de vida a lo largo de la página y con sus interacciones en el tiempo representadas como mensajes dibujados como flechas desde la línea de vida origen hasta la línea de vida destino. Los diagramas de secuencia son buenos para mostrar qué objetos se comunican con qué otros objetos y qué mensajes disparan esas comunicaciones. Los diagramas de secuencia no están pensados para mostrar lógicas de procedimientos complejos. A continuación se muestran los diagramas de secuencia de nuestro sistema: 4.9.1 Diagrama de Secuencia: Registro Usuario y Centro MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 114 4.9.2 Diagrama de Secuencia: Añadir Ejemplar MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 115 4.9.3 Diagrama de Secuencia: Borrar Ejemplar 4.9.4 Diagrama de Secuencia: Editar Ejemplar MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 116 4.9.5 Diagrama de Secuencia: Editar Perfil Usuario 4.9.6 Diagrama de Secuencia: Validar Usuario MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 117 4.9.7 Diagrama de Secuencia: Buscar Libro por ISBN 4.9.8 Diagrama de Secuencia: Buscar Libro por Curso y Ciclo MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 118 4.9.9 Diagrama de Secuencia: Buscar Libro por Materia 4.9.10 Diagrama de Secuencia: Buscar Libro por Editorial MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 119 4.9.11 Diagrama de Secuencia: Libros electrónicos 4.9.12 Diagrama de Secuencia: Acceso Notificaciones 4.9.13 Diagrama de Secuencia: Mostrar Centros Educativos MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 120 4.9.14 Diagrama de Secuencia: Solicitud y Coincidencia MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 121 4.9.15 Diagrama de Secuencia: Video tutoriales usuario 4.9.16 Diagrama de Secuencia: Añadir libro Listado Centro MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 128 4.11 .1 Visualizar Contacto 4.11 .2 Mostrar Coincidencia MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 129 4.11 .3 Aceptar Coincidencia MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 130 4.11 .4 Alta Libro MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 131 4.11 .5 Validar 4.11 .6 Notificación MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 132 4.11 .7 Baja Libro MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 133 4.11 .8 Baja Usuario MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 134 4.11 .9 Buscar Libro 4.11 .10 Modificar Libro MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 135 4.11 .11 Modificar Usuario MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 136 4.11 .12 Rechazar Coincidencia 4.11 .13 Solicitar Libro MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 137 4.11 .14 Login Usuario/Centro/Administrador 4.11.15 Visualizar Ayuda MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 144 MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 145 5.2.2 Diccionario de Datos del Modelo Entidad-Relación El diccionario de datos es aquel en el que se especifica la naturaleza y descripción de toda la información persistente nuestro sistema. Es decir, toda la información que deberá ser almacenada en base de datos. Información ya reflejada en el del Diagrama de Entidad-Relación. Definiremos una serie de tablas con la siguiente estructura: Nombre de la tabla (Entidad): nombre que tendrá la tabla en nuestra BBDD Descripción: breve descripción de lo que representa la tabla; Atributos: son aquellos campos que almacenara la tabla Restricciones: en donde reflejaremos cual es la clave primaria, si hay claves foráneas, si permitimos nulos Defecto: si ciertos atributos son inicializados…. Dominios: donde indicamos el tipo de dato con el cual se guarda la información El diccionario de datos es un documento que corresponde al diseño del sistema. Por lo tanto es independiente al sistema de bases de datos y al lenguaje de programación usado en el sistema. Aunque, con el auge de los frameworks de mapeo la elaboración manual del diccionario de datos haya caído en desuso, pero la documentación del proyecto siempre estará incompleta si no existe el diccionario de datos de ahí que lo sigamos incluyendo. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 146 5.2.2.1 Entidades Entidad: Usuario Descripción: Usuario registrado en la aplicación Atributos Dominios Descripción Defecto Restricciones Id dId Id de usuario AUTO_INCREM ENT CLAVE PRINCIPAL, UNICA Dni dDni DNI de usuario NO NULO Nombre dNombre Nombre de usuario NO NULO Apellido 1 dApellido 1 Apellido 1 de Usuario NO NULO Apellido 2 dApellido 2 Apellido 2 de Usuario NO NULO Email dEmail Email de usuario NO NULO Password dPassword Password de usuario NO NULO Población dPoblación Población de usuario NO NULO Foto dFoto Foto de usuario NO NULO Datos_interés dDatos_interés Datos de interés de usuario NO NULO Fecha_creació n dFecha_creación Fecha creación de usuario NOW NO NULO Fecha_ultimo_ acceso dFecha_ultimo_acces o Fecha último acceso de usuario NO NULO MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 147 Entidad: Centro Educativo Descripción: Centro Educativo registrado en la aplicación Atributos Dominios Descripción Defecto Restricciones Id dId Id de Centro AUTO_INCREME NT CLAVE PRINCIPAL, UNICA CIF dCIF CIF del Centro NO NULO Nombre dNombre Nombre del Centro NO NULO Dirección dDirección Dirección del Centro NO NULO Teléfono dTeléfono Teléfono del Centro NO NULO Email dEmail Email del Centro NO NULO Datos_interés dDatos_interés Datos de interés del Centro NO NULO Password dPassword Password del Centro NO NULO Fecha_creación dFecha_creació n Fecha de registro del Centro NOW NO NULO Fecha_ultimo_acceso dFecha_ultimo_ acceso Fecha del último acceso del Centro NO NULO MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 148 Entidad: Libro Descripción: Libro registrado en la aplicación Atributos Dominios Descripción Defecto Restricciones Id dId Id de Libro AUTO_INCREMENT CLAVE PRINCIPAL, UNICA ISBN dISBN ISBN del Libro NO NULO Materia dMateria Materia del Libro NO NULO Curso dCurso Curso del Libro NO NULO Edición dEdición Edición del Libro NO NULO Editorial dEditorial Editorial del Libro NO NULO Título dTítulo Título del Libro NO NULO Autor dAutor Autor del Libro NO NULO Fecha_publicaci ón dFecha_p ublicación Fecha de publicación del Libro NO NULO Entidad: Ejemplar Descripción: Ejemplar registrado en la aplicación asociado con un ejemplar Atributos Dominios Descripción Defecto Restricciones Id dId Id de ejemplar AUTO_INCREMENT CLAVE PRINCIPAL, UNICA Id_libro dId_libro Id del libro asociado NO NULO Estado dEstado Estado del ejemplar NO NULO Disponibilidad dDisponibilidad disponibilidad del ejemplar NO NULO Observaciones dObservaciones Observaciones del ejemplar NO NULO MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 149 Entidad: Notificación Descripción: Notificación enviada a un usuario Atributos Dominios Descripción Defecto Restricciones Id dId Id de Notificación AUTO_INCREMENT CLAVE PRINCIPAL, UNICA Ejemplar dEjemplar Id ejemplar NO NULO Propietario dPropietario Id propietario NO NULO Demandante dDemandante Id demandante NO NULO Fecha dFecha Fecha de notificación NO NULO Entidad: Administrador Descripción: Administrador de la aplicación Atributos Dominios Descripción Defecto Restricciones Id dId Id del Admin AUTO_INCREMENT CLAVE PRINCIPAL, UNICA Password dPassword Password de admin NO NULO Entidad: Ayuda Descripción: Ayuda de la aplicación Atributos Dominios Descripció n Defecto Restricciones Id dId Id Ayuda AUTO_INCREMENT CLAVE PRINCIPAL, UNICA Contenido dContenido Contenido NO NULO MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 150 Entidad: Contacto Descripción: Contacto de la aplicación Atributos Dominios Descripción Defecto Restricciones Email dEmail Email de contacto AUTO_INCREM ENT CLAVE PRINCIPAL, UNICA Nombre dNombre Nombre de contacto NO NULO Provincia dProvincia Provincia de contacto NO NULO Teléfono dTeléfono Teléfono de contacto NO NULO 5.2.2.2 Relaciones Entidad: Solicitudes Descripción: relación entre un usuario y un libro, indica el libro que un usuario desea solicitar. Atributos Dominios Descripción Defecto Restricciones Id dId Id de la solicitud AUTO_INCREMENT CLAVE PRINCIPAL, UNICA Ejemplar dEjemplar Ejemplar involucrado en la solicitud NO NULO Usuario dUsuario Usuario que realiza la solicitud NO NULO MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 151 Entidad: Coincidencias Descripción: relación entre un usuario y un ejemplar, indica el ejemplar que un usuario ha encontrado en una de las solicitudes realizadas por dicho usuario. Entidad: Libros_Usuario Descripción: relación entre libro, ejemplar y usuario. Indica los libros que un usuario ha registrado Atributos Dominios Descripción Defecto Restricciones Id dId Id de relación AUTO_INCREMENT CLAVE PRINCIPAL, UNICA Libro dLibro Id de libro NO NULO Usuario dUsuario Id de usuario NO NULO Atributos Dominios Descripción Defecto Restricciones Id dId Id de coincidencia AUTO_INCREMENT CLAVE PRINCIPAL, UNICA Libro dLibro Id de ejemplar NO NULO Usuario propietario dUsuario Id de propietario NO NULO Usuario demandante dUsuario Id de demandante NO NULO Fecha dFecha Fecha de la notificación MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 152 Entidad: Centro_Libros Descripción: relación existente entre el centro educativo y los libros, indica los libros que registra un centro educativo cada año académico. Atributos Dominios Descripción Defecto Restricciones Id dId Id de relación AUTO_INCREMENT CLAVE PRINCIPAL, UNICA Libro dEjemplar Id de ejemplar NO NULO Año académico dAño académico Año académico asignado al libro NO NULO Usuario dUsuario Usuario del libro NO NULO Relación: controla Descripción: Relación existente entre administrador y copia de seguridad, indica que es el administrador quien puede realizar o restaurar una copia de seguridad. Restricciones: Un administrador puede ser responsable de 1 única copia de seguridad, y una copia de seguridad sólo tiene relacionado un administrador. Relación: tiene Descripción: Relación existente entre Usuario Registrado y perfil, indica que perfil tiene un usuario registrador. Restricciones: Un perfil puede ser tenido por uno o varios usuarios registrados, pero un usuario registrado tiene un único perfil. Relación: introduce Descripción: Relación existente entre administrador y ayuda, indica que un administrador añade una ayuda. Restricciones: Un administrador puede introducir 1 o más ayudas, pero una ayuda solo puede ser desarrollada a la vez por un solo administrador. Relación: edita Descripción: Relación existente entre administrador y contacto. Restricciones: Un administrador puede estar editar un contacto, y un contacto sólo puede ser modificado por un administrador. MILITULI: Mi Libro Tu Libro Memoria del proyecto Autores: Cristian García y Rubén Conde Tutor: Juan José Álvarez 153 5.2.2.3 Dominios DOMINIO TIPO FORMATO VALORES DESCRIPCION dnomUsuario Cadena Varchar Cadena de 0 a 20 caracteres dnomCentro Cadena Varchar Cadena de 0 a 40 caracteres dContrasena Cadena Varchar Cadena de 0 a 50 caracteres Codificada en md5 dNombre Cadena Varchar Cadena de 0 a 20 caracteres dApellidos Cadena Varchar Cadena de 0 a 40 caracteres dPoblacion Cadena Varchar Cadena de 0 a 40 caracteres dEmail Cadena Varchar Cadena de 0 a 40 caracteres dFoto Cadena Varchar Cadena de 0 a 60 caracteres dAsunto Cadena Varchar Cadena de 0 a 200 caracteres dDNI Cadena Varchar Cadena de 9 caracteres dCIF Cadena Varchar Cadena de 9 caracteres dEstado Enumerado Enum ‘NUEVO’, ‘VIEJO’ dMateria Enumerado Enum Materias dCiclo Enumerado Enum Ciclo dCurso Enumerado Enum Curso dFecha Fecha Date dFechaHora Fecha DateTime dnomAdmin Cadena Varchar Cadena de 0 a 20 caracteres dTipo Enumerado Enum „USUARIO‟, ‟ADMINISTRADOR, “CENTRO EDUCATIVO” dTelefono Cadena Varchar Cadena de 9 caracteres dId_coincidenci a Entero Int Entero de 8 dígitos [1..99999999] dId_solicitud Entero Int Entero de 8 dígitos [1..99999999] dId Entero Int Entero de 8 dígitos [1..99999999]