50. Les tables de décision. Table des matières



Documents pareils
Algorithme. Table des matières

Cours Base de données relationnelles. M. Boughanem, IUP STRI

avec des nombres entiers

Qualité du logiciel: Méthodes de test

Le coloriage virtuel multiple et ses applications

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

EXCEL TUTORIEL 2012/2013

Méthodologies de développement de logiciels de gestion

PROBABILITÉS CONDITIONNELLES

Gestion des licences électroniques avec Adobe License Manager

Avis n sur la méthodologie relative aux comptes combinés METHODOLOGIE RELATIVE AUX COMPTES COMBINES

Modernisation et gestion de portefeuilles d applications bancaires

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

Gestion du capital Rapport de vérification final Rapport n o 13/13 17 février 2014

UML et les Bases de Données

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Politique et Standards Santé, Sécurité et Environnement

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

TD3 - Facturation avec archivage automatisé

L application doit être validée et l infrastructure informatique doit être qualifiée.

données en connaissance et en actions?

LE MODELE CONCEPTUEL DE DONNEES

Utilisation du client de messagerie Thunderbird

Business Intelligence

Saisie des appréciations en ligne (AEL)

Mode d emploi de l outil de classification des collaborateurs soumis à la convention collective de travail dans le secteur social parapublic vaudois

Imposition des sociétés

CHAPITRE 5. Stratégies Mixtes

Rappels sur les suites - Algorithme

La consolidation à une date ultérieure à la date d acquisition

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Garantir une meilleure prestation de services et une expérience utilisateur optimale

Guide d Intégration PPM et ERP:

Chapitre 1 : Introduction aux bases de données

Numbers en EPS UN TUTORIEL POUR LA! NOUVELLE VERSION DE NUMBERS EST! DISPONIBLE SUR TICEPS.FREE.FR. ticeps.free.fr

IUT de Laval Année Universitaire 2008/2009. Fiche 1. - Logique -

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Nombre de marches Nombre de facons de les monter

Conversion d un entier. Méthode par soustraction

Industrie des cartes de paiement (PCI) Norme de sécurité des données Récapitulatif des modifications de

QUI SOMMES-NOUS? Cette solution s adresse aussi bien aux PME/PMI qu aux grands groupes, disposant ou non d une structure de veille dédiée.

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Proposition d un outil de suivi du plan de formation et de calcul des ETP. Explications

L apprentissage automatique

Installation et configuration de base de l active Directory

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Projet Matlab : un logiciel de cryptage

Créer et partager des fichiers

Licence Sciences et Technologies Examen janvier 2010

NORME INTERNATIONALE D AUDIT 330 REPONSES DE L AUDITEUR AUX RISQUES EVALUES

Objet: Traitement fiscal des sociétés exerçant des transactions de financement intra-groupe

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Crédits d impôt pour la recherche scientifique et le développement expérimental («RS&DE»)

OCL - Object Constraint Language

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

V- Manipulations de nombres en binaire

Format de l avis d efficience

Comment réussir la mise en place d un ERP?

PLAN. Industrialisateur Open Source LANS DE SECOURS INFORMATIQUES PRINCIPES GENERAUX ETAT DE L ART SELON BV ASSOCIATES

Bases de données documentaires et distribuées Cours NFE04

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Les couleurs. Un peintre distrait a oublié les noms des couleurs de sa palette : tu peux l aider à reconstituer l ordre correct (de gauche à droite)?

Université de Lorraine Licence AES LIVRET DE STAGE LICENCE

ITIL V3. Objectifs et principes-clés de la conception des services

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

La gestion des problèmes

Utiliser ma messagerie GMAIL

I. Cas de l équiprobabilité

Les probabilités. Chapitre 18. Tester ses connaissances

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

CHOIX OPTIMAL DU CONSOMMATEUR. A - Propriétés et détermination du choix optimal

10 conseils sur la gestion et la mutualisation des agents par les groupements intercommunaux

Écriture de journal. (Virement de dépense)

«Concours Le Cadeau de l année» RÈGLEMENT DE PARTICIPATION

Importance de la défragmentation en environnements virtuels

Recherche dans un tableau

Transmission d informations sur le réseau électrique

Université de Bangui. Modélisons en UML

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Accept er u n b o n c o n s e i l, sa propre performance. Goethe

Baccalauréat ES Amérique du Nord 4 juin 2008

Module 1 : Tableau de bord Excel * 2010 incl.*

Pascal Weber - Expert en organisation

Association suisse des experts fiscaux diplômés Conférence du 25 novembre 2010 relative à la LTVA du 12 juin 2009

Concevoir un modèle de données Gestion des clients et des visites

Auteure : Natalie Poulin-Lehoux

CRÉER UN COURS EN LIGNE

Débuter avec Excel. Excel

Représentation d un entier en base b

Quelques éléments de compilation en C et makefiles

Installation de serveurs DNS, WINS et DHCP sous Windows Server 2003

Cours 1 : Qu est-ce que la programmation?

mieux développer votre activité

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Transcription:

Modélisation de logiciels de gestion Modélisation des données, modélisation des traitements et d autres thèmes sont accessibles depuis l index du cours de modélisation de logiciels de gestion: Table des matières 1 Préambule... 3 2 Définition... 4 3 Structure... 5 4 Elaboration... 6 4.1 Les conditions... 6 4.2 Les actions... 7 4.3 Représentation sous forme d une table de décision... 7 4.4 Simplification de la table de décision... 8 4.5 Pseudo code d implantation... 9 4.6 Implantation sous forme d une collection de règles... 10 5 Les règles... 11 5.1 Les règles simples... 11 5.2 Les règles complexe... 11 5.3 La règle ELSE... 11 6 Les tables... 12 6.1 Tables limitées... 12 6.2 Tables étendues... 13 6.3 Tables mixtes... 14 7 Calcul du nombre de règles simples d une table de décision... 15 7.1 Nombre maximal de règles simples d une table de décision à entrées mixtes... 15 7.2 Nombre maximal de règles simples d une table de décision à entrées limitées... 16 7.3 Nombre de règles simples d une table de décision avec règles complexes... 17 8 Complétion... 18 8.1 Table logiquement complète... 18 8.2 Table formellement complète... 18 1/39

