stringtranslate.com

Tabla de decisiones

Las tablas de decisión son una representación visual concisa para especificar qué acciones se deben realizar en función de las condiciones dadas. Tabla de decisión es el término que se utiliza para referirse a una tabla de control o tabla de transición de estados en el campo del modelado de procesos de negocios ; por lo general, se formatean como la transposición de la forma en que se formatean en la ingeniería de software .

Descripción general

Cada decisión corresponde a una variable, relación o predicado cuyos posibles valores se enumeran entre las alternativas de condición. Cada acción es un procedimiento u operación a realizar y las entradas especifican si la acción debe realizarse (o en qué orden) para el conjunto de alternativas de condición a las que corresponde la entrada.

Para que sean más concisas, muchas tablas de decisión incluyen en sus alternativas de condición un símbolo de indiferencia . Este puede ser un guión [1] [2] [3] o un espacio en blanco [4] , aunque no se recomienda utilizar un espacio en blanco, ya que puede indicar simplemente que la tabla de decisión no se ha terminado. [ cita requerida ] Uno de los usos de las tablas de decisión es revelar condiciones bajo las cuales ciertos factores de entrada son irrelevantes para las acciones a tomar, lo que permite omitir estas pruebas de entrada y, por lo tanto, agilizar los procedimientos de toma de decisiones. [5]

Aparte de la estructura básica de cuatro cuadrantes, las tablas de decisión varían ampliamente en la forma en que se representan las alternativas de condición y las entradas de acción. [6] [7] Algunas tablas de decisión usan valores simples de verdadero/falso para representar las alternativas a una condición (similar a if-then-else), otras tablas pueden usar alternativas numeradas (similar a switch-case), y algunas tablas incluso usan lógica difusa o representaciones probabilísticas para alternativas de condición. [8] De manera similar, las entradas de acción pueden simplemente representar si se debe realizar una acción (verificar las acciones a realizar), o en tablas de decisión más avanzadas, la secuencia de acciones a realizar (numerar las acciones a realizar).

Una tabla de decisiones se considera equilibrada [4] o completa [3] si incluye todas las combinaciones posibles de variables de entrada. En otras palabras, las tablas de decisiones equilibradas prescriben una acción en cada situación en la que se proporcionan las variables de entrada. [4]

Ejemplo

La tabla de decisiones de entrada limitada es la más sencilla de describir. Las alternativas de condición son valores booleanos simples y las entradas de acción son marcas de verificación que representan cuáles de las acciones de una columna determinada se deben realizar.

La siguiente tabla de decisiones equilibrada es un ejemplo en el que una empresa de soporte técnico escribe una tabla de decisiones para permitir que los empleados de soporte técnico diagnostiquen de manera eficiente los problemas de la impresora basándose en los síntomas que les describen por teléfono sus clientes.

Este es solo un ejemplo simple y no necesariamente corresponde a la realidad de la resolución de problemas de impresoras. Aun así, demuestra cómo las tablas de decisiones pueden escalar a varias condiciones con muchas posibilidades.

Beneficios de la ingeniería de software

Las tablas de decisiones, especialmente cuando se combinan con el uso de un lenguaje específico del dominio , permiten a los desarrolladores y expertos en políticas trabajar con la misma información: las tablas de decisiones en sí.

Las herramientas para convertir sentencias if anidadas de lenguajes de programación tradicionales en tablas de decisiones también se pueden utilizar como herramienta de depuración. [9] [10]

Se ha demostrado que las tablas de decisión son más fáciles de entender y revisar que el código, y se han utilizado ampliamente y con éxito para producir especificaciones para sistemas complejos. [11]

Historia

En las décadas de 1960 y 1970, una variedad de lenguajes "basados ​​en tablas de decisiones", como Filetab, eran populares para la programación empresarial.

Programar tablas de decisiones integradas

Las tablas de decisión pueden estar (y a menudo lo están) incorporadas a los programas informáticos y se utilizan para "manejar" la lógica del programa. Un ejemplo sencillo podría ser una tabla de búsqueda que contenga un rango de posibles valores de entrada y un puntero de función a la sección de código para procesar esa entrada.

Tablas de control

Se pueden codificar múltiples condiciones de manera similar para encapsular toda la lógica del programa en forma de una tabla de decisiones o tabla de control "ejecutable" . En la práctica, pueden existir varias tablas de este tipo, que operan en diferentes niveles y, a menudo, están vinculadas entre sí (ya sea mediante punteros o un valor de índice).

Implementaciones

Véase también

Referencias

  1. ^ LI Jing (1 de abril de 2015). «Tutorial de SEEM 3430: Tablas de decisión» (PDF) . p. 23. Consultado el 11 de noviembre de 2017 .
  2. ^ "Creación de una tabla de decisiones en reglas de negocio". Centro de ayuda de Oracle . 6 de agosto de 2017 . Consultado el 11 de noviembre de 2017 .
  3. ^ ab Ross, Ronald G. (2005). "Tablas de decisión, parte 2: la ruta hacia la completitud". Business Rules Journal . 6 (8) . Consultado el 11 de noviembre de 2017 .
  4. ^ abc Snow, Paul (19 de julio de 2012). "Tablas de decisión". DTRules: un motor de reglas de tablas de decisión basado en Java . Consultado el 11 de noviembre de 2017 .
  5. ^ LI Jing 2015, pág. 24-25.
  6. ^ Rogers, William T. "Ejemplos de tablas de decisiones: seguros médicos". Saint Xavier University Análisis y diseño de sistemas . Archivado desde el original el 29 de marzo de 2007.
  7. ^ "Tablas de decisión". Archivado desde el original el 8 de septiembre de 2012. Consultado el 7 de julio de 2010 .
  8. ^ Wets, Geert; Witlox, Frank; Timmermans, Harry; Vanthienen, Jan (1996). "Modelado de elección de ubicación utilizando tablas de decisión difusas". Nuevas fronteras en lógica difusa y computación: conferencia bienal de 1996 de la North American Fuzzy Information Processing Society – NAFIPS. Conferencia bienal de la North American Fuzzy Information Processing Society. Berkeley, CA: IEEE. págs. 80–84. doi :10.1109/NAFIPS.1996.534708. ISBN 0-7803-3225-3.S2CID62056954  .​
  9. ^ "Un verdadero ejemplo del CCIDE"
  10. ^ "Experiencia con el procesador de tablas de decisiones Cope". Archivado desde el original el 4 de mayo de 2017. Consultado el 7 de julio de 2010 .
  11. ^ Udo W. Pooch, "Traducción de tablas de decisión", ACM Computing Surveys, volumen 6, número 2 (junio de 1974) Páginas: 125-151 ISSN  0360-0300
  12. ^ "FORTAB: Un lenguaje de tabla de decisiones para aplicaciones de computación científica", 1962, Rand
  13. ^ Alexander Williams (2015). "Analizador de tabla de decisiones Ruby"

Lectura adicional

Enlaces externos