0% encontró este documento útil (0 votos)
29 vistas23 páginas

Sistema de Gestión Bibliotecaria

El proyecto busca desarrollar un sistema integral para la gestión de bibliotecas, facilitando la administración de socios, artículos y préstamos. Este sistema permitirá a los bibliotecarios gestionar información y a los socios consultar su historial y disponibilidad de artículos, además de generar reportes para una mejor toma de decisiones. Se seguirá una metodología de ingeniería de software que abarca desde el análisis de requerimientos hasta el despliegue, utilizando tecnologías modernas para asegurar una solución robusta y escalable.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
29 vistas23 páginas

Sistema de Gestión Bibliotecaria

El proyecto busca desarrollar un sistema integral para la gestión de bibliotecas, facilitando la administración de socios, artículos y préstamos. Este sistema permitirá a los bibliotecarios gestionar información y a los socios consultar su historial y disponibilidad de artículos, además de generar reportes para una mejor toma de decisiones. Se seguirá una metodología de ingeniería de software que abarca desde el análisis de requerimientos hasta el despliegue, utilizando tecnologías modernas para asegurar una solución robusta y escalable.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD NACIONAL DE TRUJILLO

Facultad de Ciencias Físicas y Matemáticas


Escuela Profesional de Informática

Proyecto Final de Ingeniería de software, Biblioteca

INTEGRANTES
Arce Lozano, Marcelo R.
PROFESOR
Díaz Pulido, José Arturo
CURSO
Ingeniería de Software

La Libertad 2024
Contenido
Resumen .......................................................................................................................... 3

1. INGENIERIA DEL PROYECTO............................................................................. 4

1.1 Análisis de Requerimientos........................................................................... 4

1.1.1 Introducción..................................................................................................... 4
1.1.2 Descripción General.......................................................................................... 4
1.1.3 Requerimientos específicos ............................................................................... 5
1.2 Diseño del Sistema......................................................................................... 6

1.3 Desarrollo e implementación ...................................................................... 18

1.4 Pruebas .......................................................................................................... 19

1.5 Implementación y despliegue ..................................................................... 20

2. Conclusiones ........................................................................................................ 20

3. BIBLIOGRAFIA...................................................................................................... 20

4. Anexos .................................................................................................................... 21
Resumen

El proyecto tiene como objetivo desarrollar un sistema integral para la gestión de una biblioteca,
enfocado en la administración eficiente de socios, artículos (libros, CDs, películas) y préstamos. El
sistema permitirá a los bibliotecarios y administradores gestionar la información de los socios,
incluyendo su historial de préstamos, así como administrar los diferentes tipos de artículos
disponibles en la biblioteca, facilitando la adición, modificación y seguimiento del estado de estos.
Además, se ofrece a los socios la posibilidad de consultar su historial de préstamos, verificar la
disponibilidad de artículos y realizar reservas a través de una interfaz accesible. El sistema también
generará reportes y estadísticas sobre el uso de la biblioteca, permitiendo una mejor toma de
decisiones. Finalmente, se incluyen herramientas para la configuración de políticas del sistema y la
gestión de cuentas de usuarios con distintos roles. El desarrollo del proyecto sigue una metodología
de ingeniería de software que abarca desde el análisis de requerimientos hasta el despliegue final,
utilizando tecnologías modernas para garantizar una solución robusta, escalable y fácil de usar, con
el objetivo de optimizar la operatividad de la biblioteca y mejorar la experiencia de los usuarios.
1. INGENIERIA DEL PROYECTO
1.1 Análisis de Requerimientos
1.1.1 Introducción
• Propósito
El propósito de este proyecto es desarrollar un sistema de gestión para una biblioteca
que permita almacenar información detallada de socios, artículos (libros, CDs,
películas) y gestionar el proceso de préstamo y devolución de estos artículos.

• Alcance
El sistema permitirá a la biblioteca registrar socios, gestionar artículos, y controlar el
préstamo y la devolución de estos. El sistema cubrirá la gestión de información
personal de los socios y el estado de los artículos.

• Definiciones, Acrónimos y abreviaturas


DNI: Documento Nacional de Identidad.
Código de socio: Identificador único asignado a cada socio de la biblioteca.
Artículo: Cualquier objeto prestable (libro, CD, película) que pertenece a la biblioteca.

• Resumen del documento


Este documento proporciona una visión general del sistema, especifica los requisitos
funcionales y no funcionales, y detalla los supuestos y restricciones del proyecto.

1.1.2 Descripción General


• Perspectiva del producto
El sistema será utilizado por el personal de la biblioteca para registrar y gestionar la
información de socios y artículos, y para manejar los préstamos y devoluciones de
artículos.

• Funciones del producto


➢ Registro y gestión de socios.
➢ Registro y gestión de artículos (libros, CDs, películas).
➢ Gestión de préstamos y devoluciones de artículos.
➢ Registro del estado de deterioro de los artículos.

• Características de los usuarios


➢ Bibliotecarios: Usuarios que registran y gestionan información en el
sistema.
➢ Socios: Usuarios que interactúan indirectamente con el sistema a través de la
solicitud de préstamos.

