Beslissingstabel

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Beslissingstabellen zijn tabellen die gebruikt kunnen worden om op nauwkeurige en eenvoudige wijze ingewikkelde verbanden weer te geven.[1]

Beslissingstabellen verbinden net als flowcharts voorwaarden (condities) met beslissingen die wel of niet (Y/N) uitgevoerd moeten worden.

Structuur[bewerken]

Een beslissingstabel is normaal gesproken verdeeld in vier gedeelten.

Beslissingstabel
Voorwaarden Alternatieven
Beslissing Acties
  • In het voorwaardengedeelte staan de relevante voorwaarden, ook wel condities, oorzaken of variabelen genoemd, zoals "De printer werkt niet" of "Het rode licht knippert" of "Temperatuur".
  • In het alternatievengedeelte staat of de voorwaarden wel of niet (Y/N) realiteit zijn. Ook zouden hier ranges aangegeven kunnen worden. Als de voorwaarde bijvoorbeeld de watertemperatuur is, kunnen hier waarden staan als "beneden de 0 graden", "tussen de 0 en 100 graden" of "boven de 100 graden".
  • In het beslissingsgedeelte staat welke beslissing mogelijk is, zoals: "Controleer de stroom".
  • In het actiegedeelte staat wanneer (onder welke geldige voorwaarden) de beslissing wordt geadviseerd. (Y)

Veel beslissingstabellen gebruiken bij de alternatieven de tilde (~), die betekent dat iets niet van belang is. Dit kan beslissingstabellen vereenvoudigen.

Met uitzondering van de vier kwadranten zijn er veel verschillen in beslissingstabellen.[2][3] Sommige beslissingstabellen gebruiken eenvoudige "waar/niet waar"- of Y/N-waarden, andere hebben ranges. Ook in het actiegedeelte kan het ingewikkelder door bijvoorbeeld tegelijkertijd verschillende beslissingen te adviseren. Beslissingstabellen kunnen gebruikt worden wanneer er voldoende informatie bekend is.

Voorbeeld[bewerken]

De eenvoudige beslissingstabel is het eenvoudigst te beschrijven. De alternatieven zijn de booleaanse waarden Y/N, net als de beslissingen.

Een technische beheerafdeling maakt de volgende beslissingstabel voor haar medewerkers om printerproblemen te analyseren, gebaseerd op telefonisch verkregen informatie van hun klanten.

Het volgende is een gebalanceerde beslissingstabel.

Printerprobleem
Rules
Voorwaarden Printer werkt niet Y Y Y Y N N N N
Er knippert een rood licht Y Y N N Y Y N N
De printer wordt niet herkend Y N Y N Y N Y N
Beslissing Controleer de stroomaansluiting X
Controleer de verbinding met de computer X X
Controleer de printersoftware X X X X
Controleer/vervang de inkt X X X X
Controleer of het papier niet verstopt zit X X

Dit is natuurlijk maar een eenvoudig voorbeeld, maar het toont wel aan hoe beslissingstabellen werken.

Een beslissingstabel is te controleren op volledigheid. Doordat de voorwaarden booleaans zijn (Y/N), is het aantal mogelijke 'rules' 2 tot de macht aantal voorwaarden. Als er minder rules zijn, dan dekt de tabel niet alle mogelijke situaties af. Het is goed gebruik om dat wel te doen, en expliciet te maken dat er in die gevallen niets hoeft te gebeuren. In bovenstaand voorbeeld is dat bij de meest rechterrule (N-N-N) het geval. Als er meer rules zijn dan mogelijk, dan is de tabel 'overcompleet', en daarmee dubbelzinnig.

Voordelen[bewerken]

Zeker als ze in gebruikerstaal (jip-en-janneketaal) geschreven zijn, vereenvoudigen beslissingstabellen het overleg, bijvoorbeeld tussen gebruikers en informatieanalisten bij de ontwikkeling en implementatie van een informatiesysteem. Ook later, als er getest moet worden, zijn ze heel handig.

Er is gebleken dat beslissingstabellen eenvoudiger te begrijpen zijn dan brokken tekst. Ze worden daarom vaak gebruikt om complexe systemen inzichtelijk en begrijpelijk te maken.[4]

Beslissingstabbellen worden ook in software regelmatig opgenomen. In het volgende eenvoudige voorbeeld wordt een tabel gebruikt.

Statische beslissingstabel
Input Function Pointer
'1' start proces 1)
'2' proces 2
'9' proces 9

Zie ook[bewerken]

Literatuur[bewerken]

  • Dwyer, B. and Hutchings, K. (1977) "Flowchart Optimisation in Cope, a Multi-Choice Decision Table" Aust. Comp. J. Vol. 9 No. 3 p. 92 (september 1977).
  • Fisher, D.L. (1966) "Data, Documentation and Decision Tables" Comm ACM Vol. 9 No. 1 (januari 1966) p. 26–31.
  • General Electric Company (1962) GE-225 TABSOL reference manual and GF-224 TABSOL application manual CPB-l47B (juni 1962).
  • Grindley, C.B.B. (1968) "The Use of Decision Tables within Systematics" Comp. J. Vol. 11 No. 2 p. 128 (augustus 1968).
  • Jackson, M.A. (1975) Principles of Program Design Academic Press
  • Myers, H.J. (1972) "Compiling Optimised Code from Decision Tables" IBM J. Res. & Development (september 1972) p. 489–503.
  • Pollack, S.L. (1962) "DETAB-X: An improved business-oriented computer language" Rand Corp. Memo RM-3273-PR (augustus 1962)
  • Schumacher, H. and Sevcik, K.C. (1976) "The Synthetic Approach to Decision Table Conversion" Comm. ACM Vol. 19 No. 6 (juni 1976) p. 343–351
  • M. Verhelst, De praktijk van beslissingstabellen, Kluwer Deventer/Antwerpen, Studiecentrum NOVI, Amsterdam, 1980, ISBN 90.267.0667.7
Bronnen, noten en/of referenties
  1. "A History of Decision Tables", www.catalyst.com
  2. Decision Table Examples (Gearchiveerde versie van 2 september 2011)
  3. Decision tables
  4. Udo W. Pooch (June 1974). Translation of Decision Tables. ACM Computing Surveys 6 (2): Pages 125-151 . DOI:10.1145/356628.356630.