1 / 22

Table de décision

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)

salim
Download Presentation

Table de décision

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Table de décision (ref : Bray section 12.4 - pages 259 à 266) 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" IGL301 - Spécification et vérification des exgiences

  3. Étapes • Identifier les entrées et les sorties de chaque fonction(ex: avec DFD) • Definir les entrées valides(ex: préconditions sur les entrées dans pseudo-code) • Definir la sortie pour chaque entrée valide(relation entrée-sortie)(ex: pseudo-code, table de décision, automate, machine à états) 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 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) IGL301 - Spécification et vérification des exgiences

  6. Structure IGL301 - Spécification et vérification des exgiences

  7. Variante structure affiche les actions sur une seule ligne 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 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 IGL301 - Spécification et vérification des exgiences

  10. Exemple 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." IGL301 - Spécification et vérification des exgiences

  12. Table de décision ov(er) = ambient temperature over thermostat setting, un(der) = ambient temperature under thermostat setting, A = hot water position, B = heating, C = both. IGL301 - Spécification et vérification des exgiences

  13. Table de décision compressée IGL301 - Spécification et vérification des exgiences

  14. Règle du Else IGL301 - Spécification et vérification des exgiences

  15. Tables reliées IGL301 - Spécification et vérification des exgiences

  16. Arbre de décision IGL301 - Spécification et vérification des exgiences

  17. Matrice de décision IGL301 - Spécification et vérification des exgiences

  18. Matrice 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. 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” IGL301 - Spécification et vérification des exgiences

  21. Exercice 2 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). IGL301 - Spécification et vérification des exgiences

More Related