Pregunta

Hace algún tiempo aprendí sobre los árboles de decisión y las tablas de decisión.Siento que las tablas de decisiones pueden ayudar con declaraciones condicionales If-Then-Else.En particular, creo que las tablas de decisiones no tienen efectos secundarios, por ejemplo, si no se dio cuenta de que necesita una declaración más de "si no".

Pero no estoy seguro de cómo puedo implementarlo.¿Matrices?¿Tablas de bases de datos?¿Alguien usa tablas de decisión en su código hoy en día?

¿Fue útil?

Solución

Recomiendo encarecidamente el capítulo 18 de Código completo.

También puedes consultar esta publicación. ¿Qué son los métodos basados ​​en tablas?

Otros consejos

Bueno, hice mi propia investigación :S

  1. Esto es algo de IBM sobre las tablas de decisión utilizadas para crear escenarios de prueba
  2. Esto es de una empresa que hace tablas de decisiones que luego se traducen a declaraciones if-then-else en vb.net.
  3. Flujo de trabajo Ruby de código abierto y motor BPM que utiliza tablas de decisión.

Así que sigo buscando.Si alguien tiene algunas buenas respuestas, ingréselas.

Multiplataforma, CCIDE-0.5.0-6 (o posterior) está disponible en SourceForge y Github.

Vea la página web en http://twysf.users.sourceforge.net/

Un método basado en tablas utiliza estructuras de datos en lugar de declaraciones si-entonces para controlar la lógica del programa.Por ejemplo, si está procesando dos tipos de registros (TV versus cable), puede hacer esto:

hash[tv] = procesoTvRecords

hash[cable] = procesoCableRecords

En algunos lenguajes, como Ruby o Perl, esta técnica es sencilla.En Java, necesitarías usar Reflection para encontrar identificadores de métodos.

Si desea obtener más información sobre las tablas de decisión, investigue el marco de pruebas de Fitnesse en http://fitnesse.org/.

Con diferencia, la mejor implementación que he visto para tablas de decisiones es una aplicación llamada Prologa, que está disponible para descargar en http://www.econ.kuleuven.be/prologa.Desafortunadamente, solo está disponible en Windows y puede haber una breve demora mientras espera la clave de evaluación.

El software maneja condiciones que no son binarias, puede colapsar reglas similares y, de hecho, rastrea la cantidad de combinaciones que cubre actualmente su tabla, por lo que es excelente para realizar comprobaciones de integridad para tablas particularmente grandes.También maneja tablas anidadas con elegancia (donde el resultado de una tabla puede ser la condición de otra tabla).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top