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):
 
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:
- CU-001: Crear Cuenta 
- CU-002: Iniciar Sesión 
- CU-006: Gestionar Usuarios 
Fase 2 - Transacciones Core:
- CU-003: Enviar Dinero 
- CU-004: Ver Transacciones 
- 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:
- BillCash - Documentación del Sistema - Requisitos Funcionales Completos 
- BillCash - Documentación del Sistema - Requisitos No Funcionales 
- BillCash - Documentación del Sistema - Stack Tecnológico 
Última actualización: Octubre 2025
Versión del documento: 1.0.0