Índice

Análisis


Caso de uso Req-58
Actores Arquitectos y usuarios de Administración
Tipo MVP
Referencias
Precondición El usuario debe estar registrado en el sistema.
Postcondición Cambiar la contraseña de un usuario registrado
Descripción • Un arquitecto se olvida de su contraseña, por lo que al intentar acceder en la pagina de inicio no puede. Le da clic en las letras que dicen “¿Olvidaste tu contraseña?” lo cual lo redirige a un formulario donde le pedirá su correo para enviar una solicitud de cambio de contraseña.
• Un administrador se olvida de su contraseña, por lo que al intentar acceder en la pagina de inicio no puede. Le da clic en las letras que dicen “¿Olvidaste tu contraseña?” lo cual lo redirige a un formulario donde le pedirá su correo para enviar una solicitud de cambio de contraseña. En ese correo tendrá un link donde el cambio de contraseña
Resumen Una cuenta pide recuperar su contraseña en la opción de “¿Olvidaste tu contraseña? dentro de la pagina de inicio. Lo redirige a un formulario donde ingresa su correo el cual mandara una solicitud de cambio de contraseña en caso de que el correo proporcionado este registrado. Una vez de clic en la solicitud lo redirigirá a una pagina dentro del portal de Caeq. Dentro de esa pagina tendrá que ingresar su nueva contraseña y confirmarla. Si ambas coinciden se redirigirá a la pagina de inicio y la contraseña ya habrá sido cambiada. En caso de no coincidir se mantendrá en la pagina avisando que estas no son iguales.
@startuml
start
  :Usuario ingresa en ¿Olvidaste tu contraseña?;
  if (Cuenta regristrada) then (Sí)
      :Sistema envia correo de recuperación de contraseña;
      :Usuario ingresa al enlace del correo y es enviado al portal;
      repeat :Sistema pide nueva contraseña y confirma nueva contraseña;
      backward :Sistema muestra mensaje de error al usuario
      "Las contraseñas no coinciden";
      repeat while (¿Las contraseñas coinciden?) is (No) not (si)
      :Sistema cambia contraseña de la cuenta;
  else (No)
    :Sistema muestra mensaje de cuenta no registrada;
  endif
  stop
@enduml

Untitled

https://miro.com/app/board/uXjVMwY53vA=/

Untitled

Untitled

Untitled

Untitled

Diseño


@startuml
User -> Frontend: Introduce su correo
User -> Frontend: Da click en ¿Olvidaste contraseña?
Frontend -> Backend: POST/forgotpassword
User -> Frontend: Accede a enlace de restablecimiento
Frontend -> Backend: POST/resetpassword
User -> Frontend: Proporciona nueva contraseña
Frontend -> Backend: PATCH/resetpassword

alt successful case

    Backend -> Frontend: 200 success
    Frontend -> User: "Hemos enviado a tu correo las instrucciones para recuperar tu contraseña."

else Cuenta no Registrada

    Backend -> Frontend: 404 fail
    Frontend -> User: "No existe un usuario con ese correo."

else Nuevas Contraseñas no coinciden

    Backend -> Frontend: 400 fail
    Frontend -> User: "Las contraseñas deben coincidir."
else Token Caducado

    Backend -> Frontend: 404 fail
    Frontend -> User: "Token expirado o correo incorrecto"

else Cuenta no Registrada

    Backend -> Frontend: 200 success
    Frontend -> User: "La contraseña fue restablecida con éxito"
end
@enduml

Untitled