9 Tables standards... 19 10 Décomposition de tables de décision... 20 10.1 Tables ouvertes... 21 10.2 Tables fermées... 21 10.3 Exemple de décomposition d une table en plusieurs... 22 11 Consolider une table de décision... 23 12 Recherche et élimination des redondances des actions... 24 13 Recherche et élimination des redondances des conditions... 25 14 Recherche des redondances de règles... 26 14.1.1 Détection à l aide des tables standards... 27 14.1.2 Détection par confrontation de règles... 28 15 Redondances de règles avec ou sans contradiction... 29 16 Elimination des redondances de règles sans contradiction... 30 16.1 Inclusion... 30 16.2 Intersection... 31 17 Vérification de la complétion... 33 17.1 Calcul du nombre de règles... 34 17.2 Utilisation d une table standard... 35 18 Minimisation des tables de décision... 36 18.1 Minimisation des conditions... 36 18.2 Minimisation des actions... 37 18.3 Minimisation des règles... 38 19 Références bibliographiques... 39 2/39

1 Préambule Lors des chapitres précédents, nous avons vu comment modéliser les traitements du système d information ; nous avons aussi étudié la représentation de l interaction entre les traitements et les données. Nous nous souvenons que le but de tout traitement informatique consiste à transformer les données reçues en entrée et de renvoyer le résultat de cette transformation en sortie. Il nous faut maintenant disposer de modèles pour exprimer la logique de cette transformation. Figure 1 - Fonction et flux de données Toute fonction, du modèle de flux de données de l approche classique, reçoit un flux de données en entrée et fournit un flux de données en sortie. Il nous faut maintenant décrire le comportement interne de la fonction de traitement ; cette description peut se faire sous forme de pseudo code, de structogramme, d arbre de décision ou encore de table de décision. Nous présentons, dans ce chapitre, le concept de table de décision ; la table de décision nous semble le modèle le plus adéquat pour exprimer exhaustivement les règles de transformation d un processus métier ou d un traitement automatisé. Il est essentiel que les différentes fonctions constitutives d un système d information se comportent comme des boîtes blanches 1 si nous voulons garantir l adéquation du système d information aux besoins exprimés. Une table de décision est certainement la représentation la plus rigoureuse et la plus pertinente qui soit de la logique interne d une fonction et surtout, une table de décision est un excellent point de départ pour réaliser les tests de boîte blanche. Malheureusement, les tables de décision ne sont, en général, pas supportées en tant que telles par les logiciels de conception de solutions informatiques. Progressivement, il apparaît sur le marché des moteurs de règles; les règles sont des éléments de tables de décision. Les moteurs de règles sont un gros progrès pour l industrialisation et la qualité du logiciel mais s ils excellent dans le traitement unitaire des règles, ils ne permettent pas de garantir l exhaustivité des traitements d une fonction. Remarque: Le concept de table de décision provient de l approche classique basée sur le paradigme de séparation des données et des traitements; toutefois, une table de décision reste un moyen de représentation tout à fait approprié pour décrire une activité, un cas d utilisation ou encore une opération 2 de l approche orientée objet. En effet, comme nous l avons vu dans le chapitre de modélisation des traitements automatisés, lors de l activité d analyse du processus unifié (UP), nous présentons le système d information en séparant les données (les entités métier) et les traitements (les interfaces et les contrôleurs). 1 Une boîte blanche est une fonction dont on connaît exactement les règles de comportement interne; à chaque jeu de données fourni en entrée n est associé qu un et un seul jeu de données en sortie. Par opposition à une boîte blanche, les résultats fournis par une boîte noire ne sont pas systématiquement prévisibles car le détail de son comportement interne n est pas connu. 2 Une méthode s agissant de langage de programmation orienté objet. 3/39

2 Définition Une table de décision exprime exhaustivement les relations entre la logique interne d une fonction ou d un processus, les données fournies en entrée et les données restituées en sortie. Les données fournies en entrée deviennent les conditions de la table de décision. Les données restituées en sortie proviennent des actions déclenchées par la table de décision. Les couples (conditions, actions) deviennent les règles de la table de décision ou, dit autrement, la logique interne de la fonction. R1 R2 R3 R4 Données en entrée Table Programme de ski C1 Journée relâche N O O O C2 Temps chaud - O O N C3 Eau >= 20 - O N - A1 Journée de ski X A2 Piscine extérieure X A3 Piscine intérieure X X Données en sortie Figure 2 - Logique interne d'une fonction La représentation de la logique interne d une fonction par une table de décision nous permet d atteindre l objectif de prédictibilité que nous attendons d une boîte blanche. Par ailleurs, une table de décision nous offre les avantages suivants : une grande facilité de lecture, même en présence de nombreuses conditions, actions et règles ; une représentation précise de la logique interne de la fonction ; grâce au mécanisme de complétude, il est possible de garantir l exhaustivité des règles applicables aux différentes données reçues en entrée. Lorsque la logique interne d une fonction est relativement simple, il y a lieu de privilégier d autres moyens de représentation plus simple comme un structogramme ou un arbre de décision. 4/39

3 Structure Les lignes d une table de décision sont séparées en conditions et en actions; les conditions sont placées en premier et les actions ensuite. Les colonnes représentent sous forme de règles les relations entre valeurs de conditions et actions. Figure 3 - Structure d'une table de décision 5/39

