Especificações ‐ Solicitar aula particular - agleizer/ProjSoft_PRJ GitHub Wiki

Caso de uso: Solicitar aula particular

Item Descrição
Identificador UC004
Nome Solicitar aula particular
Atores Aluno(primário) e Instituição Financeira(secundário)
Sumário O usuário aluno do sistema busca e marca uma aula particular online com algum professor de algum assunto a sua escolha.
Complexidade Média
Regras de Negócio RN5, RN6, RN7
Pré-condições Aluno deve estar afiliado ao sistema e deve haver professores com disponibilidade publicada.
Pós-condição O professor é notificado do pedido pelo sistema e por Email, podendo ele aceitar ou não. Aula é adicionada na agenda do professor, no dia escolhido com o status "pendente", bloqueando a reserva de mais aulas no mesmo dia. Informações de agendamento, aula e pagamento são adicionadas à coleção de pagamentos.

Fluxo Principal

Ações do Ator Ações do Sistema Imagens
1. O aluno entra na tela de login e insere suas credenciais. 2. O sistema procura os credenciais na coleção de Clientes e os valida. Imagem da tela de login
3. O aluno seleciona a opção "Marcar aula com professor". 4. O sistema apresenta um formulário com especificações para preenchimento. Imagem do formulário de especificações
5. O aluno preenche o formulário e clica "Buscar". 6. Por meio das especificações dadas no formulário, o sistema procurana coleção de Clientes os professores cujas informações estão mais de acordo com as necessidades do aluno. Imagem do formulário de especificações
7. Durante a procura por professores é calculado um "Índice de Compatibilidade", o qual é uma porcentagem referente ao quanto as informações do professor batem com do aluno
8. O sistema retorna uma lista de professores em forma de cards. Os professores com maior Índice de Compatibilidade ficarão mais próximos ao topo da lista. Imagem da lista de professores
9. O aluno clica no card do professor escolhido. 10. O sistema exibe mais detalhes sobre o professor e um botão "Escolher professor". Imagem dos detalhes do professor
11. O aluno clica em "Escolher professor" para prosseguir. 12. O sistema apresenta um catálogo de preços. O preço por hora é especificado pelo próprio professor e apresentado ao aluno. Imagem catálogo preços
13. O aluno escolhe o tempo de aula que deseja. Com base no preço e no tempo apresentados. 14. O sistema realiza os cálculos para determinar o preço conforme a quantidade de horas/dias.
16. O sistema analisa a agenda do professor e verifica quais datas e horários estão disponíveis.
17. O sistema apresenta um formulário para escolha de data e horário. Mostra apenas as datas e horários que o professor marcou como disponíveis. Imagem do formulário de datas disponíveis
18. O aluno escolhe as datas em que deseja realizar a aula. Uma vez seleccionados, clica no botão "OK". 19. O sistema envia a solicitação por e-mail para o professor e notifica o aluno também por email. Imagem do envio da solicitação por email
20. É criado um agendamento de aula, inicializado como "não confirmado"
21. Professor verifica se está de acordo com a solicitação de aula. Clica "confirmar" para aceitar a solicitação. 22. Aluno recebe email e notificação de que o professor aceitou a solicitação de aula. Imagem da notificação de confirmação
23. Informações referentes à aula, agendamento e pagamento são todas armazenadas nas coleções de pagamentos, aulas e agendamentos. Status do agendamento muda para "confirmado". Além disso, tanto o Check-in quanto o Check-out da aula são inicializados como False, pois a aula ainda não ocorreu
24. O pagamento é processado e o status do pagamento é atualizado.
25. Instituição financeira registra o pagamento da aula. 26. Informações referentes à aula, agendamento e pagamento são todas armazenadas nas coleções de pagamentos, aulas e agendamentos. Status do agendamento muda para "confirmado". Além disso, tanto o Check-in quanto o Check-out da aula são inicializados como False, pois a aula ainda não ocorreu

Fluxos Alternativos

