Herramientas o bibliotecas de programación para visualizar lógica personalizada.
-
09-09-2019 - |
Pregunta
Estoy buscando herramientas que me ayuden en la visualización de la lógica empresarial personalizada utilizada para realizar la generación de documentos.La lógica se expresa como un modelo orientado a objetos que consta de un gráfico de puntos de decisión y acciones de representación.Los componentes básicos son relativamente simples, pero el árbol de decisión general es bastante grande y complejo, lo que dificulta su visualización.
Estamos buscando sugerencias sobre herramientas y/o bibliotecas de gráficos que puedan usarse para representar visualmente el árbol de decisiones y las acciones de representación.La elección del lenguaje de programación no es crítica (Delphi, C#, Java sería excelente) y podemos extraer fácilmente la lógica a XML u otro formato de datos según sea necesario.La preferencia es algo que se ejecute en Windows y permita la impresión o la salida en PDF de partes del diagrama resultante.
Requisitos
Los puntos de decisión pueden ser simples sí/no o múltiples resultados, p.(sí, no, a veces, siempre, etc.).
Los puntos de decisión están vinculados a la lógica empresarial externa que existe en otras partes del entorno de ejecución.Necesitamos etiquetar el nodo del gráfico con el tipo de punto de decisión (p. ej.booleano) y una cadena que describe la regla de negocio que se utiliza.
Las acciones de representación están vinculadas a objetos de contenido con nombre con variables de combinación opcionales y lógica de representación en línea.Como mínimo, debemos poder etiquetar los nodos con el nombre del elemento e idealmente también información sobre las variables utilizadas para representar el contenido.
Hemos considerado construir algo alrededor de Visio o WinGraphViz, o quizás usando una biblioteca de diagramas de flujo/gráficos de terceros.Cualquier idea o sugerencia será muy apreciada.
Solución
Después de investigar un poco más, encontré WinGraphViz y puntoXML para ser el que más se ajuste a mis necesidades.Anteriormente desconocía el elemento "registro" que me permite tomar decisiones en el flujo lógico de una manera limpia y legible.