4 Elaboration Pour élaborer la table de décision relative à un processus ou une fonction, la première étape consiste à mettre en évidence les conditions et les actions. Prenons l exemple de l occupation de la journée de Nicolas; si Jacques et André viennent chez Nicolas, ils iront dehors en cas de beau temps et resteront dedans à jouer aux cartes s il pleut. Si André ne vient pas, Nicolas jouera aux échecs, de même, s il se trouve seul avec son ami André. Si Nicolas se trouve tout seul et qu il pleut, il en profitera pour lire un livre. Si Nicolas est seul et qu il fait beau temps, il ira se promener en forêt. 4.1 Les conditions A partir du texte de notre exemple, nous mettons en évidence les conditions reproduites dans la partie gauche du tableau de la Figure 4: Conditions présentes dans le texte Jacques et André viennent. André ne vient pas. (Nicolas est seul avec Jacques) Jacques ne vient pas. (Nicolas est seul avec André) Nicolas se trouve seul. Il fait beau temps. Il pleut Conditions simplifiées Jacques vient (oui ou non) André vient (oui ou non) Il pleut (oui ou non) Figure 4 - Liste des conditions Les conditions présentes dans le texte, ou de manière générale les conditions exprimées par la maîtrise d ouvrage ou les utilisateurs dans le cadre d un projet d informatisation sont souvent compliquées et difficilement exploitables; pour les simplifier, nous élaborons des descriptions susceptibles d être associées à des valeurs discrètes ou à un intervalle de valeurs. Pour notre exemple, les deux conditions «Il fait beau temps» et «Il pleut» sont simplifiées par la description de condition «Il pleut» à laquelle nous pourrons associer les valeurs «Oui» et «Non». 6/39

4.2 Les actions Après avoir mis en évidence et simplifié les conditions, il nous faut mettre en évidence et simplifier les actions. Actions présentes dans le texte Aller dehors. Rester dedans et jouer aux cartes. Jouer aux échecs Avec André Avec Jacques Lire un livre. Se promener en forêt. Actions simplifiées Aller dehors. Rester dedans et jouer aux cartes. Jouer aux échecs avec André Jouer aux échecs avec Jacques Lire un livre. Se promener en forêt. Figure 5 - Liste des actions 4.3 Représentation sous forme d une table de décision Maintenant que nous avons établi une liste de conditions et d actions, nous pouvons mettre en relation les différentes valeurs de conditions et d actions sous forme de règles. TD Occupation de Nicolas R1 R2 R3 R4 R5 R6 R7 R8 C1 Jacques vient O O O O N N N N C2 André vient O O N N O O N N C3 Il pleut O N O N O N O N A1 Aller dehors X A2 Rester dedans et jouer aux cartes X A3 Jouer aux échecs avec Jacques X X A4 Jouer aux échecs avec André X X A5 Lire un livre X A6 Se promener en forêt X Figure 6 - Table de décision d'occupation de Nicolas 7/39

4.4 Simplification de la table de décision Nous pouvons observer que les règles R3 et R4 de la table de décision de la Figure 6 ne tiennent pas compte de la condition «Il pleut» ; il en est de même pour les règles R5 et R6. Nous simplifions la table de décision en remplaçant les règles R3 et R4 par une nouvelle règle dont la condition «Il pleut» n est pas prise en compte. TD Occupation de Nicolas R1 R2 R3 R4 R5 R6 C1 Jacques vient O O O N N N C2 André vient O O N O N N C3 Il pleut O N - - O N A1 Aller dehors X A2 Rester dedans et jouer aux cartes X A3 Jouer aux échecs avec Jacques X A4 Jouer aux échecs avec André X A5 Lire un livre X A6 Se promener en forêt X Figure 7 - Table de décision d'occupation de Nicolas simplifiée 8/39

4.5 Pseudo code d implantation Une table de décision peut être traduite telle quelle en code exécutable comme illustré par le pseudo code de la Figure 8. IF Jacques vient THEN IF André vient THEN IF il pleut THEN - Rester dedans et jouer aux cartes ELSE - Aller dehors ENDIF ELSE - Jouer aux échecs avec Jacques ENDIF ELSE IF André vient THEN - Jouer aux échecs avec André ELSE IF il pleut THEN -Lire un livre ELSE - Se promener en forêt ENDIF ENDIF ENDIF Figure 8 Pseudo code de la table de décision d'occupation de Nicolas simplifiée 9/39

4.6 Implantation sous forme d une collection de règles En cas de changement à l intérieur d une table de décision, l adaptation du pseudo code de la Figure 8 peut être relativement fastidieuse et surtout susceptible d engendrer des erreurs 3. En lieu et place de produire des enchaînements de tests et d actions, nous préconisons d évaluer chaque règle de la table de décision et d exécuter la règle qui est valide. R1 := (Jacques vient) AND (André vient) AND (Il pleut) R2 := (Jacques vient) AND (André vient) AND NOT (Il pleut) R3 := (Jacques vient) AND NOT (André vient) R4 := NOT (Jacques vient) AND (André vient) R5 := NOT(Jacques vient) AND NOT(André vient) AND (Il pleut) R6 := NOT(Jacques vient) AND NOT(André vient) AND NOT (Il pleut) IF R1 THEN - Rester dedans et jouer aux cartes ENDIF IF R2 THEN - Aller dehors ENDIF IF R3 THEN - Jouer aux cartes avec Jacques ENDIF IF R4 THEN - Jouer aux cartes avec André ENDIF IF R5 THEN - Lire un livre ENDIF IF R6 THEN - Se promener en forêt ENDIF Figure 9 Pseudo code sous forme d une collection de règles Chaque variable R1 à Rn correspond à l évaluation des indicateurs des conditions de la règle correspondante de la table de décision ; les valeurs possibles sont Vrai ou Faux. Une seule variable R1 à Rn peut avoir la valeur Vrai. 3 Il s agit en l occurrence de régression du code ; le code ancien fonctionnait correctement et l utilisateur ne comprend pas pourquoi le logiciel ne fonctionne plus correctement. 10/39

