Enzo Lago Ribeiro - 089134
Erick Souza Borba - 095401
João Paulo Silva Sergio - 093103
Juan Felipe de Morais Zangerolami - 063576
Projeto integrador de modelagem de software
Plataforma de ensino online
Brasília
2025
Projeto integrador de modelagem de software, por Hyago Santana.
Introdução
Este trabalho tem como objetivo representar de forma visual e
estruturada o funcionamento de uma plataforma de ensino online. A
proposta consiste em criar um conjunto completo de diagramas de
modelagem que descrevem as principais funcionalidades do sistema, sua
estrutura de dados e as interações entre os diferentes tipos de usuários —
especialmente alunos e professores.
A plataforma em estudo contempla um ambiente virtual que permite
o cadastro de alunos, cursos e avaliações, além de recursos voltados à
interação entre alunos e professores, como também o acompanhamento de
trilhas de aprendizado personalizadas. A modelagem busca, portanto,
ilustrar como cada elemento do sistema se relaciona, desde o fluxo de
informações até a comunicação entre os componentes internos.
Os diagramas elaborados — de casos de uso, classes, colaboração,
sequência, atividades, entre outros — têm como finalidade unificar a visão
do projeto, servindo como base técnica para a equipe de desenvolvimento
compreender, planejar e implementar a solução de forma coesa. Essa
representação visual facilita a identificação de requisitos, o entendimento
das relações entre módulos e a validação dos processos de negócio.
Dessa forma, este documento reúne todos os diagramas de
modelagem do sistema, organizados de maneira integrada e coerente, a fim
de apresentar uma visão ampla, clara e fundamentada da estrutura e do
funcionamento da plataforma de ensino online proposta.
Diagrama de casos de uso
Código do [Link]
@startuml
left to right direction
actor Administrador
actor Professor actor
Estudante
usecase "Fazer Login" as Login
' --- Estudante --- usecase "Cadastrar-se na Plataforma" as
Cadastro usecase "Enviar Mensagens" as
MensagensEstudante usecase "Visualizar Cursos
Disponíveis" as VerCursos usecase "Enviar Dúvidas" as
Duvidas usecase "Inscrever-se em Curso" as Inscricao
usecase "Realizar Avaliação" as RealizarAval usecase "Ver
Feedback da Avaliação" as VerFeedback usecase "Acessar
Trilha de Aprendizado" as Trilha
' --- Professor --- usecase "Criar Trilha de Aprendizado" as
CriarTrilha usecase "Responder Dúvidas" as
ResponderDuvidas usecase "Criar/Editar Curso" as
EditarCurso usecase "Publicar Avaliação" as PublicarAval
usecase "Corrigir Avaliação" as CorrigirAval usecase
"Acompanhar Progresso" as Acompanhar
' --- Administrador --- usecase "Gerar Relatórios de Uso" as
Relatorios usecase "Aprovar Curso" as AprovarCurso usecase
"Gerenciar Usuários" as GerenciarUsuarios usecase "Gerenciar
Cursos" as GerenciarCursos usecase "Monitorar Desempenho da
Plataforma" as Monitorar usecase "Suspender Usuário" as
Suspender
' --- Relações Estudante ---
Estudante --> Cadastro
Estudante --> Login
Estudante --> MensagensEstudante
Estudante --> VerCursos
Estudante --> Duvidas
Estudante --> Inscricao
Estudante --> RealizarAval
Estudante --> Trilha
' --- Relações Professor ---
Professor --> Login
Professor --> MensagensEstudante
Professor --> CriarTrilha
Professor --> ResponderDuvidas
Professor --> EditarCurso
Professor --> PublicarAval
Professor --> CorrigirAval
Professor --> Acompanhar
' --- Relações Administrador ---
Administrador --> Login
Administrador --> Relatorios
Administrador --> AprovarCurso
Administrador --> GerenciarUsuarios
Administrador --> GerenciarCursos
Administrador --> Monitorar
Administrador --> Suspender
' --- Includes e Extends ---
Login <.. MensagensEstudante : <<include>>
Login <.. VerCursos : <<include>>
Login <.. Duvidas : <<include>>
Login <.. Inscricao : <<include>>
Login <.. RealizarAval : <<include>>
Login <.. Trilha : <<include>>
Login <.. CriarTrilha : <<include>>
Login <.. ResponderDuvidas : <<include>>
Login <.. EditarCurso : <<include>>
Login <.. PublicarAval : <<include>>
Login <.. CorrigirAval : <<include>>
Login <.. Acompanhar : <<include>>
Login <.. Relatorios : <<include>>
Login <.. AprovarCurso : <<include>>
Login <.. GerenciarUsuarios : <<include>>
Login <.. GerenciarCursos : <<include>>
Login <.. Monitorar : <<include>>
Login <.. Suspender : <<include>>
RealizarAval <.. VerFeedback : <<extend>> Duvidas <..
ResponderDuvidas : <<extend>>
Trilha <.. Acompanhar : <<include>>
@enduml
Tabelas de descrição dos casos de uso
Casos de uso comuns
Casos de uso Ator(es) Descrição Pré-condições Pós-condições Relações
Fazer login Todos Autenticação do Usuário deve Acesso ao Incluído na
usuário na estar sistema maioria dos
plataforma cadastrado concedido casos de uso
Enviar Todos Usuário Mensagem -
mensagens Envio de autenticado enviada e
mensagens para registrada
outros usuários
da plataforma
Casos de uso do estudante
Casos de uso Ator(es) Descrição Pré-condições Pós-condições Relações
Cadastrar-se na Estudante Criação de E-mail válido Conta criada -
plataforma nova conta de não cadastrado pendente de
estudante ativação
Visualizar Estudante Usuário Lista de cursos Inclui fazer
cursos Listagem de autenticado exibida login
disponíveis cursos
disponíveis
para inscrição
Enviar dúvidas Estudante Envio de Estudante Dúvida Inclui fazer
dúvidas sobre inscrito registrada no login
cursos ou em sistema
conteúdo algum curso
Inscrever-se em Estudante Inscrição em Estudante Matrícula Inclui fazer
curso curso autenticado, realizada login
disponível curso disponível
Realizar Estudante Realização de Estudante Avaliação Inclui fazer
avaliação avaliação do inscrito, submetida para login
curso avaliação correção
disponível
Ver feedback Estudante Visualização Avaliação Feedback Estende
de avaliação do resultado e corrigida pelo disponível para realizar
feedback da professor visualização avaliação
avaliação
Acessar a Estudante Acesso ao Estudante Trilha de Inclui fazer
trilha de conteúdo e inscrito no aprendizado login
progresso do
aprendizado curso curso exibida
Casos de uso do professor
Ator(es) Descrição Pré-condições Pós-condições Relações
Casos de uso
Criar trilha de Professor Criação e Professor Trilha de Inclui fazer
aprendizado organização do autenticado, aprendizado login
conteúdo do curso criado definida
curso
Responder Professor Respostas às Dúvidas Dúvida Estende enviar
dúvidas dúvidas dos pendentes respondida e dúvidas
estudantes disponíveis estudante
notificado
Criar/editar Professor Professor Curso Inclui fazer
curso Criação e autenticado criado/editado login
edição (aguardando
de aprovação)
cursos
Publicar Professor Publicação de Curso ativo, Avaliação Inclui fazer
avaliação avaliação para avaliação criada disponível para login
estudantes os estudantes
Corrigir Professor Correção de Avaliações Avaliações Inclui fazer
avaliação avaliações submetidas pelos corrigidas e login
realizadas estudantes feedback gerado
acessar trilha
Monitoramento de
do Estudantes Dados de aprendizado
Acompanhar progresso dos inscritos no progresso
progresso Professor estudantes curso disponíveis
Casos de uso do administrador
Ator(es) Descrição Pré-condições Pós-condições Relações
Casos de uso
Gerar relatório Administrador Geração de Administrador Relatórios Inclui fazer
de uso relatório de autenticado gerados e login
uso da disponíveis
plataforma
Aprovar curso Administrador Aprovação de Cursos Curso aprovado Inclui fazer
cursos criados pendentes de e publicado login
por professores aprovação
Gerenciar Administrador Gestão de Administrador Alterações nas Inclui fazer
usuários contas de autenticado contas login
usuários (criar, realizadas
editar e
excluir)
Administrador Alterações nos
Gerenciar Administrador cursos Inclui fazer
cursos plataforma autenticado realizados login
Monitorar Administrador Monitorament Administrador Dados de Inclui fazer
desempenho o do autenticado desempenho login
da plataforma desempenho atualizados
técnico da
plataforma
Suspender Administrador Usuário Usuário Inclui fazer
usuário Suspensão existente na suspenso e login
temporária ou plataforma acesso
permanente de revogado
usuários
Diagrama de classes
Documentação do Diagrama de Classes
Classe Atributo/Método Tipo de Dado Descrição
Usuário id int Identificador único
do usuário.
Usuário nome string Nome completo do
usuário.
Usuário email string Endereço de email
do usuário.
Usuário senha string Senha de acesso à
plataforma.
Usuário fazerLogin() método
Realizar o processo
de autenticação do
usuário.
Usuário enviarMensagem() método Permiter enviar
uma mensagem a
outro usuário.
Usuário receberMensagem() método
Receber mensagens
enviadas para outros
usuários.
Estudante matricula string
Código de matrícula
do estudante.
Estudante progresso float
Indicar o progresso
do estudante nos
cursos matriculados.
Estudante inscreverEmCurso() método Inscrever o
estudante em um
curso.
Estudante realizarAvaliacao() método Permiter que o
estudante realize
uma avaliação.
Estudante verFeedback() método Visualizar o
feedback
das
avaliações.
Professor especialidade string Área de
conhecimento do
professor.
Professor corrigirAvaliacao() método Corriger e atribuir
nota às avaliações
enviadas.
Administrador nivelAcesso int Definir o nível de
permissão do
administrador.
Administrador gerenciarUsuario() método Cadastrar, editar
ou remover
usuários.
Administrador gerenciarCursos() método Criar, editar ou
excluir cursos da
plataforma.
Administrador monitorarPlataform método Acompanhar o
a() funcionamento
geral do sistema.
Mensagem idMensagem int Identificador único
da mensagem.
Mensagem conteudo string
Texto da mensagem
enviada.
Mensagem dataEnvio date Data e hora em que
a mensagem foi
enviada.
Mensagem statusLida boolean Indicar se a
mensagem foi lida.
Mensagem remetente Usuário
Usuário que enviou
a mensagem.
Mensagem destinatario Usuário Usuário que
recebe a
mensagem.
Mensagem enviar() método
Enviar a mensagem
ao destinatário.
Mensagem responder() método
Permiter responder
a uma mensagem
recebida.
Curso idCurso int Identificador único
do curso.
Curso titulo string Nome do curso.
Curso descricao string
Resumo do
conteúdo do curso.
Curso cargaHoraria int Tempo total do
curso em horas.
Curso adicionarConteudo( método
) Adicionar novos
conteúdos ao curso.
Curso removerConteudo() método
Remover conteúdos
existentes do curso.
TrilhaAprendizado idTrilha int Identificador da
trilha de
aprendizado.
TrilhaAprendizado titulo string Nome da trilha de
aprendizado.
TrilhaAprendizado adicionarCurso() método Associar um curso à
trilha.
TrilhaAprendizado listarCurso() método Lista todos os
cursos contidos na
trilha.
Avaliação idAvaliacao int Identificador único
da avaliação.
Avaliação titulo string Nome ou tema da
avaliação.
Avaliação comentario string Observações
adicionais sobre a
avaliação.
Avaliação aplicarAvaliacao() método Disponibilizar a
avaliação para os
estudantes.
Avaliação gerarFeedback() método Gerar o feedback
após a correção.
Matrícula dataInscricao date Data em que o
estudante se
matriculou.
Matrícula status string
Situação atual da
matrícula (ativa,
trancada,
concluída).
Matrícula progresso float
Percentual de
progresso no curso.
Matrícula atualizarProgresso() método
Atualizar o
progresso do
estudante.
Matrícula trancar() método
Trancar a matrícula
do estudante.
Matrícula concluir() método Marcar o curso
como concluído.
Submissão idSubmissao int Identificador da
submissão de
avaliação.
Submissão nota float
Nota atribuída pelo
professor.
Submissão comentarioProfesso r string Comentário ou
feedback dado pelo
professor.
Submissão dataEntrega date
Data em que o
estudante entregou a
avaliação.
Submissão status string
Estado da submissão
(pendente,
corrigida, etc.).
Submissão enviarAvaliacao() método Enviar a avaliação
para correção.
Submissão receberFeedback() método
Receber o retorno do
professor.
Diagrama de sequência
O diagrama de sequência representa o funcionamento de uma plataforma de
ensino online, mostrando como estudantes e professores interagem com o sistema em
atividades como login, acesso a aulas, envio de conteúdos e realização de avaliações,
tendo como objetivo descrever de forma clara e dinâmica como cada parte do sistema se
comunica, desde a autenticação até o armazenamento e retorno de dados.
No fluxo, o estudante faz login, acessa o curso, assiste às aulas e realiza testes,
enquanto o professor autentica-se para enviar e gerenciar conteúdos.
O sistema de autenticação valida credenciais, o portal do curso centraliza o
acesso às informações, o repositório de aulas armazena vídeos e materiais, o sistema de
avaliações administra provas e notas, e o banco de dados guarda todas as informações.
Entre as decisões mais importantes estão a validação das credenciais, a
confirmação de uploads e o registro de resultados, garantindo que apenas usuários
autorizados acessem e interajam com o conteúdo.
O diagrama também mostra a troca contínua de mensagens entre os módulos,
reforçando a integração e o bom funcionamento do ambiente virtual de aprendizagem.
Diagrama e atividade
O diagrama mostra o funcionamento geral da plataforma de ensino online,
apresentando as principais ações de cada tipo de usuário: estudante, professor e
administrador. O estudante acessa o sistema, escolhe e se inscreve em cursos,
acompanha suas aulas, realiza avaliações e visualiza o feedback de seu desempenho. Já
o professor é responsável por criar e gerenciar cursos, publicar avaliações, corrigir
atividades enviadas pelos alunos e responder dúvidas. O administrador, por sua vez,
cuida da parte de gestão do sistema — controlando usuários, avaliando cursos e
acompanhando relatórios de uso e desempenho. As decisões ao longo do processo, como
validação de login, inscrição em cursos ou detecção de irregularidades, definem os
diferentes caminhos de cada ator. Assim, o diagrama resume o fluxo das ações dentro da
plataforma, destacando como cada perfil contribui para o funcionamento integrado do
ambiente de ensino.
Código do [Link]
@startuml
title Diagrama de Atividades
- Plataforma de Ensino Online
(Fluxo Geral)
start
' --- tres ramos em paralelo
--- fork
' ===== Ramo 1: Estudante =====
:Realizar login (estudante); if
(Login valido?) then (Sim)
:Acessar pagina
inicial; :Visualizar cursos
disponiveis;
if (Deseja inscrever-se em
curso?) then (Sim)
:Selecionar curso;
:Confirmar inscricao;
:Acessar trilha de aprendizagem;
:Assistir aula;
if (Deseja realizar
avaliacao?) then
(Sim) :Realizar avaliacao;
if (Avaliacao concluida?) then
(Sim)
:Ver nota e feedback;
else (Nao)
:Revisar conteudo;
:Tentar novamente
depois;
endif
else
(Nao) :Co
ntinuar
estudando sem
avaliacao;
endif
else (Nao) :Explorar
outros cursos;
endif
:Encerrar sessao
(opcional) - estudante; else
(Nao) :Exibir erro de
autenticacao (estudante);
endif
fork again
' ===== Ramo 2: Professor =====
:Realizar login (professor); if
(Login valido?) then
(Sim) :Acessar painel do
professor;
:Visualizar cursos criados;
if (Deseja criar novo
curso?) then (Sim) :Criar
curso;
:Adicionar conteudo
(video/aula/
material); :Publicar
curso; else (Nao) :Editar
curso
existente; :Atualizar
conteudo;
endif
if (Deseja publicar
avaliacao?) then (Sim)
:Criar
avaliacao; :Publicar
avaliacao; else (Nao)
:Pular etapa de
avaliacao; endif
if (Ha submissao de aluno?)
then (Sim) :Corrigir
avaliacao; :Publicar
feedback; else
(Nao) :Acompanhar
progresso dos alunos; endif
if (Recebeu duvidas?) then
(Sim) :Responder
mensagens dos alunos; else
(Nao) :Continuar
monitorando curso; endif
:Encerrar sessao
(opcional) - professor;
else (Nao) :Exibir erro de
autenticacao (professor);
endif
fork again
' ===== Ramo 3:
Administrador =====
:Realizar login
(administrador); if (Login
valido?) then (Sim) :Acessar
painel
administrativo; :Visualizar
estatisticas da
plataforma;
if (Deseja gerenciar
usuarios?) then
(Sim) :Listar
usuarios; :Editar
informacoes de usuario; if
(Usuario em situacao
irregular?) then
(Sim) :Suspender usuario;
else (Nao) :Manter
usuario ativo; endif else
(Nao) :Pular
gerenciamento de usuarios;
endif
if (Deseja gerenciar cursos?)
then (Sim) :Visualizar lista
de cursos; :Aprovar ou
remover curso; else (Nao)
:Pular gerenciamento de
cursos; endif
if (Deseja monitorar
desempenho?) then (Sim)
:Analisar relatorios de
uso; :Gerar relatorios de
desempenho;
else
(Nao) :Finalizar
sessao administrativa;
endif
:Encerrar sessao (opcional)
- administrador; else
(Nao) :Exibir erro de
autenticacao
(administrador); endif
end fork
stop
@enduml
Diagrama de componentes
O diagrama de componentes mostra como é estruturada uma Plataforma de Ensino
Online. Nele, cada módulo tem um papel específico e trabalha em conjunto para oferecer
recursos de aprendizagem, comunicação e administração. A Interface Web (Cliente) é o
ponto de entrada para os usuários. É por meio dela que eles fazem login, ajustam suas
informações de conta, visualizam os cursos, acessam as trilhas de aprendizagem, realizam
avaliações e enviam mensagens. O componente de Autenticação é responsável por validar
as credenciais e controlar o acesso, garantindo a segurança da plataforma. Já o módulo de
Administração cuida do gerenciamento de cursos e usuários. O componente Cursos
concentra todos os conteúdos e informações disponíveis, permitindo que sejam consultados
e atualizados sempre que necessário. As Trilhas de Aprendizagem organizam o caminho de
estudo de forma lógica e progressiva, conectando cursos relacionados. O componente de
Avaliações possibilita a aplicação de testes e o registro dos resultados, enquanto o módulo
de Mensagens oferece um canal de comunicação interna entre os usuários. Todos esses
módulos se conectam ao Banco de Dados, que armazena de forma centralizada e segura
todas as informações do sistema. Assim, o diagrama deixa clara uma arquitetura modular,
organizada e escalável, com funções bem distribuídas e comunicação eficiente entre as
partes que compõem a plataforma.
Diagrama de colaboração
Mensagens Trocadas (Numeradas conforme o diagrama)
1 – Autenticação
Nº Origem → Destino Descrição
1 Interface Web → Autenticação Enviar credenciais do usuário para
autenticar.
1.1 Autenticação → Banco de Dados Consultar credenciais armazenadas.
1.2 Banco de Dados → Autenticação Retornar resultado da verificação.
1.3 Autenticação → Interface Web Enviar token de sessão ao usuário.
2 – Visualização de Cursos
Nº Origem → Destino Descrição
2 Interface Web → Cursos Solicitar lista de cursos disponíveis.
2.1 Cursos → Banco de Dados Consultar cursos cadastrados.
2.2 Banco de Dados → Cursos Retornar lista de cursos.
2.3 Cursos → Interface Web Enviar lista de cursos ao usuário.
3 – Inscrição em Curso
Nº Origem → Destino Descrição
3 Interface Web → Cursos Solicitar inscrição no curso
selecionado.
3.1 Cursos → Banco de Dados Criar registro de matrícula.
3.2 Banco de Dados → Cursos Retornar confirmação da matrícula.
3.3 Cursos → Interface Web Enviar confirmação de inscrição ao
usuário.
4 – Acesso à Avaliação
Nº Origem → Destino Descrição
4 Interface Web → Avaliações Solicitar início da avaliação.
4.1 Avaliações → Banco de Dados Consultar questões da avaliação.
4.2 Banco de Dados → Avaliações Retornar questões da avaliação.
4.3 Avaliações → Interface Web Enviar questões ao usuário.
5 – Envio de Respostas e Feedback
Nº Origem → Destino Descrição
5 Interface Web → Avaliações Enviar respostas da avaliação.
5.1 Avaliações → Banco de Dados Registrar submissão e solicitar
correção.
5.2 Banco de Dados → Avaliações Retornar nota e feedback.
5.3 Avaliações → Interface Web Exibir nota e feedback ao usuário.
6 – Mensagens
Nº Origem → Destino Descrição
6 Interface Web → Mensagens Solicitar mensagens ou enviar nova mensagem
6.1 Mensagens → Banco de Dados Registrar/enviar mensagem
6.2 Banco de Dados → Mensagens Retornar histórico / conversas
6.3 Mensagens → Interface Web Exibir mensagens atualizadas
7 – Trilhas de Aprendizagem
Nº Origem → Destino Descrição
7 Interface Web → Trilhas Solicitar trilhas e progresso
7.1 Trilhas → Banco de Dados Consultar trilhas disponíveis
7.2 Banco de Dados → Trilhas Retornar trilhas e progresso
7.3 Trilhas → Interface Web Exibir trilhas / módulos / progresso
Diagrama de tempo
Código do [Link]
@startuml
' Diagrama de Tempo – Plataforma de Ensino Online (Português)
' Linhas de tempo
robust "Interface Web" as UI
robust "Autenticacao" as AUTH
robust "Cursos" as CURSO
robust "Avaliacoes" as AVAL
robust "Banco de Dados" as DB
' Estados iniciais
@0
UI is Ocioso
AUTH is Ocioso
CURSO is Ocioso
AVAL is Ocioso
DB is Pronto
' 1) Login
@1
UI is EnviandoLogin
AUTH is Validando
DB is Consultando
@2
AUTH is TokenEmitido
UI is SessaoAtiva
DB is Pronto
' 2) Visualizar cursos
@3
UI is SolicitandoCursos
CURSO is BuscandoCursos
DB is Consultando
@4
CURSO is EnviandoCursos
UI is VisualizandoCursos
DB is Pronto
' 3) Inscricao
@5
UI is SolicitandoInscricao
CURSO is CriandoMatricula
DB is Gravando
@6
CURSO is MatriculaConfirmada
UI is Inscrito
DB is Pronto
' 4) Avaliacao
@7
UI is IniciandoAvaliacao
AVAL is CarregandoQuestoes
DB is Consultando
@8
AVAL is QuestoesProntas
UI is Respondendo
DB is Pronto
' 5) Submissao + Correção + Feedback
@9
UI is EnviandoRespostas
AVAL is RegistrandoEEnviandoParaCorrecao
DB is Gravando
@10
DB is RetornandoNotaEFeedback
AVAL is ExibindoFeedback
UI is VisualizandoFeedback
DB is Pronto
@enduml
O diagrama de tempo representa, em ordem cronológica, como cada parte
da plataforma reage às ações do estudante durante o uso do sistema. Ele mostra
os estados assumidos por cada componente e como eles se sincronizam para
viabilizar o fluxo completo do aluno.
O processo começa com todos os componentes ociosos. Quando o
estudante envia suas credenciais, a Interface Web passa a EnviandoLogin, o
módulo de Autenticação entra em Validando e o Banco de Dados consulta as
informações. Assim que as credenciais são confirmadas, a Interface assume o
estado de SessaoAtiva, liberando o progresso para as próximas etapas.
Ao solicitar a lista de cursos, a Interface muda para SolicitandoCursos,
enquanto o módulo de Cursos passa para BuscandoCursos, consultando o Banco
de Dados e devolvendo o conteúdo. Em seguida, a Interface mostra esses
resultados no estado VisualizandoCursos.
Quando o estudante decide se inscrever em um curso, ocorre uma nova
sequência coordenada: a Interface solicita a inscrição, o módulo de Cursos registra
a matrícula no Banco de Dados e, ao final, o estado Inscrito é atingido.
Na etapa de avaliação, o aluno inicia o processo e o módulo de Avaliações
carrega as questões diretamente do Banco de Dados. Quando elas estão prontas,
a Interface passa ao estado respondendo. Após o envio das respostas, o módulo
de Avaliações registra e solicita a correção ao Banco de Dados, que retorna nota e
feedback. A Interface então finaliza o fluxo exibindo o resultado ao estudante.
De forma resumida, o diagrama evidencia que cada ação do usuário
desencadeia mudanças ordenadas de estado nos componentes do sistema. Essas
transições estão alinhadas com os demais diagramas do projeto e demonstram
claramente como a plataforma mantém um fluxo contínuo, estruturado e coerente
do início ao fim.
Diagrama de estado
Código do [Link]
@startuml
title Diagramas de Estados - Estudante, Professor e Administrador
hide empty description
left to right direction
skinparam state {
BackgroundColor #222
BorderColor white
FontColor white
RoundCorner 15
' ===========================
' CICLO DO ESTUDANTE
' ===========================
state "CicloDoEstudante" as CicloEstudante {
[*] --> Desconectado
Desconectado --> Autenticado : EnviarCredenciais/TokenOK
Desconectado --> Desconectado : EnviarCredenciais/FalhaLogin
Autenticado --> ExplorandoCursos : SolicitarCursos/ExibirLista
ExplorandoCursos --> Inscrito : SolicitarInscricao/MatriculaOK
ExplorandoCursos --> Autenticado : EncerrarSessao/VoltarLogin
Inscrito --> EmAvaliacao : IniciarAvaliacao/QuestoesOK
Inscrito --> ExplorandoCursos : VoltarCursos/ListaCursos
state EmAvaliacao {
[*] --> Respondendo
Respondendo --> AguardandoCorrecao : EnviarRespostas/SubmissaoOK
AguardandoCorrecao --> Respondendo : ReabrirTentativa/Opcional
AguardandoCorrecao --> [*] : NotaGerada/Finalizar
EmAvaliacao --> Submetido : NotaGerada/FinalizarCorrecao
Submetido --> FeedbackVisualizado : ReceberFeedback/ExibirFeedback
FeedbackVisualizado --> Autenticado : ContinuarEstudos/MenuPrincipal
Autenticado --> [*] : Logout/Sair
' ===========================
' CICLO DO PROFESSOR
' ===========================
state "CicloDoProfessor" as CicloProfessor {
[*] --> ProfDesconectado
ProfDesconectado --> ProfAutenticado : EnviarCredenciais/TokenOK
ProfDesconectado --> ProfDesconectado : EnviarCredenciais/FalhaLogin
ProfAutenticado --> ProfPreparandoConteudo : AcessarPainel/SelecionarCurso
ProfPreparandoConteudo --> ProfPublicandoMaterial : CriarOuEditarConteudo/SalvarMaterial
ProfPublicandoMaterial --> ProfAutenticado : MaterialPublicado/VoltarDashboard
ProfAutenticado --> ProfGerenciandoAvaliacoes : AcessarAvaliacoes/AbrirLista
ProfGerenciandoAvaliacoes --> ProfCorrigindoAvaliacoes : ReceberSubmissoes/AbrirCorrecao
ProfCorrigindoAvaliacoes --> ProfGerenciandoAvaliacoes : FinalizarCorrecao/AtualizarNotas
ProfAutenticado --> ProfRespondendoMensagens : AcessarMensagens/AbrirConversas
ProfRespondendoMensagens --> ProfAutenticado : FinalizarMensagens/VoltarDashboard
ProfAutenticado --> [*] : Logout/Sair
' ===========================
' CICLO DO ADMINISTRADOR
' ===========================
state "CicloDoAdministrador" as CicloAdministrador {
[*] --> AdmDesconectado
AdmDesconectado --> AdmAutenticado : EnviarCredenciais/TokenOK
AdmDesconectado --> AdmDesconectado : EnviarCredenciais/FalhaLogin
AdmAutenticado --> AdmGerenciandoUsuarios : AcessarUsuarios/AbrirLista
AdmGerenciandoUsuarios --> AdmAutenticado : SalvarAlteracoes/VoltarDashboard
AdmAutenticado --> AdmGerenciandoCursos : AcessarCursos/AbrirLista
AdmGerenciandoCursos --> AdmAutenticado : SalvarCursos/VoltarDashboard
AdmAutenticado --> AdmGerenciandoSistema : AcessarConfiguracoes/AbrirPainel
AdmGerenciandoSistema --> AdmAutenticado : SalvarConfiguracoes/VoltarDashboard
AdmAutenticado --> AdmGerandoRelatorios : AcessarRelatorios/FiltrarDados
AdmGerandoRelatorios --> AdmAutenticado : ExportarRelatorio/VoltarDashboard
AdmAutenticado --> [*] : Logout/Sair
}
@enduml
Os três diagramas de estado representam como cada ator da plataforma —
Estudante, Professor e Administrador — interage com o sistema ao longo do seu
ciclo de uso. Cada um possui responsabilidades diferentes, mas todos seguem
uma lógica similar: começam desconectados, realizam o login, executam suas
tarefas específicas e retornam ao estado autenticado até encerrarem a sessão.
No ciclo do Estudante, o diagrama mostra desde o acesso inicial até a
navegação pelos cursos, a inscrição e o processo completo de avaliação. Os
subestados de avaliação evidenciam claramente as etapas de responder, aguardar
correção e visualizar feedback, refletindo com fidelidade a jornada de
aprendizagem dentro da plataforma.
O ciclo do Professor destaca tarefas relacionadas à atuação pedagógica,
como preparar e publicar materiais, corrigir avaliações e responder mensagens.
Cada ação leva o professor a estados específicos, representando a rotina contínua
de acompanhamento dos alunos e gerenciamento de conteúdos.
Já o ciclo do Administrador apresenta as funções de gestão do sistema,
como administrar usuários, cursos, configurações e relatórios. As transições
mostram um fluxo organizado de acesso, edição e confirmação, reforçando o papel
de manutenção e controle da plataforma.
Em conjunto, os diagramas deixam claro como cada ator possui seu próprio
percurso, mas todos seguem uma estrutura de uso consistente e bem definida,
tornando o comportamento do sistema fácil de entender e justificar.