Como usar tabelas de decisão para ajudar a sua aplicação
-
02-07-2019 - |
Pergunta
Eu aprendi há algum tempo sobre árvores de decisão e tabelas de decisão. Eu sinto que tabelas de decisão pode ajudar com instruções condicionais if-then-Else. Em particular, eu sinto que tabelas de decisão não tem efeitos colaterais, por exemplo, se você não percebeu que você precisa de um mais "else if".
Mas eu não sei como posso implementá-lo. Arrays? Tabelas de banco de dados? Alguém até mesmo usar tabelas de decisão no seu código, hoje em dia?
Solução
Eu recomendo o capítulo 18 de Code Complete .
Você também pode verificar este post Quais são dirigido por tabela Métodos
Outras dicas
Bem, eu fiz minha própria pesquisa: S
- Este é algo do IBM sobre tabelas de decisão utilizados para tornar o teste de cenários
- Isto é de uma empresa que faz tabelas de decisão que são depois traduzidas a if-then-else declarações em vb.net.
- fluxo de trabalho rubi Open source e motor bpm que as tabelas usos de decisão.
Então, ainda estou procurando. Se alguém tem algumas boas respostas, deve inserir-los.
Multi-plataforma, CCIDE-0.5.0-6 (ou posterior) está disponível no SourceForge e Github.
Veja a página web em http://twysf.users.sourceforge.net/
A mesa-driven método utiliza dados em vez de declarações se-então para dirigir a lógica do programa. Por exemplo, se você está processando dois tipos de registros (tv contra cabo) que você pode fazer isso:
de hash [TV] = processTvRecords
de hash [cabo] = processCableRecords
Em alguns idiomas, como Ruby ou Perl, esta técnica é simples. Em Java, você precisa usar a reflexão para encontrar alças método.
Se você quiser saber mais sobre tabelas de decisão, investiagethe framework de testes Fitnesse em http://fitnesse.org/ .
De longe a melhor aplicação que eu vi para tabelas de decisão é um aplicativo chamado Prologa, que está disponível para download em http://www.econ.kuleuven.be/prologa . Infelizmente, ele só está disponível no Windows, e pode haver um pequeno atraso enquanto você espera para a chave de avaliação.
As condições alças de software que são não-binário, pode recolher regras semelhantes, e na verdade controla o número de combinações que sua tabela actualmente cobertas por isso é ótimo para Controlos de integralidade dos particularmente grandes mesas. Também lida com tabelas aninhadas graciosamente (onde o resultado de uma tabela pode ser a condição de outra tabela).