Fluxo Alternativo – Passo 9 – Aluno decide mudar as especificações de pesquisa

Ações do Ator Ações do Sistema Imagens
9. Possivelmente na intenção de procurar outro tipo de professor, aluno precisa mudar as especificações e clica no botão “mudar filtro” 10. Sistema mostra novamente as opções de busca/filtro para o aluno preencher com o que deseja. Imagem do formulário de especificações
11. Aluno preenche novamente as opções desejadas e clica "Buscar". 12. Sistema apresenta nova lista de professores com as novas especificações. Recalcula o Índice de compatibilidade. Imagem da lista de professores

Fluxo Alternativo – Passo 18 – Aluno decide mudar especificações de horário e aula.

Ações do Ator Ações do Sistema Imagens
18. Aluno volta para mudar data e/ou horário. 19. Sistema apresenta calendário para seleção de data e horário. Imagem do formulário de datas disponíveis
20. Aluno escolhe outra data e horário. 21. Sistema verifica se nova data e horário estão disponíveis na agenda do professor. Imagem do formulário de datas disponíveis

Fluxos de Excecção

Fluxo de Exceção – Passo 1 – Aluno não está registrado no sistema

Ações do Ator Ações do Sistema Imagens
1. Credenciais do aluno não são aceitas pelo sistema pois ainda não está registrado. 2. Sistema verifica que não existem dados do aluno na coleção de Clientes então mostra uma tela perguntando se deseja se afiliar ao sistema. Imagem de aluno não afiliado
3. Aluno clica em aceitar e realiza o processo de afiliação. 4. Sistema insere os novos dados no armazenamento do sistema.

Fluxo de Exceção – Passo 1 – Aluno digita as credenciais incorretamente

Ações do Ator Ações do Sistema Imagens
1.Credenciais do aluno não são aceitas pelo sistema. 2. Sistema sugere digitar as credenciais novamente ou que o aluno se registre no sistema. Imagem problema credenciais
3. Aluno opta por digitar suas credenciais novamente. 4. Sistema verifica as credenciais mais uma vez para ver se estão na coleção de Clientes. Imagem da tela de login

Fluxo de Exceção – Passo 3 – Sem conexão com servidor

Ações do Ator Ações do Sistema Imagens
3. Aluno termina de fazer o login e tenta entrar na página inicial do sistema. 4. Devido a razões técnicas, o servidor encontra-se fora do ar. Mostra tela para aluno falando “Desculpe, tivemos um problema com o servidor. Favor, voltar mais tarde." imagem de problema de conexão

Fluxo de Exceção – Passo 7 – Não foram encontrados professores que se encaixem em especificações o suficiente

Ações do Ator Ações do Sistema Imagens
7. Caso nenhum professor tenha índice de compatibilidade superior a 50%, aluno é notificado na própria tela de busca. Pergunta se aluno deseja ver os que mais chegam próximo das especificações. Imagem de problema de busca
8. Aluno clica em "ver mesmo assim" caso queira ver as opções mais próximas. 10. Sistema apresenta os cards dos professores, ainda na ordem dos que tem a maior compatibilidade. Imagem da lista de professores

Fluxo de Exceção – Passo 16 – Professor sem horários disponíveis

Ações do Ator Ações do Sistema Imagens
16. Quando o sistema analisar a agenda do professor, caso não sejam encontrados horários disponíveis para aula, avisa o aluno da falta de horários para o professor. Imagem de falta de horários
17. Aluno pode escolher outro professor. 18. Sistema verifica se a data e horários estão disponíveis para esse outro professor. Imagem da lista de professores

Regras de Negócio

Número Regra de Negócio
RN5 Aluno só pode marcar aulas em datas com no mínimo um dia de antecedência.
RN6 Alunos com contas suspensas ou bloqueadas não podem marcar aulas enquanto se encontrarem neste estado.
RN7 Alunos só podem marcar aulas em datas e horários que os professores publicaram como disponíveis.

Telas dos Fluxos de Execução

fluxo_cancelamento

Link para as telas individuais