Sistema de Biblioteca

2 respostas
T

Boa tarde estou no 2 periodo de BSI e estou meio que totalemnte perdido estou com uma atividade que e pra desenvolver um sistema de bliblioteca so q eu nao vi nada de banco de dados meu professor deixou a orientacao de usar
- DAO (Data Access Object) que eu nao sei o q e...
vou copiar e colar meu codigo aki q ate entao eu consegui fazer minha outra duvida como e q eu faco pra relacionanr mais de um objeto em uma linha so tipo: cadastrei uma pessoa(obj ela possui nome,cpf,fone) emprestimo(data_entrada data_saida) tudo isso tem q ter esse negoco de DAO...
criei 2 pacotes um dominio e um main

primeiro vai o Dominio
Pessoas

package br.unirn.dominio;

public class Pessoas {

private String nome;

private Long cpf;

private String fone;

public String getFone() {
	return fone;
}

public void setFone(String fone) {
	this.fone = fone;
}

private Long id;

public Long getId() {
	return id;
}

public void setId(Long id) {
	this.id = id;
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public Long getCpf() {
	return cpf;
}

public void setCpf(Long cpf) {
	this.cpf = cpf;
}



public Pessoas(){
	
}

public Pessoas(String nome, Long cpf,Long id, String fone){
	
	this.nome = nome;
	this.cpf = cpf;
	this.id = id;
	this.fone = fone;
}


@Override
	public boolean equals(Object p) {
	   return cpf == ((Pessoas) p).getCpf();
	}	








}


Agora o Main onde eu parei cheio de duvidas :O

package br.unirn.main;

import java.util.ArrayList;

import javax.swing.JOptionPane;

import br.unirn.dominio.Emprestimo;
import br.unirn.dominio.Pessoas;




public class SistemaBiblioteca {

	/**
	 * @Author: Thiago Alves Couto da Silva
	 */
	public static void main(String[] args) {
		
		//ArrayList
		ArrayList<Emprestimo> Emprestimo = new ArrayList<Emprestimo>();
		ArrayList<Pessoas> Pessoa = new ArrayList<Pessoas>();
		do{
		int menu=0;
		String texto = "Escolha A opcao Desejada: " + "\n" + "1-Listar Emprestimos" + "\n" + "2-Listar Devolucoes" + "\n" + "3- Realizar Emprestimos" + "\n" +
				"4- Registrar Devolucoes" + "\n" +  "5- Cancelar Emprestimos" + "\n" + "6-Sair" + "\n";
		menu = Integer.parseInt(JOptionPane.showInputDialog(texto));
			if(menu == 1){
				Pessoas p = criarPessoas();
				Pessoas.add(p);
				
			    
				
				
			}
		
		
		
		
		
		
		
		
		
		//Adicionando na Lista
		ListagemPessoas(Pessoa);
		
		
				
	}while(menu!=6);
		
	}
//Metodo Automatico Para Criacao de Cadastro de Pessoas    
public static Pessoas criarPessoas(){
    	
	    String nome = JOptionPane.showInputDialog("Digite nome para o Cadastro?");
		 long cpf = Long.parseLong(JOptionPane.showInputDialog("Informe seu CPF: "));
		long id = Long.parseLong(JOptionPane.showInputDialog("Informe seu ID: "));
		String fone = JOptionPane.showInputDialog("Informe seu Telefone: ");
		
		return new Pessoas (nome,cpf,id,fone);
		
		
		
		

}

public static Emprestimo criarEmprestimo(){
	
	long id = Long.parseLong(JOptionPane.showInputDialog("Informe o ID do Emprestimo: "));
	String dataEmp = JOptionPane.showInputDialog("Defina a data de Emprestimo: ");
	String dataDev = JOptionPane.showInputDialog("Defina  a Data de Devolucao: ");
	
	return new Emprestimo (id,dataEmp,dataDev);
	}


//Metodo pra Mostra as Pessoas Cadastradas Na Lista
public static void ListagemPessoas(ArrayList<Pessoas> lista){
	
	if(!lista.isEmpty()){
		String mensagem = "";
		for (Pessoas p : lista) {
			mensagem += p.getNome() + "\n" + p.getFone() + "\n" + p.getCpf() + "\n";
}
		JOptionPane.showMessageDialog(null, mensagem);

	}
	
}
//Metodo pra Buscar Pessoas cadastradas pelo CPF
public static Pessoas buscarPessoas(Long cpf,
		ArrayList<Pessoas> lista) {
	if (!lista.isEmpty()) {
		String mensagem = "";
		for (Pessoas p : lista) {
			if (p.getCpf().equals(cpf))
				return p;
			
		}
		JOptionPane.showMessageDialog(null, mensagem);
	}
   return null;
}
public static void removerPessoas(Long cpf, ArrayList<Pessoas> lista) {
	Pessoas p = buscarPessoas(cpf, lista);
	if (p != null)
		lista.remove(p);

	
	
	
			
 
	
				
}	

}
[/code]

obs: ja implementei alguns metodos como criarPessoas, ListarPesoas ainda vou criar o metodo de add na lista...

Resumao do Problema

Considere o contexto de uma biblioteca simplificada, onde se pode realizar empréstimos de materiais informacionais.
Existem três tipos de materiais informacionais: livros, periódicos e materiais especiais.

2) Cada livro é representado por um número identificador (ISBN), título, ano, edição, volume, editora
e um ou mais autores.

