Tenemos que crear una aplicación web que se utilizará como formulario de solicitud para múltiples productos de seguros (15 en total). Este formulario de solicitud será similar a un asistente de formularios, abarcará varias páginas, según el producto entre 4 y 10.
El total general de todos los elementos diferentes (entradas, cuadros de selección) que representará el formulario es de alrededor de 250, pero incluso el producto más complejo no utilizará más de 170 de ellos. El menos complejo todavía requiere alrededor de 80 elementos.
No queremos crear 15 formularios de solicitud diferentes, uno por producto, queremos tener un solo formulario de solicitud que será utilizado por todos los productos.
Ahora, como puedes imaginar, los elementos tienen muchas dependencias entre ellos. Un valor ingresado en un campo puede hacer que otro campo o conjunto de campos aparezca o desaparezca (en la página actual o en la (s) siguiente (s) página (s)). Algunas otras dependencias basadas en valores ingresados:
- el valor de un elemento es obligatorio o no
- los valores posibles para cuadros seleccionados serán cambiados
- las restricciones de validación serán cambiadas
Como puedes imaginar, modelar esto es muy complejo. La pregunta es, ¿qué herramienta recomendaría para modelar (y documentar) todos estos elementos, las dependencias entre ellos y las restricciones de validación? ¿Cómo harías el modelado? No estoy hablando del modelo de datos en absoluto en este caso. Este modelo será parte de las especificaciones de lo que debe hacerse y como referencia después de la finalización del proyecto. Al cambiar el modelo, los formularios de solicitud no se cambiarán automáticamente.
Algunas de las cosas que nos gustaría poder hacer fácilmente:
- ver de qué elementos depende un determinado elemento
- ver todos los elementos incluidos en el formulario para cierto producto
- ver los elementos requeridos para un determinado producto
- definir reglas de validación para cada elemento
- definir varios atributos para cada elemento
Limitación: nuestros gerentes de productos y propietarios de productos son los que harán el modelado.