Skip to content

Commit

Permalink
Alterações diagrama
Browse files Browse the repository at this point in the history
  • Loading branch information
Vitor-rs committed Sep 5, 2024
1 parent 2ff3bea commit cbe3ab9
Show file tree
Hide file tree
Showing 3 changed files with 213 additions and 97 deletions.
37 changes: 32 additions & 5 deletions docs/_backend_docs/backend_docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ interações entre os usuários e o sistema, identificando as funcionalidades e
![diagrama](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/Vitor-rs/AgePlan_backend_project/master/docs/_backend_docs/diagramas/use_case.iuml)


### 3.1.1 Diagrama de casos de uso ilustrando as interações entre os usuários e o sistema:
### 3.1.1 Ilustrando as interações entre os usuários e o sistema:

O diagrama de casos de uso ilustra as interações entre os usuários e o sistema, identificando as funcionalidades e os
fluxos de trabalho do sistema. Os atores do sistema incluem professores, alunos e administradores, que interagem com o
Expand All @@ -212,10 +212,6 @@ a ser considerado é a relação entre Professor e Administrador, pois o própri
sistema, ou seja, ele pode ter acesso a todas as funcionalidades do sistema, inclusive as de administrador. Logo há a
necessidade de extender o caso de uso de Professor para Administrador.



Este diagrama de casos de uso representa as funcionalidades do **Sistema de Controle e Gerenciamento de Cursos Livres**. Ele aborda três tipos de usuários: **Administrador**, **Professor** e **Aluno**, destacando as interações de cada ator com as funcionalidades do sistema.

#### Atores:
- **Administrador**: Usuário com privilégios avançados que pode gerenciar o sistema, cadastrar outros professores, além de realizar todas as funções disponíveis para um professor.
- **Professor**: Usuário responsável pela criação, gestão de cursos, acompanhamento de alunos e outras atividades relacionadas ao ensino.
Expand Down Expand Up @@ -257,3 +253,34 @@ Esta tabela apresenta os casos de uso identificados no diagrama, descrevendo as
- **Aluno**:
- Pode realizar login (UC2) e acompanhar o progresso nos cursos (UC6).

### 3.1.2 Diagrama de Classes

O diagrama de classes do sistema de controle e gerenciamento de cursos livres para freelancers representa a estrutura e
os relacionamentos entre as classes do sistema, identificando as entidades e os atributos do sistema. O diagrama de
classes inclui as seguintes classes:

- **Professor**: Representa um professor que pode criar e gerenciar cursos.
- **Aluno**: Representa um aluno que pode se matricular em cursos e acompanhar seu progresso.
- **Curso**: Representa um curso criado por um professor, com detalhes como título, descrição e carga horária.
- **Matrícula**: Representa a matrícula de um aluno em um curso, com informações como data de matrícula e status.
- **Pagamento**: Representa um pagamento realizado por um aluno para se matricular em um curso, com informações como valor e data de pagamento.
- **Relatório**: Representa um relatório gerado por um professor, com informações sobre o desempenho dos alunos e o andamento dos cursos.
- **Configuração**: Representa as configurações do sistema, como permissões de acesso e configurações de segurança.
- **Usuário**: Representa um usuário do sistema, com informações como nome, e-mail e senha.
- **Privilégio**: Representa os privilégios de acesso de um usuário no sistema, como leitura, escrita e administração.
- **Administrador**: Representa um administrador do sistema, com privilégios avançados para gerenciar o sistema.
- **Role**: Representa o papel de um usuário no sistema, como professor, aluno ou administrador.
- **Endereço**: Representa o endereço de um usuário, com informações como rua, número, bairro e cidade.
- **Pessoa**: Classe abstrata da qual as classes Professor, Aluno e Administrador herdam.
- **Contrato**: Representa um contrato entre um professor e um aluno para a realização de um curso.
- **Avaliação**: Representa a avaliação de um aluno em um curso, com informações como nota e comentários.
- **Aula**: Representa uma aula de um curso, com informações como data, horário e conteúdo.
- **Presença**: Representa a presença de um aluno em uma aula, com informações como data e horário de entrada e saída.
- **Método de Pagamento**: Representa um método de pagamento disponível para os alunos, como cartão de crédito, boleto ou transferência bancária.
- **Desempenho**: Representa o desempenho de um aluno em um curso, com informações como notas, frequência e participação.
- **Planejameto**: Representa o planejamento de um curso, com informações como ementa, objetivos e metodologia.
- **Método-Avaliação**: Representa os métodos de avaliação de um curso, como provas, trabalhos e participação.

