Unidad 1 · Anteproyecto
Requisitos no funcionales
Rendimiento, disponibilidad, seguridad, usabilidad y otras cualidades del sistema.
Rendimiento
- El sistema debe actualizar la posición del proveedor en el mapa en tiempo real, de forma que el cliente perciba el movimiento sin retrasos notorios.
- El sistema debe notificar al proveedor una nueva solicitud de servicio de forma casi inmediata, para no comprometer el límite de respuesta de 5 minutos.
Disponibilidad
- El sistema debe estar disponible en todo momento durante su operación, dado que las solicitudes de servicio pueden generarse en cualquier horario.
Seguridad
- El sistema debe proteger la información sensible de los usuarios (RFC, ubicación, documentos de verificación) mediante mecanismos básicos de cifrado y control de acceso.
- El sistema debe requerir autenticación (usuario y contraseña) para acceder a las cuentas de cliente y proveedor.
- El sistema debe restringir el acceso a los documentos de verificación de proveedores únicamente al rol de Administrador.
Usabilidad
- El sistema debe presentar una interfaz simple e intuitiva que permita completar el flujo de solicitud de servicio sin necesidad de instrucciones adicionales.
- El botón de emergencia debe ser fácilmente visible y accesible desde la pantalla principal del cliente.
- El sistema debe mantener una apariencia y navegación consistente entre la app de cliente y la de proveedor.
Compatibilidad
- El sistema debe funcionar correctamente en las versiones más recientes de Android.
- El sistema debe integrarse correctamente con los servicios de mapas y notificaciones utilizados (ej. Google Maps, Firebase), respetando sus límites de uso gratuito.
Eficiencia de recursos
- El sistema debe procurar un consumo razonable de batería y datos móviles durante el rastreo de ubicación del proveedor.
Confiabilidad
- El sistema debe informar al usuario cuando pierda conexión a internet, indicando qué funciones quedarán temporalmente no disponibles.
- El sistema debe evitar la pérdida o duplicación de información (solicitudes, pagos, calificaciones) ante fallas de conexión.
Escalabilidad
- El sistema debe estar diseñado de forma que permita, a futuro, agregar nuevas categorías de servicio o zonas geográficas sin rediseñar la arquitectura completa.