Ferramentas ou bibliotecas de programação para visualizar lógica personalizada
-
09-09-2019 - |
Pergunta
Eu estou procurando ferramentas para auxiliar na visualização de lógica de negócios personalizada usada para executar a geração de documentos. A lógica é expressa como um modelo orientada a objectos que consiste de um gráfico de pontos de decisão e acções de processamento. Os blocos básicos de construção são relativamente simples, mas a árvore de decisão geral é bastante grande e complexo tornando-se difícil de visualizar.
Estamos à procura de sugestões de ferramentas e / ou bibliotecas gráficas que podem ser usadas para representar visualmente a árvore de decisão e ações de renderização. A escolha da linguagem de programação não é crítico (Delphi, C #, Java seria ótimo) e somos capazes de extrair facilmente a lógica para XML ou outro formato de dados, conforme necessário. A preferência é por algo que será executado no Windows e permitir a impressão ou a saída PDF de partes do diagrama resultante.
Requisitos
-
Pontos de decisão pode ser simples sim / não ou várias saídas por exemplo (Sim, não, às vezes, sempre etc).
-
Os pontos de decisão estão ligados a lógica de negócios externo que existem em outras partes do ambiente de tempo de execução. Precisamos rotular o nó gráfico com o tipo de ponto de decisão (por exemplo boolean) e string descrevendo a regra de negócio que está sendo usado.
-
ações de renderização estão ligados a objetos de conteúdo nomeados com variáveis ??de mesclagem opcionais e lógica de renderização em linha. No mínimo, precisamos ser capazes de nós etiqueta com o nome do elemento e, idealmente, também informações sobre variáveis ??utilizadas para processar o conteúdo.
Nós consideramos a construção de algo em torno de Visio ou WinGraphViz , ou talvez usando uma representação gráfica de terceiros / biblioteca fluxograma. Qualquer idéias ou ponteiros seria muito apreciada.
Solução
Depois de mais alguns cavando eu achei WinGraphViz e DotXML ser a correspondência mais próxima à minha requisitos. Eu estava anteriormente desconhecem o elemento "record" que me permite proferir decisões no fluxo lógico de uma forma limpa e legível.