Casos de Uso - BillCash

Nota

Esta sección describe los casos de uso principales del sistema BillCash v1.0.0

Diagrama General de Casos de Uso

El siguiente diagrama muestra los casos de uso principales del sistema BillCash, organizados por actores (Usuario y Administrador):

Diagrama de Casos de Uso de BillCash

Nota

Visualizar el diagrama


Especificación Detallada de Casos de Uso

CU-001: Crear Cuenta

Actor Principal: Usuario

Descripción

El usuario podrá crear una cuenta con los datos que el sistema solicita.

Precondición

El usuario tiene que tener conexión a internet.

Secuencia Normal

Paso

Acción

1

El usuario ingresa a la app y le da click al botón de registrarse

2

El sistema carga el formulario de registro

3

El usuario completa los datos requeridos

4

El sistema valida los datos ingresados

5

El sistema crea la cuenta y notifica al usuario

Postcondición

El usuario tiene una cuenta en el sistema.

Excepciones

Paso

Acción

1

Si los datos no son válidos notifica al usuario

2

Si los datos de número de documento, teléfono o email ya existe, notifica al usuario


CU-002: Iniciar Sesión

Actor Principal: Usuario

Descripción

El usuario ingresa al sistema con sus credenciales.

Precondición

El usuario tiene que tener una cuenta registrada en el sistema.

Secuencia Normal

Paso

Acción

1

El usuario ingresa a la app y selecciona «Iniciar Sesión»

2

El sistema muestra el formulario de inicio de sesión

3

El usuario ingresa sus credenciales

4

El sistema valida las credenciales

5

El sistema permite ingresar al usuario al sistema

Postcondición

El usuario tiene acceso al sistema.

Excepciones

Paso

Acción

1

Si las credenciales son incorrectas el sistema muestra un mensaje de error

2

Si la cuenta está bloqueada se le notifica al usuario y se inicia proceso de recuperación


CU-003: Enviar Dinero

Actor Principal: Usuario

Descripción

El usuario envía dinero a otro usuario del sistema.

Precondición

Usuario con sesión iniciada y saldo suficiente.

Secuencia Normal

Paso

Acción

1

El usuario selecciona «Enviar dinero»

2

El sistema muestra el formulario de envío

3

El usuario ingresa el destinatario y el monto

4

El sistema valida los datos

5

El usuario confirma la operación

6

El sistema registra la transacción pendiente

7

El sistema evalúa la transacción

8

El sistema completa la transacción

Postcondición

El dinero es transferido al otro usuario.

Excepciones

Paso

Acción

4

Si el destinatario no existe el sistema muestra un mensaje de error

4

Si el saldo es insuficiente se le notifica al usuario


CU-004: Ver Transacciones

Actor Principal: Usuario

Descripción

El usuario consulta el historial de sus transacciones.

Precondición

El usuario tiene que haber iniciado sesión.

Secuencia Normal

Paso

Acción

1

El usuario selecciona «Ver transacciones»

2

El sistema hace consulta para cargar sus transacciones

3

El sistema muestra las transacciones del usuario

4

El usuario puede filtrar por fecha y tipo

Postcondición

El usuario visualiza su historial.

Excepciones

Paso

Acción

2

Si no hay transacciones el sistema muestra el mensaje: «No hay transacciones»


CU-005: Cancelar Transacción

Actor Principal: Usuario

Descripción

El usuario puede cancelar transacciones que todavía no se han finalizado.

Precondición

Transacción en estado de pendiente o en proceso.

Secuencia Normal

Paso

Acción

1

El usuario selecciona «Ver transacciones»

2

El usuario selecciona una transacción en estado no finalizado

3

El usuario selecciona «Cancelar»

4

El sistema solicita información de confirmación

5

El usuario confirma

6

El sistema cancela la transacción

Postcondición

La transacción queda cancelada.

Excepciones

Paso

Acción

2

Si la transacción no es cancelable, el sistema muestra un mensaje

5

Si ya fue aprobada, el sistema muestra error


CU-006: Gestionar Usuarios

Actor Principal: Administrador

Descripción

El administrador podrá gestionar a los usuarios.

Precondición

Sesión de administrador activa.

Secuencia Normal

Paso

Acción

1

Administrador selecciona «Gestionar Usuario»

2

El sistema muestra a los usuarios

3

Administrador puede filtrar o buscar a un usuario

4

Administrador selecciona «Editar, Ver detalles, etc.»

5

Sistema realiza la acción solicitada

Postcondición

Se hace el ajuste en el usuario seleccionado.

Excepciones

Paso

Acción

4

Si el usuario no existe, muestra mensaje de error


Relaciones entre Casos de Uso