5 Les règles Trois sortes de règles peuvent apparaître dans une table de décision : la règle ELSE, les règles simples et les règles complexes. TD Exemple de règles ELSE R1 R2 R3 R4 C1 Condition 1 O O O N C2 Condition 2-10 20 30 C3 Condition 3 N N O - A1 Action 1 1 2 3 4 A2 Action 2 X A3 Action 3 X X A4 Erreur X Figure 10 Exemple des différentes règles possibles 5.1 Les règles simples Une règle simple est une règle ne possédant pas de valeur indifférente (-) dans ses indicateurs de condition. R2 et R3 de la Figure 10 sont des règles simples. 5.2 Les règles complexe Une règle complexe est une règle possédant une ou plusieurs valeurs indifférentes (-) dans ses indicateurs de condition. R1 et R4 de la Figure 10 sont des règles complexes. 5.3 La règle ELSE La règle ELSE est une règle recouvrant toutes les règles ne figurant pas dans la table de décision et correspondant généralement à des erreurs. En principe, la règle ELSE est placée en début ou en fin des règles. Remarque: La règle ELSE n est pas prise en compte pour le calcul du nombre de règles. 11/39

6 Les tables Trois sortes de tables sont utilisées couramment: les tables limitées, les tables étendues et les tables mixtes. 6.1 Tables limitées Une table limitée est une table de décision où : Les conditions sont indiquées dans la partie descriptive de manière complète. Les indicateurs de condition possibles sont : O pour oui ; N pour non ; pour oui ou non. Les actions sont indiquées dans la partie descriptive de manière complète. Les indicateurs d action possibles sont : X pour une action exécutée ; pour une action non exécutée (absence de marque). TD Prix produit R1 R2 R3 R4 R5 R6 R7 R8 C1 Article de luxe O O O O N N N N C2 Grande production O O N N O O N N C3 Emballage cadeau N N O N O N O N C4 Action publicitaire N O N N O N O N A1 125 francs X A2 98 francs X A3 75 francs X A4 60 francs X X X A5 45 francs X A6 30 francs X Figure 10 Exemple de table de décision limitée Remarque: La table de l exemple ci-dessus n est pas complète. [Voir le chapitre «Complétion»] 12/39

Une table de décision n ayant que la partie condition répondant à ce critère est dite table à entrées limitées. TD Prix produit R1 R2 R3 R4 R5 R6 R7 R8 C1 Article de luxe O O O O N N N N C2 Grande production O O N N O O N N C3 Emballage cadeau N N O N O N O N C4 Action publicitaire N O N N O N O N A1 Prix (en francs) 98 60 125 75 30 60 75 45 Figure 11 Exemple de table de décision à entrées limitées 6.2 Tables étendues Une table étendue est une table de décision où : Les conditions sont indiquées dans la partie descriptive de manière incomplète. Les indicateurs de condition apportent une spécification supplémentaire. Les actions sont indiquées dans la partie descriptive de manière incomplète. Les indicateurs d action apportent une spécification supplémentaire. TD Prêts R1 R2 R3 R4 R5 C1 Salaire mensuel <1000 >=1000 <2000 >=1000 <2000 >=2000 >=2000 C2 Remboursement mensuel maximal - 100 200 200 300 A1 Prêt maximal 0 2000 3000 3000 4000 A2 Frais en % de la somme du prêt 1.5 1.3 1.3 1.1 Figure 12 Exemple de table de décision étendue 13/39

Une table de décision n ayant que la partie condition répondant à ce critère est dite table à entrées étendues. TD Prêts R1 R2 R3 R4 R5 C1 Salaire mensuel <1000 >=1000 <2000 >=1000 <2000 >=2000 >=2000 C2 Remboursement mensuel maximal - 100 200 200 300 A1 Prêt : 2000.- X A2 Prêt : 3000.- X X A3 Prêt : 4000.- X A4 Frais : 1.5% X A% Frais : 1.3% X X A6 Frais : 1.1% X Figure 13 Exemple de table de décision à entrées étendues 6.3 Tables mixtes Une table mixte est une combinaison de la table limitée et de la table étendue. TD Prêts R1 R2 R3 R4 R5 R6 R7 C1 Client solvable O O O O O O N C2 Salaire mensuel >=2000 <3000 >=2000 <3000 >=3000 <5000 >=3000 <5000 >=5000 >=5000 - C3 Prêt requis <=6000 >6000 <=8000 >8000 <=12000 >12000 - A1 Prêt refusé X X X X A2 A3 Remboursement mensuel minimal Frais en % de la somme prêtée 300 400 600 1.5 1.3 1.0 Figure 14 Exemple de table de décision mixte 14/39

7 Calcul du nombre de règles simples d une table de décision 7.1 Nombre maximal de règles simples d une table de décision à entrées mixtes Le calcul du nombre maximal de règles simples, NbMax, que peut contenir une table de décision s effectue en multipliant le nombre de formes que peuvent prendre les différentes entrées de conditions. NbMax = F 1 * F 2 * * F i * * F n F i est le nombre de formes des entrées de la condition i Le nombre de règles simples des entrées étendues correspond aux nombres d indicateurs possibles. Le nombre de règles simples des entrées limitées est toujours égal à 2, soit : oui ou non. TD R1 R2 R3 R4 R5 R6 R7 R8 C1 Couleur BL BL JA JA RO RO NO NO C2 Article de luxe O N O N O N O N Figure 15 - Entrées mixtes A propos de la Figure 15 : La condition étendue Couleur peut prendre 4 valeurs : BL - Bleu JA Jaune RO Rouge NO Noir La condition limitée Article de luxe peut prendre 2 valeurs. Le nombre de règles simples maximales de la table est donc de 8: NbMax = F Couleur * F Article de luxe = 4 * 2 NbMax = 8 15/39

