Beruflich Dokumente
Kultur Dokumente
Objetivos:
Objetivos principales:
El objetivo del proyecto es poder llevar como funciones principales, el
uso correcto de almacenamiento y registros de libros, mediantes
ficheros
para luego, un(os) alumno(s) pueda(n) hacer la consulta
respectiva del libro a buscar y si en caso encontrase el libro consultado,
pueda tener en su posesin dicho libro.
La otra funcin es la comunicacin entre el Administrador y el alumno, o
entre Servidor y Cliente mediante uso de sockets para poder hacer
consultas respectivas referentes a un Sistema de Biblioteca.
El manejo de sockets servir para la comunicacin dentro de una red
local entre el administrador y los usuarios para que puedan intercambiar
mensajes que viene a ser una parte importante de nuestra Red Social
Educativa.
Objetivos secundarios:
Crear y utilizar objetos para nuestro proyecto.
Crear y utilizar variables y mtodos de clases.
proyecto
en
recursos
humanos
En Logstica:
-
usamos
lo
Tiempo por cada uno de los miembros del equipo para elaborar el
proyecto.
Uso de distintos materiales de estudio, como libros y material de
informacin obtenido de internet (foros de programacin, blogs
sobre algn tipo de lenguaje de programacin en especial,
comunicacin con compaeros acerca del tema).
Ejemplos de lo referente a nuestro tema de proyecto. Para darnos
idea de lo que vendr a ser en concreto a nuestro proyecto de
Sistema de Biblioteca como nuestra Primera Parte de la Red Social
Educativa.
En relacin a Tcnico:
-
tcnicos.
Sistema de Biblioteca.
Por comodidad la contrasea para ingresar a este programa es 123.
caractersticas:
En el men Ayuda solo se presentan algunos recursos
externos al programa para profundizar o comprender
mejor la idea del proyecto y los mtodos utilizados.
import java.io.Serializable;
public abstract class Persona implements Serializable {
private String nombre;
private String DNI;
//constructor sin parmetros
public Persona() {
}
//constructor con parmetros
public Persona(String nombre, String DNI) {
this.nombre = nombre;
this.DNI = DNI;
}
//metodos de acceso a los atributos privados
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getDNI() {
return DNI;
}
public void setDNI(String DNI) {
this.DNI = DNI;
}
//redefiniendo el mtodo toString de la clase Object
@Override
public String toString() {
return "Nombre: " + nombre + "\nDNI: " + DNI;
}
//CLASE USUARIO
package ClasesBase;
import java.io.Serializable;
public class Usuario extends Persona implements Serializable {
private String codigo;
private boolean tieneLibro = false;
private Libro lib;
public Usuario() {
}
public Usuario(String nombre, String DNI, String codigo) {
super(nombre, DNI);
this.codigo = codigo;
}
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public boolean tieneLibro() {
return tieneLibro;
}
public void setTieneLibro(boolean b) {
tieneLibro = b;
}
public Libro getLib() {
return lib;
}
public void setLib(Libro lib) {
this.lib = lib;
}
@Override
public String toString() {
return super.toString()
+ "\nCodigo de Estudiante: " + codigo;
}
}
//CLASE ADMINISTRADOR
package ClasesBase;
import java.io.Serializable;
public class Administrador extends Persona implements Serializable {
private String password;
public Administrador() {
}
public Administrador(String nombre, String DNI, String password) {
super(nombre, DNI);
this.password = password;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return super.toString()
+ "\nPassword: " + password;
}
}
//CLASE LIBRO
package ClasesBase;
import java.io.Serializable;
public class Libro implements Serializable {
private
private
private
private
String codigolibro;
String titulolibro;
String autorlibro;
boolean disponible = true;
public Libro() {
}
public Libro(String cl, String tl, String al) {
this.codigolibro = cl;
this.titulolibro = tl;
this.autorlibro = al;
}
public String getCodigolibro() {
return codigolibro;
}
public void setCodigolibro(String codigolibro) {
this.codigolibro = codigolibro;
}
public String getTitulolibro() {
return titulolibro;
}
public void setTitulolibro(String titulolibro) {
this.titulolibro = titulolibro;
}
public String getAutorlibro() {
return autorlibro;
}
public void setAutorlibro(String autorlibro) {
this.autorlibro = autorlibro;
}
public boolean isDisponible() {
return disponible;
}
public void setDisponible(boolean estado) {
this.disponible = estado;
}
@Override
public String toString() {
if (isDisponible()) {
return "Codigo: " + codigolibro
+ "\nTitulo: " + titulolibro
+ "\nAutor : " + autorlibro
+ "\nEstado: Disponible";
} else {
return "Codigo: " + codigolibro
+ "\nTitulo: " + titulolibro
+ "\nAutor : " + autorlibro
+ "\nEstado: Ocupado";
}
}
}
//CLASE BIBLIOTECA
package ClasesConjunto;
import
import
import
import
ClasesBase.Libro;
ClasesBase.Usuario;
java.io.Serializable;
java.util.ArrayList;
import java.util.Iterator;
import javax.swing.JOptionPane;
public class Biblioteca implements Serializable {
private
private
private
private
ArrayList listaLibros;
int nLibros = 0;
ArrayList listaUsuarios;
int nUsers = 0;
public Biblioteca() {
listaUsuarios = new ArrayList();
listaLibros = new ArrayList();
}
public void agregarLibro(Libro L) {
Libro lib;
int k;
listaLibros.add(L);
for (k = nLibros - 1; k >= 0 && Integer.parseInt((lib = (Libro)
listaLibros.get(k)).getCodigolibro())
>
Integer.parseInt(L.getCodigolibro()); k--) {
listaLibros.set(k + 1, lib);
}
listaLibros.set(k + 1, L);
nLibros++;
}
private int busquedaBinaria(int i, int f, String cod) {
if (i == f) {
if (Integer.parseInt(((Libro) listaLibros.get(i)).getCodigolibro()) ==
Integer.parseInt(cod)) {
return i;
}
return -1;
}
int m = (i + f) / 2;
if (Integer.parseInt(cod) > Integer.parseInt(((Libro)
listaLibros.get(m)).getCodigolibro())) {
return busquedaBinaria(m + 1, f, cod);
}
return busquedaBinaria(i, m, cod);
}
public int buscarLibroC(String cod) {
if (nLibros == 0) {
return -1;
}
return busquedaBinaria(0, nLibros - 1, cod);
}
public int buscarLibroT(String titulo) {
int i = 0;
Iterator it = listaLibros.iterator();
while (it.hasNext()) {
if (((Libro) it.next()).getTitulolibro().equals(titulo)) {
return i;
}
i++;
}
return -1;
}
public int buscarLibroA(String autor) {
int i = 0;
Iterator it = listaLibros.iterator();
while (it.hasNext()) {
if (((Libro) it.next()).getAutorlibro().equals(autor)) {
return i;
}
i++;
}
return -1;
}
public void modificarLibro(String codigo) {
int pos = buscarLibroC(codigo);
if (pos != -1)//encontr el libro
{
((Libro)
listaLibros.get(pos)).setTitulolibro(JOptionPane.showInputDialog("Ingrese
nuevo ttulo"));
((Libro)
listaLibros.get(pos)).setAutorlibro(JOptionPane.showInputDialog("Ingrese
nuevo autor"));
} else//no encontr libro
{
Iterator it = listaUsuarios.iterator();
while (it.hasNext()) {
if (((Usuario) it.next()).getCodigo().equals(cod)) {
return i;
}
i++;
}
return -1;
}
public Usuario usuario(int i) {
return (Usuario) listaUsuarios.get(i);
}
public int numeroUsuarios() {
return nUsers;
}
}