Sistema de Biblioteca

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

[code]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 :open_mouth:

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 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 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 lista) {
Pessoas p = buscarPessoas(cpf, lista);
if (p != null)
lista.remove§;

}

}[/code]
[/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.

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

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

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

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

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

  6. 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

  7. 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.

  8. 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.

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

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