J'essaie de créer une application Web qui aidera les entreprises à concevoir/définir des règles commerciales non techniques à l'aide d'un concept de table de décision. Ma table de décision ressemblerait à quelque chose comme ça,
Je prévois également d'ajouter des fonctionnalités comme 1) Ajouter un nouveau fait/règle/action 2) Supprimer un fait/règle/action.
Je vais avoir plus de 100 feuilles regroupées sous différentes catégories où chaque feuille peut déplacer le focus vers une autre feuille de la même catégorie ou vers une catégorie différente elle-même. Actuellement, nous utilisons Microsoft Excel pour représenter cela, comme indiqué dans l'instantané.
Question: 1. Quelle est la meilleure façon de représenter cela? 2. Y a-t-il/existe-t-il des widgets Web que je peux utiliser?.
Personnellement, je trouve que les tables de décision sont un excellent moyen de définir les exigences et les cas de test.
Il y a deux différences que j'utilise par rapport à la vôtre: je numérote à nouveau les actions commençant à 1 et je justifie à gauche le texte.
Vous pouvez également envisager d'afficher un tiret (-) pour les cellules vides afin que l'utilisateur sache que cela n'est pas applicable plutôt que des informations manquantes.
Option 1
Représentez vos tableaux exactement comme vous les avez dans un tableau ou une grille, et ajoutez des hyperliens ou des boutons.
Avec cette option, je suppose que vous vous attendez à ce que les utilisateurs soient sur une tablette ou plus.
Les tableaux et les grilles sont des composants Web très courants que vous pouvez trouver pratiquement n'importe où. Vous ne mentionnez pas votre langage/environnement de programmation. Quelque chose comme l'un d'eux me vient à l'esprit:
Option 2
Au lieu d'afficher tout dans une seule table de décision, capturez les informations dans une base de données à l'aide de l'interface utilisateur CRUD standard et laissez l'utilisateur répondre aux questions au moment de l'exécution qui détermine et affiche les actions. Ce code n'est pas le mien, mais provient de https://rosettacode.org/wiki/Decision_tables#JavaScript Et il y a une démo pour le voir en action sur http: // jsfiddle .net/rGP6C/1 /
<html>
<head></head>
<body>
<form id="form"></form>
<br/>Possible solutions:
<ul id="ul"></ul>
</body>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
var questions = [
{ bools:[1,1,1,1,0,0,0,0], text:"Printer does not print" },
{ bools:[1,1,0,0,1,1,0,0], text:"A red light is flashing" },
{ bools:[1,0,1,0,1,0,1,0], text:"Printer is unrecognized" },
];
var answers = [
{ bools:[0,0,1,0,0,0,0,0], text:"Check the power cable" },
{ bools:[1,0,1,0,0,0,0,0], text:"Check the printer-computer cable" },
{ bools:[1,0,1,0,1,0,1,0], text:"Ensure printer software is installed" },
{ bools:[1,1,0,0,1,1,0,0], text:"Check/replace ink" },
{ bools:[0,1,0,1,0,0,0,0], text:"Check for paper jam" },
]
$(document).ready(function() {
// Init form with questions. "Value" is a descending power of 2.
var value = questions[0].bools.length;
for (var i = 0; i < questions.length; i++) {
value /= 2;
var el = '<br /><input type="checkbox" value="' + value + '">' + questions[i].text;
$("#form").append(el);
}
// Respond to a checkbox action.
$('input:checkbox').change(function() {
// Figure out which combination of checkboxes the user selected.
var sum = 0;
$('input:checkbox:checked').each(function () {
sum += Number(this.value);
});
// Translate sum into an index (column #) into bools.
var index = questions[0].bools.length - sum - 1;
// Clear the answers.
$('#ul').html('');
// Add appropriate answers.
for (var i = 0; i < answers.length; i++) {
if (answers[i].bools[index]) {
$('#ul').append('<li>' + answers[i].text + '</li>')
}
}
});
});
</script>
</html>
Option 3
tilisez un composant Web flexrule
Option 4
Utilisez un moteur de règles métier basé sur le Web comme SAP, CodeEffects, Pega, etc.