Projeto integrado Arquitetura de dados
ATIVIDADES
Olá! Você é um programador recém-formado e um usuário assíduo da biblioteca do seu bairro. Sendo
assim, pensou em uma forma de digitalizar todo o sistema e ajudar a biblioteca a crescer e se
organizar melhor! Portanto, após muitas conversas com os responsáveis pela biblioteca e todo o
levantamento de requisitos necessários para iniciar o seu projeto, sua tarefa é: Desenvolver um
sistema de gerenciamento de biblioteca que permita a catalogação, empréstimo e devolução de
livros.
Este sistema deve atender aos seguintes requisitos:
• Cadastro de Livros: Permitir o cadastro de livros no sistema, incluindo informações como
título, autor, ano de publicação, e número de cópias disponíveis.
• Cadastro de Usuários: Possibilitar o cadastro de usuários da biblioteca, incluindo informações
como nome, número de identificação, e contato.
• Empréstimo de Livros: Permitir que um usuário solicite o empréstimo de um livro disponível
na biblioteca.
o Verificar a disponibilidade do livro antes de confirmar o empréstimo.
o Atualizar o número de cópias disponíveis após o empréstimo.
• Devolução de Livros: Permitir que um usuário devolva um livro previamente emprestado.
o Atualizar o número de cópias disponíveis após a devolução.
• Consulta de Livros:
o Implementar uma funcionalidade que permita a consulta de livros por título, autor ou
ano de publicação.
• Relatórios: Gerar relatórios que exibam a lista de livros disponíveis, livros emprestados,
usuários cadastrados, etc.
Instruções:
PROJETO INTEGRADO
• Implementar as funcionalidades utilizando os princípios de programação orientada a objetos
(POO) (quando aplicável).
• Utilize Python como linguagem de programação.
• Garantir tratamento de erros e exceções, como livros não encontrados, tentativas de
empréstimo de livros indisponíveis etc.
• Criar uma interface de usuário simples, como um menu de console, para interação com o
sistema.
• O código deve estar organizado e comentado.
• Utilize boas práticas de programação.
• Considere a modularização do código para facilitar a manutenção e futuras expansões do
sistema.
• Teste exaustivamente as funcionalidades do sistema para garantir seu correto
funcionamento.
Projeto integrado Arquitetura de dados