Entscheidungstabelle

Entscheidungstabelle

Entscheidungstabellen sind eine vieler Möglichkeiten, komplexe Regelwerke in übersichtlicher Weise darzustellen. Unter einer Regel ist dabei eine Vorschrift zu verstehen, welche Aktionen bei Vorliegen einer gegebenen Kombination von Bedingungen durchzuführen sind. Ein Regelwerk ist eine Zusammenstellung unterschiedlicher Regeln.

Inhaltsverzeichnis

Einsatz

Entscheidungstabellen werden unter anderem beim Entwurf von Projekten, Computerprogrammen und speicherprogrammierbaren Steuerungen (SPS) eingesetzt, um komplexe Abhängigkeiten zwischen mehreren Bedingungen und dem jeweils auszuführenden Code oder den Aktionen übersichtlich und vollständig darzustellen. Ergänzend wird das Regelwerk oft durch einen übersichtlicheren Entscheidungsbaum graphisch oder in Matrizen dargestellt. Die Tabelle(n) sind jedoch systematischer und können deshalb leichter als der Baum auf Widerspruchsfreiheit und Vollständigkeit überprüft werden. Dabei darf der Arbeitsaufwand bei der Formulierung, bei der Abstimmung mit den Beteiligten und der Kontrolle nicht unterschätzt werden. Dafür ergibt sich eine enorme Erleichterung bei der Projektabwicklung, dem Änderungsdienst und der Kostenkalkulation.

Entscheidungstabellen werden auch in einem Business-Rule-Management-System (BRMS) verwendet, um sowohl die Definition und die automatische Ausführung von Regelwerken (Business-Rules) zu ermöglichen. Die Entscheidungstabellen werden dort in einem Business-Rule-Repository verwaltet.

Struktur

Eine Entscheidungstabelle besteht aus vier Teilbereichen:

  • Einer Auflistung der zu berücksichtigenden Bedingungen
  • Einer Auflistung der möglichen Aktionen
  • Einem Bereich, in dem die möglichen Bedingungskombinationen zusammengestellt sind
  • Einem Bereich, in dem jeder Bedingungskombination die jeweils durchzuführenden Aktivitäten zugeordnet sind.
Tabellenbezeichnung R1 R2 R3 R4 R5 R6 R7 R8
Bedingungen
Lieferfähig j j j j n n n n
Angaben vollständig j j n n j j n n
Bonität in Ordnung j n j n j n j n
Aktionen
Lieferung mit Rechnung x x
Lieferung als Nachnahme x x
Angaben vervollständigen x x
Mitteilen: nicht lieferbar x x x x

Die Spalten R1 bis R8 bezeichnen die jeweiligen Regeln. Am Beispiel der Regel 7 sei erläutert, wie die Regeln zu lesen sind: Wenn die Bedingung 3 erfüllt ist, die Bedingungen 1 und 2 hingegen nicht, dann ist die Aktion 4 auszuführen.

Eigenschaften

Im Folgenden werden vier Kriterien zur Beurteilung von Entscheidungstabellen dargestellt.

Vollständigkeit

Eine Entscheidungstabelle ist vollständig, wenn sämtliche möglichen Bedingungskombinationen erfasst sind. Bei n Bedingungen sind dies 2n Kombinationen. Man erkennt, dass die Zahl der möglichen Kombinationen mit der Anzahl der Bedingungen exponentiell wächst – bei zehn Bedingungen gibt es bereits 210 = 1024 Kombinationen. In den meisten Fällen führt dies jedoch nicht zu einer gleich hohen Anzahl an Regeln, da Regeln oft redundant sind. Wenn trotz aller Sorgfalt oder durch geänderte Umstände eine Entscheidungstabelle nicht (mehr) alle Fälle abdeckt, kommt man am Ende ohne Ergebnis und Aktion aus der letzten Bedingungsspalte. Daher ist es sinnvoll, vor allem für Computerprogramme, nach der letzten Bedingungsspalte eine zusätzliche Spalte (z. B. "RF") mit allen Bedingungen "n" einzuführen. Läuft das Programm in diese Spalte, kann als Aktion ein Hinweis ausgegeben werden, z. B. "Fehler - Entscheidungstabelle unvollständig".

Konsolidierung

