Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(Eclipse,MySQL,JDK1.6+)
JoseAlbertoBentezAndrades
MetodologayTecnologadelaProgramacin
2IngenieraInformtica,NIF:71454586A
Infjab02@estudiantes.unileon.es
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina2
Infjab02@estudiantes.unileon.es
NDICE
PRLOGO.
1. ESPECIFICACINDELAPRCTICA.
1.1.CLASESDEOBJETOS
2. ARQUITECTURADELAAPLICACIN.
2.1. DISEODELABASEDEDATOS.
2.1.1. TablaRoles.
2.1.2. TablaTitulaciones.
2.1.3. TablaUsuarios.
2.1.4. TablaLibros.
2.1.5. TablaRevistas.
2.1.6. TablaPrestamos.
2.1.7. TablaReservas.
2.1.8. TablasBuzonyBuzon2.
2.1.9. DiagramaEntidadRelacin.
3. FUNCIONAMIENTODELPROGRAMA.
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina3
Infjab02@estudiantes.unileon.es
PRLOGO
Esta segunda prctica pretende servir de ejemplo como aplicacin de la
Programacin Orientada a Objetos. Decimos que estamos realizando POO cuando
utilizamosclases,objetosyempleamoslaherencia.
Laherenciaesunmecanismoparaconstruirclasesderivadasdeotras,deforma
que esta nueva clase tiene todas las caractersticas de la clase padre (atributos y
mtodos) y permite redefinirlas as como aadir otras nuevas. Con ello conseguimos,
entreotrascosas,facilitarlaconstruccindeTADypermitirlareutilizacindecdigo.
Acontinuaciniremosviendocomoestosconceptosseaplicanenelprograma
GestordeunaBiblioteca.
1.ESPECIFICACINDELAPRCTICA
Elsegundoprogramaconsistirenlaconstruccindeunabibliotecaorientadaa
objetos para una biblioteca. La biblioteca se probar con el desarrollo de las
simulacionesdeprstamos,insercindeusuarios,insercindefondos
1.1.CLASESDEOBJETOS
Estassonlasclasesdeobjetosqueheutilizadopararealizarelgestordelabiblioteca:
controlarLongitud:ClasemediantelacualcontrololalongituddelosJTextField
ysisonnumricosoalfanumricos.
MiLogin :En ella creoun objeto ventana quepide al usuario los datos para su
autentificacin en la biblioteca, Usuario y Contrasea, validndolo mediante
bsquedasenlabasededatos.
MiMysql:SeencuentrantodaslasconsultasSQLquenecesitoparagestionarla
biblioteca.Porejemploalahoradeconsultarfondosenunabiblioteca,aquestnlos
mtodosquenosdevuelvenlatablaparamostrarenpantallaalosusuarios.
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina4
Infjab02@estudiantes.unileon.es
ModeloTablaBuzon : Encargada de devolvernos la tabla con los mensajes que
tengaunusuarioensuBuzn.
RolSuperior:EsutilizadacomopuentedeaccesoentreMiMysqlyotrasclases,
esunaclasedeayudaauxiliar.
VentanaBuzon : Es la encargada de devolvernos el objeto en el cual veremos
nuestrobuzndemensajes.
VentanaConsultarFondo:Muestralaventanaenlacualrealizaremosnuestras
consultasdeFondosdentrodenuestrabiblioteca.
VentanaConsultarPrestamo : Al igual que la anterior, slo que esta vez para
mostrarlosPrestamosquequeremosbuscar.
VentanaConsultarUsuario Igual que las dos anteriores, pero mostrando los
Usuarios.
VentanaEstadisticas : Muestra la ventana donde realizaremos nuestro clculo
deestadsticasdelabiblioteca.
VentanaInsertarFondo : Interfaz mediante la cual insertaremos Libros o
Revistasennuestrabiblioteca.
VentanaInsertarUsuario : Interfaz mediante la cual insertaremos Usuarios en
nuestrabiblioteca.
VentanaMensajeEntrada : Encargada de mostrar los mensajes que recibimos
ennuestrabandejadeentrada.
VentanaMensajeSalida:Muestralaventanaderedaccindeunmensajepara
enviaraunusuario.
VentanaPrincipal: Muestra la ventana principal del programa con su barra
superiordemencorrespondientedependiendodelniveldelusuario.
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina5
Infjab02@estudiantes.unileon.es
ElconjuntodeoperacionesparaunobjetodelaclaseMiLogines:
publicMiLogin()
o Constructordelaclase.
protectedJComponentcreateButtonPanel()
o CreaelpaneldebotonesparalaventanadeMiLogin.
privatestaticvoidcreateAndShowGUI()
o Encargadodemostrarlapartegrficaenpantalla.
publicstaticvoidmain(String[]args)throwsException
o Funcinprincipaldelprograma.
ParalaclasedeobjetoMiMysql:
publicMiMysql()
o Funcinprincipaldelprograma.
publicstaticvoidConectaDB()throwsException
o Encargadodeconectarconlabasededatos.
publicstaticvoidLlamadaDB(Stringllamada)
o Encargadodehacerllamadasalabasededatossinobtenerresultados,
porejemploUPDATE,DELETE,INSERT
publicstaticvoidEntraDB()
o FuncinqueconectaconlabasededatosJABAGB.
publicstaticStringLogin(StringDNI,booleanEjecuta)
o Seencargadeverificarelusuarioylacontraseadelusuariocuandose
autentifican.
public static DefaultTableModel ConsultaUsuarioDB(String Llamada,String
nivel)
o Mediante esta funcin recibiremos una tabla con los datos de los
usuariosquehemosbuscadopreviamente.
public static DefaultTableModel ConsultaFondoDB(String Llamada,
booleanlibro)
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina6
Infjab02@estudiantes.unileon.es
o Conella,losadministradoresytcnicosrecibirnlatabladeFondosque
hanbuscado,pudiendomodificarlosdatosquedeseensobreella.
public static NonEditableTableModel ConsultaFondoDBLector(String Llamada,
booleanlibro)
o Su funcin es igual al procedimiento anterior, slo que la tabla que
devuelve est restringida para que los usuarios no puedan modificar la
tabla.
public static ModeloTablaBuzon ConsultaMensajesBuzon(String
queBuzon,StringLlamada,booleantecnico)
o Devuelvelosmensajes,tantoenviadoscomorecibidos,delusuarioque
estautentificadoenelgestor.
publicstaticDefaultTableModelConsultaPrestamo(StringLlamada)
o Devuelve la tabla de prstamos de un usuario concreto, o de diversos
volmenes,segnhayasidolabsquedadelAdministradoroTcnico.
publicstaticDefaultTableModelConsultaPrestamoLector(StringLlamada)
o Funcin equitativa a la anterior, con la salvedad de que es solamente
paraquecadalectorvisualicesusprstamos.
publicstaticString[]RecogeMensaje(Stringidmensaje)
o Encargadodedevolverunmensajeconcretoparapodervisualizarseen
pantalla.
publicstaticString[]DameTitulaciones()
o Funcin encargada de enviar las titulaciones que estn en la tabla
titulaciones.
publicintultimaID()
o Devuelvelaltimaidaadidaaunatabladelabasededatos.
publicStringdame_fecha(Stringactual,booleancorto)
o Funcinqueutilizoparaconocerlafechaactualoparaconocerlafecha
actualsumndole2daso21das,dependiendodeltipodeprstamo.
publicintresta_fecha(Stringfecha,booleancorto)
o Funcin auxiliar que devuelve la fecha restada a un intervalo de das
definidoporelprogramador.
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina7
Infjab02@estudiantes.unileon.es
publicintgetNumCopiasFondo(Stringllamada)
o Funcin que fue diseada para obtener el nmero de copias de un
fondo,yqueutilizoalolargodelprogramaparaobtenermsnmeros
deseleccionesquehagoenlabasededatos.
publicStringgetCadena(Stringllamada)
o Funcinquerecibeunacadenaenunabsquedaenlabasededatos.
publicintgetNumPrestamosLector(Stringidusuario)
o Devuelveelnmerodeprstamosqueposeeunlectorensupoder.
publicintdevolverConsultas()
o Encargada de hacer las devoluciones de las consultas al abrirse el
programacadada.
publicvoidcomprobarCaducados()
o Gestordefondosquecaducanencargadodeavisaralosusuariosdela
finalizacindeunodesusprstamos.
publicvoidcomprobarReservas()
o Encargadodeborrarlasreservascaducadas.
publicstaticJPanelcomprobarReservasLector(Stringid)
o Avisaalusuariodesitienereservasdisponiblespararecogerprestadas.
ParalaclasedeobjetosRolSuperior:
publicRolSuperior()
o Constructordelaclase.
protectedintsetDatosUsuarios(Stringdatos[])
o Mtodoencargadodeinsertarunusuarioenlabasededatoscuandoel
tcnicooadministradorloordena.
protectedvoidsetDatosFondos(Stringdatos[],booleanesLibro)
o Mtodoqueseencargadeinsertarunfondo(libroorevista)enlabase
dedatos,cuandoeltcnicooadministradorloordena.
protected DefaultTableModel getTablaBusquedaUsuario(String busqueda,
Stringcriterio,Stringnivel)
o Mtodoquedevuelveunatablacuandosebuscanusuarios.
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina8
Infjab02@estudiantes.unileon.es
protectedDefaultTableModelgetTablaBusquedaFondo(Stringbusqueda,String
criterio,booleanesLibro)
o Mtodoquedevuelveelresultadodeunabsquedadelibros.
protected NonEditableTableModel getTablaBusquedaFondoLector(String
busqueda,Stringcriterio,booleanesLibro)
o Poseelamismafuncinquelaanterior,sloqueestavezelresultadoes
paraunlectorenlugardeparaunadministrador.
protectedString[]getDatosMensaje(Stringidmensaje)
o Devuelve los datos de un mensaje (remitente, asunto, texto del
mensaje..).
protectedString[]getTitulaciones()
o Devuelvelastitulacionesquehayenesemomento.
staticpublicvoidcomprobacionesIniciales()
o Realizalascomprobacionesinicialesdecaducados,reservas
ParalaclasedeobjetosVentanaBuzon:
publicVentanaBuzon(StringNSOCIO,StringNivel)
o Constructordelaventanaquemuestraelbuzndemensajes.
classSharedModelDemoextendsJPanel
o ClaseinternaquedevuelveunJPanelparamostrarenpantalla.
o protectedJComponentcreateToolBar()
Crealabarradeherramientassuperiordenuestrobuzn.
o protectedImageIconcreateImageIcon(Stringpath)
Crea los iconos para los botones que creo, es una funcin
auxiliarqueestenmsclases.
o publicvoidactionPerformed(ActionEvente)
Desde el actionPerformed controlo todos los eventos de los
botones,actualizaciones,modificaciones,etc
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina9
Infjab02@estudiantes.unileon.es
ParalaclasedeobjetosVentanaConsultarFondo:
publicVentanaConsultarFondo(Stringnivel,StringNSocio)
o Constructordelaclase.
classConsultorioFondoextendsJPanel
o Clase interna que devuelve el panel a mostrar por la ventana de
consultadefondo.
ParalaclasedeobjetosVentanaConsultarPrestamo:
publicVentanaConsultarPrestamo(Stringnivel,StringNSocio)
o Constructordelaclase.
classConsultorioPrestamoextendsJPanel
o Clase interna que devuelve el panel a mostrar por la ventana de
consultadeprstamo.
ParalaclasedeobjetosVentanaConsultarUsuario:
publicVentanaConsultarUsuario(Stringnivel)
o Constructordelaclase.
classConsultorioFondoextendsJPanel
o Clase interna que devuelve el panel a mostrar por la ventana de
consultadeusuarios.
ParalaclasedeobjetosVentanaEstadisticas:
publicVentanaEstadisticas(Stringnivel,StringNSocio)
o Constructordelaclase.
classConsultorioFondoextendsJPanel
o Clase interna que devuelve el panel a mostrar por la ventana de
consultadeestadsticas,conelresultadohallado.
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina10
Infjab02@estudiantes.unileon.es
ParalaclasedeobjetosVentanaInsertarFondo:
publicVentanaConsultarFondo()
o Constructordelaclase.
classFormularioInsertarFondoextendsJPanel
o Clase interna que devuelve el panel a mostrar por la ventana de
insercindeunfondo.
ParalaclasedeobjetosVentanaInsertarUsuario:
publicVentanaConsultarUsuario()
o Constructordelaclase.
classFormularioInsertarUsuarioextendsJPanel
o Clase interna que devuelve el panel a mostrar por la ventana de
insercindeunusuario.
ParalaclasedeobjetosVentanaMensajeEntrada:
publicVentanaMensajeEntrada(Stringidmensaje,booleanesprestamo)
o Constructordelaclase.
classMensajeUsuarioextendsJPanel
o Clase interna que devuelve el panel a mostrar por la ventana de
mensajedeentrada.
ParalaclasedeobjetosVentanaMensajeSalida:
publicVentanaMensajeSalida()
o Constructordelaclase.
classMensajeUsuarioextendsJPanel
o Clase interna que devuelve el panel a mostrar por la ventana de
mensajedesalida.
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina11
Infjab02@estudiantes.unileon.es
ParalaclasedeobjetosVentanaPrincipal:
publicclassVentanaPrincipalextendsJFrame
o Constructordelaclase.
classMainDesktopPaneextendsJDesktopPane
o Clase interna mediante la cual creo un DesktopPane con un fondo
asignadoporm.
2.ARQUITECTURADELAAPLICACIN.
Laelaboracindeunaprcticamedianaconllevaunabuenafasedeanlisisdel
problemaydiseodelprograma,yaquesinoseguimosbienlasespecificacionesdel
programa,podemoscrearunaaplicacinquenohaceloqueelclientenospide.
Otroproblemamuyfrecuente,eslamalaeleccindeunostiposdedatosyuna
malacodificacindelprograma,yaqueesoconllevaraaunprogramaineficiencia,ya
seaporqueposeemuchaslneasdecdigoparahaceralgosencillo,osimplemente
porquealahoradelaejecucin,elprogramafuncionamuylentamenteyconerrores.
Enesteapartadovoyaexplicareldiseodelabasededatosqueheutilizadopara
hacerelprograma,ytambindesglosarelfuncionamientodelasunidadesydel
programaprincipal.
2.1. DISEODELABASEDEDATOS.
Segnlasespecificacionesdelprograma,debemosalmacenarlossiguientesdatos
enlabasededatos:Usuarios,Libros,Revistas,PrestamosyReservas.Tambin
necesitaremosalmacenarmensajesenalgunapartedelabasededatos,asquelas
tablasquehenecesitadopararealizarelgestorsonlassiguientes:Roles,Titulaciones,
Usuarios,Libros,Revistas,Prestamos,Reservas,BuzonyBuzon2.
2.1.1.TablaRoles.
LatablaRolesesenlaquealmacenaremoslosnivelesqueexistenentreusuarios,que
en principio son 4, Administrador, Tecnico, LectorSocio y LectorBasico.
Campos:
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina12
Infjab02@estudiantes.unileon.es
ID:AlmacenaremosunidprimarioparacadaROLexistente.
ROL:Nombreparacadanivel.
2.1.2.TablaTitulaciones.
LatablaTitulacionesesenlaquealmacenaremoslasposiblestitulacionesquepueden
tenerlosusuarios.Campos:
Titulo:Almacenamoselnombredelacarreraqueestudiellector.
2.1.3.TablaUsuarios.
La tabla Usuarios es en la que almacenaremos los usuarios y sus respectivos datos,
estformadaporlossiguientescampos:
Nombre:Enlalmacenaremoselnombredecadausuario.
Apellidos:Almacenaremoslosapellidosdelusuario.
Telefono:Seguardareltelfonodecadausuario.
Direccin: Almacenaremos tambin la direccin dnde residen nuestros
usuarios.
Titulacion: Guardaremos tambin la informacin de qu carrera estudia
nuestrolector.
NSocio: Id por la cual identificaremos a cada usuario en nuestro gestor, es la
claveprimariadelatablaUsuarios.
ROL:Almacenaremoselnivelqueposeeelusuario,Administrador,Tcnico,
LectorSociooLectorBasico.
DNI:ElDNIdellectortambinsealmacenar.
Password:Yunacontraseaparaidentificarseenelgestor.
2.1.4.TablaLibros.
La tabla Libros es en la que almacenaremos todos los libros de la biblioteca. Los
campossonlossiguientes:
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina13
Infjab02@estudiantes.unileon.es
ID:Unaidprimariaparacadalibro.
Titulo:Ttulodecadalibro.
Autores:Autoresdecadalibro.
Editorial:Quempresaediteselibro.
Edicin:Quedicinllevanyadellibro.
Anio:Aodepublicacindecadalibro.
Paginas:Cuntaspginasposee.
Signatura:Aqusignaturapertenece.
ISBN:ElcdigoISBNqueposee.
CopiasSala:Nmerodecopiasquehayparaconsultas.
CopiasPrestamo:Nmerodecopiasquehayparaprstamo.
PrestadasSala:Nmerodelibrosprestadosactualmenteparaconsultas.
PresadasPrestamo:Nmerodelibrosprestadosparaprstamoactualmente.
CortoPlazo:Almacenasiesdecortoplazo(2das)ono(21das).
2.1.5.TablaRevistas.
La tabla Libros es en la que almacenaremos todos los libros de la biblioteca. Los
campossonlossiguientes:
ID:Unaidprimariaparacadarevista.
Titulo:Ttulodecadarevista.
Autores:Autoresdecadarevista.
Editorial:Quempresaediteserevista.
Volumen:Nombredevolumenasignadoaesarevista.
VolumenCreado: Variable booleana que indica si esa revista est asignada
algnvolumenoestsuelta.
VolumenReal: Nombre del volumen real de ese libro, si est asignado a
alguno..
Nmero:Aodepublicacindecadarevista.
Anio:Aodepublicacindecadarevista.
Paginas:Cuntaspginasposee.
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina14
Infjab02@estudiantes.unileon.es
Signatura:Aqusignaturapertenece.
CopiasSala:Nmerodecopiasquehayparaconsultas.
CopiasPrestamo:Nmerodecopiasquehayparaprstamo.
PrestadasSala:Nmeroderevistaprestadosactualmenteparaconsultas.
PresadasPrestamo:Nmerodelrevistaprestadosparaprstamoactualmente.
2.1.6.TablaPrestamos.
La tabla Prestamos es en la que almacenaremos todos los prstamos de la biblioteca.
Loscampossonlossiguientes:
Id_prestamo:Unaidprimariaparacadaprstamo.
Id_revista: Si el prstamo es de una revista, almacenamos la id de la revista,
sinoelcamposernull.
Id_libro: Si el prstamo es de un libro, almacenamos la id del libro, sino,
almacenaremosnull.
NSocio:Iddelsocioquerealizaeseprstamo.
EsLibro:Booleanoqueindicasiesunlibroounarevistaloqueprestamos.
Fecha_inicio:Fechaenlaqueserealizaelprstamo.
Fecha_fin:Fechaenlaquedebendevolverelprstamo.
Fecha_devuelto:Fechaenlaquedevuelvenelprstamo.
Devuelto:Booleanoqueindicasiellibroyaestdevuelto.
Consulta:BooleanoqueindicasiellibroesdeSalaodePrestamo.
AvisoEnviado: Booleano que nos indica si ya le hemos enviado un mensaje al
usuarioindicandoelvencimientodesulibro.
2.1.7.TablaReservas.
La tabla Prestamos es en la que almacenaremos todos los prstamos de la biblioteca.
Loscampossonlossiguientes:
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina15
Infjab02@estudiantes.unileon.es
Id_reserva:Unaidprimariaparacadareserva.
Id_revista: Si el prstamo es de una revista, almacenamos la id de la revista,
sinoelcamposernull.
Id_libro: Si el prstamo es de un libro, almacenamos la id del libro, sino,
almacenaremosnull.
NSocio:Iddelsocioquerealizaeseprstamo.
EsLibro:Booleanoqueindicasiesunlibroounarevistaloqueprestamos.
Puede:Booleanoquenosdicesilareservayaestdisponibleparaconvertirse
enprstamo.
Fecha_reserva:Fechaenlaqueserealizaelprstamo.
Fecha_puede: Fecha en la que se puede coger prestado ya ese libro de esa
reserva.
2.1.8.TablasBuzonyBuzon2
Las tablas Buzon y Buzon2 almacenan los mensajes de los usuarios, usamos 2
porquealahoradeborrarunmensaje,siunusuarioborraunmensajedeentrada,el
usuario que envi ese mensaje tambin tendra borrado su mensaje de la carpeta
enviados,paraquenohayaconflictossecreanestasdostablasqueposeenlosmismos
campos:
Id_mensaje:idprimariaparacadamensajeenviado:
Id_remitente:iddelremitentedelmensaje.
Id_receptor:iddelreceptordelmensaje.
Fecha_envio:fechaenlaquefueenviadoelmensaje.
ParaPrestamo: Booleano que indica si el mensaje es un prstamo o es un
mensajenormal.
NoNuevo:Booleanoqueindicasielmensajeesnuevoono.
Asunto:Almacenaelasuntodelmensaje.
Mensaje:Almacenaeltextodelmensajeenviado.
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina16
Infjab02@estudiantes.unileon.es
2.1.9.DIAGRAMAENTIDADRELACION.
Paraqueseveanbienlasreferencias,voyaponerunafotoenlaqueslosemuestran
lasclavesprimariasdelastablasylosnombresdelasmismas,ydebajoladetallada:
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina17
Infjab02@estudiantes.unileon.es
3.FUNCIONAMIENTODELPROGRAMA.
Elprogramacomienzaconunaventanadeautentificacindondeelusuariodebe
introducirsuusuarioysucontrasea,esdecir,sunmerodesocioysucontrasea.
Una vez autentificado el usuario, se abre una ventana principal con todas las
opciones en una barra de herramientas superior, esta barra de herramientas es
distinta dependiendo el nivel que posea el usuario, es decir, si es Administrador o
Tecnico tiene una serie de opciones que los LectoresSocios y LectoresBasicos no
tienen.
Foto:Pantallaprincipaldelgestor.
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina18
Infjab02@estudiantes.unileon.es
Una vez autentificado, si somos Administradores o Tecnicos podremos
insertarusuariosdesdelasiguienteinterfazdeinsercin:
Sifaltaalgndatoporespecificarnosdarunerroralintentarinsertareseusuario:
Tambinpuedeninsertarfondos,yelmensajedeaceptacinsera:
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina19
Infjab02@estudiantes.unileon.es
Tambin siendo Administradores o Tecnicos tenemos la posibilidad de consultar
usuarios, pudiendo modificar los datos que ya hemos insertado a la hora de
introducirlos en la base de datos. La interfaz grfica de consulta de usuarios es la
siguiente:
YlainterfazparaconsultasdelibrosparaAdministradoresyTecnicoses:
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina20
Infjab02@estudiantes.unileon.es
En ella se pueden modificar los datos de los libros/revistas y a su vez crear
volmenesderevistasnuevos.
Para los usuarios LectoresBasicos y LectoresSocios la interfaz de consulta de
fondoseslasiguiente:
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina21
Infjab02@estudiantes.unileon.es
Situvieselibrosadevolverofondoscaducados,mostraraelsiguientedialogo:
Siellibronosepudiesecogerprestadoenesemomento,mostraraelsiguiente
mensaje:
Permitiendoalusuariorealizarunareservadeeselibroorevista.Sielusuario
aceptalareserva,apareceraunmensajesimilaralsiguiente:
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina22
Infjab02@estudiantes.unileon.es
TambintenemosuninterfazdeconsultasdePrstamosqueesdistintopara
usuariosAdministradoresoTecnicosqueparausuariosLectores.Paralos
primeros,elinterfazesas:
ParalosLectores,elinterfazeselsiguiente:
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina23
Infjab02@estudiantes.unileon.es
Puedenpedirunaampliacindeprstamo,queasuvezpuedeestardenegadao
aceptada:
Porotraparte,tenemoslaopcindemirarnuestroBuzndemensajes:
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina24
Infjab02@estudiantes.unileon.es
Yunabandejadeenviadostalqueas:
Siqueremosleeroenviarunmensaje,tendremosunasventanascomolas
siguientes:
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina25
Infjab02@estudiantes.unileon.es
Sielmensajeseenvacorrectamente,obtendremoselsiguientemensaje:
Laventanadeestadsticaseslasiguiente:
Enrelacinalborradodeusuarios,siunusuariotuvieseunprstamoensupoder,
ylointentsemosborrar,elprogramamostraraelsiguienteerror:
GestordeunaBibliotecaMetodologayTecnologadelaProgramacin
JoseAlbertoBentezAndrades[71454586A] Pgina26
Infjab02@estudiantes.unileon.es
Yyaporltimo,muestrodosimgenesdeloqueseralainterfazparaenviarSMSy
Correoselectrnicosalosusuarios,peroquenoestimplementado.