O diagrama de classes ilustra as classes e os relacionamentos do sistema, identificando as entidades e os atributos do mesmo.

![cd_geral](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/Vitor-rs/AgePlan_backend_project/master/docs/_backend_docs/diagramas/cd_geral.iuml)
181 changes: 181 additions & 0 deletions docs/_backend_docs/diagramas/cd_geral.iuml
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
@startuml

class Professor {
-id: int
-nome: string
-email: string
-senha: string
-telefone: string
-endereco: Endereco
-contratos: List<Contrato>
+criarCurso(): void
+editarCurso(): void
+removerCurso(): void
+gerarRelatorio(): void
+gerenciarPagamento(): void
+analisarDesempenho(): void
}

class Aluno {
-id: int
-nome: string
-email: string
-senha: string
-telefone: string
-endereco: Endereco
-contratos: List<Contrato>
+matricular(): void
+acompanharProgresso(): void
}

class Curso {
-id: int
-titulo: string
-descricao: string
-cargaHoraria: int
-aulas: List<Aula>
-metodoAvaliacao: MetodoAvaliacao
-planejamento: Planejamento
-contratos: List<Contrato>
}

class Matricula {
-id: int
-dataMatricula: Date
-status: string
}

class Pagamento {
-id: int
-valor: double
-dataPagamento: Date
}

class Relatorio {
-id: int
-dataGeracao: Date
-conteudo: string
}

class Configuracao {
-id: int
-permissao: string
}

class Usuario {
-id: int
-nome: string
-email: string
-senha: string
}

class Privilegio {
-id: int
-tipo: string
}

class Administrador {
-id: int
-nome: string
-email: string
-senha: string
-telefone: string
-endereco: Endereco
-contratos: List<Contrato>
+gerenciarSistema(): void
}

class Role {
-id: int
-nome: string
}

class Endereco {
-id: int
-rua: string
-numero: int
-bairro: string
-cidade: string
}

class Pessoa {
-id: int
-nome: string
-email: string
-senha: string
-telefone: string
-endereco: Endereco
}

class Contrato {
-id: int
-dataInicio: Date
-dataFim: Date
-status: string
}

class Avaliacao {
-id: int
-nota: double
-comentario: string
}

class Aula {
-id: int
-data: Date
-horario: Time
-conteudo: string
}

class Presenca {
-id: int
-data: Date
-horarioEntrada: Time
-horarioSaida: Time
}

class MetodoPagamento {
-id: int
-nome: string
}

class Desempenho {
-id: int
-nota: double
-frequencia: double
-participacao: double
}

class Planejamento {
-id: int
-ementa: string
-objetivos: string
-metodologia: string
}

class MetodoAvaliacao {
-id: int
-nome: string
}

Professor "1" -- "n" Curso
Aluno "1" -- "n" Matricula
Aluno "1" -- "n" Pagamento
Professor "1" -- "n" Relatorio
Administrador "1" -- "n" Configuracao
Usuario "1" -- "n" Privilegio
Administrador "1" -- "n" Role
Pessoa "1" -- "n" Endereco
Professor "1" -- "n" Contrato
Aluno "1" -- "n" Contrato
Avaliacao "1" -- "n" Contrato

Contrato "1" -- "n" Curso
Contrato "1" -- "n" Avaliacao
Contrato "1" -- "n" Presenca
Contrato "1" -- "n" Desempenho
Contrato "1" -- "n" MetodoPagamento
Contrato "1" -- "n" Planejamento
Contrato "1" -- "n" MetodoAvaliacao

@enduml
92 changes: 0 additions & 92 deletions docs/_backend_docs/diagramas/cd_pessoa-schema.iuml

This file was deleted.

0 comments on commit cbe3ab9

Please sign in to comment.