Diagrama de Classes de Domínio - agleizer/ProjSoft_PRJ GitHub Wiki
# TODO: atualizar dicionário com base na v4 do diagrama
Dicionário do Modelo
- Aluno: Representa um estudante, com informações sobre a quantidade de aulas assistidas.
- Professor: Representa um professor, com atributos que indicam sua aprovação e a quantidade de aulas ministradas.
- Aula: Representa uma aula ministrada, com dados como matéria, data da aula, check-in, check-out, duração, avaliação e link.
- Pagamento: Representa o pagamento de uma aula, com detalhes sobre valor, data de solicitação, data realizada e data limite.
- Agendamento: Representa o agendamento de uma aula, com dados de confirmação e data.
- Avaliacao: Representa uma avaliação feita, com nota e comentário.
- Cancelamento: Representa o cancelamento de uma aula, com detalhes sobre valor de reembolso e prazos.
- CatálogoAula: Representa um catálogo de aulas, contendo a lista de matérias, valores e a possibilidade de desconto.
- Notificação: Representa uma notificação enviada, com conteúdo, data de envio e data de recebimento.
- Agenda: Representa uma agenda, com datas disponíveis para aulas e lista de compromissos.
- Cliente: Representa um cliente que pode acessar o sistema, com informações como nome, email, data de nascimento, avaliação e status de bloqueio.
Associações entre as Classes
-
Aluno e Agendamento: Um aluno pode realizar zero ou mais agendamentos, e cada agendamento pertence a um único aluno.
- Multiplicidade:
Aluno 1 - 0..* Agendamento
- Multiplicidade:
-
Professor e Aula: Um professor pode ministrar uma ou mais aulas, e cada aula tem um único professor.
- Multiplicidade:
Professor 1 - 0..* Aula
- Multiplicidade:
-
Aula e Avaliacao: Uma aula pode receber zero ou mais avaliações, e cada avaliação refere-se a uma única aula.
- Multiplicidade:
Aula 1 - 0..* Avaliacao
- Multiplicidade:
-
Aluno e Avaliacao: Um aluno pode enviar zero ou mais avaliações, e cada avaliação pertence a um único aluno.
- Multiplicidade:
Aluno 1 - 0..* Avaliacao
- Multiplicidade:
-
Agendamento e Aula: Um agendamento marca uma única aula, e cada aula pode ter zero ou mais agendamentos.
- Multiplicidade:
Agendamento 1 - 1 Aula
- Multiplicidade:
-
Pagamento e Aula: Um pagamento refere-se a uma única aula, e cada aula pode ter zero ou mais pagamentos.
- Multiplicidade:
Pagamento 1 - 0..* Aula
- Multiplicidade:
-
Cancelamento e Aula: Um cancelamento refere-se a uma única aula, e cada aula pode ser cancelada uma única vez.
- Multiplicidade:
Cancelamento 0..1 - 1 Aula
- Multiplicidade:
-
Notificação e Cliente: Uma notificação pode ser enviada para um ou mais clientes, e um cliente pode receber várias notificações.
- Multiplicidade:
Notificação 0..* - 1 Cliente
- Multiplicidade:
-
Cliente e Aula: Um cliente pode participar de zero ou mais aulas, e cada aula pode ter um ou mais clientes.
- Multiplicidade:
Cliente 0..* - 0..* Aula
- Multiplicidade:
Atributos das Classes
-
Aluno
- Quantidade de Aulas Assistidas (Int)
-
Professor
- Aprovado (Boolean)
- Quantidade de Aulas Dadas (Int)
-
Aula
- Matéria (String)
- Data da Aula (Date)
- Check-in (Boolean)
- Check-out (Boolean)
- Duração (Time)
- Avaliação (Float)
- Link da Aula (String)
-
Pagamento
- Valor (Float)
- Data de Solicitação (Date)
- Data Realizada (Date)
- Data Limite (Date)
-
Agendamento
- Data de Agendamento (Date)
- Confirmado (Boolean)
-
Avaliacao
- Nota (Float)
- Comentário (String)
-
Cancelamento
- Valor de Reembolso (Float)
- Data de Solicitação (Date)
- Prazo Válido (Boolean)
- Data Realizada (Date)
-
CatálogoAula
- Lista de Matérias (String)
- Lista de Valores (Float)
- Desconto de Pacote (Boolean)
- Multiplicador de Desconto (Float)
-
Notificação
- Conteúdo (String)
- Data de Envio (Date)
- Data de Recebimento (Date)
-
Agenda
- Matriz de Datas Disponíveis (Date)
- Lista de Compromissos (String)
- Data Realizada (Date)
- Data Limite (Date)
-
Cliente
- Nome (String)
- Email (String)
- Data de Nascimento (Date)
- Avaliação (Float)
- Bloqueado (Boolean)
- Senha (String)