22
IGL301 - Spécification et vérification des exgiences 1 Table de décision (ref : Bray section 12.4 - pages 259 à 266)

Table de décision

  • Upload
    salim

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

Table de décision. (ref : Bray section 12.4 - pages 259 à 266 ). Spécification du comportement. on définit les interfaces externes sans limiter les choix de conception spécification "boîte noire". Étapes. Identifier les entrées et les sorties de chaque fonction (ex: avec DFD) - PowerPoint PPT Presentation

Citation preview

Page 1: Table de décision

IGL301 - Spécification et vérification des exgiences

1

Table de décision

(ref : Bray section 12.4 - pages 259 à 266)

Page 2: Table de décision

IGL301 - Spécification et vérification des exgiences

2

Spécification du comportement

• on définit les interfaces externes

• sans limiter les choix de conception

• spécification "boîte noire"

Page 3: Table de décision

IGL301 - Spécification et vérification des exgiences

3

Étapes

1. Identifier les entrées et les sorties de chaque fonction(ex: avec DFD)

2. Definir les entrées valides(ex: préconditions sur les entrées dans pseudo-code)

3. Definir la sortie pour chaque entrée valide(relation entrée-sortie)(ex: pseudo-code, table de décision, automate, machine à états)

Page 4: Table de décision

IGL301 - Spécification et vérification des exgiences

4

Table de décision

• permet de définir la relation causale entre– condition sur les entrées– sortie produites

• utilile si les conditions sont complexes– trop difficile d’utiliser des if-then-else

imbriqués de maniere complexe

Page 5: Table de décision

IGL301 - Spécification et vérification des exgiences

5

Table de décision

• avantages– facile à lire– précise et non ambiguë– exhaustive

• inconvénients– usage limité– peu d’outils (traitement de texte, chiffrier)

Page 6: Table de décision

IGL301 - Spécification et vérification des exgiences

6

Structure

Decision rules ->> 1 2 3 4 5 . . . . Condition 1 Y Y Y Y N N . . . Condition 2 Y Y . . . . . . . . . . . . . . Action 2 O N O O . . . . Action 2 O N N N . . . . . . . . . . . . . .

Page 7: Table de décision

IGL301 - Spécification et vérification des exgiences

7

Variante structure

Cond A Cond B . . . . Actions -> Action 1 Action 2 . . . . . .

affiche les actions sur une seule ligne

Page 8: Table de décision

IGL301 - Spécification et vérification des exgiences

8

Structure

• Condition– fondée sur les paramètres d’entrée de la

fonction– identifie

• valeurs, ou• intervales de valeurs, ou• condition sur les valeurs

• Action– sorties de la fonction

Page 9: Table de décision

IGL301 - Spécification et vérification des exgiences

9

Nombre de règles de décision

• n1 * n2 * ...

– où ni représente le nombre de valeurs pour

le paramètre i de la fonction

• peut donc être très grand

• compresser la table si la sortie est indépendante de certains paramètres d’entrée dans certains cas

Page 10: Table de décision

IGL301 - Spécification et vérification des exgiences

10

Exemple

heating controller

pump

valve

boiler

switches

thermostats

Page 11: Table de décision

IGL301 - Spécification et vérification des exgiences

11

Texte de la spécification ..."If hot water only is switched on, then the 3-way valve is set to the hot water position (A), the boiler and the pump are both turned on only when the tank temperature is below the tank thermostat setting. If heating only is switched on, then the valve is set to the heating position (B), the pump runs continuously and the boiler is turned on only when the room temperature is below the room thermostat setting. If the hot water and heating are both switched on, and both of the thermostat settings exceed the ambient temperature, then the boiler will be on, the pump will be running and the valve will be in the central position (C). If neither thermostat setting exceeds the ambient temperature, the boiler is turned off but the pump remains on and the valve is set to position B. If only the hot water tank thermostat setting exceeds its ambient temperature then boiler and pump are both on and the valve is set to position A. If only the room thermostat setting exceeds its ambient temperature then boiler and pump are both on but the valve is set to position B. If neither heating nor hot water are switched on then boiler and pump are turned off and the position of the 3-way valve is irrelevant."