• Restricciones generales
➢ El sistema debe ser accesible solo para el personal autorizado de la
biblioteca.
➢ Todos los artículos deben tener un código único, incluso si son copias del
mismo título.
• Suposiciones y dependencias
➢ Se asume que los socios proporcionarán al menos un número de teléfono.
➢ El sistema dependerá de una base de datos centralizada para almacenar toda la
información.

1.1.3 Requerimientos específicos


• Requerimientos funcionales
➢ El sistema debe permitir registrar, actualizar, y eliminar socios.
➢ El sistema debe permitir registrar, actualizar, y eliminar artículos.
➢ El sistema debe permitir registrar y gestionar préstamos y devoluciones.
➢ El sistema debe permitir la consulta del estado de deterioro de los artículos.

• Requerimientos de interfaz externa


➢ El sistema debe poder integrarse con un sistema de autenticación para la gestión
de acceso del personal.

• Requerimientos de rendimiento
➢ El sistema debe ser capaz de manejar consultas y transacciones de datos en
tiempo real, garantizando que la información esté disponible de manera
inmediata.

• Requerimientos lógicos de base de datos


➢ La base de datos debe poder manejar relaciones entre socios y artículos, y entre
artículos y sus autores.
➢ Se deben implementar índices en las tablas clave para optimizar el rendimiento de
las consultas.

• Restricciones de diseño
El sistema debe ser desarrollado utilizando tecnologías modernas y ser compatible con
los sistemas operativos utilizados en la biblioteca.

• Atributos de calidad
➢ Seguridad: La información personal de los socios debe estar protegida.
➢ Usabilidad: La interfaz debe ser intuitiva y fácil de usar por el personal de la
biblioteca

• Requerimientos No funcionales
• Rendimiento

El tiempo de respuesta para cualquier operación (como buscar un socio,


registrar un préstamo, etc.) no debe superar los 2 segundos bajo condiciones
normales de operación.

• Escalabilidad
Debe ser fácil de actualizar y expandir la base de datos para soportar nuevos
tipos de artículos o campos adicionales para los artículos existentes.
• Seguridad
El sistema debe implementar autenticación robusta para proteger el acceso a
los datos, permitiendo solo al personal autorizado realizar cambios en la base
de datos.
• Usabilidad
El sistema debe tener una interfaz intuitiva que permita al personal de la
biblioteca operar el sistema con un mínimo de capacitación.

1.2 Diseño del Sistema

• Diseño base de datos


• Diagrama de Clases
• Diagrama de Secuencia

Registrar Articulo

Modificar Articulo
Registrar Socio

Modificar Socio
Registrar Autor

Modificar Autor
Registrar Prestamo

Registrar Devolucion
Registrar Comentario
• Diagrama de Colaboración

Registrar articulo

Eliminar articulo
Modificar articulo

Registrar socio
Modificar socio

Registra autor
Modificar autor

Registrar préstamo
Registrar devolución

Registrar comentario
1.3 Desarrollo e implementación

• Diagrama de componentes
• Diagrama de Despliegue

1.4 Pruebas
1.5 Implementación y despliegue

2. Conclusiones

3. BIBLIOGRAFIA
4. Anexos

Procedimientos en la base de datos:

CREATE PROCEDURE listarSocio()


BEGIN
SELECT
s.id,
s.dni,
s.codigo,
s.nombre,
s.apellidos,
GROUP_CONCAT(t.numero_telefono) AS telefonos,
COUNT(p.id) AS total_prestamos
FROM
socio s
LEFT JOIN
telefono t ON s.id = t.socio_id
LEFT JOIN
prestamo p ON s.id = p.socio_id
GROUP BY
s.id,
s.dni,
s.codigo,
s.nombre,
s.apellidos;

END;

CREATE PROCEDURE listarAutor()


BEGIN
SELECT
a.id,
a.nombre,
a.pais,
COUNT(t.id) AS total_articulo
FROM
autor a
LEFT JOIN
articulo t ON a.id = t.autor_id
GROUP BY
a.id,
a.nombre,
a.pais;
END;
CREATE PROCEDURE listar_Articulo()
BEGIN
SELECT
a.id,
a.nombre,
a.fecha_creacion,
t.nombre as Autor,
COUNT(c.id) AS Cantidad,
COUNT(p.id) AS Numero_Prestado
FROM
Articulo a
LEFT JOIN
autor t ON t.id = a.autor_id
LEFT JOIN
copia_articulo c ON a.id = c.articulo_id
LEFT JOIN
prestamo p ON c.id = p.copia_articulo_id
GROUP BY
a.id,
a.nombre,
a.fecha_creacion;
END;

CREATE PROCEDURE crearPrestamo(


IN p_socio_id INT,
IN p_copia_articulo_id INT,
IN p_dia INT
)
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
END;

START TRANSACTION;

INSERT INTO prestamo (socio_id, copia_articulo_id, fecha_prestacion, fecha_tope)


VALUES (p_socio_id, p_copia_articulo_id, NOW(), DATE_ADD(NOW(), INTERVAL p_dia
DAY));

COMMIT;
END

CREATE PROCEDURE devolverPrestamo(


IN p_prestamo_id INT
)
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
END;

START TRANSACTION;

UPDATE prestamo
SET fecha_devolucion = NOW()
WHERE id = p_prestamo_id;

COMMIT;
END

También podría gustarte