2025.1_AOO_AV

1. 🎯 Caso de Uso: Login

1.1. Identificação


1.2. VisĂŁo Geral

@startuml
left to right direction

actor "Usuário" as Usuario
actor "Administrador" as Adm
actor "Usuário Comum" as Comum

Adm --|> Usuario
Comum --|> Usuario

rectangle "Sistema de Autenticação" {
  usecase "Inserir credenciais" as UC1
  usecase "Validar credenciais" as UC2
  usecase "Exibir mensagem de erro" as UC3
  usecase "Bloquear conta temporariamente" as UC4
  usecase "Redirecionar para painel do administrador" as UC5
  usecase "Redirecionar para painel do usuário" as UC6
  usecase "Solicitar troca de senha (1Âş acesso)" as UC7
}

Usuario --> UC1
UC1 --> UC2

UC2 --> UC5 : [credenciais válidas \n e perfil administrador]
UC2 --> UC6 : [credenciais válidas \n e perfil comum]
UC2 --> UC7 : [primeiro acesso]

UC2 --> UC3 : [credenciais inválidas]
UC2 --> UC4 : [5 tentativas inválidas]
@enduml

1.3. Fluxo Principal de Eventos

  1. O usuário acessa a tela de login do sistema.
  2. O sistema solicita que o usuário informe os dados
    1. nome de usuário
    2. senha
  3. O usuário insere suas credenciais.
  4. O sistema valida as credenciais fornecidas.
  5. Se as credenciais forem válidas, o sistema identifica o perfil do usuário e redireciona para a interface correspondente:
    • Usuário comum: painel de usuário
    • Administrador: painel administrativo

1.4. Fluxos Alternativos

1.4.1. a. Credenciais Inválidas

  1. O sistema detecta que as credenciais são inválidas.
  2. O sistema exibe uma mensagem de erro: "Usuário ou senha incorretos."
  3. O fluxo retorna para a etapa 2 do fluxo principal.

1.4.2. b. Primeiro Acesso

  1. O sistema identifica que é o primeiro acesso do usuário.
  2. O sistema solicita a troca da senha temporária por uma nova.
  3. Após a troca, o usuário é redirecionado conforme seu perfil.

1.5. Fluxos de Exceção

1.5.1. a. Campos Vazios

1.5.2. b. Falha de ConexĂŁo com o Servidor

1.5.3. c. Conta Bloqueada


1.6. Pré-condições


1.7. Pós-condições


1.8. Regras de NegĂłcio


1.9. Perfis de Usuário

| Perfil | Descrição | Acesso ao sistema | | —————– | ——————————————————— | ——————— | | Administrador | Usuário com permissões avançadas de gerenciamento. | Painel administrativo | | Usuário comum | Usuário com acesso limitado às suas próprias informações. | Painel do usuário | | Inativo | Usuário desativado ou bloqueado pelo administrador. | Acesso negado |


2. Diagrama de Atividades

@startuml
start

:Exibir tela de login;
:Usuário informa usuário e senha;

if (Campos preenchidos?) then (Sim)
  :Validar credenciais;

  if (Credenciais válidas?) then (Sim)
    :Identificar perfil do usuário;

    if (Primeiro acesso?) then (Sim)
      :Solicitar troca de senha;
      :Usuário troca a senha;
    endif

    if (Perfil == Administrador) then (Sim)
      :Redirecionar para painel administrativo;
    else
      :Redirecionar para painel do usuário;
    endif

  else (NĂŁo)
    :Exibir mensagem "Usuário ou senha incorretos";
    :Incrementar contador de tentativas;

    if (Tentativas >= 5?) then (Sim)
      :Bloquear conta por 15 minutos;
    endif

    :Retornar para tela de login;
  endif

else (NĂŁo)
  :Exibir mensagem "Preencha todos os campos";
  :Retornar para tela de login;
endif

stop
@enduml