Documentación: Gestor de una Biblioteca
(Eclipse, MySQL, JDK 1.6+)
Jose Alberto Benítez Andrades
Metodología y Tecnología de la Programación
2º Ingeniería Informática, NIF:71454586A
[email protected]
Gestor de una Biblioteca Metodología y Tecnología de la Programación
PRÓLOGO.
ÍNDICE
1. ESPECIFICACIÓN DE LA PRÁCTICA.
1.1.CLASES DE OBJETOS
2. ARQUITECTURA DE LA APLICACIÓN.
DISEÑO DE LA BASE DE DATOS.
2.1.
2.1.1.
2.1.2.
2.1.3.
2.1.4.
2.1.5.
2.1.6.
2.1.7.
2.1.8.
2.1.9.
Tabla Roles.
Tabla Titulaciones.
Tabla Usuarios.
Tabla Libros.
Tabla Revistas.
Tabla Prestamos.
Tabla Reservas.
Tablas Buzon y Buzon2.
Diagrama Entidad‐Relación.
3. FUNCIONAMIENTO DEL PROGRAMA.
Jose Alberto Benítez Andrades [71454586A]
[email protected]
Página 2
Gestor de una Biblioteca Metodología y Tecnología de la Programación
PRÓLOGO
Esta segunda práctica pretende servir de ejemplo como aplicación de la
Programación Orientada a Objetos. Decimos que estamos realizando POO cuando
utilizamos clases, objetos y empleamos la herencia.
La herencia es un mecanismo para construir clases derivadas de otras, de forma
que esta nueva clase tiene todas las características de la clase padre (atributos y
métodos) y permite redefinirlas así como añadir otras nuevas. Con ello conseguimos,
entre otras cosas, facilitar la construcción de TAD y permitir la reutilización de código.
A continuación iremos viendo como estos conceptos se aplican en el programa
“Gestor de una Biblioteca”.
1. ESPECIFICACIÓN DE LA PRÁCTICA
El segundo programa consistirá en la construcción de una biblioteca orientada a
objetos para una biblioteca. La biblioteca se probará con el desarrollo de las
simulaciones de préstamos, inserción de usuarios, inserción de fondos…
1.1.CLASES DE OBJETOS
Estas son las clases de objetos que he utilizado para realizar el gestor de la biblioteca:
•
controlarLongitud : Clase mediante la cual controlo la longitud de los JTextField
y si son numéricos o alfanuméricos.
•
MiLogin : En ella creo un objeto ventana que pide al usuario los datos para su
autentificación en
la biblioteca, Usuario y Contraseña, validándolo mediante
búsquedas en la base de datos.
•
MiMysql : Se encuentran todas las consultas SQL que necesito para gestionar la
biblioteca. Por ejemplo a la hora de consultar fondos en una biblioteca, aquí están los
métodos que nos devuelven la tabla para mostrar en pantalla a los usuarios.
Jose Alberto Benítez Andrades [71454586A]
[email protected]
Página 3
Gestor de una Biblioteca Metodología y Tecnología de la Programación
•
ModeloTablaBuzon : Encargada de devolvernos la tabla con los mensajes que
tenga un usuario en su Buzón.
•
RolSuperior : Es utilizada como puente de acceso entre MiMysql y otras clases,
es una clase de ayuda auxiliar.
•
VentanaBuzon : Es la encargada de devolvernos el objeto en el cual veremos
nuestro buzón de mensajes.
•
VentanaConsultarFondo : Muestra la ventana en la cual realizaremos nuestras
consultas de Fondos dentro de nuestra biblioteca.
•
VentanaConsultarPrestamo : Al igual que la anterior, sólo que esta vez para
mostrar los Prestamos que queremos buscar.
•
VentanaConsultarUsuario Igual que las dos anteriores, pero mostrando los
Usuarios.
•
VentanaEstadisticas : Muestra la ventana donde realizaremos nuestro cálculo
de estadísticas de la biblioteca.
•
VentanaInsertarFondo : Interfaz mediante la cual insertaremos Libros o
Revistas en nuestra biblioteca.
•
VentanaInsertarUsuario : Interfaz mediante la cual insertaremos Usuarios en
nuestra biblioteca.
•
VentanaMensajeEntrada : Encargada de mostrar los mensajes que recibimos
en nuestra bandeja de entrada.
•
VentanaMensajeSalida : Muestra la ventana de redacción de un mensaje para
enviar a un usuario.
•
VentanaPrincipal: Muestra la ventana principal del programa con su barra
superior de menú correspondiente dependiendo del nivel del usuario.
Jose Alberto Benítez Andrades [71454586A]
[email protected]
Página 4
Gestor de una Biblioteca Metodología y Tecnología de la Programación
El conjunto de operaciones para un objeto de la clase MiLogin es:
• public MiLogin()
o Constructor de la clase.
• protected JComponent createButtonPanel()
o Crea el panel de botones para la ventana de MiLogin.
• private static void createAndShowGUI()
o Encargado de mostrar la parte gráfica en pantalla.
• public static void main(String[] args) throws Exception
o Función principal del programa.
Para la clase de objeto MiMysql:
• public MiMysql()
o Función principal del programa.
• public static void ConectaDB() throws Exception
o Encargado de conectar con la base de datos.
public static void LlamadaDB(String llamada)
• •
o Encargado de hacer llamadas a la base de datos sin obtener resultados,
por ejemplo “UPDATE”, “DELETE”, “INSERT”…
• public static void EntraDB()
o Función que conecta con la base de datos JABAGB.
• public static String Login(String DNI,boolean Ejecuta)
o Se encarga de verificar el usuario y la contraseña del usuario cuando se
autentifican.
• public static DefaultTableModel ConsultaUsuarioDB(String Llamada,String
nivel)
o Mediante esta función recibiremos una tabla con los datos de los
usuarios que hemos buscado previamente.
• •
public static DefaultTableModel ConsultaFondoDB(String Llamada,
boolean libro)
Jose Alberto Benítez Andrades [71454586A]
[email protected]
Página 5
Gestor de una Biblioteca Metodología y Tecnología de la Programación
o Con ella, los administradores y técnicos recibirán la tabla de Fondos que
han buscado, pudiendo modificar los datos que deseen sobre ella.
• public static NonEditableTableModel ConsultaFondoDBLector(String Llamada,
boolean libro)
o Su función es igual al procedimiento anterior, sólo que la tabla que
devuelve está restringida para que los usuarios no puedan modificar la
tabla.
• public
static
ModeloTablaBuzon
ConsultaMensajesBuzon(String
queBuzon,String Llamada,boolean tecnico)
o Devuelve los mensajes, tanto enviados como recibidos, del usuario que
está autentificado en el gestor.
• public static DefaultTableModel ConsultaPrestamo(String Llamada)
o Devuelve la tabla de préstamos de un usuario concreto, o de diversos
volúmenes, según haya sido la búsqueda del Administrador o Técnico.
• public static DefaultTableModel ConsultaPrestamoLector(String Llamada)
o Función equitativa a la anterior, con la salvedad de que es solamente
para que cada lector visualice sus préstamos.
• public static String[] RecogeMensaje(String idmensaje)
o Encargado de devolver un mensaje concreto para poder visualizarse en
pantalla.
• public static String[] DameTitulaciones()
o Función encargada de enviar las titulaciones que están en la tabla
titulaciones.
• public int ultimaID()
o Devuelve la última id añadida a una tabla de la base de datos.
• public String dame_fecha(String actual,boolean corto)
o Función que utilizo para conocer la fecha actual o para conocer la fecha
actual sumándole 2 días o 21 días, dependiendo del tipo de préstamo.
• public int resta_fecha(String fecha,boolean corto)
o Función auxiliar que devuelve la fecha restada a un intervalo de días
definido por el programador.
Jose Alberto Benítez Andrades [71454586A]
[email protected]
Página 6
Gestor de una Biblioteca Metodología y Tecnología de la Programación
• public int getNumCopiasFondo(String llamada)
o Función que fue diseñada para obtener el número de copias de un
fondo, y que utilizo a lo largo del programa para obtener más números
de selecciones que hago en la base de datos.
• public String getCadena(String llamada)
o Función que recibe una cadena en una búsqueda en la base de datos.
• public int getNumPrestamosLector(String idusuario)
o Devuelve el número de préstamos que posee un lector en su poder.
• public int devolverConsultas()
o Encargada de hacer las devoluciones de las consultas al abrirse el
programa cada día.
• public void comprobarCaducados()
o Gestor de fondos que caducan encargado de avisar a los usuarios de la
finalización de uno de sus préstamos.
• public void comprobarReservas()
o Encargado de borrar las reservas caducadas.
• public static JPanel comprobarReservasLector(String id)
o Avisa al usuario de si tiene reservas disponibles para recoger prestadas.
Para la clase de objetos RolSuperior:
• public RolSuperior()
o Constructor de la clase.
• protected int setDatosUsuarios(String datos[])
o Método encargado de insertar un usuario en la base de datos cuando el
técnico o administrador lo ordena.
• protected void setDatosFondos(String datos[],boolean esLibro)
o Método que se encarga de insertar un fondo (libro o revista) en la base
de datos, cuando el técnico o administrador lo ordena.
• protected DefaultTableModel getTablaBusquedaUsuario(String busqueda,
o Método que devuelve una tabla cuando se buscan usuarios.
String criterio,String nivel)
Jose Alberto Benítez Andrades [71454586A]
Página 7
[email protected]
Gestor de una Biblioteca Metodología y Tecnología de la Programación
• protected D
Comentarios de: Documentación: Gestor de una Biblioteca (Eclipse, MySQL, JDK 1.6+) (0)
No hay comentarios