Page 12: Table de décision

IGL301 - Spécification et vérification des exgiences

12

Table de décision

heating on off hotwater on off on off tank thermostat ov un ov un ov un ov un room thermostat ov un ov un ov un ov un ov un ov un ov un ov un boiler on Y Y Y Y Y Y Y pump on Y Y Y Y Y Y Y Y Y Y 3-way valve B B A C B B B B A A A A - - - -

ov(er) = ambient temperature over thermostat setting, un(der) = ambient temperature under thermostat setting,A = hot water position, B = heating, C = both.

Page 13: Table de décision

IGL301 - Spécification et vérification des exgiences

13

Table de décision compressée

central heating 1 2 3 4 5 6 7 8 9 heating on off hotwater on off on off tank thermostat ov un - ov un - room thermostat ov un ov un ov un - - - boiler on Y Y Y Y Y pump on Y Y Y Y Y Y Y 3 way valve B B A C B B A A -

Page 14: Table de décision

IGL301 - Spécification et vérification des exgiences

14

Règle du Else

triangle 1 2 3 4 5 ELSE A = B Y Y N N N B = C Y N Y N N A = C - - - Y N A + B > C - Y - - Y B + C > A - - Y - - A + C > B - - - Y Y Equilateral Y

Isosceles Y Y Y

Irregular Y

Not a triangle Y

Page 15: Table de décision

IGL301 - Spécification et vérification des exgiences

15

Tables reliéescentral heating (table 1)

1

2

3

4

heating on off hot water on off on off see table 2 see table 3 see table 4 pump and

boiler off

table 2 (heat & h/w on)

1

2

3

4

tank thermostat ov un room thermostat ov un ov un boiler on Y Y Y pump on Y Y Y Y 3-way valve B B A C

Page 16: Table de décision

IGL301 - Spécification et vérification des exgiences

16

Arbre de décision

Condition 1

Value 1 Value 2

Condition 2 Condition 2

Value 3 Value 3Value 4 Value 4

Outcome 1 Outcome 2 Outcome 3 Outcome 4

Page 17: Table de décision

IGL301 - Spécification et vérification des exgiences

17

Matrice de décisionCondition 1

Co

dition2

OutcomeMatrix

n

Page 18: Table de décision

IGL301 - Spécification et vérification des exgiences

18

Matrice de décisionExam mark

Courseworkmark

0 20 40 60 80 1000

20

40

60

80

100

Fail

Merit

Pass

Distinction

Page 19: Table de décision

IGL301 - Spécification et vérification des exgiences

19

Exercice 1

• Une personne peut recevoir une pension si elle est agée de 65 ou plus, si elle a suffisamment contribuée et si elle n’occupe pas un emploi à temps plein. Si elle est agée de 70 ans ou plus, la condition d’emploi ne s’applique pas.

Page 20: Table de décision

IGL301 - Spécification et vérification des exgiences

20

Exercice 2

• Un système de gestion des configurations doit gérer l’accès aux fichiers. Une demande d’accès peut-être soit “write” ou “read”. L’accès courant au fichier est soit “write”, “read” ou “aucun”. L’état du fichier peut être “new” ou “release”. On peut accorder à un utilisateur un accès en read ou write si le fichier n’a aucun accès courant et si le fichier n’est pas release. S’il est release, il peut être accédé seulement en read. Si l’accès courant est “write”, alors on peut accorder seulement un accès en read. L’auteur du fichier doit être avisé si quelqu’un obtient un accès en write ou si on essaie d’obtenir un accès sur un fichier “release”

Page 21: Table de décision

IGL301 - Spécification et vérification des exgiences

21

Exercice 2

current access read write none requested access read write read write read write file type n r n r n r n r n r n r allow access y y n n y n n n y y y n notify DA y y y y y y

Page 22: Table de décision

IGL301 - Spécification et vérification des exgiences

22

Devoir

• Écrire une table de décision qui décrit l’accès d’un membre m d’une classe A à partir d’une classe B selon les règles du langage java. Traitez tous les accès (private, public, protected et package).