Restricciones

Lo que la arquitectura del sistema nuevo de CCP no puede negociar. CCP es una comercializadora de productos de consumo masivo con operación en cinco países, y el sistema apoya sus áreas de compras, ventas y logística.

Una restricción es una decisión que ya está tomada y que el diseño hereda. Se distingue de una hipótesis de solución en que nadie puede revocarla desde la arquitectura. Esta página separa las dos, porque el diagrama del proceso de ventas mezcla unas y otras.

La columna tipo separa las restricciones de negocio de las de tecnología. Las que dicen «—» no son del sistema sino del proyecto: acotan el trabajo del equipo, no el diseño.

Restricciones del negocio

Vienen del enunciado del reto y de la operación de CCP.

# Restricción Tipo De dónde sale
R-1 El sistema opera 7x24x365. Los tenderos de cinco países piden y consultan a cualquier hora, así que no hay ventana de mantenimiento Negocio Enunciado
R-2 CCP le suministra el dispositivo móvil a cada vendedor de la fuerza de ventas Negocio Enunciado
R-3 La operación cubre cinco países, con un promedio de seis bodegas grandes por país Negocio Enunciado
R-4 La consulta de inventario entrega una cifra exacta en tiempo real, no una estimación ni un dato del cierre anterior Negocio Enunciado
R-5 Al formalizar un pedido, las cantidades quedan reservadas y ningún otro vendedor puede ofrecerlas Negocio Enunciado
R-6 Un vendedor no puede ver las ventas de otro vendedor Negocio Enunciado
R-7 La información de cada tendero solo la conoce quien está autorizado Negocio Enunciado
R-8 El tendero puede pedir por cuenta propia, sin intermediación de un vendedor Negocio Enunciado
R-9 La suplantación de tenderos y vendedores por parte de terceros no puede permitirse Negocio Enunciado

R-2 es la que más pesa en el diseño. Es lo que le da al sistema algo contra qué comparar el equipo desde el que se abre una sesión. Si CCP no entregara el dispositivo, la identidad del vendedor volvería a ser solo su credencial. La contrapartida es que cada cambio legítimo de equipo necesita un camino para registrarse, porque sin él todo teléfono nuevo parece un intruso.

R-1 cierra la puerta a la revisión por lotes. Sin noche común a cinco países, ningún control puede esperar al cierre del día: todo tiene que correr mientras el sistema atiende.

Restricciones de tecnología

# Restricción Tipo De dónde sale
R-10 La cara visible del sistema es una aplicación móvil, tanto para el vendedor como para el tendero Tecnología Enunciado
R-11 El vendedor opera sobre el dispositivo que CCP le entregó; el tendero, sobre el suyo Tecnología Enunciado

R-11 parte el problema de identidad en dos. El vendedor tiene un equipo conocido contra el cual comparar; el tendero no. Esa asimetría no la resuelve el diseño: viene dada por cómo CCP reparte los equipos.

El enunciado no menciona lenguaje, motor de base de datos, nube ni proveedor. [PREGUNTA] ¿Existe algún sistema heredado, contrato con terceros o exigencia regulatoria por país que condicione el diseño?

Restricciones del proyecto

Acotan el trabajo del equipo, no el diseño del sistema. Se registran aquí porque el alcance de lo que hay que entregar depende de ellas.

# Restricción Tipo De dónde sale
R-12 No basta diseñar: hay que implementar las decisiones de arquitectura y medir que los requisitos de calidad se cumplen — Objetivo del enunciado
R-13 El alcance son cuatro situaciones de calidad, dos de seguridad y dos de disponibilidad, en el ambiente de operación normal — —
R-14 La arquitectura se entrega en Helix, la herramienta de modelado del curso — Curso ARTI4109

R-12 tiene una consecuencia que suele pasarse por alto: cada condición que el diseño se imponga necesita un experimento que la produzca. Una condición que no se puede correr no sirve, por bien redactada que esté.

Supuestos

No son restricciones: son decisiones que se pueden revisar. Se listan porque el diseño ya se apoya en ellas.

# Supuesto
S-1 El proceso espera a que las tres etapas que siguen al pedido confirmado —facturación, descargue de inventario y validación de despacho— terminen antes de continuar
S-2 El cierre de las tres etapas es lo que habilita a logística
S-3 El alcance cubre solo fallas de software. Las de infraestructura quedan fuera

Qué del diagrama de ventas no es una restricción

El diagrama del proceso de ventas muestra elementos que parecen dados y no lo son. Son hipótesis de solución, y el método de diseño que sigue el curso —ADD, attribute-driven design— las confirmará o las cambiará:

  • El latido de vigilancia sobre las tres etapas (heartbeat en el diagrama, con la pregunta ¿Is alive? sobre cada una)
  • Que las tres etapas corran en paralelo tras el pago y se unan antes de la distribución. El diagrama las dibuja así, pero que sean paralelas o consecutivas es una decisión de diseño, no un hecho del negocio
  • La cola con dos reintentos
  • La réplica de lectura del inventario frente al maestro
  • El acceso a la base de datos por JDBC —la interfaz estándar de Java para hablar con un motor relacional—, separando lectura y escritura
  • El gestor de sesión como componente donde se detecta la suplantación
  • El archivo de registros como evidencia contra la manipulación

Tratarlas como restricciones congelaría el diseño antes de empezar, y esa omisión es deliberada.

Restricciones cuantitativas pendientes

Sin estos números, las condiciones del sistema quedan sin cuantificar y las pruebas no replican la operación real.

[PREGUNTA] ¿Cuántos pedidos y consultas por minuto en operación normal, sumando los cinco países?

[PREGUNTA] ¿Qué factor multiplica esa carga en hora pico, y cuánto dura la ráfaga?

[PREGUNTA] ¿Cuántos cambios legítimos de dispositivo ocurren por mes en la fuerza de ventas?

[PREGUNTA] ¿Cuánto espera el tendero entre que confirma y ve su pedido “en preparación”? Ese número acota todo lo que el sistema puede tardarse en notar y arreglar una cadena detenida.