7.2 Nombre maximal de règles simples d une table de décision à entrées limitées Toutes les formes des entrées de conditions d une table à entrées limitées étant de 2, le nombre maximal de règles simples s obtient en élevant 2 à la puissance du nombre de conditions de la table. NbMax = 2 * 2 * * 2 NbMax = 2 n n est le nombre de conditions de la table TD - R1 R2 R3 R4 R5 R6 R7 R8 C1 Article de luxe O O O O N N N N C2 Grande production O O N N O O N N C3 Action publicitaire O N O N O N O N Figure 16 - Entrées limitées 16/39

7.3 Nombre de règles simples d une table de décision avec règles complexes En présence de règles complexes, nous devons prendre en compte le nombre de formes des différentes conditions pour lesquelles un indicateur d indifférence apparaît pour calculer le nombre de règles simples sous-jacentes, NbRS. NbRS = RS 1 + RS 2 + + RS i + + RS n RS i est le nombre de règles simples sous-jacente à la règle Ri RSi = f 1 * f 2 * * f k * * f n f k est le nombre de valeurs simples de l entrée de la condition k f k vaut 1 pour une entrée comportant une valeur f k vaut F k pour une entrée comportant un indicateur d indifférence ; pour rappel F k exprime le nombre de forme des entrées de la condition k TD R1 R2 R3 R4 R5 R6 R7 R8 C1 Condition 1 B - C B A - D C C2 Condition 2 - O N N N O O N C3 Condition 3 O O O O N N O N C4 Condition 4 1 2-3 4-4 2 Règles simples équivalentes, RS 2 4 4 1 1 16 4 1 1 Figure 17 Règles complexes A propos de la Figure 17 : La condition à entrée étendue 1 peut prendre 4 valeurs parmi {A, B, C, D}. Les conditions à entrée limitée 2 & 3 peuvent prendre 2 valeurs. La condition à entrée étendue 4 peut prendre 4 valeurs parmi {1, 2, 3, 4}. 4 Le résultat de 16 provient du produit : 4 * 1 * 1 * 4 17/39

8 Complétion Une table est dite «complète» lorsque toutes les combinaisons de valeurs de conditions sont couvertes. 8.1 Table logiquement complète Une table est dite logiquement complète si toutes les règles manquantes sont couvertes par la règle ELSE. En principe, la règle ELSE conduit à un traitement d erreur. TD ELSE R1 R2 R3 R4 R5 C1 Condition 1 O O N N N C2 Condition 2 N N O O N C3 Condition 3 N N N N O C4 Condition 4 O N O N - Règles simples équivalentes, RS 10 5 1 1 1 1 2 Figure 18 Entrée logiquement complète 8.2 Table formellement complète Une table est dite formellement complète lorsque aucune règle ne manque et que la règle ELSE n y figure pas TD R1 R2 R3 R4 R5 C1 Condition 1 O O O O N C2 Condition 2 O O O N - C3 Condition 3 O O N - - C4 Condition 4 O N - - - Règles simples équivalentes, RS 1 1 2 4 8 Figure 19 Entrée formellement complète 5 Le résultat vient de la soustraction du nombre de règles simples effectives au nombre de règles simples maximales: 2 4 4*1 2 = 16-6 = 10 18/39

9 Tables standards Une table standard est une table de décision possédant les caractéristiques suivantes: Elle est formellement complète. Elle est composée de règles simples. Les règles sont affichées de manière systématique à l image du parcours d un arbre de décision (voir la Figure 21). Une table de décision standard est un excellent modèle de représentation de règles internes d un processus métier ou de la logique d un traitement informatique; les tables de décision standards permettent de s assurer que l entier des règles métier d un processus métier soient explorées permettant ainsi de réaliser une spécification de la logique des traitements informatiques complète. TD R1 R2 R3 R4 R5 R6 R7 R8 C1 Condition 1 O O O O N N N N C2 Condition 2 O O N N O O N N C3 Condition 3 O N O N O N O N A1 Action 1 X X X X X A2 Action 2 X X X X X A3 Action 3 X X X X X Figure 20 Exemple de table standard à entrée limitée Figure 21 - Arbre de parcours des conditions de la Figure 20 19/39

TD R1 R2 R3 R4 R5 R6 R7 R8 R9 C1 Couleur {B, R, V} B B B R R R V V V C2 Type {1, 2, 3} 1 2 3 1 2 3 1 2 3 A1 Prix 10 11 12 13 14 15 16 17 18 Figure 22 Exemple de table standard à entrée étendue TD R1 R2 R3 R4 R5 R6 C1 Type {1, 2, 3} 1 1 2 2 3 3 C2 Disponible O N O N O N A1 Signaler type 1B 2B 3B A2 Faire offre X X X Figure 23 Exemple de table standard à entrée mixte 10 Décomposition de tables de décision Face à la complexité de la réalité, il peut s avérer utile de diviser un problème complexe en une série de problèmes réduits ou plus petits. Une table de décision comportant de nombreuses entrées de décision ou d action peut souvent être divisée en quelques tables avec un nombre d entrées réduit; ces tables sont reliées entre elles par l intermédiaire d un transfert de flux de contrôle. Le contrôle du transfert de flux entre les tables permet de conserver la vision de la logique globale. On distingue deux sortes de transfert de flux de contrôle entre tables de décision : L appel d une table subordonnée sans retour à la table maîtresse; dans ce cas la table subordonnée est dite «table ouverte». L appel d une table subordonnée avec retour à la table maîtresse; dans ce cas la table subordonnée est dite «table fermée». Remarque: Lorsque nous sommes en présence d un ensemble de tables, l ordre d exécution des actions de la table maîtresse a une incidence sur la logique globale. 20/39

10.1 Tables ouvertes La table ouverte est atteinte par un transfert de flux sans retour; à la fin du traitement de la table subordonnée, le flux de contrôle n est pas renvoyé à la table maîtresse. TD 1 ALLER TD 2 2 3 4 5 TD 2 TD3 TD 4 TD 5 Figure 24 - Table ouverte / Pas de retour de flux de contrôle 10.2 Tables fermées La table fermée est atteinte par un transfert de flux avec retour; à la fin du traitement de la table subordonnée, le flux de contrôle est renvoyé à la table maîtresse. TD 1 1 2 3 4 TD 2 1 2 3 4 Action A X X X TRAITE TD2 X Action B X X Action 3 X X ALLER TD3 X X X X RETOUR X X X X TD 3 Figure 25 - Table fermée / RetourFlux avec retour 21/39

