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 |
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 ao banco de dados. |
Fluxo Principal
Ações do Ator | Ações do Sistema |
---|---|
1. O aluno entra na tela de login e insere suas credenciais. | 2. O sistema procura os credenciais no banco de dados e os valida. |
3. O aluno seleciona a opção "Marcar aula com professor". | 4. O sistema apresenta um formulário com especificações para preenchimento. |
5. O aluno preenche o formulário e clica "Buscar". | 6. Por meio das especificações dadas no formulário, o sistema procura no banco de dados os professores cujas informações estão mais de acordo com as necessidades do aluno. |
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. 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. | |
9. O aluno clica no card do professor escolhido. | 10. O sistema exibe mais detalhes sobre o professor e um botão "Escolher 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. Ao apresentar o catálogo o próprio sistema realiza os cálculos para determinar o preço conforme a quantidade de horas/dias. Quanto mais horas, o preço multiplica. |
13. O aluno escolhe o tempo de aula que deseja. Com base no preço e no tempo apresentados. | 14. O sistema apresenta um formulário para escolha de data e horário. |
15. O aluno escolhe as datas em que deseja realizar a aula. O número de dias a selecionar é determinado pela escolha que fez anteriormente. Uma vez seleccionados, clica no botão "OK". | 16. O sistema analisa a agenda do professor para verificar quais dias estão livres para o professor. Se não existe conflito com outras aulas já marcadas |
17. No caso de não haver conflito, o sistema envia a solicitação para o professor e notifica o aluno por email. | |
18. O aluno clica em "Confirmar" se concordar. | 19. O sistema envia a solicitação para o professor e notifica o aluno 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. |
23. Informações referentes à aula, agendamento e pagamento são todas armazenadas no banco de dados. 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 |
---|---|
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. |
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. |
Fluxo Alternativo – Passo 18 – Aluno decide mudar especificações de horário e aula.
Ações do Ator | Ações do Sistema |
---|---|
18. Aluno clica em “mudar data e/ou horário”. | 19. Sistema apresenta calendário para seleção de data e horário. |
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. |
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 |
---|---|
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 no banco de dados então mostra uma tela perguntando se deseja se afiliar ao sistema. |
3. Aluno clica em aceitar e realiza o processo de afiliação. | 4. Sistema insere os novos dados no banco de dados. |
Fluxo de Exceção – Passo 1 – Aluno digita as credenciais incorretamente
Ações do Ator | Ações do Sistema |
---|---|
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. |
3. Aluno opta por digitar suas credenciais novamente. | 4. Sistema verifica as credenciais mais uma vez para ver se estão no banco de dados. |
Fluxo de Exceção – Passo 3 – Sem conexão com servidor
Ações do Ator | Ações do Sistema |
---|---|
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. |
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 |
---|---|
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. | |
8. Aluno clica "aceita" 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. |
Fluxo de Exceção – Passo 15 – Aluno escolhe data e horário indisponíveis para o professor
Ações do Ator | Ações do Sistema |
---|---|
15. Aluno seleciona dia e horário, porém os horários não estão disponíveis de acordo com a agenda do professor. | 16. Sistema mostra uma tela avisando da indisponibilidade e sugere que aluno selecione outra data e horário. |
17. Aluno pode escolher outra data e horário. | 18. Sistema verifica se a data e horários estão disponíveis para o professor. |
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. |
RN8 | Professor precisa ter Índice de Compatibilidade calculado superior a 50% para ser recomendado ao aluno |