Eine Entscheidungstabelle ist konsolidierbar, wenn mehrere Regeln zu einer zusammengefasst werden können. In dem oben dargestellten Grundmuster können beispielsweise die Regeln R5, R6, R7 und R8 zusammengefasst werden: Da die durchzuführenden Aktionen nur von der Bedingung 1 abhängt und die Bedingungen 2 und 3 irrelevant sind, lassen sie sich durch eine einzige Regel darstellen:

Tabellenbezeichnung R5 (neu)
Bedingungen
Bedingung 1 n
Bedingung 2 -
Bedingung 3 -
Aktionen
Aktion 1
Aktion 2
Aktion 3
Aktion 4 x

Die waagerechten Striche werden als „Irrelevanzanzeiger“ oder „Don't care-Zeichen“ bezeichnet. Sie zeigen an, dass die Bedingungen 2 und 3 für die Festlegung der durchzuführenden Aktion irrelevant sind, sofern die Bedingung 1 erfüllt ist.

Allgemein gibt es für die Konsolidierung wiederum zwei Regeln: Führen 1. zwei Regeln zur selben Aktion oder Aktionsfolge UND unterscheiden sich diese 2. nur in einer Bedingungsanzeige, so können diese beiden Regeln konsolidiert werden. Anstelle der unterschiedlichen Bedingungsanzeiger tritt in der konsolidierten Regel der Irrelevanzzeiger.

Redundanz

Eine Entscheidungstabelle ist redundant, wenn mehrere Regeln identische Fälle enthalten. Ein Fall ist eine Bedingungskombination (z. B. hier: "j,n,n"), die kein "don't care" (Irrelevanzanzeiger) aufweist. In der folgenden Tabelle enthält die Regel R4 ("j,j,n" und "j,n,n") auch den Fall der Regel R3. Dabei führen beide Regeln zu denselben Aktionen, deswegen liegt Redundanz vor, andernfalls Widerspruch. Also kann die Regel R3 entfallen, ohne dass ein Informationsverlust eintritt.

Tabellenbezeichnung R3 R4
Bedingungen
Bedingung 1 j j
Bedingung 2 n -
Bedingung 3 n n
Aktionen
Aktion 1
Aktion 2
Aktion 3 x x
Aktion 4 x x
Aktion 5

Widerspruchsfreiheit (Konsistenz)

Sobald eine Entscheidungstabelle Irrelevanzzeiger enthält, besteht die Möglichkeit, dass die Tabelle inkonsistent wird. Auch hierzu ein Beispiel:

Tabellenbezeichnung R3 R4
Bedingungen
Bedingung 1 j j
Bedingung 2 n n
Bedingung 3 - n
Aktionen
Aktion 1
Aktion 2
Aktion 3 x x
Aktion 4 x
Aktion 5

Die Regel R3 besagt, dass die Aktionen 3 und 4 ausgeführt werden sollen, sobald die Bedingung 1 erfüllt und Bedingung 2 nicht erfüllt ist. Die Regel R4 besagt hingegen, dass nur die Aktion 3 ausgeführt werden soll, wenn zusätzlich Bedingung 3 nicht erfüllt ist. Beide Regeln widersprechen sich also, die Entscheidungstabelle ist daher inkonsistent.

Entscheidungstabellen zur Testdatenermittlung

Nachdem Entscheidungstabellen erstellt und validiert wurden, kann man sie zur Testdatengenerierung nutzen. Im Folgenden sind Strategien genannt, wie Testdaten generiert werden können und wie eine Testsuite sinnvoll eingeschränkt werden kann.

  • All-Explicit Variants
  • All-Variants, All-True, All-False, All-Primes
  • Each-Condition/All-Conditions
  • Binary Decision Diagram (BDD) Determinants
  • Variable Negation (*wird nicht darauf eingegangen)
  • Nonbinary Variable Domain Analysis

Bei allen Verfahren stellt sich immer die Problematik zwischen Testumfang und den Kosten für den jeweiligen Test. Die Schwierigkeit bei Entscheidungstabellen liegt darin, dass ihre Erstellung sehr aufwändig ist. Software enthält viele Bedingungen und in der Regel sind die Spezifikationen unvollständig, so dass eine Herleitung einer Entscheidungstabelle zu aufwändig ist. Hat man erstmal eine Entscheidungstabelle erstellt, lassen sich die genannten Teststrategien automatisiert anwenden.