3) Um autor é representando por um código (que o identifica na biblioteca), um nome e seu sobrenome.

4) Uma editora tem um nome e a informação se é nacional ou internacional

5) Cada periódico possui apenas um número identificador (ISSN), um título e um volume

6) O material especial possui uma descrição geral e um tipo (DVD, CD, FITA).

7) Cada material informacional possui um código de barras, o número da estante em que fica guardado, o número total de exemplares e o número total de exemplares disponíveis para empréstimo

8) Quando uma pessoa faz um empréstimo, deve-se registrar a pessoa, a data em que o empréstimo foi ralizado, o material informacional emprestado e uma indicação se houve ou não devolução.

9) Deve ser possível:

9.1) Listar todos os empréstimos ativos realizados, onde são exibidos o nome, telefone, cpf de quem efetuou o empréstimo, os dados
do material informacional emprestado e a data do empréstimo

9.2) Listar as devoluções (semelhante ao item 9.1)

9.3) Realizar Empréstimo

9.3.1) Informar CPF da pessoa que deseja fazer o empréstimo
9.3.2) Se a pessoa já existir, usa a referência da pessoa existente
9.3.3) Se a pessoa não existir, cadastra pessoa
9.3.4) Solicitar Tipo de Material informacional
9.3.5) Listar materiais do tipo informado
9.3.6) Informa o cód. de barras do material escolhido para empréstimo
9.3.7) Cria registro do empréstimo, associando a pessoa e o material informacional escolhido
9.3.8) Reduz a quantidade disponível para empréstimo do material informacional
9.4) Registrar Devoluções

9.4.1) Informa CPF da Pessoa e código de barras do material informacional
9.4.2) Marca empréstimo como devolvido
9.4.3) Incrementa quantidade disponível para empréstimo

9.5) Cancelar empréstimo

9.5.1) Informa CPF da Pessoa e código de barras do material informacional
9.5.2) Remove registro de empréstimo
9.5.3) Incrementa quantidade disponível para empréstimo

-----------------------------------------------------------------------------------------------

--> Considere o modelo abaixo do sistema acima usando os conceitos de orientação a objeto: classes (concreta e abstrata) e herança. Implemente-o.
--> Identifique os casos de uso e implemente códigos de testes
--> Os cadastros de pessoas, materiais informacionais e empréstimos devem ser simulados com a base de dados sendo Listas (ArrayList), ou seja, para cada classe existirá uma lista que representará o repositório de dados.

2 Respostas

Anime

Oi ThiagoAlves.Bsi,

Da uma olhadinha no link tem uma apostila para baixar que vai te ajudar, o banco usado no exemplo é access mas pode substituir por outro sem problemas.

http://www.guj.com.br/java/231956-java-controle-de-estoque

ViniGodoy

Por favor, não peça urgências no fórum.

Criado 10 de novembro de 2012
Ultima resposta 11 de nov. de 2012
Respostas 2
Participantes 3