Manual Técnico - Sistema de Gestión de Biblioteca Este documento describe la estructura, funcionamiento y ejemplos de uso del código fuente para el sistema de gestión de préstamos de materiales bibliográficos.
Estructura de Clases 1. Clase base: MaterialBiblioteca Representa un material genérico en la biblioteca.
1 2 3 4 5 6 7 8 9 10 11 12 class MaterialBiblioteca (ABC ): def __init__ (self, titulo, autor ): self .__id = self .setId() self .__titulo = titulo self .__autor = autor self .__estado = "Disponible" self .__diasPrestado = 0 def setId (self ): caracteres = string.ascii_letters + string.digits return '' .join(random.choices(caracteres, k=8 ))
Principales métodos:
prestarMaterial(dias) (abstracto)
devolverMaterial() (abstracto)
MostrarInformacion() (abstracto)
Métodos getter/setter para atributos.
2. Clases derivadas Libro Físico 1 2 3 4 5 6 7 8 class LibroFisico (MaterialBiblioteca ): def __init__ (self, titulo, autor, NoEjemplar ): super ().__init__(titulo, autor) self .__noEjemplar = NoEjemplar def dias_max (self ): return 7
Libro Digital 1 2 3 4 5 6 7 8 class LibroDigital (MaterialBiblioteca ): def __init__ (self, titulo, autor, size ): super ().__init__(titulo, autor) self .__size = size def dias_max (self ): return 3
3. Estructuras de datos Lista Enlazada de Materiales 1 2 3 4 class Nodo : def __init__ (self, libro ): self .libro = libro self .siguiente = None
1 2 3 4 class listaMaterial : def agregarMaterial (self, material ): nuevo_nodo = Nodo(material)
Ejemplo de registro de un libro físico 1 2 3 biblioteca = Biblioteca() libro = LibroFisico("Cien Años de Soledad" , "Gabriel García Márquez" , 1 ) biblioteca.lista.agregarMaterial(libro)
Ejemplo de préstamo y devolución 1 2 libro.prestarMaterial(5 ) libro.devolverMaterial()
1 2 3 4 5 def mostrar_menu (self ): print ("1. Registrar nuevo material" ) print ("2. Gestionar materiales" ) print ("3. Listar todos los materiales" ) print ("4. Salir" )
Notas de diseño
Las clases hijas implementan los métodos abstractos de la clase base.
El código único de cada material se genera automáticamente.
El estado de cada material cambia según se preste o se devuelva.
Recomendaciones
Mantener separados los archivos según funcionalidad.
Validar correctamente entradas de usuario, especialmente en el menú y registro de materiales.