Umfangreiche bzw. komplizierte Abläufe kann man leichter in Entscheidungstabellen erfassen, indem man mehrere zusammenhängende Entscheidungstabellen erstellt. Dazu werden Aktionen, die selbst in weitere Unteraktionen aufgegliedert werden können, als eigene Entscheidungstabellen dargestellt. Die Abzweigung aus der ersten Entscheidungstabelle erfolgt dann dort z. B. durch die Aktion "weiter in ET 2". Es ist dabei hilfreich, die erste Entscheidungstabelle so zu gestalten, dass sie in erster Linie den direkten, schnellsten oder am häufigsten beschrittenen Ablauf darstellt, die Abzweigungen die jeweils weniger häufig beschrittenen. Dadurch ergibt sich eine Art Hierarchie der Entscheidungstabellen. Das gesamte System aus Abläufen wird dadurch übersichtlich.

Literatur

  • Irrgang, R., 1995, Entscheidungstabellentechnik, Entscheidungstabellen erstellen und analysieren, 185 S., Diskette (Ed.es, 19) Kt. Expertverlag ISBN 3-8169-1106-4
  • Binder, R., 1999, Testing Object Oriented Systems, Models, Patterns and Tools, Addison Wesley
  • Jüttner, G., 1989, Entscheidungstabellen und wissensbasierte Systeme, Oldenbourg ISBN 3-486-21454-3
  • Moritz, B., Klausdorf/Schwentine 1977, Diagramm-Techniken für den EDV-Praktiker, Selbstverlag
  • DIN 66241

Siehe auch

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Entscheidungstabelle — Entscheidungstabelle,   Tabelle zur anschaulichen, übersichtlichen und leicht handhabbaren Beschreibung, Analyse und Dokumentation von Entscheidungszusammenhängen. In den Zeilen sind die relevanten Bedingungen aufgeführt, in den Spalten die… …   Universal-Lexikon

  • Entscheidungstabelle — sprendinių lentelė statusas T sritis automatika atitikmenys: angl. decision table vok. Entscheidungstabelle, f rus. таблица решений, f pranc. table de décision, f …   Automatikos terminų žodynas

  • Entscheidungstabelle — Decision Table; tabellenartige Darstellungsform von Sachverhalten, bei denen in Abhängigkeit von Bedingungen verschiedene Aktionen zur Ausführung kommen sollen …   Lexikon der Economics

  • Back-To-Back-Test — Dynamische Software Testverfahren sind bestimmte Prüfmethoden um beim Softwaretest Fehler in Software aufzudecken. Während bei statischen Verfahren die zu testende Software nicht ausgeführt wird, setzen dynamische Verfahren die Ausführbarkeit der …   Deutsch Wikipedia

  • Diversifizierender Test — Dynamische Software Testverfahren sind bestimmte Prüfmethoden um beim Softwaretest Fehler in Software aufzudecken. Während bei statischen Verfahren die zu testende Software nicht ausgeführt wird, setzen dynamische Verfahren die Ausführbarkeit der …   Deutsch Wikipedia

  • Dynamische Code-Analyse — Dynamische Software Testverfahren sind bestimmte Prüfmethoden um beim Softwaretest Fehler in Software aufzudecken. Während bei statischen Verfahren die zu testende Software nicht ausgeführt wird, setzen dynamische Verfahren die Ausführbarkeit der …   Deutsch Wikipedia

  • Funktionsorientierter Test — Dynamische Software Testverfahren sind bestimmte Prüfmethoden um beim Softwaretest Fehler in Software aufzudecken. Während bei statischen Verfahren die zu testende Software nicht ausgeführt wird, setzen dynamische Verfahren die Ausführbarkeit der …   Deutsch Wikipedia

  • Testmethoden — Dynamische Software Testverfahren sind bestimmte Prüfmethoden um beim Softwaretest Fehler in Software aufzudecken. Während bei statischen Verfahren die zu testende Software nicht ausgeführt wird, setzen dynamische Verfahren die Ausführbarkeit der …   Deutsch Wikipedia

  • Dynamisches Software-Testverfahren — Dynamische Software Testverfahren sind bestimmte Prüfmethoden um beim Softwaretest Fehler in Software aufzudecken. Während bei statischen Verfahren die zu testende Software nicht ausgeführt wird, setzen dynamische Verfahren die Ausführbarkeit der …   Deutsch Wikipedia

  • Abkürzungen/Computer — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. A [nach oben] AA Antialiasing AAA authentication, authorization and accounting, siehe Triple A System AAC Advanced Audio Coding AACS …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”