10.3 Exemple de décomposition d une table en plusieurs TD R1 R2 R3 R4 R5 R6 R7 R8 C1 Condition 1 O O O O N N N N C2 Condition 2 O O N N O O N N C3 Condition 3 O N O N O N O N A1 Action 1 X X X X A2 Action 2 X X X X A3 Action 3 X X X A4 Action 4 X X X X X Figure 26 Exemple de table décomposable En analysant les règles de l exemple de la Figure 26, nous pouvons faire les observations et déductions ci-après par groupes de règles et conditions : 1. Pour toutes les règles A1 est exécutée lorsque C1 est vraie. A2 est exécutée lorsque C1 est fausse. On peut regrouper la condition C1 et les actions A1 et A2 dan une table maîtresse TD1 2. Pour les 4 premières règles la condition C2 est indifférente A3 est exécutée lorsque C3 est vraie. A4 est exécutée lorsque C3 est fausse. On peut regrouper la condition C3 et les actions A3 et A4 dans une table subordonnée TD2 3. Pour les 4 dernières règles aucune condition n est indifférente A3 et A4 sont exécuté sans qu un élément logique puisse être mis en évidence On doit créer une table subordonnée TD3 22/39

TD 1 R1 R2 C1 Condition 1 O N A1 Action 1 X A2 Action 2 X A5 ALLER TD-2 TD-3 TD 2 R1 R2 C3 Condition 3 O N A3 Action 3 X A4 Action 4 X TD 3 R1 R2 R3 C2 Condition 2 O O N C3 Condition 3 O N - A3 Action 3 X A4 Action 4 X X Figure 27 Décomposition de la table de la Figure 26 Remarque importante: Lorsque l on décompose une table en plusieurs tables, les différentes tables subordonnées n ont, à priori, pas de signification sans le contexte de la table maîtresse qui va lui transférer le flux de contrôle. Dès lors, il s agit d utiliser avec la plus grande circonspection la décomposition d une table de décision. 11 Consolider une table de décision Une table de décision est dite «consolidée» ou correctement élaborée lorsque : Les conditions sont sans redondance. Les actions sont sans redondance. Les règles sont sans redondance. Elle est complète. Les conditions, actions et règles sont minimisées. 23/39

12 Recherche et élimination des redondances des actions Une action est redondante lorsqu elle n est utilisée par aucune règle. Une action redondante doit être éliminée de la table de décision. TD R1 R2 R3 R4 C1 Condition 1 O O O N C2 Condition 2 O O N N C3 Condition 3 O N - - A1 Action 1 X X A2 Action 2 X X A3 Action 3 A4 Action 4 X Figure 28 Action redondante L action A3 de la table de décision de la Figure 28 doit être éliminée ; l action A4 devient A3. 24/39

13 Recherche et élimination des redondances des conditions Une condition est redondante lorsqu elle n influence pas le choix des actions ; une condition redondante ne possède que des indicateurs indifférents. Une condition redondante doit être éliminée de la table de décision. TD R1 R2 R3 R4 C1 Condition 1 O O O N C2 Condition 2 O O N N C3 Condition 3 O N O - C4 Condition 4 - - - - A1 Action 1 X X A2 Action 2 X X X A3 Action 3 X Figure 29 Condition redondante La condition C4 de la table de décision de la Figure 28 doit être éliminée. 25/39

14 Recherche des redondances de règles Une règle est redondante lorsqu elle couvre un cas déjà couvert par une autre règle. Une telle situation peut représenter une erreur de logique ou une situation définie plusieurs fois. TD R1 R2 R3 C1 Condition 1 N N O C2 Condition 2 O - O C3 Condition 3 N N - A1 Action 1 X X A2 Action 2 X Figure 30 Règles redondantes Il y a redondance entre les règles R1 et R2 de la Figure 30; en effet, en décomposant la règle R2 en deux règles simples R2a et R2b (Figure 31), nous pouvons constater que R1 et R2a sont identiques. TD R1 R2 R3 R2a R2b C1 Condition 1 N N N O C2 Condition 2 O O N O C3 Condition 3 N N N - Figure 31 Equivalences de règles simples Toute redondance de règles doit impérativement être détectée et corrigée. Les règles redondantes peuvent être détectées à l aide de tables standards ou par confrontation de règles. 26/39

14.1.1 Détection à l aide des tables standards La table à consolider est reproduite sous forme d une table standard ; ensuite, les règles de la table à consolider sont mises en relation avec l ensemble des règles de la table standard. Il y a redondance si une règle de la table standard correspond à plus d une règle de la table à consolider. TD R1 R2 R3 R4 R5 C1 Condition 1 O O O N N C2 Condition 2 O O N O - C3 Condition 3 - N - - - C3 Condition 4 - N - - - A1 Action 1 X X X A2 Action 2 X X X X A3 Action 3 X X X X Figure 32 Exemple de table à consolider TD R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 C1 Condition 1 O O O O O O O O N N N N N N N N C2 Condition 2 O O O O N N N N O O O O N N N N C3 Condition 3 O O N N O O N N O O N N O O N N C4 Condition 4 O N O N O N O N O N O N O N O N Règles correspondantes de la table à consolider 1 1 1 1 2 3 3 3 3 4 5 4 5 4 5 4 5 5 5 5 5 Figure 33 Mise en évidence des règles redondantes Nous pouvons observer dans la Figure 33, qu il y a redondance entre les règles R1 et R2 ainsi qu entre les règles R4 et R5 de la table à consolider de la Figure 32. 27/39

14.1.2 Détection par confrontation de règles Chaque couple de règles, prises deux à deux, doit avoir au moins un indicateur de condition différent. Lorsque l on parle d indicateur différent, il faut exclure l indicateur indifférent (-) qui représente toutes les formes possibles. TD R1 R2 R3 R4 R5 C1 Condition 1 O O O N N C2 Condition 2 O O N O - C3 Condition 3 - N - - - C3 Condition 4 - N - - - Confrontation de R1 R Confrontation de R2 Confrontation de R3 Confrontation de R4 R Figure 34 Exemple de table à consolider Comme précédemment, nous trouvons une redondance entre les règles R1 et R2 ainsi qu entre les règles R4 et R5. 28/39

15 Redondances de règles avec ou sans contradiction Une redondance est dite sans contradiction si les règles qui engendrent la redondance conduisent au même jeu d actions. Une redondance est dite avec contradiction si les règles qui engendrent la redondance ne conduisent pas au même jeu d actions. En cas de redondance avec contradiction, il faut reprendre l étude du problème car, il s agit d une erreur de logique; la contradiction doit impérativement être éliminée. TD R1 R2 R3 R4 R5 R6 R7 R8 R9 C1 Condition 1 O O O O O O N N N C2 Condition 2 - O O N N N - O N C3 Condition 3 O - - O N - O O - C4 Condition 4 O N N - N O O N - C5 Condition 5 N N O O - O - - - A1 Action 1 X X X X X X A2 Action 2 X X X X A3 Action 3 X X X A4 Action 4 X X X X X 1 2 Figure 35 Exemple de redondances 1) Il y a redondance avec contradiction entre les règles R4 et R6. La logique de la table ou des règles R4 et R6 doit être corrigée. 2) Il y a redondance sans contradiction entre les règles R7 et R9. La redondance doit être éliminée. 29/39

16 Elimination des redondances de règles sans contradiction 16.1 Inclusion Une règle est incluse dans une autre lorsque les conditions se différentient seulement par un ou plusieurs indicateurs d indifférence (-). Pour éliminer la redondance, il faut supprimer la règle incluse. TD R1 R2 R3 R4 C1 Condition 1 O N N N C2 Condition 2 - O O N C3 Condition 3 - - O N A1 Action 1 X A2 Action 2 X X A3 Action 3 X Figure 36 Règle incluse dans une autre TD R1 R2 R3 R4 R2a R2b C1 Condition 1 O N N N N C2 Condition 2 - O O O N C3 Condition 3 - O N O N Figure 37 Inclusion de R3 dans R2 (R3 = R2a) La règle R3 de la figure 36 est incluse dans la règle R2; la règle R3 doit donc être éliminée de la table. 30/39

Après élimination de la redondance, la règle R4 de la table de décision de la Figure 36 devient la règle R3 de la table sans redondance TD R1 R2 R3 C1 Condition 1 O N N C2 Condition 2 - O N C3 Condition 3 - - N A1 Action 1 X A2 Action 2 X A3 Action 3 X Figure 38 Suppression de la redondance de la Figure 36 16.2 Intersection Deux règles complexes sont dans un rapport d intersection lorsqu une ou plusieurs règles simples sont représentées par les deux règles. Pour éliminer la redondance, il faut supprimer la ou les règles simples qui représentent cette intersection, Cela conduit, en général, à décomposer une règle complexe en plusieurs règles simples ou complexes. TD R1 R2 R3 R4 R5 C1 Condition 1 N O O O - C2 Condition 2 - N O N O C3 Condition 3 - O N N O A1 Action 1 X X A2 Action 2 X X A3 Action 3 X A4 Action 4 X X Figure 39 Rapport d intersection entre deux règles complexes 31/39

TD R1 R2 R3 R4 R5 R1a R1b R1c R1d R5a R5b C1 Condition 1 N N N N O O O O N C2 Condition 2 O O N N N O N O O C3 Condition 3 O N O N O N N O O Figure 40 Intersection entre R1 et R5 (R1a = R5b) Les deux règles simples R1a et R5b représentent l intersection. Pour éliminer la redondance, nous supprimons la règle simple R5b de la règle complexe R5 ; en finalité, la règle R5 est constituée de la seule règle simple R5a. Après élimination de la redondance, la règle complexe R5 de la table de décision de la Figure 39 est devenue une règle simple de la table sans redondance de la Figure 41. TD R1 R2 R3 R4 R5 C1 Condition 1 N O O O O C2 Condition 2 - N O N O C3 Condition 3 - O N N O A1 Action 1 X X A2 Action 2 X X A3 Action 3 X A4 Action 4 X X Figure 41 Suppression de la redondance de la Figure 39 32/39

17 Vérification de la complétion Lorsque les redondances de conditions, d actions et de règles d une table de décision sont éliminées, il faut encore nous assurer que toutes les règles simples que l on peut déduire des conditions soient présentes dans la table. Ce contrôle de complétion peut se faire de deux manières : en calculant le nombre maximum de règles simples à partir des conditions et le nombre de règles simples figurant dans la table; par l intermédiaire d une table standard; cette solution doit être privilégiée car, elle fournit immédiatement les règles manquantes. Remarque: La vérification de complétion ne doit se faire que pour autant qu il n y ait pas de règle ELSE dans la table. TD R1 R2 R3 R4 C1 Condition 1 O O O N C2 Condition 2 O O N - C3 Condition 3 - N O - C4 Condition 4 N O - - A1 Action 1 X X X A2 Action 2 X X X A3 Action 3 X X X Figure 42 Exemple de table pour la vérification de complétion 33/39

17.1 Calcul du nombre de règles Pour rappel (chapitre 7.1), le nombre maximal de règles simples déductible des conditions d entrée s obtient par la formule générale: NbMax = F 1 * F 2 * * F i * * F n F i est le nombre d entrée de chacune des conditions ou par la formule spécifique aux tables à entrées limitées : NbMax = 2 n Pour rappel (chapitre 7.3), le nombre de règles simples figurant dans une table s obtient par la formule générale: NbRS = RS 1 + RS 2 + + RS i + + RS n RS i est le nombre de règles simples contenues dans chaque règle Le nombre maximal de règles simples déductible des conditions d entrée est de : NbMax = 2 4 = 16 Le nombre de règle simples figurant dans la table est de : NbRS = RS 1 + RS 2 + RS 3 + RS 4 = 2 + 1 + 2 + 8 NbRS =13 La vérification de complétion nous montre qu il manque 3 règles : Règles manquantes = NbMax NbRS = 16-13 Règles manquantes = 3 Figure 43 Vérification de complétion pour la table de la Figure 42 34/39

17.2 Utilisation d une table standard Pour rappel (chapitre 9), une table standard: est formellement complète; est composée de règles simples; affiche ses règles de manière systématique. Pour vérifier la complétion d une table, nous créons une table standard à partir des entrées de la table à vérifier; ensuite, nous établissons la correspondance entre les règles deux tables. TD R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 C1 Condition 1 O O O O O O O O N N N N N N N N C2 Condition 2 O O O O N N N N O O O O N N N N C3 Condition 3 O O N N O O N N O O N N O O N N C4 Condition 4 O N O N O N O N O N O N O N O N Règle correspondante de la table à vérifier 1 2 1 3 3 4 4 4 4 4 4 4 4 Figure 44 Vérification de la complétion pour la table de la Figure 42 Comme précédemment, nous constatons qu il manque 3 règles; toutefois, avec cette méthode, nous disposons directement de la forme (indicateurs de conditions) des règles manquantes. 35/39

18 Minimisation des tables de décision La minimisation d une table de décision consiste, lorsque cela est possible, à : réduire le nombre de conditions. Les conditions limitées sont regroupées au sein de conditions étendues; réduire le nombre d actions. Les actions limitées sont regroupées au sein d actions étendues; réduire le nombre de règles. Les règles simples sont transformées en règles complexes. 18.1 Minimisation des conditions Pour effectuer cette minimisation, sans altérer la logique de la table de décision, il faut que chaque règle ne possède qu une seule fois l indicateur oui (O) pour l ensemble des conditions limitées qui seront regroupées dans une condition étendue. TD Avant minimisation R1 R2 R3 R4 R5 R6 C1 Couleur 1 O O N N N N C2 Couleur 2 N N O O N N C3 Couleur 3 N N N N O O C4 Type A O N N N N N C5 Type B N O N N O N C6 Type C N N O N N N C7 Type D N N N O N O TD Après minimisation R1 R2 R3 R4 R5 R6 C1 Couleur 1 1 2 2 3 3 C2 Type A B C D B D Figure 45 Exemple de minimisation de conditions A propos de la Figure 45 : Les conditions limitées C1, C2 et C3 peuvent être regroupées dans une nouvelle condition étendue Couleur car, chaque règle ne comporte qu un seul indicateur O pour ce groupe de conditions. Il en est de même pour C4, C5, C6 et C7 regroupées dans une nouvelle condition étendue Type. 36/39

18.2 Minimisation des actions Pour effectuer cette minimisation, sans altérer la logique de la table de décision, il faut que chaque règle ne possède qu une seule action (X) pour l ensemble des actions limitées qui seront regroupées dans une action étendue. TD Avant minimisation R1 R2 R3 R4 R5 R6 C1 Condition 1 O O O O O N C2 Condition 2 O O O O N - C3 Condition 3 O O N N - - C4 Condition 4 O N O N - - A1 Additionner 10 X X A2 Additionner 20 X A3 Additionner 30 X X A4 Additionner 40 X A5 Aller à TD3 X A6 Aller à TD4 X X A7 Aller à TD5 X A8 Aller à TD6 X X Actions après minimisation R1 R2 R3 R4 R5 R6 A1 Additionner 10 30 10 30 20 40 A2 Aller à TD 3 4 6 5 4 6 Figure 46 Exemple de minimisation d actions A propos de la Figure 46 : Les actions limitées A1, A2, A3 et A4 peuvent être regroupées dans une nouvelle action étendue Additionner car, chaque règle ne comporte qu un seul indicateur X pour ce groupe d actions. Il en est de même pour A5, A6, A7 et A8 regroupées dans une nouvelle action étendue Aller à TD. 37/39

18.3 Minimisation des règles Pour effectuer cette minimisation, sans altérer la logique de la table de décision, il faut que les règles complexes conduisent exactement aux mêmes actions que chacune des règles simples à partir desquelles elles ont été élaborées. TD Avant minimisation R1 R2 R3 R4 R5 R6 R7 R8 C1 Condition 1 O O O O N N N N C2 Condition 2 O O N N O O N N C3 Condition 3 O N O N O N O N A1 Action 1 X X X A2 Action 2 X X X X X X X Règles complexes R1 R2 R3 R4 TD Après minimisation R1 R2 R3 R4 C1 Condition 1 O O O N C2 Condition 2 O N N - C3 Condition 3 - O N - A1 Action 1 X X A2 Action 2 X X X Figure 47 Exemple de minimisation de règles 38/39

19 Références bibliographiques Mes remerciements sincères à Michel Kaeser dont j ai repris intégralement le fil rouge du chapitre Les tables de décision [1] de l excellent cours d analyse qu il avait créé en 1985 pour la formation de programmeur au CPLN. [1] Les tables de décision Michel Kaeser, 1985, CPLN [2] Cours de méthodologie HES 2005 P.-A. Sunier [3] Cours de méthodologie HES 2005 P.-A. Sunier /methodologie-2005hes [4] Les tables de décision Jean-Pierre Cap, 2000, ESNIG [5] [SJB-02] Analyse et conception de systèmes d information Satzinger et consorts, Editions Reynald, 2002 /AnaConSI [6] Table de décision http://www.dmi.usherb.ca/~frappier/igl301/tableded%e9cision.ppt 39/39