Buscar

Biblioteca_do_Saber_-_modelagem

Prévia do material em texto

Emprestimo
-dataEmprestimo: Date
-dataDevolucao: Date
-usuario: Usuario
-livro: Livro
+ Emprestimo(usuario: Usuario, livro: Livro)
+ getDataEmprestimo() const: Date
+ getDataDevolucao() const: Date
+ getUsuario() const: Usuario
+ getLivro() const: Livro
+ iniciarEmprestimo(): void
+ finalizarEmprestimo(): void
Livro
-titulo: String
-autor: String
-isbn: String
-disponivel: Boolean
+ Livro(titulo: String, autor: String, isbn: String)
+ getTitulo() const: String
+ getAutor() const: String
+ getIsbn() const: String
+ emprestar(): void
+ devolver(): void
Usuario
-nome: String
-email: String
+ Usuario(nome: String, email: String)
+ getNome() const : String
+ getEmail() const : String
é feito por
0..*
1
empresta
0..1
1
BibliotecaDoSaberSistema
- usuarios: set<Usuario>
- livros: vector<Livro>
- emprestimos: vector<Emprestimo> 
+ BibliotecaDoSaberSistema
+ cadastrarUsuario(nome: String, email: String) : int
+ cadastrarLivro(titulo: String, autor: String, isbn: String): int
+ emprestarLivroAUsuario(email: String, isbn: String): int
+ devolverLivro(isbn: String): int
1,0
1,0
0,6
0,4
#ifndef LIVRO_HPP
#define LIVRO_HPP
#include <string>
using namespace std;
class Livro {
private:
 string titulo;
 string autor;
 string isbn;
 bool disponivel;
public:
 // Construtor
 Livro(string titulo, string autor, string isbn) 
 : titulo(titulo), autor(autor), isbn(isbn), disponivel(true) {}
 // Getters
 string getTitulo() const { return titulo; }
 string getAutor() const { return autor; }
 string getIsbn() const { return isbn; }
 bool isDisponivel() const { return disponivel; }
 // Métodos para emprestar e devolver o livro
 void emprestar() {
 if (disponivel) {
 disponivel = false;
 } else {
 throw std::runtime_error("Livro não está disponível para empréstimo.");
 }
 }
 void devolver() {
 disponivel = true;
 }
};
#endif // LIVRO_HPP
0,5
0,5
0,5
0,5
1,0
	Biblioteca do Saber
	Página 1
	Página em branco

Continue navegando