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. |