Dependencias

Caso de Uso

Depende de

CU-002: Iniciar Sesión

CU-001: Crear Cuenta (debe existir cuenta)

CU-003: Enviar Dinero

CU-002: Iniciar Sesión (requiere autenticación)

CU-004: Ver Transacciones

CU-002: Iniciar Sesión (requiere autenticación)

CU-005: Cancelar Transacción

CU-004: Ver Transacciones (para seleccionar transacción)

CU-006: Gestionar Usuarios

CU-002: Iniciar Sesión (requiere rol de administrador)

Matriz de Trazabilidad

Relación entre Requisitos Funcionales y Casos de Uso:

Caso de Uso

Requisitos Funcionales

Prioridad

CU-001: Crear Cuenta

RF-001: Registro de Usuarios

Alta

CU-002: Iniciar Sesión

RF-002: Autenticación y Autorización

Alta

CU-003: Enviar Dinero

RF-008: Registro de Pagos, RF-009: Procesamiento de Pagos

Alta

CU-004: Ver Transacciones

RF-012: Historial del Cliente

Alta

CU-005: Cancelar Transacción

RF-006: Edición y Cancelación

Media

CU-006: Gestionar Usuarios

RF-001, RF-002, RF-003

Alta

Actores del Sistema

Actor

Descripción

Usuario

Usuario estándar con cuenta en el sistema. Puede crear cuenta, iniciar sesión, enviar dinero, ver transacciones y cancelar transacciones.

Administrador

Usuario con permisos administrativos. Tiene acceso a todos los casos de uso del Usuario más la gestión de usuarios del sistema.

Resumen de Casos de Uso por Actor

Usuario:

  • CU-001: Crear Cuenta

  • CU-002: Iniciar Sesión

  • CU-003: Enviar Dinero

  • CU-004: Ver Transacciones

  • CU-005: Cancelar Transacción

Administrador:

  • Todos los casos de uso del Usuario

  • CU-006: Gestionar Usuarios

Notas de Implementación

Secuencia Recomendada

Para el desarrollo del sistema, se recomienda implementar los casos de uso en el siguiente orden:

Fase 1 - Autenticación y Usuarios:

  1. CU-001: Crear Cuenta

  2. CU-002: Iniciar Sesión

  3. CU-006: Gestionar Usuarios

Fase 2 - Transacciones Core:

  1. CU-003: Enviar Dinero

  2. CU-004: Ver Transacciones

  3. CU-005: Cancelar Transacción

Consideraciones Técnicas

Autenticación:

  • Implementar JWT para manejo de sesiones

  • Timeout de sesión: 30 minutos de inactividad

  • Encriptación de contraseñas con bcrypt o Argon2

  • Autenticación de dos factores (2FA) opcional

Autorización:

  • Sistema basado en roles (RBAC): Usuario y Administrador

  • Permisos granulares por caso de uso

  • Validación de permisos en backend y frontend

Transacciones:

  • Sistema de estados: Pendiente → En Proceso → Completada/Cancelada

  • Validación de saldo antes de procesar transacción

  • Log de auditoría para cada transacción

  • Timeout de transacciones pendientes: 24 horas

Seguridad:

  • Validación de datos en cliente y servidor

  • Sanitización de inputs para prevenir SQL Injection

  • Rate limiting para prevenir ataques de fuerza bruta

  • HTTPS obligatorio para todas las comunicaciones

Base de Datos:

  • Tablas principales: usuarios, transacciones, auditoría

  • Índices en campos de búsqueda frecuente

  • Backup automático diario

  • Retención de logs: mínimo 1 año

Diagrama de Estados - Transacción

[Iniciada] --> [Pendiente] --> [En Proceso] --> [Completada]
                    |                |
                    |                |
                    +----------------+--> [Cancelada]

Estados:

  • Iniciada: Transacción creada por el usuario

  • Pendiente: Esperando validación del sistema

  • En Proceso: Validación en curso

  • Completada: Transacción exitosa

  • Cancelada: Transacción cancelada por usuario o sistema

Glosario de Términos

Usuario

Persona registrada en el sistema con capacidad de realizar transacciones.

Administrador

Usuario con permisos especiales para gestionar el sistema y otros usuarios.

Transacción

Operación de transferencia de dinero entre dos usuarios del sistema.

Sesión

Periodo de tiempo en el que un usuario permanece autenticado en el sistema.

Token JWT

JSON Web Token utilizado para mantener la sesión del usuario de forma segura.

Saldo

Cantidad de dinero disponible en la cuenta de un usuario.

Referencias

Para más información, consulte:


Última actualización: Octubre 2025

Versión del documento: 1.0.0