Sistema De Biblioteca

Exercício 1: Sistema de Biblioteca

Desenvolva um sistema completo de gerenciamento de uma biblioteca. Este sistema deve permitir o cadastro de livros e pessoas (alunos e professores) e realizar o controle de empréstimos e devoluções de livros. Os livros devem ter informações detalhadas como título, autor, ISBN, ano de publicação e status (disponível ou emprestado). As pessoas cadastradas no sistema poderão ser alunos ou professores, cada um com seus atributos específicos, além de uma lista de livros emprestados. O sistema deve fornecer funcionalidades para adicionar novos livros ao acervo, emprestar livros para pessoas cadastradas e processar a devolução de livros. Além disso, a biblioteca deve ser capaz de listar todos os livros disponíveis para empréstimo.

Visualizar no Mermaid

  1. Livro:
    • Atributos:
      • titulo (String)
      • autor (String)
      • ISBN (String)
      • anoPublicacao (int)
      • status (boolean) – indicando se o livro está disponível ou emprestado
    • Métodos:
      • Construtor para inicializar todos os atributos.
      • Métodos getters e setters para todos os atributos.
      • Método exibirInformacoes() que exibe as informações do livro.
  2. Pessoa:
    • Atributos:
      • nome (String)
      • cpf (String)
      • livrosEmprestados (List<Livro>)
    • Métodos:
      • Construtor para inicializar todos os atributos.
      • Métodos getters e setters para todos os atributos.
      • Método adicionarLivro(Livro livro) que adiciona um livro à lista de livros emprestados.
      • Método removerLivro(Livro livro) que remove um livro da lista de livros emprestados.
  3. Aluno e Professor (herdam de Pessoa):
    • Aluno:
      • Atributos adicionais: matricula (String)
      • Métodos:
        • Construtor que inicializa todos os atributos (incluindo os herdados).
        • Métodos getters e setters para todos os atributos.
    • Professor:
      • Atributos adicionais: departamento (String)
      • Métodos:
        • Construtor que inicializa todos os atributos (incluindo os herdados).
        • Métodos getters e setters para todos os atributos.
  4. Biblioteca:
    • Atributos:
      • livros (List<Livro>)
      • pessoas (List<Pessoa>)
    • Métodos:
      • Método adicionarLivro(Livro livro) que adiciona um livro ao acervo da biblioteca.
      • Método emprestarLivro(Livro livro, Pessoa pessoa) que empresta um livro para uma pessoa, alterando o status do livro e adicionando-o à lista de livros emprestados da pessoa.
      • Método retornarLivro(Livro livro, Pessoa pessoa) que retorna um livro à biblioteca, alterando o status do livro e removendo-o da lista de livros emprestados da pessoa.
      • Método listarLivrosDisponiveis() que lista todos os livros disponíveis para empréstimo.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima