Chapitre IX

LA STRUCTURE ALTERNATIVE COMPLEXE (SAC)

 

1.                Introduction

 

1a) Définition

Un ensemble de données comportant à son premier niveau de subdivision plusieurs sous ensembles non exclusifs de Structure Alternative Simple est dit de Structure Alternative Complexe.

Par convention les notation 0 ou 1 fois pour les sous ensembles seront réunies par le signe + pour signifier la non exclusivité des sous ensembles

 

Exemple

Données d’Entrée d’un PGM concernant un stock de matières premières dans une entreprise.

2 Fichier physiques

- Fichiers ancien stock AS (0 ou 1 fois par produit)

- Fichier mouvement MVT (0 ou 1 fois par produit)

triés sur le N° de Produit

 

                                                AS (0,1)

E { EDC 1 Produit                  +

(p)                                                           MVT (0,1)

 

1b) Dans l’exemple précédent nous aurons 3 actions possibles.

              + Duplication si pas MVT = A1

              + Création si pas AS = A2

              + Modification si AS et MVT = A3

 

1b1) Approche par les fonctions

 

   Pour A1 tester le fichier MVT

              A1 = PASMVT

 

   Pour A2 tester le fichier AS

              A2 = PASAS

 

   Pour A3 tester AS et MVR

              A3 = AS * MVT

 

Pour A3 nous avons un test complexe.

Pour l‘éviter au début un indicateur est positionné à 0, à chaque fois que MVT ou AS sont testé, 1 est ajouté à l’indicateur, dans le dernier test il suffit de tester la valeur de l’indic à 2.

 

1b2) Approche par les données

 

MVT       AS       A1       A2       A3

0            0                        

0            1         X

1            0                     X

1            1                                X

 

Les conditions sont importantes

Recenser tous les cas possibles en partant de la table de vérité, sous forme d’arborescence totale.

 

Remarque

Le premier test effectué portera sur la présence MVT.

En faisant ce choix le test sur MVT est appelé PIVOT de l’arborescence.

AS aurait pu être pris comme pivot.

STATIQUE dans le PGM lui même le nombre de test est le même (AS ou MVT comme pivot)

DYNAMIQUE lié au contenu des fichiers (en nombre d’enregistrements)

Exemple

Si les produits sur AS représentent 55% des produits traités et ceux de MVT 45%

En prenant MVT comme pivot

100 tests au pivot

45 produits AS sera testé

En prenant AS comme pivot

100 tests au pivot

55 fois seront testé sur MVT

155 tests en tout

dans ce ca dynamiquement MVT comme pivot est préférable.

 

1c) Loi N° 3 de Structuration du PGM

A toute structure Alternative Complexe des données à l’entrée correspond 1 table de vérité dont l’exploitation permet la structuration du programme.

 

Les sorties obéissent à trois règles

Règle N°1

Lorsqu’un sous ensemble de données à la sortie peut résulter de plusieurs actions, on doit compléter le tableau descriptif des données à la sortie en listant entre crochets, à côté de chaque résultat, les différentes actions à partir desquelles il peut être obtenu. Ces actions figurent, le cas échéant, dans les tables de vérité.

 

Règle N°2

Lorsque la même donnée de sortie a plusieurs actions de traitements pour origine, on considère dans un premier temps, qu’il y a autant de données de sortie que d’origines. Dans un second temps, on regroupe les données de sortie communes à plusieurs traitements lorsque les simplifications par l’algèbre de Boole le permettent.

 

Règle N°3

La description de l’ensemble S barre des données traitées pour lesquelles il n’y a pas de sorties à commander lors du déroulement du PGM doit toujours être effectué.

Les interdictions de sortie constituent des actions qui figurent dans les tables de vérité au même titre que les actions de sortie ou de préparation des sorties.

 

Par approche par les données l’arborescence hiérarchise les tests.

 

Remarque

Dans la plupart des cas l’arborescence est la meilleure solution dynamiquement parlant et toujours la meilleur statiquement parlant..

 

1d) Etablissement d’une table de vérité.

 

- Indiquer sur le FLS, si nécessaire, les actions (traitements) à l’origine des sorties.

- Vérifier que les occurrences sont les mêmes choses dans le FLE et le FLS. Si ce n’est pas le cas, indiquer les conditions de rejets, ce qui correspond à une traitement particulier.

- Rechercher dans le FLE les conditions à tester.

- Préciser le référentiel.

- Retrouver ce référentiel dans le FLS.

- Noter dans la table des actions alternatives origines des résultats de ce référentiel et dépendant directement des conditions.

-Etablir la table de vérité.

- Au niveau de chaque action faire apparaître les ensembles vides de données.

 

1e) Etude d’une table de vérité.

But: obtenir des solutions optimisées du point de vue des tests à effectuer (temps d’exécution du PGM).

   + Actions disjointes ou incluses

   + Actions en intersection

   + Ca général

 

2.                Cas des actions disjointes ou incluses

 

2a) Règle

Lorsque le sous ensembles de données sur lesquels portent les actions sont disjoints ou inclus, la structure optimisée du PGM est une arborescence.

Quand après simplification, l’expression Booléenne d’une action se présente comme la réunion de n sous ensemble, cette action doit être considérée comme n actions indépendantes pour la construction du PGM.

Remarque

Dans la pratique les n actions identiques et indépendantes sont remplacées par l’appel à une sous programme.

 

2b) Recherche de points d’optimisation

Selon la variable choisie comme pivot (point) les arborescences pourront être différentes.

Règle

Lorsque la simplification des expressions Booléennes est effectuée, les variables sont ordonnées et celle qui apparaît le plus fréquemment est choisie comme pivot.

 

3.                Actions en intersections. Alternatives consécutives

 

Règle

Lorsque les sous ensembles de données d’une table de vérité sont en intersection, la structure optimisée du PGM est une structure en Alternatives Consécutives.

Remarque

Tout ensemble doit être en intersection avec les autres.

Quand on a n variables et qu’il y a 2n ou 2n – 1 fonctions l’arborescence donne 3 tests statiques et 2 dynamiques, l’alternative consécutive donne 4 tests statiques et 4 dynamiques.

 

Remarque

Les appels à des sous programmes pratiques avec l’arborescence sont inutiles avec l’alternative consécutive.

L’arborescence à toujours son intérêt quant aux tests dynamiques.

 

4.                Solutions combinées

 

4a) Définition

On appelle solutions combinées, celles qui consistent à bâtir le PGM à partir de la table de vérité en partie en arborescence et en partie en alternative complexe ou consécutive (le nombre de solutions est pratiquement illimité).

 

4b) Règle

Une solution combinée doit être recherchée chaque fois que l’étude d’une table de vérité fait apparaître des sous ensembles de données disjoints ou inclus et d’autres non.

 

De manière générale on va trouver 2 catégories de solutions combinées.

- Celles dont le plus haut niveau est constitué par une alternative complexe, auquel cas aucune des variables Booléennes n’est présente dans toutes les expressions.

- Celles dont le plus haut niveau est constitué par la racine d’une arborescence, auquel cas au moins une des variables est présente dans toutes les expressions Booléennes.