Ingeniería de Software – Ingeniería de Sistemas1 DIAGRAMA DE ESTADO Y DIAGRAMA DE SECUENCIA.
SISTEMA DE INFORMACIÓN WEB PARA LA...
-
Upload
truongtram -
Category
Documents
-
view
223 -
download
0
Transcript of SISTEMA DE INFORMACIÓN WEB PARA LA...
1
SISTEMA DE INFORMACIÓN WEB PARA LA GESTIÓN DE INVENTARIO, PRÉSTAMO Y CONSULTA DE ELEMENTOS DE BIBLIOTECA PARA
EL COLEGIO EDUARDO UMAÑA MENDOZA
Presentado por: EDNA CATHERIM RODRÍGUEZ SÁNCHEZ
COD: 20101078090
JOSÉ DANIEL CRUZ CASTELLANOS COD: 20092078024
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD TECNOLÓGICA
TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS
Bogotá D.C., Mayo de 2015
2
SISTEMA DE INFORMACIÓN WEB PARA LA GESTIÓN DE INVENTARIO, PRÉSTAMO Y CONSULTA DE ELEMENTOS DE BIBLIOTECA PARA EL
COLEGIO EDUARDO UMAÑA MENDOZA
DESARROLLADORES: EDNA CATHERIM RODRÍGUEZ SÁNCHEZ
COD: 20101078090
JOSÉ DANIEL CRUZ CASTELLANOS COD: 20092078024
TUTORA: INGENIERA SONIA ALEXANDRA PINZÓN NÚÑEZ
Trabajo de grado para optar al título:
TECNÓLOGO EN SISTEMATIZACIÓN DE DATOS
Proyecto en modalidad PASANTÍA
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD TECNOLÓGICA
TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS
Bogotá D.C., Mayo de 2015
3
Nota de Aceptación
__________________________ __________________________ __________________________ __________________________ __________________________ __________________________
__________________________ Firma del tutor
__________________________ Firma del Jurado
__________________________
Firma del Jurado
4
AGRADECIMIENTOS
Le damos gracias a aquellas personas que depositaron su confianza en nosotros, en nuestra habilidad y responsabilidad, valorando cada uno de los esfuerzos y alcances que logramos obtener a nivel académico, personal y profesional. Agradecemos a familiares, profesores, amigos y compañeros, que creyeron en este proyecto y entendieron la importancia que tiene este logro para nuestras vidas. Agradezco también al Colegio Eduardo Umaña Mendoza por permitirnos desarrollar el proyecto en su institución, usar sus instalaciones y sus herramientas de trabajo.
5
Dedico el esfuerzo aportado a
este proyecto como primera instancia a mi esposa que siempre estuvo a mi lado y me apoyo, a mis hermanos, a mis padres y a mis amigos.
José Daniel Cruz Castellanos. Dedico este proyecto a todas
aquellas personas que me brindaron su apoyo para lograr una de las tantas metas que espero trazar en mi vida, aquellos que incondicionalmente hicieron parte de este proceso que día a día fue estructurado en presencia suya, gracias a sus labores a mis padres principalmente y demás personas que hacen parte de este legado.
Edna Catherim Rodríguez Sánchez.
6
TABLA DE CONTENIDO
INTRODUCCION 12
1. FASE DE DEFINICION, PLANEACION Y ORGANIZACIÓN 13
1.1. TITULO DEL TRABAJO 13
1.2. TEMA 13
1.3. PLANTEAMIENTO DEL PROBLEMA 13 1.3.1. Descripción. 13 1.3.2. Formulación del problema. 13
1.4. ALCANCES Y DELIMITACIONES 13 1.4.1. Alcances. 13 1.4.2. Limitaciones. 14
1.5. OBJETIVOS 14 1.5.1. Objetivo general. 14 1.5.2. Objetivos específicos. 14
1.6. MARCO DE REFERENCIA 15 1.6.1. Marco teórico. 15
1.7. FACTIBILIDAD 20 1.7.1. Factibilidad técnica 20 1.7.2. Factibilidad operativa 20 1.7.3. Factibilidad legal 21 1.7.4. Factibilidad económica 21
1.8. PLANIFICACION DEL PROYECTO 21 1.8.1. Cronograma de actividades 22
2. MODELAMIENTO DEL NEGOCIO 23
2.1. MODELO DEL NEGOCIO 23 2.1.1. Descripción de procesos 23 2.1.2. Diagramas de procesos 25
2.2. MODELO DEL DOMINIO 27 2.2.1. Diagrama de modelo de dominio 28
3. REQUERIMIENTOS 30
3.1. REQUERIMIENTOS FUNCIONALES 30
3.2. REQUERIMIENTOS NO FUNCIONALES 31
7
3.3. IDENTIFICACION DE ACTORES 33
3.4. LISTA PRELIMINAR DE CASOS DE USO 33
3.5. REFINAR Y RENOMBRAR CASOS DE USO 35
3.6. MODELO DE CASOS DE USO 37
3.7. DOCUMENTACION DE CASOS DE USO 38
4. ANALISIS 41
4.1. DIAGRAMAS DE SECUENCIA 41
4.2. DIAGRAMAS DE ACTIVIDAD 44
4.3. DIAGRAMAS DE COLABORACION 47
5. DISEÑO 50
5.1. DIAGRAMA DE CLASES 51
5.2. MODELO OBJETO RELACIONAL 52
5.3. DICCIONARIO DE DATOS 53
5.4. DISEÑO DE INTERFAZ 63
6. IMPLEMENTACION 67
6.1. DIAGRAMA DE COMPONENTES 67
6.2. DIAGRAMA DE DESPLIEGUE 68
7. PRUEBAS 69
8. RECOMENDACIONES 73
9. CONCLUSIONES 74
10. BIBLIOGRAFIA 75
11. LINKOGRAFIA 76
12. ANEXOS 77
8
LISTA DE FIGURAS
FIGURA 1. FASES DEL RUP 15 FIGURA 2. CRONOGRAMA DE ACTIVIDADES 21 FIGURA 3. PROCESO GESTION CATALOGACION 25 FIGURA 4. PROCESO GESTIÓN PRESTAMO 26 FIGURA 5. PROCESO GESTION CUADRO DE SEGUIMIENTO 26 FIGURA 6. DIAGRAMA MODELO DEL DOMINIO 27 FIGURA 7. CASO DE USO: ADMINISTRADOR 35 FIGURA 8. CASO DE USO: USUARIO REGISTRADO 36 FIGURA 9. CASO DE USO: USUARIO ANONIMO 36 FIGURA 10. MODELO DE CASOS DE USO 37 FIGURA 11. DIAGRAMA DE SECUENCIA CREAR PRESTAMO 41 FIGURA 12. DIAGRAMA DE SECUENCIA COMPROBAR ESTADO 42 FIGURA 13. DIAGRAMA DE SECUENCIA CONSULTAR PRESTAMO 42 FIGURA 14. DIAGRAMA DE SECUENCIA ACTUALIZAR ESTADO 43 FIGURA 15. DIAGRAMA DE SECUENCIA GESTION DEVOLUCION 43 FIGURA 16. DIAGRAMA DE ACTIVIDAD CREAR PRESTAMO 44 FIGURA 17. DIAGRAMA DE ACTIVIDAD COMPROBAR ESTADO 45 FIGURA 18. DIAGRAMA DE ACTIVIDAD CONSULTAR PRESTAMO 45 FIGURA 19. DIAGRAMA DE ACTIVIDAD ACTUALIZAR ESTADO 46 FIGURA 20. DIAGRAMA DE ACTIVIDAD GESTION DEVOLUCION 46 FIGURA 21. DIAGRAMA DE COLABORACIÓN CREAR PRESTAMO 47 FIGURA 22. DIAGRAMA DE COLABORACIÓN COMPROBAR ESTADO 47 FIGURA 23. DIAGRAMA DE COLABORACIÓN CONSULTAR PRESTAMO 48 FIGURA 24. DIAGRAMA DE COLABORACIÓN ACTUALIZAR PRESTAMO 48 FIGURA 25. DIAGRAMA DE COLABORACIÓN GESTION DEVOLUCION 49 FIGURA 26. DIAGRAMA DE CLASES 50 FIGURA 27. MODELO OBJETO RELACIONAL 52 FIGURA 28. DISEÑO INTERFAZ ESTRUCTURA GENERAL 63 FIGURA 29. DISEÑO INTERFAZ GALERÍA DE LA INSTITUCIÓN 64 FIGURA 30. DISEÑO INTERFAZ SUBIR NOVEDADES 64 FIGURA 31. DISEÑO INTERFAZ ESTADO DEL MATERIAL 65 FIGURA 32. DISEÑO INTERFAZ REGISTRO DE LA PERSONA 65 FIGURA 33. DISEÑO INTERFAZ REGISTRO DEL MATERIAL 66 FIGURA 34. DIAGRAMA DE COMPONENTES 67 FIGURA 35. DIAGRAMA DE PAQUETES 68 FIGURA 36. DIAGRAMA DE DESPLIEGUE 68
9
LISTA DE TABLAS
TABLA 1. DESCRIPCIÓN DEL PROCESO PRÉSTAMO 23 TABLA 2. DESCRIPCIÓN DEL PROCESO DE CATALOGACIÓN 23 TABLA 3. DESCRIPCIÓN DE PROCESO DE INVENTARIOS 23 TABLA 4. DESCRIPCIÓN DEL PROCESO GESTIÓN USUARIOS 23 TABLA 5. DESCRIPCIÓN DEL PROCESO CUADRO DE SEGUIMIENTO 24 TABLA 6. DESCRIPCIÓN DEL PROCESO USUARIO ANÓNIMO 24 TABLA 7. IDENTIFICACIÓN DE ACTORES 33 TABLA 8. DOCUMENTACIÓN DE CASO DE USO CREAR PRESTAMO 38 TABLA 9. DOCUMENTACIÓN DE CASO DE USO COMPROBAR ESTADO 38 TABLA 10. DOCUMENTACIÓN DE CASO DE USO CONSULTAR PRESTAMO 39 TABLA 11. DOCUMENTACIÓN DE CASO DE USO ACTUALIZAR PRESTAMO 39 TABLA 12. DOCUMENTACIÓN DE CASO DE USO GESTIONAR
DEVOLUCION 40 TABLA 13. DICCIONARIO DE DATOS 53 TABLA 14. PRUEBA MODULO DE AUTENTICACION 69 TABLA 15. PRUEBA MODULO REGISTRO DE USUARIOS 70 TABLA 16. PRUEBA MODULO LIBROS Y AUDIOVISUALES 71 TABLA 17. PRUEBA MODULO DE PERFILES 72
10
RESUMEN
En el desarrollo de un sistema de información web para la gestión de inventario, consulta y préstamo de elementos de biblioteca para el colegio Eduardo Umaña Mendoza, se tuvo en cuenta permitir a los usuarios acceder a la información concerniente a los materiales que la biblioteca maneja, así, desde cualquier lugar los usuarios tendrían la oportunidad de ser partícipes de los procesos que el sistema debía optimizar.
A partir de las fases e iteraciones descritas en la metodología usada (RUP), se
describió en este documento el desarrollo del Sistema de información web,
tanto la parte teórica y de proceso como la parte práctica y de implementación,
dicha metodología fue elegida para llevar el control del proyecto porque tiene
etapas muy bien definidas, garantiza un orden durante todo el desarrollo de
proyectos, permitiendo mejor control de los tiempos y mayor claridad de los
objetivos propuestos.
El sistema fue desarrollado bajo una gama de tecnologías de avanzada como
son el patrón MVC, utilizando la tecnología framework JSF con la librería de
PrimeFaces, EJB con JPA y el servidor de aplicaciones empresariales
GlassFish, como motor de base de datos se implementó PostgreSQL. Todos
estos componentes se acoplaron permitiendo así que el sistema sea robusto y
escalable.
11
ABSTRACT
For the development of an information web system’s, for the data
management, enquiry and loan out library elements’ for the Eduardo Umaña
Mendoza school , it was important to provide to the users the access
concerning library information’s and materials’, like this, in something side the
user would can be participant for the system process’.
From the methodology phases’ and interactions’ used (RPU), in this document
was possible the development on the information web system’s, as the
theoretical part and the process as the implementation part and practice. This
methodology was selected to have the control in the project, in respect that its
phases are well defined, during the projects’ development it can guarantee the
order, like this, allow control times and clarity in the goals.
The system was developmented from a range technology’s, as the
patternMVC, used in the framework technology JSF Primefaces bookshop,
EJB with JPA and the server for corporate applications GlassFish, besides
Was possible to implement PostgreSQL. All the previous elements were closed
allowing to the system could be hardy and functional.
12
INTRODUCCION
La educación es ahora considerada un conjunto de diferentes ramas del aprendizaje, no solamente con la parte formativa y teórica sino también desde la visión psicológica y metodológica del estudiante en su particularidad. Es por eso que para garantizar la apreciación completa de la enseñanza se hace necesaria y casi indispensable la utilización de las TIC (tecnologías de información y comunicación) en el desarrollo formativo de los estudiantes. Con estas características, se vio la necesidad de implementar en el COLEGIO EDUARDO UMAÑA MENDOZA un sistema que ayude a la formación personal del escolar. Este proyecto está enfocado en permitir conocer la reseña de un estudiante para abrir un seguimiento a nivel psicológico, donde se evalúen parámetros de aprendizaje tanto del menor como de la institución educativa. Para conocer qué elementos están directamente relacionados con el tema y el objetivo del proyecto, se ha analizado en conjunto con el departamento de psicología, y se llega a la conclusión que se hace necesario conocer desde la información descriptiva del docente encargado del estudiante hasta la información personal, educativa y profesional de los padres. Para el desarrollo de este sistema se aplicaron tópicos de análisis y desarrollo de software, considerando la estructuración del proyecto dentro de una metodología práctica y de fácil comprensión, además las tecnologías por las que está enmarcado este proyecto, son libres.
13
1. FASE DE DEFINICIÓN, PLANEACIÓN Y ORGANIZACIÓN 1.1 TITULO DEL TRABAJO Sistema de información web para la gestión de inventario, préstamo y consulta de elementos de biblioteca para el colegio EDUARDO UMAÑA MENDOZA
1.2 TEMA Desarrollo de sistema multinivel con herramientas de software libre.
1.3PLANTEAMIENTO DEL PROBLEMA 1.3.1 Descripción. La Institución Distrital Eduardo Umaña Mendoza presta un servicio de Preescolar, básica primaria, secundaria y media mixto en las Jornadas de la mañana y de la tarde, cuenta con alrededor de 2900 Estudiantes. Actualmente la biblioteca de esta institución maneja los procesos de inventariado, préstamo, consulta de libros y otros elementos que ofrecen para sus estudiantes, el sistema de organización que realiza la institución es mediante carpetas físicas y libros de control pero al realizar el procedimiento de ésta manera se presenta problemas de concurrencia, fallos de información. Los inventarios son hechos una vez por año, como es un tiempo bastante largo para la realización de este proceso, se pueden presentar anomalías como pérdida de algún elemento sin ser detectado a tiempo; para saber si existe algún libro en la biblioteca necesariamente el usuario debe acercarse a la biblioteca, hacer la consulta por medio de planillas, carpetas, libros de control o usualmente buscando en cada uno de los estantes, además, si el usuario requiere información debe buscar el libro, luego acceder a dicha información, para saber cuándo es devuelto a las instalaciones, debe buscarse en los libros de control y en cada uno de los registros hasta encontrarse el indicado. 1.3.2 Formulación del problema. ¿Cómo se pueden mejorar la gestión de procesos de inventariado y catálogo de la Institución Educativa Eduardo Umaña Mendoza?
1.4 ALCANCES Y DELIMITACIONES 1.4.1 Alcances. Un sistema donde se relacionará información general de los estudiantes, sus datos básicos consignados desde el ingreso a la plataforma hasta la hoja de vida como estudiante activo.
14
Además permitirá realizar consultas y reportes, estos serán definidos por el área administrativa o por el personal autorizado a utilizar el sistema junto al equipo de desarrollo, para lo cual se hace necesario diferenciar los roles según sus requerimientos, asimismo, logrará ser actualizado a través del tiempo, según los nuevos requerimientos del cliente. Al finalizar el desarrollo del sistema, el mismo será estable y escalable.
1.4.2 Limitaciones. Temática Sistema multinivel, formación educativa. Geográfica El sistema quedara implementado en el espacio asignado en la intranet institucional del Colegio EDUARDO UMAÑA MENDOZA donde quedará a disposición de quienes integran la comunidad educativa. Técnica La plataforma de desarrollo de este aplicativo es: - Sistema operativo: Microsoft Windows 7 - Herramienta de desarrollo: Java - Manejador de Base de Datos: PostegreSQL - Metodología de Desarrollo: RUP - Lenguaje de modelado: UML 1.5 OBJETIVOS 1.5.1. Objetivo general. Analizar, diseñar y desarrollar un sistema de información web de préstamo y catalogo que permita la gestión de inventario, préstamo y consulta de libros, y otros materiales brindados por la biblioteca de la Institución Educativa donde se realizara el proyecto 1.5.2. Objetivos específicos.
Analizar los requerimientos del usuario, para definir los componentes del sistema.
Definir e implementar una arquitectura de información adecuada para la biblioteca.
Desarrollar e implementar los módulos necesarios para el correcto funcionamiento del sistema.
Diseñar y realizar las pruebas correspondientes para comprobar el buen funcionamiento de los componentes del sistema.
Diseñar e implementar una base de datos que permita la gestión de la información.
15
1.6. MARCO DE REFERENCIA 1.6.1 Marco teórico. 1.6.1.1 Colegio Eduardo Umaña Mendoza. El colegio Eduardo Umaña Mendoza es una institución pública, cuenta con más de 2900 estudiantes. Está conformada por estudios de Primaria y Bachillerato tanto en la jornada de la mañana como en la jornada de la tarde, situado en la localidad de Usme (Bogotá). Esta institución se encuentra ubicada en una localidad de bajos recursos y es conveniente empezar a influenciar la tecnología en localidades de tan bajos recursos, para así mismo colaborar en la comunidad. Hay que concentrar los esfuerzos en unas pocas áreas para lograr avances. Emplear los recursos humanos y monetarios en la definición de metas, el desarrollo de las planificaciones, la elaboración de pruebas de nivel, selección y confección de buenos materiales didácticos y en el perfeccionamiento de los profesores en esas áreas específicas. 1.6.1.2. RUP. Proceso Unificado Racional o RUP (Rational Unified Process), es uno de los procesos más generales de los existentes actualmente, ya que en realidad está pensado para adaptarse a cualquier proyecto, y no tan solo de software. Un proyecto realizado siguiendo RUP se divide en cuatro fases: 1. Intercepción (puesta en marcha) 2. Elaboración (definición, análisis, diseño) 3. Construcción (implementación) 4. Transición (fin del proyecto y puesta en producción) Figura 1. Fases del RUP
http://metodologiadesoftware.blogspot.com/2012/11/fases-del-modelo-
rup_27.html
RUP define las siguientes actividades a realizar en cada fase del proyecto:
16
Modelamiento del negocio Conjunto de modelos del negocio que tienen lugar dentro de una empresa o dependencia, como paso previo para establecer los requisitos del sistema a desarrollar. Los pasos que se usarán en este proyecto son:
Modelo del negocio Descripción de procesos Diagramas de Procesos
Modelo del dominio Diagrama de modelo de dominio.
Glosario de términos
Requerimientos Son las operaciones y recursos necesarios para el desarrollo del sistema. Existen dos tipos funcionales y no funcionales. Los pasos a seguir son:
Identificación de actores Lista prelimitar de casos de uso Refinar y nombrar casos de uso Modelo de casos de uso Documentación de casos de uso
Análisis Flujo de trabajo que nos da una visión conceptual general, describiendo cómo se va a implementar el sistema. Los pasos para este producto de flujo de trabajo son:
Diagramas de secuencia Diagramas de actividad Diagramas de colaboración Diagramas de estado Modelo de clases
Diseño Es el flujo de trabajo que nos brinda una visión de la manera cómo se va a programar el sistema. Se compone de los siguientes pasos:
Lista preliminar de clases Responsabilidades de clases (CRC) Modelo de interfaz Modelo lógico (modelo de diseño) Modelo físico Modelo objeto relacional Diccionario de datos
17
Implementación Este proceso permite el desarrollo de cada uno de los elementos del sistema de acuerdo al modelo de diseño, desarrolla el código de cada componente, distribuye cada uno de estos componentes en los diferentes recursos del sistema, se realiza la documentación y determina los estándares de programación a seguir. Los pasos a desarrollar son:
Diagrama de implementación Diagrama de despliegue Estándares Patrones Código Manuales
Pruebas En flujo de trabajo contiene dos etapas: sistema e integración. En sistema es donde se verifica que una parte o elemento del sistema esta funcionando bien y en la integración se verifica que los diferentes elementos que conforman el sistema funcionan bien integradamente. RUP y UML están estrechamente relacionados entre sí, pues mientras el primero establece las actividades y los criterios para conducir un sistema desde su máximo nivel de abstracción (la idea en la cabeza del cliente), hasta su nivel más concreto ( un programa ejecutándose en las instalaciones del cliente), el segundo ofrece la notación gráfica necesaria para representar los sucesivos modelos que se obtienen en el proceso de refinamiento. 1.6.1.3. UML. La definición de UML fue instaurada desde su primera versión pública. UML es un lenguaje usado para especificar, visualizar y documentar los componentes de un sistema en desarrollo orientado a objetos. Representa la unificación de las notaciones de Booch, OMT y Objectory, al igual que las mejores ideas de otros metodologías. Mediante la unificación de las notaciones usadas por estos métodos orientados a objetos, el Lenguaje Unificado de Modelado establece la base para un estándar en el dominio del análisis y el diseño orientados a objetos, fundado en una amplia base de experiencia de los usuarios. UML ha sido desarrollado con el fin de ser útil para modelar diferentes sistemas: de información, técnicos (telecomunicaciones, industria, etc.), empotrados de tiempo real, distribuidos; y no sólo es útil para la programación sino también para modelar negocios, es decir, los procesos y procedimientos que establecen el funcionamiento de una empresa. En lo que corresponde al desarrollo de programas, posee elementos gráficos para soportar la captura de requisitos, el análisis, el diseño, la implementación, y las pruebas. Sin embargo es necesario recalcar que UML es una notación y no un proceso/método, es decir, es una herramienta útil para representar los modelos del sistema en desarrollo, mas no ofrece ningún tipo de guía o criterios acerca de cómo obtener esos modelos Los diagramas de UML se pueden clasificar de la siguiente manera:
18
Diagrama de Casos de Uso: Sirve para describir las interacciones del sistema con su entorno, identificando los Actores, que representan los diferentes roles desempeñados por los usuarios del sistema, y los Casos de Uso, que corresponden a la funcionalidad que el sistema ofrece a sus usuarios, explicada desde el punto de vista de éstos.
Diagramas de Clase y Diagramas de Objetos: Un diagrama de clases es una colección de elementos de un modelo estático declarativo, tales como clases, interfaces, y sus relaciones, conectados como un grafo entre sí y con sus contenidos. Si bien la estructura estática de los modelos está integrada por clases y no por objetos, frecuentemente es necesario utilizar diagramas de objetos con el fin de ilustrar cómo se instancia en un momento dado un diagrama de clases.
Diagramas de Comportamiento:
Diagramas de Secuencia: Un Diagrama de Secuencias contribuye a la descripción de la dinámica del sistema en términos de la interacción entre sus objetos.
Diagramas de Colaboración: Los Diagramas de Colaboración muestran no sólo los mensajes a través de los cuales se produce la interacción entre los objetos, como en los Diagramas de Secuencia, sino también los enlaces entre los objetos; se trata de una mezcla de Diagrama de Objetos y Diagrama de Secuencia.
Diagramas de Estados: Permite describirla en términos del ciclo de vida de un objeto de una clase, mostrando los estados que éste puede tener y los estímulos que dan lugar a los cambios de estado.
Diagramas de Actividad: Los Diagramas de Actividad son en esencia diagramas de flujo, con algunos elementos adicionales que les permiten expresar conceptos como la concurrencia y la división del trabajo.
Diagramas de Implementación:
Diagramas de Componentes: Presenta elementos tangibles, los archivos. Se lo utiliza, para describir la estructura física del código de la aplicación en términos de sus componentes (código fuente, binario o ejecutable) y sus dependencias.
19
Diagramas de Implantación: Muestran nodos, conexiones, componentes y objetos. Los nodos representan objetos físicos con recursos computacionales como procesadores y periféricos; pueden mostrarse como una clase (ejemplo: una familia de procesadores) o una instancia, por lo que su nombre sigue la misma sintaxis establecida para clases y objetos. Las conexiones son asociaciones de comunicación entre los nodos, y se etiquetan con un estereotipo que identifica el protocolo de comunicación o la red utilizada. Los componentes son archivos de código ejecutable, que residen y se ejecutan dentro de un nodo; se pueden representar relaciones de dependencia entre los componentes que, de manera similar a las dependencias entre paquetes, corresponden al uso de servicios. 1.6.1.4 PostgreSQL Es un sistema de gestión de bases de datos objeto-relacional, distribuido bajo licencia BSD y con su código fuente disponible libremente. Es el sistema de gestión de bases de datos de código abierto más potente del mercado y en sus últimas versiones no tiene nada que envidiarle a otras bases de datos comerciales. PostgreSQL utiliza un modelo cliente/servidor y usa multiprocesos en vez de multihilos para garantizar la estabilidad del sistema. Un fallo en uno de los procesos no afectará el resto y el sistema continuará funcionando 1.6.1.5 JAVA Java es un lenguaje de programación orientado a objetos. El lenguaje deriva mucho de su sintaxis de C y C++, pero tiene menos facilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java son generalmente compiladas a bytecode (clase Java) que puede correr en cualquier máquina virtual Java (JVM) sin importar la arquitectura de la computadora. Fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo. Java es, a partir del 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.
1.6.1.6. Arquitectura Web Multicapa Es una técnica de ingeniería de software propia de la programación por objetos, éstos se organizan principalmente en 3 capas: la capa de presentación o frontera, la capa de lógica de negocio o control, y la capa de datos. Siguiendo el modelo, el desarrollador se asegura avanzar en la programación del proyecto de una forma ordenada, lo cual beneficia en cuanto a reducción de costos por tiempo, debido a que se podrá avanzar de manera más segura en el desarrollo, al ser dividida la aplicación general en varios módulos y capas que pueden ser tratados de manera independiente. Otra característica importante de recalcar es la facilidad para las actualizaciones de la aplicación. En este aspecto, la programación en capas juega un papel de suma importancia ya que sigue un estándar conocido en el ambiente de desarrollo de aplicaciones.
20
Capa de presentación: del programa ante el usuario, debe manejar interfaces que cumplan con el objetivo principal de este componente, el cual es facilitar al usuario la interacción con la aplicación. Capa lógica: Es llamada capa de reglas de negocio porque en esta se definen todas las reglas que se deben cumplir para una correcta ejecución del programa. Capa de datos: Es la encargada de realizar transacciones con bases de datos y con otros sistemas para obtener o ingresar información al sistema.
1.6.1.7 Marco Conceptual RUP: Es una metodología de desarrollo de software. PostgreSQL: Sistema de administración para bases de datos relacionales. Sistemas de Base de Datos: Es una serie de datos organizados y relacionados entre sí, los cuales nos van a servir para los datos acerca de las investigaciones en Ciencia y tecnología. Arquitectura Multinivel: Conocida también como arquitectura de tres capas, la arquitectura multicapa es una técnica para crear aplicaciones generalmente divididas en capas de servicios de usuario, de negocios y de datos. Base de Datos: Cualquier conjunto de datos organizados para su almacenamiento en la memoria de un ordenador, diseñado para facilitar su mantenimiento y acceso de una forma estándar.
1.7 FACTIBILIDAD 1.7.1 Factibilidad técnica Los recursos necesarios para el desarrollo del sistema son: - Hardware: Disco duro de 500GB, Memoria de 4GB, Procesador Intel Pentium 4 GHz. - Software: Sistema Operativo: Windows 7, Base de Datos: PostgreSQL, Lenguaje de Programación: Java Este proyecto es factible técnicamente ya que el departamento de tecnologías de la información (IT) del colegio suministra el equipo necesario. 1.7.2 Factibilidad operativa El proyecto cuenta con el soporte del bibliotecario y el almacenista del departamento de tecnologías de información del colegio EDUADRO UMAÑANA MENDOZA y con el profesor nombrado como tutor de la universidad DISTRITAL FRANCISCO JOSE DE CALDAS, además el proyecto cuenta con la supervisión de las directivas.
21
1.7.3 Factibilidad legal Para garantizar la legalidad del sistema, se han utilizado recursos de software (Java, PostreSQL) en versión libre. El manejo de programas de Microsoft y el sistema operativo contienen la licencia del establecimiento educativo por lo tanto es factible el desarrollo del proyecto. 1.7.4 Factibilidad económica El iniciar un proyecto se debe tener en cuenta que significa hacer una inversión en recursos físicos, lógicos y humanos, por esta razón es necesario conocer la posibilidad de alcanzarse antes de desarrollarse.
1.8 PLANIFICACION DEL PROYECTO 1.8.1 Cronograma de actividades Este cronograma se modela mediante un diagrama de GANTT (Tiempo contra Actividad). Figura 2. Cronograma de actividades
23
2. MODELAMIENTO DEL NEGOCIO A continuación se presenta el Modelado del Negocio el cual se realiza con mayor énfasis en la fase conceptual de la metodología Rational Unified Process (RUP) tiene como objetivos comprender la estructura, la dinámica de la organización, problemas actuales, identificar posibles mejoras y comprender los procesos. 2.1 MODELO DEL NEGOCIO Los diagramas se basan en los objetivos principales de la Biblioteca, mostrando los pasos que permiten que se dé el cumplimiento necesario. 2.1.1 Descripción de procesos Tabla 1. Descripción del proceso préstamo
Proceso de Gestión Ficha de Préstamo
Objetivo Sistematizar la información del área bibliotecaria y de audiovisuales, para realizar un seguimiento completo de los materiales que se mantienen en préstamo.
Descripción Registrar cada observación de cada periodo, los materiales que ingresan a la institución, los que permanecen en préstamo, los que se registran como multa y la disponibilidad de cada uno de ellos. Este proceso lo llevara a cabo las personas con acceso a esta clase de información.
Tabla 2. Descripción del proceso de catalogación
Proceso de Gestión Ficha de Catalogación
Objetivo Sistematizar cada descripción del material ya sea del área de audiovisuales o del área bibliotecaria por parte del sistema Dewey
Descripción Con esta herramienta se podrá conocer con precisión en qué lugar y en qué estado se encuentra el material registrado por sistema.
Tabla 3. Descripción de proceso de inventarios
Proceso de Gestión Ficha de Inventarios
Objetivo Generar un informe particular con la información contenida en la base de datos, para conocer y reparar las condiciones en que se encuentran.
Descripción Con esta herramienta, se podrá conocer de forma comparativa, diferentes temáticas para Identificar mecanismos que permitan mejorar el estado de los materiales y así su uso sea de mayo agrado.
24
Tabla 4. Descripción del proceso gestión usuarios
Proceso de Gestión Ficha de Gestión de Usuarios
Objetivo Acceder al sistema por medio de un usuario y una contraseña, permitiendo que el manejo de la información sea de forma restrictiva y segura
Descripción Crear, modificar y eliminar cuentas de usuario teniendo en cuenta las restricciones que debe tener según el cargo designado por el colegio. A este proceso solo podrá acceder la persona designada para tal fin y realizara estas tareas siguiendo parámetros preestablecidos
Tabla 5. Descripción del proceso cuadro de seguimiento
Proceso de Gestión Ficha de Cuadro de Seguimiento
Objetivo Identificar los procesos de cada material dentro de la institución y verificar en qué estado se encuentran.
Descripción Se mostrará un cuadro organizado según la vida del material, donde se permite visualizar sencillamente, por los estados en los que ha pasado.
Tabla 6. Descripción del proceso usuario anónimo
Proceso de Gestión Ficha de Usuario Anónimo
Objetivo Definir una nueva hoja de vida por usuario anónimo mediante una solicitud de admisión, y así permitir la creación, consulta y modificación de forma práctica y confiable
Descripción Crear, consultar y modificar cada una de las hojas de los usuarios. A este proceso solo podrá acceder la persona designada para tal fin y realizará estas tareas siguiendo parámetros preestablecidos.
25
2.1.2 Diagramas de procesos sin sistematizar
Figura 3. Proceso gestión catalogación
Fuente: Los autores
26
Figura 4. Proceso gestión préstamo
Fuente: Los autores
Figura 5. Proceso gestión cuadro de seguimiento
Fuente: Los autores
27
2.2 MODELO DEL DOMINIO El modelo del dominio muestra (a los modeladores) clases conceptuales significativas en un dominio del problema, es una representación visual de las clases conceptuales u objetos del mundo real en un dominio de interés. 2.2.1 Diagrama de modelo de dominio Figura 6. Diagrama modelo de dominio
29
2.2.2 Glosario de términos
Objeto o Articulo Hace referencia a los diferentes elementos que posee la biblioteca, ya sea para préstamo o no.
Reporte Informe estadístico generado por el sistema que describe, organiza y exhibe la información contenida en una base de datos, suele ir acompañado por gráficos, diagramas o tablas de contenido. Su función es aplicar un formato determinado a los datos para mostrarlos por medio de un diseño atractivo y que sea fácil de interpretar por los usuarios.
Usuario Hace referencia a cada uno de los entes que utilizan el sistema.
Préstamo Obtener en préstamo un documento de la colección de la Biblioteca implica sacarlo de sus locales, hacerse cargo por un periodo de tiempo determinado de su conservación y devolverlo dentro del plazo establecido.
Reservas Si un usuario necesitara disponer de un elemento que estuviera prestado en ese momento, podrá realizar una reserva sobre el mismo.
30
3. REQUERIMIENTOS 3.1 REQUERIMIENTOS FUNCIONALES El sistema de gestión bibliotecaria del COLEGIO EDUARDO UMAÑA MENDOZA debe permitir la consulta de los libros guardados en la base de datos por medio del módulo de préstamo por parte de los usuarios previamente registrados para que puedan usar los libros de la biblioteca. El sistema de gestión bibliotecaria permitirá acceder a los módulos de: inventario, préstamo según sea el rol del usuario.
El usuario identificado como bibliotecario podrá extraer un inventario de
las existencias de libros y demás material bibliotecario según sea la necesidad.
El usuario identificado como bibliotecario podrá: insertar, consultar,
eliminar y modificar, bajo su criterio profesional, la base de datos de la biblioteca.
El usuario identificado como bibliotecario podrá acceder al módulo de
préstamo diseñado para este usuario y de esta forma aprobara solicitudes de préstamo realizadas por usuarios identificados como usuario y además podrá realizar préstamos a quien los solicite personalmente en la biblioteca.
El usuario identificado como bibliotecario podrá acceder al módulo de
reservas para consultar las listas que contienen la información sobre quienes solicitan las reservas, para cuando, cuantos y cuales libros-colecciones u otros elementos necesita.
El sistema será capaz de restringir el número de préstamos y reservas
para un usuario especifico
Los datos utilizados para los listados de usuarios van a ser migrados de un listado existente de estudiantes, el cual se actualiza periódicamente, el faltante correspondiente a docentes, funcionarios, administrativos y otros, deberán ser registrados por medio del módulo correspondiente.
El sistema debe generar los diferentes tipos de reportes solicitados.
El módulo de préstamo permitirá verificar la información de los libros de la biblioteca en la base de datos, se entiende que:
El usuario identificado como usuario podrá solicitar la nueva creación de usuario para empezar a realizar préstamos.
31
El usuario identificado como bibliotecario podrá acceder al módulo de préstamo diseñado para este usuario y de esta forma aprobara solicitudes de préstamo realizadas por usuarios identificados como socio y además podrá realizar préstamos a quien los solicite personalmente en la biblioteca.
El usuario identificado como bibliotecario podrá realizar el préstamo de
las existencias de libros y demás material bibliotecario según sea la necesidad.
El usuario identificado como usuario podrá verificar si se encuentra en multa por devolución de dicho material.
El usuario identificado como usuario podrá solicitar el préstamo de los de
libros y demás material que se encuentre en la institución.
El usuario identificado como usuario podrá realizar la reserva para que el material no esté disponible hasta hacer efectivo el préstamo.
El usuario identificado como bibliotecario podrá acceder al módulo de
reservas para consultar las listas que contienen la información sobre quienes solicitan las reservas, para cuando, cuantos y cuales libros-colecciones necesita.
El sistema será capaz de restringir el número de préstamos y reservas
para un usuario especifico 3.2 REQUERIMIENTOS NO FUNCIONALES
Desempeño El sistema debe garantizar que la información podrá ser consultada y
actualizada permanente y simultáneamente, sin que se afecte el tiempo de respuesta.
El sistema debe ser capaz de dar respuesta al acceso de todos los
usuarios y los procesos que ellos soliciten en un tiempo de respuesta aceptable, en la medida de las capacidades tecnológicas del colegio.
Disponibilidad
El sistema debe estar disponible 100% o un porcentaje muy cercano al servicio de los usuarios, a su vez el porcentaje de tiempo en el que el sistema es capaz de realizar las funciones para las cuales es diseñado debe ser considerablemente alto (por encima del 95%).
32
Escalabilidad
El sistema debe estar en capacidad de permitir en el futuro el desarrollo de nuevas funcionalidades, modificar o eliminar algunas ya existentes, después de su construcción y puesta en marcha, debe reaccionar y adaptarse sin perder su calidad en los servicios ofrecidos, debe manejar el crecimiento continuo de trabajo de manera fluida.
Mantenibilidad
Todo el sistema deberá estar completamente documentado, cada uno de los componentes del software que forman parte de la solución propuesta deberán estar debidamente documentados.
El sistema debe contar con una interfaz de administración que incluya:
Administración de usuarios entre otros y cada una de estas secciones deberá ofrecer todas las opciones de administración disponibles para cada uno.
El sistema debe estar en capacidad de permitir futuros mantenimientos de los posibles errores que se puedan presentar en el funcionamiento del sistema.
Operatividad
El sistema debe ser de fácil operación para los diferentes tipos de usuarios sin dar espacio a confusiones que tengan que ver con el manejo de la información.
El sistema debe ser de fácil uso y entrenamiento, así como de fácil
adaptación del colegio con el mismo.
El sistema debe presentar mensajes de error que permitan al usuario identificar el tipo de error y comunicarse con el administrador del sistema.
Seguridad
El acceso al sistema debe estar restringido por el uso de claves asignadas a cada uno de los usuarios, solo podrán ingresar usuarios registrados en el sistema, cada usuario entrara bajo un rol especifico y bajo ese rol tendrá opciones de trabajo definidas.
El sistema debe estar en capacidad de rechazar accesos o
modificaciones no autorizados a la información y brindar las herramientas suficientes para cada usuario legítimo del sistema.
33
El sistema debe contar con una auditoria interna en la base de datos que permita revisar los cambios de información.
Validación de información
El sistema debe validar automáticamente la información contenida en los formularios de ingreso. Se deben tener en cuenta aspectos tales como obligatoriedad de campos, longitud de caracteres permitida por campo, manejo de tipos de datos, etc.
Respaldos de información
El sistema deberá proveer mecanismo para generar los respaldos de información periódicamente de la información que se mantiene en el sistema. Los respaldos de información deben ser responsabilidad del administrador del sistema quien debe crearlos, almacenarlos y recuperar la información en el caso que se pierda información.
3.3 IDENTIFICACION DE ACTORES
Tabla 7. Identificación de actores
Actores
Administrador El encargado de gestionar la información de los usuarios y atender sus solicitudes de préstamo y reservas de los elementos. Es quien administra la información de los recursos la Biblioteca
Usuario registrado
Es el usuario quien tiene acceso a consulta, reserva y préstamo de los libros.
Usuario Anónimo
Es el usuario que puede acceder a consultar los libros de la biblioteca
3.4 LISTA PRELIMINAR DE CASOS DE USO
Administrador Gestionar Préstamo Crear préstamo Comprobar estado Consultar préstamo Actualizar préstamo Gestionar devolución Gestionar perfil Crear usuario registrado Validar usuario
34
Consultar usuario registrado Actualizar usuario registrado Eliminar usuario registrado Gestionar registro material Crear material Gestionar campo Dewey Consultar material
Usuario registrado
Gestionar Reserva Realizar reserva Eliminar reserva Consultar préstamo
Usuario anónimo
Gestionar perfil Crear usuario registrado Consultar usuario registrado Modificar usuario registrado Comprobar existencia
Figura 8. Caso de uso Usuario registrado
Fuente: Los autores
Figura 9. Caso de uso Usuario Anónimo
Fuente: Los autores
3.6 . MODELO DE CASOS DE USO El modelo de casos de uso permite presentar el listado de todos los casos de
uso del sistema para así determinar todos los casos de uso que realiza un
actor.
Figura 10. Modelo de casos de uso
Fuente: Los autores
3.7 DOCUMENTACIÓN DE CASOS DE USO En la documentación solo se citara el caso de uso de “Gestionar Préstamo”.
Anexos digitales al finalizar el documento, por razones de cuidado de medio
ambiente y reciclaje. (Anexo A. Documentación casos de uso)
Tabla 8. Documentación de caso de uso Crear préstamo
No. Caso de Uso NOMBRE CASO DE USO 01 Crear préstamo
ACTORES Administrador
OBJETIVO Generar el préstamo en el sistema
PRECONDICIONES
Para realizar el préstamo del material, el usuario debe estar registrado en el sistema Para modificar la información los actores deben haber iniciado sesión
POSCONDICIONES La modificación de los datos realizada satisfactoriamente
FLUJO DE EVENTOS
Actividades del Actor
1. Utilizar el comando de iniciar sesión 3. Revisar la disponibilidad del material 4. Se ingresa los datos del usuario 5. Se ingresa la identificación del material a prestar 6. Asignar ficha de devolución del libro
Respuesta del Sistema
2. Aceptación de datos para ingresar al sistema 7. El sistema registra el préstamo
MANEJO DE SITUACIONES EXEPCIONALES
El material no se encuentre disponible, el administrador informa al usuario El sistema genera error al ingresar datos del usuario El usuario tiene devoluciones pendientes
Tabla 9. Documentación de caso de uso Comprobar estado del material
No. Caso de Uso NOMBRE CASO DE USO 02 Comprobar estado del material
ACTORES Administrador
OBJETIVO Verificar la información del material
PRECONDICIONES Para comprobar la localización y estado del material, el material debe estar registrado en el sistema
POSCONDICIONES Material localizado
FLUJO DE EVENTOS
Actividades del Actor
1. Ingresar criterios de búsqueda del material 3. Elegir el registro catalografico 4. El administrador comprueba la localización del material
Respuesta del Sistema
2. El sistema muestra la lista de registros
MANEJO DE SITUACIONES EXEPCIONALES
El administrador cambia la localización del material
Tabla 10. Documentación de caso de uso Consultar préstamo
No. Caso de Uso NOMBRE CASO DE USO 03 Consultar préstamo
ACTORES Administrador, Usuario registrado
OBJETIVO Verificar el estado del préstamo
PRECONDICIONES
Para consultar prestamos de material, el material debe estar registrado en el sistema y en estado como préstamo Para modificar la información los actores deben haber iniciado sesión
POSCONDICIONES La consulta del préstamo registrada
FLUJO DE EVENTOS
Actividades del Actor
1. El administrador inicia sesión 2. El administrador ingresa la descripción del material. 4. El administrador consulta los datos 6. El administrador acepta el registro
Respuesta del Sistema
5. El sistema muestra la información del registro 7. Se consulta satisfactoriamente
MANEJO DE SITUACIONES EXEPCIONALES
El sistema informa que los datos no son validos
Tabla 11. Documentación de caso de uso Actualizar préstamo
No. Caso de Uso NOMBRE CASO DE USO 04 Actualizar préstamo
ACTORES Administrador
OBJETIVO Actualizar datos del préstamo
PRECONDICIONES
Para actualizar prestamos de material, el material debe estar registrado en el sistema y en estado como préstamo Para modificar la información los actores deben haber iniciado sesión
POSCONDICIONES La actualización del préstamo registrada
FLUJO DE EVENTOS
Actividades del Actor
1. El administrador inicia sesión 2. El administrador ingresa la descripción del material. 4. El administrador actualiza los datos 6. El administrador acepta la actualización
Respuesta del Sistema
5. El sistema muestra la información de la actualización 7. Se actualiza satisfactoriamente
MANEJO DE SITUACIONES EXEPCIONALES
El sistema informa que los datos no son válidos o no se pueden actualizar
Tabla 12. Documentación de caso de uso Gestionar devolución
No. Caso de Uso NOMBRE CASO DE USO 05 Gestionar devolución
ACTORES Administrador
OBJETIVO Realizar la devolución pendiente del préstamo del material
PRECONDICIONES
Para comprobar la gestión de la devolución del material, el material debe estar registrado en el sistema y en estado como préstamo. Para modificar la información los actores deben haber iniciado sesión
POSCONDICIONES La verificación del estado el libro satisfactoria.
FLUJO DE EVENTOS
Actividades del Actor
1. Utilizar el comando de iniciar sesión 3. Ingresa criterios de búsqueda del material 4. Revisar el estado del material. 5. Verificar el usuario que tenga pendiente la devolución. 6. Registrar la devolución
Respuesta del Sistema
2. Aceptación de datos para ingresar al sistema 7. El sistema registra la devolución pendiente
MANEJO DE SITUACIONES EXEPCIONALES
El sistema genera error al ingresar datos del usuario El usuario no tiene devoluciones pendientes
4. ANÁLISIS 4.1 DIAGRAMAS DE SECUENCIA Para cada caso de uso se ha realizado un diagrama de secuencia, en el cual se busca mostrar la interacción a través del tiempo entre los objetos del sistema, se modela la forma en que los objetos se comunican entre sí al transcurrir el tiempo. En el presente diagrama se citara solo el diagrama de secuencia de “Gestionar
Préstamo”. Anexos digitales al finalizar el documento, por razones de cuidado de
medio ambiente y reciclaje. (Anexo B. Diagramas de secuencia)
Figura 11. Diagrama de secuencia Crear Prestamo
Fuente: Los autores
Figura 12. Diagrama de secuencia Comprobar estado
Fuente: Los autores
Figura 13. Diagrama de secuencia Consultar prestamo
Fuente: Los autores
Figura 14 . Diagrama de secuencia Actualizar prestamo
Fuente: Los autores
Figura 15 . Diagrama de secuencia Gestionar devolucion
Fuente: Los autores
4.2 DIAGRAMAS DE ACTIVIDAD Con los siguientes diagramas de actividad se representa el comportamiento que cada uno de los casos de uso descritos anteriormente, lo cual servirá de ayuda para entender como es utilizado el sistema y cuál es su reacción en determinados eventos. En el presente diagrama se citara los diagramas de actividad de “Gestionar
Préstamo”. Anexos digitales al finalizar el documento, por razones de cuidado de
medio ambiente y reciclaje. (Anexo C. Diagramas de actividad)
Figura 16. Diagrama de Actividad Crear prestamo
Fuente: Los autores
Figura 17. Diagrama de Actividad Comprobar estado
Fuente: Los autores
Figura 18. Diagrama de Actividad Consultar préstamo
Fuente: Los autores
Figura 19. Diagrama de Actividad Actualizar préstamo
Fuente: Los autores
Figura 20. Diagrama de Actividad Gestionar Devolución
Fuente: Los autores
4.3 DIAGRAMAS DE COLABORACION Esta es la muestra de una interacción organizada basándose en los objetos que toman parte en la interacción y los enlaces entre los mismos En el presente diagrama solo se citara los diagramas de colaboración de
“Gestionar Préstamo”. Anexos digitales al finalizar el documento, por razones de
cuidado de medio ambiente y reciclaje. (Anexo D. Diagramas de colaboración)
Figura 21. Diagrama de Colaboración Crear Préstamo
Fuente: Los autores
Figura 22. Diagrama de Colaboración Comprobar estado
Fuente: Los autores
Figura 23. Diagrama de Colaboración Consultar préstamo
Fuente: Los autores
Figura 24. Diagrama de Colaboración Actualizar préstamo
Fuente: Los autores
5. DISEÑO
La siguiente fase tiene como objetivó hacer un enfoque detallado en el prototipo,
implementación y prueba para obtener como resultado el éxito del proyecto. La
misma busca solventar problemas llevando a cabo según la metodología RUP la
alta calidad y aun costo efectivo. Consiste en determinar la solución técnica y
necesaria del proyecto a ejecutar.
Diagrama de clases.
Los diagramas de clases muestran las diferentes clases que componen un
sistema y cómo se relacionan unas con otras. Se dice que los diagramas de
clases son diagramas «estáticos» porque muestran las clases, junto con sus
métodos y atributos, así como las relaciones estáticas entre ellas: qué clases
«conocen» a qué otras clases o qué clases «son parte» de otras clases, pero no
muestran los métodos mediante los que se invocan entre ellas.
Diagrama de Entidad Relación.
Los diagramas de relaciones de entidad (diagramas ER) muestran el diseño
conceptual de las aplicaciones de bases de datos. Representan varias entidades
(conceptos) en el sistema de información y las relaciones y restricciones
existentes entre ellas. Una extensión de los diagramas de relaciones de entidad
llamado «diagramas de relaciones de entidad extendida» o «diagramas de
relaciones de entidad mejoradas» (EER), se utiliza para incorporar las técnicas de
diseño orientadas a objetos en los diagramas ER.
5.1 DIAGRAMA DE CLASES Figura 26. Diagrama de clases
5.3 DICCIONARIO DE DATOS Tabla 13. Diccionario de datos.
TABLA CAMPO DESCRIPCION TIPO
DEWEY Dwy_codigo Dwy_nombre Dwy_padre
Código para representar una categoría Área del conocimiento Representa un clase padre el código Dewey
VARCHAR(15) NOT NULL VARCHAR NOT NULL, VARCHAR(15)
MENU Men_id Men_nombre Men_nivel Men_url Men_estado Men_fecha_alta Men_padre
Almacena diferentes tipos de menús Nombre del menú Nivel del menú o subnivel Dirección url del menú Estado del menú Fecha en la que se crea el Menu Menu padre
NUMERIC(15) NOT NULL VARCHAR(50) NOT NULL NUMERIC(5) NOT NULL VARCHAR(500) VARCHAR(1) NUMERIC(15)
PERFIL Prf_id Prf_nombre Prf_estado Prf_descripcion Prf_fecha_alta
Identificar perfil de cargo Nombre del perfil de usuarios Estado del perfil de usuario Descripción del perfil de usuarios Fecha en la que se crea el perfil'
NUMERIC(15) NOT NULL VARCHAR(50) NOT NULL VARCHAR(1)
VARCHAR(255) NOT NULL TIMESTAMP DEFAULT NOT
Prf_dias_prestamo Prf_dias_renovacion
Días en los que se presta un libro Cantidad días que se renovar un préstamo
NULL NUMERIC(2) NOT NULL NUMERIC(2) NOT NULL
Basica_Tabla Tbl_id Tbl_nombre Tbl_descripcion Tbl_estado Tbl_fecha_alta Tbl_madre
Guardan nombre de las tabla básicas Identificador de la tabla Descripción de la tabla básica Estado de la tabla Fecha ingresa los datos de la tabla básica al sistema Identificador de la tabla madre
NUMERIC(15) NOT NULL VARCHAR(100) NOT NULL VARCHAR(255) NOT NULL VARCHAR(1) TIMESTAMP DEFAULT NOT NULL NUMERIC(15)
Basica_Tipo Btp_id Btp_Nombre Btp_descripcion Btp_estado Btp_orden Btp_desc(1-7) Btp_tbl_id
Guardan todos los datos de tablas básicas Identificador de los datos de las tablas básicas Descripción del dato de la tabla básica Estado del dato Activo(A) o Inactivo(I) Orden en el desplegaran los datos según el filtro realizado Descriptor usado a discreción del programador
NUMERIC(15) NOT NULL VARCHAR(150) NOT NULL VARCHAR(255) VARCHAR(1) DEFAULT 'A' NOT NULL NUMERIC(15) VARCHAR(255) NUMERIC(15)
Btp_madre
Tabla a la que pertenece el dato básico Referencia a esta misma tabla que indica que un dato básico es hijo de otra tabla básica
NUMERIC(15)
PERSONA Prs_identificacion Prs_primer_apellido Prs_segundo_apellido Prs_primer_nombre Prs_segundo_nombre Prs_sexo Prs_fecha_nacimiento Prs_direccion Prs_mail Prs_estado Prs_tipo_doc Prs_fecha_alta Prs_Observacion
Identificación del usuario Primer apellido de la persona Segundo apellido de la persona Primer nombre de la persona Segundo nombre de la persona Género de la persona Fecha de nacimiento de la persona Dirección de residencia de la persona Correo electrónico de la persona Estado de la persona en la base de datos Tipo de documento de identificación de la persona Fecha en la que ingresa la persona al
VARCHAR(15) NOT NULL VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(1) NOT NULL DATE NOT NULL VARCHAR(500) DEFAULT NOT NULL VARCHAR(150) VARCHAR(1) DEFAULT 'A' NOT NULL NUMERIC(15) NOT NULL TIMESTAMP DEFAULT NOT NULL
Prs_acudient
sistema Observación de la persona Acudiente o responsable de la persona
VARCHAR VARCHAR(15)
NOTICIA Ntc_id Ntc_texto Ntc_redactor Ntc_anonimo Ntc_ruta_imagen Ntc_titulo
Noticias que sube el administrador para mostrar en la página de inicio Consecutivo identificador para las noticias Persona que sube la noticia Campo para saber si la noticia se publicara con autor anónimo Ruta de la imagen para la noticia Título de la noticia
NUMERIC(15) NOT NULL VARCHAR NOT NULL NUMERIC(15) NOT NULL VARCHAR(1) DEFAULT 'N' NOT NULL VARCHAR NOT NULL VARCHAR NOT NULL
SUGERENCIA Sgr_id Sgr_asunto Sgr_Comentario Sgr_fecha Sgr_estado Sgr_motivo_cierre
Consecutivo que identifica la sugerencia en el sistema Asunto del que trata la sugerencia Comentario o sugerencia en sí. Fecha en la que es creada la sugerencia Estado de la sugerencia Motivo por el cual se cerró la
NUMERIC(15) NOT NULL VARCHAR NOT NULL VARCHAR NOT NULL TIMESTAMP DEFAULT NOT NULL VARCHAR(1) DEFAULT 'A' NOT NULL VARCHAR
Sgr_persona sugerencia Persona que registro la sugerencia.
VARCHAR(15)
PRESTAMO Prst_id Prs_identificacion Pres_fecha_Res Pres_fecha_prestamo Pres_fecha_prevista Pres_estado
Consecutivo que identifica los prestamos Identificación de la persona Fecha y hora en la que se crea la reserva Fecha y hora en la que se realiza el préstamo Fecha prevista para la devolución del material estado de la reserva
NUMERIC(15) NOT NULL VARCHAR(15) NOT NULL TIMESTAMP DEFAULT NOT NULL TIMESTAMP DEFAULT NOT NULL TIMESTAMP DEFAULT NOT NULL VARCHAR(1) DEFAULT 'R' NOT NULL
RENOVACION Rnv_id Rnv_fecha Rnv_prestamo Rnv_fecha_prevista
Consecutivo de renovación Fecha en la que se registra la renovación de préstamo Préstamo al que se le genera renovación Fecha prevista para la nueva devolución
NUMERIC(15) NOT NULL IMESTAMP DEFAULT NOT NULL NUMERIC(15) NOT NULL IMESTAMP DEFAULT NOT NULL
CUENTA Cnt_persona
Persona a la que le pertenecen las cuentas
VARCHAR(15) NOT NULL
Cnt__perfil Cnt_contrasenia Cnt_alias Cnt_estado Cnt_contrasenia_antigua Cnt_fecha_alta Cnt_motivo_estado
Perfil de usuarios Clave del usuario para entrar al sistema con Bowfish El alias o usuario para poder entrar al sistema Estado en el que se encuentra la cuenta Se utiliza para casos de restablecer contraseña Fecha en la que se crea la Cuenta de usuario Motivo por el cual se inhabilita la cuenta
NUMERIC(15) NOT NULL VARCHAR NOT NULL VARCHAR(80) NOT NULL VARCHAR(1) VARCHAR TIMESTAMP DEFAULT NOT NULL VARCHAR
VINVULADO Vnc_id Vnc_fecha_alta Vnc_fecha_baja Vnc_estado Vnc_identificacion Vnc_vinculo
Identificador consecutivo de cada persona relacionada directamente con el colegio Fecha de vinculación con la institución Fecha en la cual se desvincula la persona de la institución Estado de la persona vinculada a la institución Identificación de la persona vinculada Vinculo que tiene la persona con la
NUMERIC(15) NOT NULL TIMESTAMP NOT NULL DATE VARCHAR(1) DEFAULT 'A' NOT NULL VARCHAR(15) NOT NULL NUMERIC(15) NOT NULL
institución
EDITORIAL Edt_id Edt_nombre Edt_pais
Campo para identificar las distintas editoriales Nombre único con el cual se identifica cada una de las editoriales registrada en la biblioteca País de origen de la editorial
NUMERIC(15) NOT NULL VARCHAR NOT NULL NUMERIC(15)
MATERIAL Mtr_id Mat_titulo Mtr_edicion Mtr_isbn Mtr_cod_dane Mtr_cod_barras
Campo autoincrementado que identifica cada uno de los materiales de la biblioteca Campo requerido para guardar el nombre del material Campo donde se guarda el número de edición del material si es que tiene. Código isbn de los materiales de la biblioteca Campo para registrar si el material tiene código del dane asociado Campo para guardar el código de barras que identifica algunos
NUMERIC(15) NOT NULL VARCHAR NOT NULL VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR
Mtr_fecha_edicion Mtr_descripcion Mtr_editorial Mtr_pais Mtr_ciudad Mtr_fecha_alta
materiales de la biblioteca Campo dedicado a alojar la fecha de la edición del material Descripción de cada uno de los materiales Editorial que produce el material Campo no requerido para saber el país donde fue manufacturado o impreso el material Campo no requerido para saber la ciudad donde fue manufacturado o impreso el material Fecha en la que ingresa los datos del material al sistema
DATE VARCHAR NOT NULL NUMERIC(15) NUMERIC(15) NUMERIC(15) TIMESTAMP DEFAULT NOT NULL
VOLUMEN Vlm_id Vlm_nombre Vlm_descripcion Vlm_numero
Consecutivo para identificar los volúmenes de un material Nombre que tiene cada volumen dentro del grupo de volúmenes Descripcion del volumen Numeración del volumen
VARCHAR(15) NOT NULL VARCHAR NOT NULL VARCHAR INTEGER NOT NULL
Vlm_paginas Vlm_material Vlm_idioma
Número de páginas del volumen Material al que está asociado el volumen Idioma del volumen
INTEGER NUMERIC(15) NOT NULL NUMERIC(15)
EJEMPLAR Ejm_id Ejm_numero Ejm_volumen Ejm_fecha_ingreso Ejm_consumo_controlado Ejm_estado Ejm_estado_fisico Ejm_sala
Ejm_tipo_adquicicion
Consecutivo que identifica el ejemplar Número del ejemplar de un volumen de algún material Volumen al que está asociado el ejemplar Fecha de ingreso del ejemplar al sistema Campo que especifica si un material es o no de consumo controlado Estado del ejemplar Estado físico del libro SL =sin lomo Sala en la que se encuentra el ejemplar Forma como fue adquirido
NUMERIC(15) NOT NULL INTEGER NOT NULL VARCHAR(15) NOT NULL TIMESTAMP NOT NULL VARCHAR(1)
VARCHAR(2) VARCHAR(2) NOT NULL NUMERIC(15) NOT NULL NUMERIC(15) NOT NULL
COMPLEMENTARIO Cmp_nombre Ejm_id Cmp_tipo_comple
Nombre del accesorio asociado a un libro Consecutivo que identifica el ejemplar
VARCHAR NOT NULL NUMERIC(15) NOT NULL NUMERIC(15)
Cmp_descripcion
Tipo de complementario Descripción del accesorio asociado a un libro
NOT NULL VARCHAR NOT NULL
Prestamo_detalle Prst_dtl_prestamo Prst_dtl_ejemplar Prst_dtl_fecha_devolucion Prst_dtl_renovacion
Préstamo al que le pertenece el detalle Ejemplar implicado en un préstamo Fecha en la que es devuelto el material Renovación asociada a un préstamo
NUMERIC(15) NOT NULL C(15) NOT NULL TIMESTAMP NUMERIC(15)
MULTA Mlt_id Mlt_descripcion Prst_dtl_prestamo Prst_dtl_ejemplar Mlt_valor Mlt_estado Mlt_fecha_cancelacion Mlt_fecha
Consecutivo que identifica cada multa Descripción sobre la multa Prestamo al que le pertenece el detalle Ejemplar implicado en un préstamo Valor monetario que represente pérdida del material Estado de la multa Fecha en la que se cancela la multa Fecha en la que se crea la multa
NUMERIC(15) NOT NULL VARCHAR NOT NULL NUMERIC(15) NOT NULL NUMERIC(15) NOT NULL VARCHAR NOT NULL VARCHAR(1) DEFAULT 'A' NOT NULL VARCHAR MESTAMP DEFAULT NOT NULL
AUDIOVISUAL Adv_id Adv_material Adv_tipo_audiovisual Adv_area_conocimiento
Consecutivo que identifica los audiovisuales de la biblioteca Material con el cual está relacionado el audiovisual Tipo de audiovisual Área del conocimiento del audiovisual
NUMERIC(15) NOT NULL NUMERIC(15) NOT NULL NUMERIC(15) NOT NULL NUMERIC(15) NOT NULL
LIBRO Lbr_id Lbr_topografico_alfanumerico Lbr_topografico_alfabetico Lbr_dewey Lbr_genero Lbr_nivel_lectura
Consecutivo que identifica cada uno de los libros de la biblioteca Segunda componente del numero topográfico Referencia o informativo tienen como primer componente del número topografico la(s) letras correspondientes al género de lectura si es de nivel infantil, si no, llevara antepuesta la expresion "A-" Código dewey unico representante una categoria del conocimiento a la que pertenece el libro
NUMERIC(15) NOT NULL VARCHAR NOT NULL VARCHAR VARCHAR(15) NUMERIC(15) NOT NULL NUMERIC(15)
Lbr_material
Identificador del genero del libro Campo para el color que identificara el nivel de lectura del libro Material con el cual está relacionado el libro
NUMERIC(15) NOT NULL
AUTOR Atr_id Atr_primer_nombre Atr_segundo_nombre Atr_primer_apellido Atr_segundo_apellido Atr_pais
Consecutivo del autor en la biblioteca Primer nombre del autor Segundo nombre del autor Primer apellido del autor Segundo apellido del autor Pais de origen del autor
NUMERIC(15) NOT NULL VARCHAR NOT NULL VARCHAR VARCHAR VARCHAR NUMERIC(15)
EDITOR Edtr_autor Edtr_material
Autor que edita materiales de la biblioteca Material editado por uno o más autores'
NUMERIC(15) NOT NULL NUMERIC(15) NOT NULL
5.4 DISEÑO DE INTERFAZ La interfaz que se desarrolla en el sistema se realiza a través de formularios para la inserción y actualización de datos. Por su parte las consultas son presentadas a través de tablas que presentan grupos de datos o un solo registro. Figura 28. Diseño Interfaz Estructura General
Fuente: Los autores
Figura 29. Diseño Interfaz Galería de la Institución
Fuente: Los autores
Figura 30. Diseño Interfaz Subir Novedades
Fuente: Los autores
Figura 31. Diseño Interfaz Estado del Material
Fuente: Los autores
Figura 32. Diseño Interfaz Registro de la Persona
Fuente: Los autores
Figura 33. Diseño Interfaz Registro del Material
Fuente: Los autores
6. IMPLEMENTACION
El sistema esta implementado bajo una arquitectura multicapa combinada con JEE (java Enterprise edition), donde como primera instancia están los clientes web desde equipos remotos a través de un navegador web moderno, estos se comunican por medio de http con el servidor de aplicaciones (GlassFish), este provee de un contexto a la aplicación empresarial, el devuelve un resultado en formato xhtml (Facelet); por otra parte los Facelet tienen un mapeo con las propiedades de clases Java (Pojos), en el Framework JSF son llamados ManagedBean o BackingBean, por medio de ellos las anotaciones proporcionan un alcance al Facelet, la combinación de estos dos componentes generan la parte de la vista en el patrón de diseño modelo vista controlador, estos son gestionados por el FacesServlet, que es el único Servlet controlador en el framework de JSF. Los ManagedBean tienen una Inyección de dependencias de los EJB, los cuales manejan la lógica de negocio y reciben servicios que son brindados por el contenedor, dichos servicios pueden ser manejo transaccional, pool de conexiones, seguridad, portabilidad entre otros. Los EJB a través del api de JPA accede de manera segura a la base de datos que se encuentra alojada en servidor de base de datos. 6.1 DIAGRAMA DE COMPONENTES Figura 34. Diagrama de componentes
Fuente: Los autores
Figura 35. Diagrama de Paquetes
Fuente: Los autores
6.2 DIAGRAMA DE DESPLIEGUE
Figura 36. Diagrama de despliegue
Fuente: Los autores
7. PRUEBAS Para ejecutar las pruebas del sistema, se instaló la aplicación en un equipo
servidor destinado para tal uso, las pruebas realizadas por los usuarios del
sistema fueron las siguientes:
Tabla 14. Pruebas módulo de autenticación.
Prueba módulo de autenticación.
Dirigida Por: Daniel Cruz Asistente Estado
Hora Inicio: 7:30 am Catherim Rodríguez Proceso ok
Hora Fin: 8:20 am Terminada Si
Concepto Supervisar el buen funcionamiento del módulo de Autenticación para los usuarios del sistema.
Acción ELEMENTO A PRUEBA
Resultado Esperado Perfil Estado
Inicio de sesión Administrador
bloque Inicio de sesión
Se cargan los Bloques y menús correspondientes al Administrador
Administrador ok
Inicio de sesión Usuarios registrados
bloque
Inicio de
sesión
Se cargan los Bloques y menús correspondientes a un Usuario registrado de acuerdo con su perfil
Usuario registrado
ok
Recuperar Contraseña Para Usuarios registrados
Bloque y dialogo Recuperar Contraseña
Recibir un correo electrónico por parte del usuario donde se especifica una nueva contraseña autogenerada por el sistema y un mensaje de advertencia para cambiarla lo más pronto posible.
Usuario registrado
ok
Cambiar Contraseña Para Usuarios registrados
Bloque y dialogo cambiar Contraseña
En un próximo inicio de sesión entrar con la nueva contraseña digitada
Usuario registrado
ok
Errores Al ingresar al sistema se veía el perfil del usuario pero no el nombre del usuario
Correcciones: Se añadió la información del nombre de usuario a los datos del panel de sesión
Tabla 15. Pruebas módulo de Registro de Usuarios.
Prueba módulo de Usuarios.
Dirigida Por: Daniel Cruz Asistente Estado
Hora de Inicio: Un periodo de 5 días, a medida que se solicitan nuevos prestamos
Andrés Barrera (Administrador)
Proceso ok
Hora Fin:
Terminada Si
Concepto Verificar el funcionamiento del módulo Personas donde se puede ingresar o actualizar personas en el sistema
Acción Elemento A Prueba
Resultado Esperado
Perfil Estado
Registrar una nueva persona
Formulario de personas
Registro de la persona correctamente y recepción de un Email con la clave de acceso.
Administrador ok
Modificar un Usuario
Modulo personas
Modificación de la información del usuario notificando con un mensaje que se modificó de manera exitosa.
Administrador ok
Errores Ninguno
Correcciones: Ninguno
Tabla 16. Pruebas módulo de Libros y Audiovisuales.
Prueba módulo de Materiales.
Dirigida Por: Daniel Cruz Asistente Estado
Hora de Inicio: Un periodo de 5 días
Andrés Barrera (Administrador)
Proceso ok
Hora Fin: Terminada Si
Concepto Verificar el funcionamiento del módulo de Materiales
Acción Elemento A Prueba
Resultado Esperado Perfil Estado
Registrar un nuevo material
Módulos de Libros y Audiovisuales
Después de un proceso donde se le asigna a cada material sus datos básicos, autores, editores, clasificación, volúmenes, ejemplares y si no es audiovisual complementos, el sistema debe haber creado el material y enviarnos a la página principal
Administrador ok
Modificar un Material
Módulos de Libros y Audiovisuales
Se Modifica la información del material en un asistente paso a paso donde en cada paso se van guardando las diferentes etapas del material. en cada paso se nos informara si se guardó o no la información27/09/2015
Administrador ok
Eliminar un material
Módulos de Libros y Audiovisuales
Después de dar clic en el botón de eliminar en el registro se nos informara si se eliminó o no el material
Administrador ok
Errores Las etiquetas de algunos botones aparecen en ingles
Correcciones: Se cambiaron los label de los botones con los defectos
Tabla 17. Pruebas módulo de Perfiles.
Prueba módulo de Perfiles
Dirigida Por: Daniel Cruz
Asistente Estado
Hora de Inicio: Un periodo de 5 días
Andrés Barrera (Administrador)
Proceso ok
Hora Fin: Terminada Si
Concepto Revisar el funcionamiento del módulo de Perfiles
Acción Elemento A Prueba
Resultado Esperado
Perfil Estado
Crear Perfil Modulo Perfiles
El usuario observa un dialogo para crear un nuevo perfil y al terminar debería ver en la tabla de perfiles el nuevo perfil
Administrador ok
Editar Perfil Modulo Perfiles
El usuario observa un dialogo para editar un perfil y al terminar debería ver en la tabla de perfiles el perfil con los cambios realizados
Administrador ok
Eliminar Perfil Modulo Perfiles
Al eliminar un perfil se debería ver un mensaje de confirmación
Administrador ok
Errores
Después de crear un nuevo perfil o actualizar uno existente al abrir un nuevo dialogo del módulo aparecía dicho dialogo sin contenido.
Correcciones: Se solucionó el problema eliminando código fuente inservible.
8. RECOMENDACIONES
Para la correcta ejecución del proyecto es necesario tener un navegador web moderno como Google Chrome, Mozilla Firefox, o Internet Explorer 10.
Para futuros trabajos e investigaciones que se realicen a partir de este mismo trabajo de grado, se recomienda verificar a partir de que versión del Código Dewey están catalogadas las colecciones de la biblioteca a trabajar puesto que hay numerosas versiones del código Dewey y pueden generarse retrasos en la población de la base de datos por inconsistencias en los códigos.
9. CONCLUSIONES
Para comenzar correctamente el proyecto de desarrollo de software, fue
preciso identificar los componentes involucrados, las necesidades reales y
los requerimientos no funcionales tales como Hardware, plataforma y
recursos. A través de las pruebas que se realizaron sobre el sistema se
evidencian los resultados obtenidos, con esto se reconoció la importancia
de este paso para un buen desarrollo de los sistemas.
Es necesario tener en cuenta el modelo de diseño establecido para usar en
el proyecto, ya que de esta manera se desarrollan correctamente cada uno
de los componentes del sistema, asumiendo las necesidades
fundamentadas por las directivas de la Biblioteca.
La metodología de desarrollo de software RUP, además de permitir
adaptarse a toda clase de proyectos, similares al que se presenta en este
documento, dado que es de fácil comprensión y permite cumplir con los
estándares de buenas prácticas de desarrollo de software.
Al ser JAVA un lenguaje que se ejecuta en el servidor no es necesario que
el navegador lo soporte, es independiente del navegador, y al combinarlos
con la tecnología JPA es ventajoso poder cambiar en cualquier momento el
motor de base de datos realizando muy pocos cambios en la aplicación.
Gracias al utilizar el lenguaje JAVA con JPA se pueden neutralizar ataques
de SQL Injection por medio del nombramiento de consultas y otras
utilidades que están disponibles en el API de JPA.
Por medio de la implementación del sistema los usuarios evitan tener que ir
directamente hasta el colegio para consultar si existe un material disponible
para su respectiva consulta y préstamo, debido a que el colegio se
encuentra en una posición geográfica muy difícil de acceder.
10. BIBLIOGRAFIA
American Library Association. Glosario ALA de Bibliotecología y ciencias de
la Información. Madrid: Díaz Santos, 1988, p 323.
Grupo Isaías Carrillos Pérez. (2008). Metodología del desarrollo de
software. New York: Editorial Edit and write.
Jonathan Wetherbee, Chirag Rathod, Raghu Kodali, with Peter Zadrozny.
Beginning EJB 3: Java EE7 Edition. Apress. . United States of America,
2013.
GRADY BOOCH, JAMES RUMBAUGH, IVAR JACOBSON. El Lenguaje
unificado de modelado. Manual de Referencia. Addison Wesley. Pág. 11
Peter A. Pilgrim. Java EE 7 Developer Handbook. Packt Publishing. 2013
Mike Keith, Merrick Schincariol. Pro JPA 2. Apress. 2013.
HERRERA JIMENEZ, Alfonso. Bases de datos. Editorial Unisur. 1997.
ITSA (2008). Metodologías De Desarrollo De Software. Canada: Editorial
Canada Pen.
Abraham Silberschatz, Henry F. Korth, S. Sudarshan(2002). Fundamentos
de bases de datos. Aravaca, España. Mac Graw Hill
Harvey M. Deitel & Paul J. Deitel.(2004). Como programar en c/c++ y java.
México. Pearson Educación
Roger S Presuman. 2005. Ingeniería del Software, Un enfoque práctico.
Sexta Edición.
11. LINKOGRAFIA
Santiago Gutiérrez Calvo. Proyecto Para La Biblioteca Escolar. Consultada
el 25 de abril de 2014 en
http://platea.pntic.mec.es/curso20/8_bibliotecas/7.pdf
Dr. John H. Stinson Fernández (2010).Sistema de Información Bibliotecaria.
Consulta el 28 de abril de 2014
http://biblioteca.uprrp.edu/Tutoriales/Cuadernosistemas%20de%20Clasifica
ci%C3%B3n%20en%20Bibliotecas.pdf
Eva (2012). ALQUIBLA: Una mirada al mundo de las bibliotecas...
Consultada el 30 de abril de 2014 en
http://bibliotecas1978.wordpress.com/2012/07/31/principales-sistemas-de-
clasificacion-bibliografica-88/
Biblioteca Escolar. 27 marzo de 2014 en
http://www.plec.es/archivos/proyectos/bibes62.pdf
Biblioteca Provincial San Lorenzo De Brindis (2012) Consultada el 4 de
mayo de 2014 en http://www.ibisweb.it/bcc/ita/presen_bpco/index.html
Lic. Mónica Flores López y Mtra. María de Lourdes Santiago. Rational
Unified Process. Consultada el 4 de mayo de 2014 en http://www-
306.ibm.com/software/awdtools/rup/
Oracle Microsystem.(2013) Productos y Servicios de Oracle. Consulta el 09
de mayo de 2014
http://www.oracle.com/lad/technologies/java/overview/index.html
PosgreSQL-es - Rafael Martinez. Sobre PostgreSQL. Consulta el 09 de
mayo de 2014 http://www.postgresql.org.es/sobre_postgresql
Ingeniería de Software. Plantilla Simple. [En linea]
http://metodologiadesoftware.blogspot.com/2012/11/fases-del-modelo-
rup_27.html [Consultado: 20 Abril 2014].
ANEXOS
ANEXO A. Documentación casos de uso
ANEXO B. Diagramas de secuencia
ANEXO C. Diagramas de Actividad
ANEXO D. Diagramas de Colaboración
ANEXO E. Manual de Instalación
ANEXO F. Manual de usuario
ANEXO A
DOCUMENTACION DE CASOS DE USO
Documentación de caso de uso: Crear usuario
Documentación de caso de uso: Consultar usuario
No. Caso de Uso NOMBRE CASO DE USO 06 Crear usuario
ACTORES Administrador, usuario anónimo
OBJETIVO Generar el registro y activación del usuario
PRECONDICIONES
Para realizar la asignación del usuario, el administrador debe estar registrado en el sistema, el usuario registrado solicita la creación. Para modificar la información los actores deben haber iniciado sesión
POSCONDICIONES La creación de usuario registrada
FLUJO DE EVENTOS
Actividades del Actor
1. El administrador inicia sesión 2. El administrador ingresa la descripción del usuario anónimo. 4. El administrador registra los datos 6. El administrador acepta el registro
Respuesta del Sistema
5. El sistema muestra la información del registro 7. Se registra satisfactoriamente
MANEJO DE SITUACIONES EXEPCIONALES
El sistema informa que ya hay un registro existente
No. Caso de Uso NOMBRE CASO DE USO 07 Consultar usuario
ACTORES Administrador, Usuario anónimo
OBJETIVO Verificar el estado del usuario
PRECONDICIONES
Para consultar usuarios, el usuario debe estar registrado en el sistema o en estado de creación. Para modificar la información los actores deben haber iniciado sesión
POSCONDICIONES La consulta del usuario registrada
FLUJO DE EVENTOS
Actividades del Actor
1. El administrador inicia sesión 2. El administrador ingresa la descripción del usuario. 4. El administrador consulta los datos 6. El administrador acepta el registro
Respuesta del Sistema
5. El sistema muestra la información del registro 7. Se consulta satisfactoriamente
MANEJO DE SITUACIONES EXEPCIONALES
El sistema informa que los datos no son válidos. El sistema informa que el usuario no existe.
Documentación de caso de uso: Actualizar Usuario
Documentación de caso de uso: Eliminar Usuario
No. Caso de Uso NOMBRE CASO DE USO 08 Actualizar Usuario
ACTORES Administrador, Usuario anónimo
OBJETIVO Actualizar datos del usuario
PRECONDICIONES
Para actualizar el usuario, el usuario debe estar registrado en el sistema o en estado de creación. Para modificar la información los actores deben haber iniciado sesión
POSCONDICIONES La actualización del préstamo registrada
FLUJO DE EVENTOS
Actividades del Actor
1. El administrador inicia sesión 2. El administrador ingresa la descripción del usuario. 4. El administrador actualiza los datos 6. El administrador acepta la actualización
Respuesta del Sistema
5. El sistema muestra la información de la actualización 7. Se actualiza satisfactoriamente
MANEJO DE SITUACIONES EXEPCIONALES
El sistema informa que los datos no son válidos o no se pueden actualizar
No. Caso de Uso NOMBRE CASO DE USO 09 Eliminar Usuario
ACTORES Administrador
OBJETIVO Eliminar datos del usuario
PRECONDICIONES
Para eliminar el usuario, el usuario debe estar registrado en el sistema o en estado de creación. Para modificar la información los actores deben haber iniciado sesión
POSCONDICIONES La eliminación del usuario registrada
FLUJO DE EVENTOS
Actividades del Actor
1. El administrador inicia sesión 2. El administrador ingresa la descripción del usuario. 4. El administrador elimina los datos 6. El administrador acepta la eliminación
Respuesta del Sistema
5. El sistema muestra la información de la eliminación 7. Se eliminó satisfactoriamente
MANEJO DE SITUACIONES EXEPCIONALES
El sistema informa que los datos no son válidos o no se pueden eliminar. El sistema informa que el usuario tiene devoluciones pendientes.
Documentación de caso de uso: Crear Material
Documentación de caso de uso: Consultar Material
No. Caso de Uso NOMBRE CASO DE USO 10 Crear Material
ACTORES Administrador
OBJETIVO Generar el registro y catalogación del material
PRECONDICIONES
Para realizar la catalogación del material, el administrador debe estar registrado en el sistema. Para modificar la información los actores deben haber iniciado sesión.
POSCONDICIONES La catalogación del material registrada
FLUJO DE EVENTOS
Actividades del Actor
1. El administrador inicia sesión 2. El administrador ingresa la descripción del material. 4. El administrador registra los datos 6. El administrador acepta el registro
Respuesta del Sistema
5. El sistema muestra la información de la creación 7. Se creó y catalogo satisfactoriamente
MANEJO DE SITUACIONES EXEPCIONALES
El sistema informa que los datos no son válidos.
No. Caso de Uso NOMBRE CASO DE USO 11 Consultar Material
ACTORES Administrador
OBJETIVO Verificar el estado del material
PRECONDICIONES
Para consultar el material, el material debe estar registrado y catalogado en el sistema. Para modificar la información los actores deben haber iniciado sesión
POSCONDICIONES La consulta del usuario registrada
FLUJO DE EVENTOS
Actividades del Actor
1. El administrador inicia sesión 2. El administrador ingresa la descripción del material. 4. El administrador consulta los datos 6. El administrador acepta el registro
Respuesta del Sistema
5. El sistema muestra la información del registro 7. Se consulta satisfactoriamente
MANEJO DE SITUACIONES EXEPCIONALES
El sistema informa que los datos no son válidos. El sistema informa que el material no existe.
Documentación de caso de uso: Actualizar Material
Documentación de caso de uso: Eliminar Material
No. Caso de Uso NOMBRE CASO DE USO 12 Actualizar Material
ACTORES Administrador
OBJETIVO Actualizar datos del material
PRECONDICIONES
Para actualizar el material, el material debe estar registrado y catalogado en el sistema. Para modificar la información los actores deben haber iniciado sesión
POSCONDICIONES La actualización del préstamo registrada
FLUJO DE EVENTOS
Actividades del Actor
1. El administrador inicia sesión 2. El administrador ingresa la descripción del material. 4. El administrador actualiza los datos 6. El administrador acepta la actualización
Respuesta del Sistema
5. El sistema muestra la información de la actualización 7. Se actualiza satisfactoriamente
MANEJO DE SITUACIONES EXEPCIONALES
El sistema informa que los datos no son válidos o no se pueden actualizar
No. Caso de Uso NOMBRE CASO DE USO 13 Eliminar Material
ACTORES Administrador
OBJETIVO Eliminar datos del material
PRECONDICIONES
Para eliminar el material, el material debe estar registrado y catalogado en el sistema. Para modificar la información los actores deben haber iniciado sesión
POSCONDICIONES La eliminación del material registrado
FLUJO DE EVENTOS
Actividades del Actor
1. El administrador inicia sesión 2. El administrador ingresa la descripción del material. 4. El administrador elimina los datos 6. El administrador acepta la eliminación
Respuesta del Sistema
5. El sistema muestra la información de la eliminación 7. Se eliminó satisfactoriamente
MANEJO DE SITUACIONES EXEPCIONALES
El sistema informa que los datos no son válidos o no se pueden eliminar. El sistema informa que el usuario tiene devoluciones pendientes.
Documentación de caso de uso: Gestionar Campo Dewey
Documentación de caso de uso: Realizar reserva
No. Caso de Uso NOMBRE CASO DE USO 14 Gestionar campos Dewey bibliográfico
ACTORES Administrador
OBJETIVO Entradas precisas y rápidas a la hora de identificar la catalogación y al material para comprobar la validez del préstamo.
PRECONDICIONES
Para gestionar los campos Dewey, el administrador debe estar registrado en el sistema Para modificar la información los actores deben haber iniciado sesión
POSCONDICIONES La Gestión de los campos Dewey bibliográfico registrada
FLUJO DE EVENTOS
Actividades del Actor
1. El administrador inicia sesión 2. El administrador ingresa la descripción de los campos Dewey 4. El administrador gestiona los datos 6. El administrador acepta el registro
Respuesta del Sistema
5. El sistema muestra la información del registro 7. Se gestionan los campos Dewey satisfactoriamente
MANEJO DE SITUACIONES EXEPCIONALES
El sistema informa que los datos no son validos El sistema informa que el campo Dewey ya existe
No. Caso de Uso NOMBRE CASO DE USO 15 Realizar reserva
ACTORES Usuario registrado
OBJETIVO Generar en el sistema la reserva y quitar la disponibilidad al material.
PRECONDICIONES
Para realizar la reserva el usuario debe estar registrado en el sistema Para modificar la información los actores deben haber iniciado sesión
POSCONDICIONES La gestión de la reserva queda registrada
FLUJO DE EVENTOS
Actividades del Actor
1. El usuario inicia sesión 2. El usuario ingresa la descripción del material. 4. El usuario gestiona y reserva los datos 6. El usuario acepta el registro
Respuesta del Sistema
5. El sistema muestra la información del registro. 7. Se gestionan la reserva del material.
MANEJO DE SITUACIONES EXEPCIONALES
El sistema informa que los datos no son válidos. El sistema informa que la descripción del material no existe.
Documentación de caso de uso: Eliminar reserva
No. Caso de Uso NOMBRE CASO DE USO 16 Eliminar reserva
ACTORES Usuario registrado
OBJETIVO Eliminar la reserva realizada por el usuario
PRECONDICIONES
Para realizar la eliminación de la reserva el usuario debe estar registrado en el sistema Para modificar la información los actores deben haber iniciado sesión
POSCONDICIONES La eliminación de los datos registrada
FLUJO DE EVENTOS
Actividades del Actor
1. El usuario inicia sesión 2. El usuario ingresa la descripción del libro 4. El usuario gestiona y elimina los datos 6. El usuario acepta el registro
Respuesta del Sistema
5. El sistema muestra la información del registro. 7. Se gestionan la eliminación de la reserva del material.
MANEJO DE SITUACIONES EXEPCIONALES
El sistema informa que los datos no son validos El sistema informa que la descripción del material no existe
ANEXO B
DIAGRAMAS DE SECUENCIAS
Diagrama de secuencia: Crear Usuario
Diagrama de secuencia: Consultar Usuario
ANEXO C
DIAGRAMAS DE ACTIVIDAD
Diagrama de Actividad: Crear Usuario
Diagrama de Actividad: Consultar Usuario
ANEXO D
DIAGRAMAS DE COLABORACION
Diagrama de Colaboración: Crear Usuario
Diagrama de Colaboración: Consultar Usuario
CONTENIDO
Pág.
1.PROGRAMAS NECESARIOS. ........................................................................ 3
2. INSTALACION ................................................................................................ 4
2.1 Instalación Jdk7u71 Windows ............................................................................... 4
2.2 Instalación De GlassFish 4.1 Windows. .................................................................. 7
2.3 Instalación Posgresql Windows. ............................................................................. 8
3. CONFIGURACIÓN. ...................................................................................... 11
3.1 Datasource. ......................................................................................................... 12
3.2 MailSession ........................................................................................................ 15
4. DESPLIEGUE DE LA APLICACIÓN ............................................................ 18
5. RECOMENDACIONES................................................................................ 20
3
1. PROGRAMAS NECESARIOS. Para poder instalar el sistema es necesario disponer de los siguientes programas:
Jdk7u71
Glassfish 4
BEUM (Base de datos)
BEUM.ear (Compilado) Figura 1. Instaladores
4
2. INSTALACION
2.1 Instalación Jdk7u71 Windows
El programa se ejecuta bajo la versión de java 7.71, por lo cual debe tener
instalado el JDK que corresponde, luego de su instalación se deben configurar las
variables de entorno para su correcto funcionamiento
Al iniciar la instalación seremos guiados a través del proceso de instalación de
una forma similar a como se muestra en las siguientes laminas:
La captura anterior, resume, que paquetes en conjunto van a trabajar
después de haberlo instalado, le damos siguiente.
Una vez terminado el proceso verificamos la instalación.
1.1 Variables de entorno Para configurar las variables de entorno de java hay que dirigirse a inicio, clic derecho sobre “Equipo”, propiedades, Cambiar configuración, pestaña “Opciones avanzadas”, “Variables de entorno…”, “Nueva…” para agregar la variable “CLASSPATH”, en el caso de que ya exista dar clic en “Editar…”
Para crear la variable “JAVA_HOME”, seguir los mismos pasos anteriores.
Se debe agregar la ruta de java a la variable “Path”, para lo cual al final del
valor ya establecido agregamos un “;” seguido de la ruta.
2.2 Instalación De GlassFish 4.1 Windows.
Ir a la página oficial de GlassFish (https://glassfish.java.net/download.html) y
descargar “glassfish-4.1.zip”
2.3 Instalación Posgresql Windows.
Al iniciar la instalación seremos guiados por el instalador como se muestra en
las siguientes láminas:
Escogemos los directorios donde va a ser instalado el servidor de base de
datos y donde se van a alojar los datos.
3. CONFIGURACIÓN.
Una vez descargada la carpeta del GlassFish navegar dentro de la carpeta
hasta “glassfish-4.1\glassfish\bin” y ejecutar el archivo “asadmin.bat” como
administrador y en la consola digitar el comando “start-domain”.
En el navegador ir a la dirección “localhost:4848” y cambiar el password, para
ello dirigirse a panel derecho “Domain” y tab “Adminstrator Password” y asignar
pasword
Agregamos el driver (postgresql-9.3-1102.jdbc41.jar) al dominio Glassfish o
a todo el servido si lo deseamos, seguidamente paramos el servidor con el
comando “stop-domain” y lo volvemos a
iniciar
3.1 Datasource.
Una vez arrancado el Glassfish vamos a “http://localhost:4848”, Resources ,
JDBC JDBC Connection Pools y pulsamos sobre el botón New.
En esta pantalla llenamos los siguientes campos:
Pool Name: “PoolBEUM”. Ponemos el nombre del pool de conexiones. ResourceType: javax.sql.ConnectionPoolDatasource Database Driver Vendor: Postgresql
Pulsamos sobre Next. La parte superior de la siguiente pantalla tiene que
quedar como en la siguiente imagen. No tocamos nada.
Digitamos y seleccionamos las siguientes propiedades, al pulsar sobre "Finish"
ya tenemos nuestro pool creado.
Ahora nos falta crear la entrada JNDI que conecte con el pool que hemos
creado. Para ello vamos a Resources, JDBC, JDBC Resources.
3.2 MailSession
Para que el contenedor provea a nuestra aplicación de una sesión para enviar
e-mail debemos configurar cierta sesión en Glassfish.
Vamos a la consola de administración de Glassfish y en el apartado JavaMail
Sessions, en la parte derecha del navegador damos clic sobre el botón “New” y
diligenciamos la información.
El nombre JNDI para una sesión Java-mail siempre debe comenzar con "mail/”
La cuenta desde la que se van a enviar los correos debe configurarse para que
se pueda acceder desde el servidor de aplicaciones, para lo cual desde nuestro
navegador y con la cuenta abierta vamos al menú de configuración, Cuenta,
Acceso, Acceso de aplicaciones menos seguras, Activar
4. DESPLIEGUE DE LA APLICACIÓN
Para desplegar la aplicación primero debemos crear la base de datos a la cual
nos estaremos conectando:
Vamos a “inicio”, “Todos los programas”, “PostgreSQL9.3”, “pgAdmin III”. Y
ejecutamos el script “BD Beum.sql” de creación de la base de datos que viene
junto con este manual, luego puede cargar algunos datos por default desde el
script “Beum Datos.sql” que también vienen junto con este manual y podrá
ingresar al aplicativo con el usuario “1022939099” y password “biblioteca”.
Levantamos el servidor “GlassFish” con el comando “start-domain”
Ingresamos a la dirección “localhost:4848” desde el navegador, nos
logueamos y en el panel izquierdo vamos a “Aplications”
Damos clic en desplegar y seleccionamos el “BEUM.ear” que viene junto con
este manual
Presionamos en el botón “Ok” y debería aparecernos la aplicación desplegada
y habilitada.
Para acceder a la aplicación digite en su navegador”
http://localhost:8080/beum/” podrá ver la página de inicio del aplicativo
5. RECOMENDACIONES
Se recomienda seguir paso a paso este manual para tener una mejor
experiencia con el aplicativo
Las versiones de los diferentes programas que se utilizan en este
manual son las recomendadas y todas son de software libre
MANUAL DE USUARIO PARA EL SISTEMA DE INFORMACIÓN WEB
PARA LA GESTIÓN DE INVENTARIO,
PRÉSTAMO Y CONSULTA DE ELEMENTOS
DE BIBLIOTECA PARA EL COLEGIO
EDUARDO UMAÑA MENDOZA
CONTENIDO
1. ESTE MANUAL. ............................................................................................. 23
2. ACCEDER AL SISTEMA (USUARIOS NO REGISTRADOS). ....................... 23
3. MENÚS Y OPCIONES USUARIOS NO REGISTRADOS .............................. 24
4. MENÚS Y OPCIONES USUARIOS REGISTRADOS..................................... 26
5. USUARIOS REGISTRADOS (CATALOGO) .................................................. 26
6. USUARIOS REGISTRADOS (SESIÓN) ......................................................... 27
7. USUARIOS REGISTRADOS (FUNCIONES ADMINISTRATIVAS) ............... 27
8. RECOMENDACIONES ................................................................................... 32
1. ESTE MANUAL. En este manual están dispuestas las instrucciones de uso para acceder al sistema y utilizar sus funcionalidades.
El sistema maneja varios tipos de usuarios, los cuales pueden ser configurados
por el administrador del sistema, permitiendo disponer de diferentes
configuraciones, quiere decir que pueden haber diferentes perfiles de usuario
con diferentes permisos.
Es de mencionar que al registrarse un usuario por primera vez ante el
administrador (bibliotecario) se le asignara una clave calculada por el sistema y
solo la conocerá dicho usuario por medio de un correo electrónico que le será
enviado al culminar el registro.
2. Acceder Al Sistema (Usuarios no registrados).
Para acceder al sistema se debe abrir en un navegador, de preferencia
moderno, ingresar en la barra de direcciones la dirección:
http://localhost:8080/beum , inmediatamente podrá observar la página inicial del
sistema la cual se verá como la siguiente imagen:
A grandes rasgos se puede notar un menú básico para que personas que no
han iniciado sesión puedan navegar. Una galería de imágenes que son
cargadas por el administrador del sistema, un Grid de noticias referentes al
colegio o a la biblioteca, un panel derecho donde el usuario puede ingresar al
sistema, un mapa que ofrece la ubicación del colegio y un pie de página con
información de contacto y referente a la biblioteca.
3. Menús y opciones Usuarios no registrados
El usuario no registrado tendrá libertad de ingresar como primera instancia al
menú de catálogo donde podrá consultar los diferentes tipos de materiales que
existen en la biblioteca, el usuario allí puede observar los volúmenes y
ejemplares que hay disponible o en qué estado se encuentra dicho material,
puede encontrar la mayor parte de información de los recursos de la biblioteca,
claro eta que aún no puede reservar algún préstamo puesto que no se
encuentra autenticado en el sistema.
Al acceder al menú “Nosotros”, el usuario se encuentra con información
concerniente a la biblioteca, tal como la misión, visión, una descripción sobre
los usuarios y una pequeña definición de lo que es la biblioteca.
En el menú de “Contáctenos” el usuario se encuentra con un pequeño
formulario para realizar envió de sugerencias a la administración del sistema.
El último menú y no menos importante es para navegar hacia la página de
inicio como un acceso rápido.
Por último, tal vez la parte más importante de esta sesión es que un usuario
pueda iniciar sesión. Cave notar que el usuario este en el apartado que este se
puede autenticar en el sistema digitando su usuario que para el caso es el
número de documento de identidad que tiene dicha persona más una clave de
acceso al sistema que es enviada al email del usuario una vez se haya
registrado.
4. Menús y Opciones Usuarios Registrados
Al acceder al sistema deberá desaparecer o cambiar el formulario para iniciar
sesión por un panel donde se verán reflejados los datos del usuario que recién
ingreso. Un cambio muy importante en esta sesión es que también cambian los
menús dependiendo del tipo de usuario
5. Usuarios Registrados (catalogo) Cuando el usuario ya se ha autenticado en el sistema ya es posible realizar las reservas de ejemplares, proceso que no era posible realizar cuando aún no estábamos autenticados. Dentro de este panel el usuario puede filtrar una búsqueda para encontrar así un material por título, ISBN, autor o editorial. Teniendo resultados detallados de toda la información concerniente a un libro. También puede el usuario ve su carrito de compra para saber que ejemplares planea reservar.
6. Usuarios Registrados (Sesión)
Una vez el usuario inicie sesión tendrá la posibilidad de cerrar sesión o cambiar
la contraseña de ingreso
Para cambiar la contraseña de ingreso el usuario simplemente tiene que ir al
panel donde encuentra la información de sesión, dar clic sobre el botón
“Cuenta”, luego sobre salir
Para cambiar de contraseña el proceso es muy similar, únicamente cambiamos el paso final y ya no seleccionamos salir si no “cambiar contraseña”, el sistema nos abrirá un dialogo preguntándonos la nueva contraseña
7. Usuarios Registrados (Funciones administrativas)
Dentro del menú “administración/Sugerencias “el administrador puede consultar
las sugerencias de los usuarios, las puede cerrar cambiando el estado en un
dialogo de actualización o las puede eliminar.
Dentro del menú “administración/Noticias“, el administrador puede agregar las nuevas noticias o actualizar alguna existente, puede decidir si son anónimas o no, además de seleccionar una imagen prudente para la noticia.
Dentro del menú “administración/Básicos“, se puede gestionar cualquier dato básico de la base de datos, es decir datos como las diferentes salas de la biblioteca, países, tipos de documentos, etc…, todo esto mediante una interfaz intuitiva donde se selecciona una tabla y se despliegan sus registros para poder modificarlos o agregar uno nuevo.
Dentro del Menú de Materiales encontramos todos los procesos relacionados con los materiales y su clasificación, teniendo así 3 formularios muy parecidos, Dewey, Autor y Editorial. Son muy parecidos porque en todos se encuentra una tabla con los datos ya registrados, un botón para agregar nuevos y en cada registro un botón para actualizar junto con otro para eliminar el registro correspondiente.
Los menús Libro y Audiovisual están diseñados para que el administrador ingrese o consulte los materiales de la biblioteca mediante una interfaz de asistente mediante la cual se van añadiendo todos los datos de las obras.
Volvemos a ver dos menús que son muy similares a los de Dewey, Autor y Editorial, son los submenús que se encuentran en Personas, como ya se dijo antes son interfaces muy intuitivas donde se puede observar una tabla con los registros ya almacenados en la base de datos, un botón que despliega un dialogo para agregar otro registro y sus respectivos botones para actualizar y eliminar en cada registro.
Ya para finalizar nos encontramos con el módulo de Préstamo que es nada
más y nada menos donde el bibliotecario realiza el préstamo como tal después
de que un usuario lo reservo algún tiempo atrás; Así como también puede dar
por finalizado un préstamo dejándolo en estado culminado.