CRITERIOS Y RESTRICIONES DEL PROGRAMA - migueltovarb/ISWElectiva110202-7 GitHub Wiki

1. OBJETIVOS DE NEGOCIO

OBJETIVO DESCRIPCIÓN
OBJN001 El Objetivo Principal de nuestra plataforma de gestión de inventario de almacén es optimizar y automatizar los procesos de control de inventario en el almacén para reducir costos, minimizar errores operativos y brindar información precisa que facilite la toma de decisiones estratégicas.
OBJN002 Optimización de la Inversión Inicial y de Mantenimiento: Garantizar que los recursos asignados para el desarrollo y mantenimiento del sistema de inventario se utilicen de manera eficiente, equilibrando funcionalidad y costo, a fin de lograr un retorno de inversión favorable.
OBJN003 Reducción de Pérdidas y Errores Operativos: Disminuir los costos asociados a errores en la gestión del inventario (por ejemplo, productos obsoletos, devoluciones mal registradas o movimientos incorrectos) mediante controles y alertas en tiempo real que permitan acciones preventivas.
OBJN004 Eficiencia en el Uso de Recursos: Implementar procesos y automatizaciones que optimicen la asignación de recursos (reduciendo tareas manuales y la dependencia de intervenciones humanas), lo cual se traduce en menores costos operativos y mayor productividad.
OBJN005 Escalabilidad sin Incremento Excesivo de Costos: Diseñar una solución modular y escalable, de modo que la plataforma pueda crecer con las necesidades del negocio sin generar costos desproporcionados en infraestructura o mantenimiento, asegurando una evolución financiera sostenible.
OBJN006 Mejora en la Toma de Decisiones Financieras: Proporcionar reportes precisos y en tiempo real sobre el estado del inventario y las operaciones, facilitando la identificación de oportunidades para negociar mejores condiciones de compra, optimizar el reabastecimiento y reducir el costo total de propiedad del sistema.

2. RESTRICCIONES DE NEGOCIO

RESTRICCION NOMBRE
RESNEG001 Tiempo de Entrega: El sistema debe estar operativo en un plazo máximo definido por la dirección (por ejemplo, 6 meses), alineándose con el plan de lanzamiento establecido.
RESNEG002 Disponibilidad Mínima: Se requiere que la plataforma esté disponible al menos el 99.9% del tiempo para garantizar la continuidad de las operaciones de almacén.
RESNEG003 Escalabilidad de Usuarios: Debe soportar un incremento significativo en la cantidad de usuarios (por ejemplo, hasta un 50% más) sin comprometer el rendimiento o requerir rediseños mayores.
RESNEG004 Costos de Operación: El uso de infraestructura (servidores, bases de datos) debe optimizarse para no exceder el presupuesto asignado por la empresa.
RESNEG005 Cumplimiento Normativo: Se deben acatar las políticas internas de seguridad y, de ser aplicable, normativas como ISO 27001 o GDPR, asegurando la protección de datos y la trazabilidad de las operaciones.
RESTRICCION DESCRIPCION
RESTU001 Facilidad de Uso: La interfaz debe ser intuitiva y permitir que un usuario sin formación técnica realice tareas básicas (registro de productos, actualización de stock, etc.) en pocos pasos.
RESTU002 Acceso Multiplataforma: El sistema debe poder utilizarse en navegadores modernos (Chrome, Firefox, Edge) y dispositivos móviles, sin necesidad de instalar software adicional.
RESTU003 Roles y Permisos Claros: Cada usuario debe operar dentro de su rol (administrador, empleado, auditor), evitando acciones no autorizadas y manteniendo la coherencia con las historias de usuario relacionadas con gestión de permisos.
RESTU004 Retroalimentación Inmediata: Operaciones como registro de productos o notificaciones de stock bajo deben reflejarse de forma clara en la interfaz, reduciendo la curva de aprendizaje.
RESTRICCION NOMBRE
RESCAL001 Rendimiento en Operaciones Clave: Las búsquedas de productos y la generación de reportes deben completarse en menos de 3 segundos en condiciones normales, garantizando la eficiencia operativa descrita en las historias de usuario.
RESCAL002 Actualización en Tiempo Real: Cambios en el inventario (entradas, salidas, devoluciones) deben verse reflejados al instante para mantener la integridad de la información y cumplir con los requisitos de notificación de stock bajo.
RESCAL003 Seguridad de la Información: Se implementarán prácticas de cifrado de contraseñas, protección contra inyección SQL y manejo seguro de sesiones, en consonancia con las exigencias de confidencialidad y los roles definidos.
RESCAL004 Mantenibilidad: El diseño y la arquitectura deben permitir la incorporación de nuevas funcionalidades (por ejemplo, integración con otros sistemas de almacén) sin interrupciones prolongadas del servicio.
RESCAL005 Soporte de Crecimiento en Inventario: El sistema debe tolerar un aumento sustancial en el número de productos y movimientos (por ejemplo, 30% adicional) sin degradar la experiencia de uso ni el tiempo de respuesta.
                                                                     |

3 RESTRICCIONES TECNOLOGICÁS

RESTRICCION DESCRIPCION
RESTECH001 Servidores: El sistema debe ser compatible con servidores Linux (Ubuntu) y Windows Server.
RESTECH002 Base de Datos: Se utilizará una base de datos relacional (PostgreSQL) para garantizar la integridad y un rendimiento óptimo en la gestión de inventarios.
RESTECH003 Almacenamiento en la Nube: De ser requerido, la aplicación podrá migrar a un entorno en la nube (AWS, Azure o Google Cloud) para facilitar la escalabilidad y la alta disponibilidad.
RESTRICCION DESCRIPCION
RESTECH004 Backend: Se implementará en Python 3.13 usando el framework Django, aprovechando su robustez, escalabilidad y las prácticas de seguridad incorporadas.
RESTECH005 Frontend: Se utilizará React para construir una interfaz de usuario dinámica, responsiva y fácil de mantener.
RESTECH006 API REST: Se expondrá una API RESTful que permita la integración con otros sistemas (ERP, contabilidad, etc.) y facilite la comunicación con el frontend.
RESTRICCION DESCRIPCION
RESTECH007 Autenticación: Se implementará un sistema seguro de autenticación (por ejemplo, basado en tokens o sesiones cifradas) para salvaguardar el acceso.
RESTECH008 Cifrado de Datos Sensibles: Toda la información crítica (contraseñas, datos de usuarios) se cifrará tanto en tránsito (HTTPS) como en reposo (AES-256).
RESTECH009 Protección contra Inyección SQL: Django ORM y las mejores prácticas de validación se emplearán para prevenir inyección de código.
RESTECH010 Gestión de Sesiones Seguras: Se utilizarán mecanismos para invalidar sesiones de forma segura y protegerse de ataques de sesión.
RESTRICCION DESCRIPCION
RESTECH011 Transacciones: El ORM de Django manejará las transacciones para asegurar que múltiples usuarios puedan operar simultáneamente sin generar conflictos en la base de datos.
RESTECH012 Bloqueos y Consistencia: Cuando se realicen operaciones críticas (como actualización de stock), se garantizará la consistencia de los datos.
RESTRICCION DESCRIPCION
RESTECH013 Navegadores Modernos: La aplicación React será compatible con Chrome, Firefox y Edge en sus versiones más recientes.
RESTECH014 Tiempos de Respuesta: Las búsquedas de inventario deberán completarse en menos de 2 segundos para mantener la eficiencia operativa.
RESTECH015 Diseño Responsivo: La interfaz se adaptará a distintos tamaños de pantalla (desktop, tablet, móvil) sin sacrificar usabilidad.