Zum Inhalt springen

„Entscheidungstabelle“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Werbelinks nehmen wir nicht
Markierung: Manuelle Zurücksetzung
 
(131 dazwischenliegende Versionen von 98 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Entscheidungstabellen''' sind eine vieler Möglichkeiten, komplexe Regelwerke in übersichtlicher Weise darzustellen. Unter einer [[Regel (Richtlinie)|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.
==Definition==


== Einsatz ==
'''Entscheidungstabellen''' sind eine Möglichkeit, 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.
Entscheidungstabellen werden eingesetzt, um komplexe Abhängigkeiten zwischen mehreren Bedingungen und den jeweils auszuführenden Aktionen übersichtlich, vollständig und widerspruchsfrei darzustellen. Anwendungsbeispiele sind der Entwurf von [[Computerprogramm]]en, [[Speicherprogrammierbare Steuerung|speicherprogrammierbaren Steuerungen]] (SPS), [[Softwaretest#Weitere Klassifikationen für Testarten|Testdatenkonstellationen]] und viele andere. Ergänzend wird das Regelwerk oft durch einen übersichtlicheren [[Entscheidungsbaum]] graphisch oder in [[Tabelle|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-Rule]]s) zu ermöglichen. Die Entscheidungstabellen werden dort in einem [[Business-Rule-Repository]] verwaltet.
Entscheidungstabellen werden unter anderem beim Entwurf von [[Programm]]en eingesetzt, um komplexe Abhängigkeiten zwischen mehreren Bedingungen und dem jeweils auszuführenden Code übersichtlich und vollständig darzustellen. Ergänzend wird das Regelwerk oft durch einen übersichtlicheren [[Entscheidungsbaum]] graphisch dargestellt. Die Tabelle ist jedoch systematischer und kann deshalb leichter als der Baum auf Widerspruchsfreiheit und Vollständigkeit überprüft werden.

==Struktur einer Entscheidungstabelle==


== Struktur ==
Eine Entscheidungstabelle besteht aus vier Teilbereichen:
Eine Entscheidungstabelle besteht aus vier Teilbereichen:

* Einer Auflistung der zu berücksichtigenden Bedingungen
* Einer Auflistung der zu berücksichtigenden Bedingungen
* Einer Auflistung der möglichen Aktionen
* Einer Auflistung der möglichen Aktionen
Zeile 14: Zeile 13:
* Einem Bereich, in dem jeder Bedingungskombination die jeweils durchzuführenden Aktivitäten zugeordnet sind.
* Einem Bereich, in dem jeder Bedingungskombination die jeweils durchzuführenden Aktivitäten zugeordnet sind.


{| class="wikitable"

|-
==Grundmuster einer Entscheidungstabelle:==
{| {{prettytable}}
!Tabellenbezeichnung||R1||R2||R3||R4||R5||R6||R7||R8
!Tabellenbezeichnung||R1||R2||R3||R4||R5||R6||R7||R8
|-
|-
!colspan="9" align="left" |Bedingungen
!colspan="9" style="text-align:left"| Bedingungen
|-
|-
|Bedingung 1||j||j||j||j||n||n||n||n
|1 Lieferfähig? ||j||j||j||j||n||n||n||n
|-
|-
|Bedingung 2||j||j||n||n||j||j||n||n
|2 Angaben vollständig? ||j||j||n||n||j||j||n||n
|-
|-
|Bedingung 3||j||n||j||n||j||n||j||n
|3 Bonität in Ordnung? ||j||n||j||n||j||n||j||n
|-
|-
!colspan="9" align="left" |Aktionen
!colspan="9" style="text-align:left"| Aktionen
|-
|-
|Aktion 1||x|| || || ||x|| ||x||
|A Lieferung mit Rechnung ||x|| |||| || || || ||
|-
|-
|Aktion 2|| ||x|| || || ||x|| ||
|B Lieferung als Nachnahme || ||x|| |||| || || ||
|-
|-
|Aktion 3||x|| ||x||x|| ||x|| ||x
|C Angaben vervollständigen || || ||x||x|| || || ||
|-
|-
|Aktion 4|| || ||x||x|| || ||x||
|D Mitteilen: nicht lieferbar|| || || || ||x||x||x||x
|-
|Aktion 5|| || || || || || || ||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 D auszuführen.


== Eigenschaften ==
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 sind die Aktionen 1 und 4 auszuführen.


Im Folgenden werden vier Kriterien zur Beurteilung von Entscheidungstabellen dargestellt.


=== Vollständigkeit ===
==Eigenschaften von Entscheidungstabellen==


Eine Entscheidungstabelle ist vollständig, wenn sämtliche möglichen Bedingungskombinationen erfasst sind. Bei ''n'' Bedingungen sind dies <math>2^n</math> Kombinationen. Man erkennt, dass die Zahl der möglichen Kombinationen mit der Anzahl der Bedingungen exponentiell wächst – bei zehn Bedingungen gibt es bereits <math>2^{10}</math> = 1024 Kombinationen.
Im folgenden werden drei 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 2^n Kombinationen. Man erkennt, dass die Zahl der möglichen Kombinationen mit der Anzahl der Bedingungen exponentiell wächst – bei zehn Bedingungen gibt es bereits 2^10 = 1024 Kombinationen.
In den meisten Fällen führt dies jedoch nicht zu einer gleich hohen Anzahl an Regeln, da Regeln oft redundant sind.
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.&nbsp;B. „RF“) mit allen Bedingungen ''n'' einzuführen.
Läuft das Programm in diese Spalte, kann als Aktion ein Hinweis ausgegeben werden, z.&nbsp;B. „Fehler – Entscheidungstabelle unvollständig“.


===Konsolidierung===
=== Konsolidierung ===


Eine Entscheidungstabelle ist konsolidierbar, wenn mehrere Regeln zu einer zusammengefasst werden können.
Eine Entscheidungstabelle ist konsolidierbar, wenn mehrere Regeln zu einer zusammengefasst werden können.
In dem oben dargestellten Grundmuster können beispielsweise die Regeln R3 und R4 zusammengefasst werden: Da die durchzuführenden Aktionen nur von den Bedingungen 1 und 2 abhängen und die Bedingung 3 irrelevant ist, lassen sie sich durch eine einzige Regel darstellen:
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&nbsp;1 abhängt und die Bedingungen 2 und 3 irrelevant sind, lassen sie sich durch eine einzige Regel darstellen:


{| class="wikitable"
{| {{prettytable}}
!Tabellenbezeichnung||R3 (neu)
|-
|-
!Tabellenbezeichnung||R5 (neu)
!colspan="2" align="left" | Bedingungen
|-
|-
!colspan="2" style="text-align:left"| Bedingungen
|Bedingung 1||j
|-
|-
|Bedingung 2||n
|Bedingung 1 || n
|-
|-
|Bedingung 3||-
|Bedingung 2 ||
|-
|-
|Bedingung 3 ||
!colspan="2" align="left" | Aktionen
|-
|-
!colspan="2" style="text-align:left"| Aktionen
|Aktion 1||
|-
|-
|Aktion 2||
|Aktion 1||
|-
|-
|Aktion 3||x
|Aktion 2||
|-
|-
|Aktion 4||x
|Aktion 3||
|-
|-
|Aktion 5||
|Aktion 4|| x
|-
|-
|}
|}


Der waagerechte Strich wird als „Irrelevanzanzeiger“ oder „Don't care-Zeichen“ bezeichnet. Er zeigt an, dass die Bedingung 3 für die Festlegung der durchzuführenden Aktionen irrelevant ist, sofern die Bedingung 1 erfüllt und die Bedingung 2 nicht erfüllt ist.
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&nbsp;1 erfüllt ist.


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


=== Redundanz ===
Eine Entscheidungstabelle ist redundant, wenn mehrere Regeln identisch sind.
In der folgenden Tabelle sind die Regeln R3 und R4 identisch. Beide Regeln haben die gleichen Bedingungsanzeiger und führen zu den gleichen Aktionen. Eine der Regeln kann entfallen.


Eine Entscheidungstabelle ist redundant, wenn mehrere Regeln identische Fälle enthalten. Ein Fall ist eine Bedingungskombination (z.&nbsp;B. hier: "j,n,n"), die kein “don’t care” (Irrelevanzanzeiger) aufweist.
{| {{prettytable}}
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.

{| class="wikitable"
|-
!Tabellenbezeichnung||R3||R4
!Tabellenbezeichnung||R3||R4
|-
|-
!colspan="3" align="left" | Bedingungen
!colspan="3" style="text-align:left"| Bedingungen
|-
|-
|Bedingung 1||j||j
|Bedingung 1||j|| j
|-
|-
|Bedingung 2||n||n
|Bedingung 2||n||
|-
|-
|Bedingung 3||n||n
|Bedingung 3||n|| n
|-
|-
!colspan="3" align="left" | Aktionen
!colspan="3" style="text-align:left"| Aktionen
|-
|-
|Aktion 1||||
|Aktion 1||||
|-
|-
|Aktion 2||||
|Aktion 2||||
Zeile 112: Zeile 110:
|Aktion 4||x||x
|Aktion 4||x||x
|-
|-
|Aktion 5||
|Aktion 5|| ||
|-
|-
|}
|}


===Widerspruchsfreiheit (Konsistenz)===
=== Widerspruchsfreiheit (Konsistenz) ===


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


{| class="wikitable"
{| {{prettytable}}
|-
!Tabellenbezeichnung||R3 ||R4
!Tabellenbezeichnung||R3 ||R4
|-
|-
!colspan="3" align="left" | Bedingungen
!colspan="3" style="text-align:left"| Bedingungen
|-
|-
|Bedingung 1||j||j
|Bedingung 1||j||j
Zeile 131: Zeile 130:
|Bedingung 3||-||n
|Bedingung 3||-||n
|-
|-
!colspan="3" align="left" | Aktionen
!colspan="3" style="text-align:left"| Aktionen
|-
|-
|Aktion 1|| ||
|Aktion 1|| ||
|-
|-
|Aktion 2|| ||
|Aktion 2|| ||
|-
|-
|Aktion 3||x||x
|Aktion 3||x||x
|-
|-
|Aktion 4||x||
|Aktion 4||x||
|-
|-
|Aktion 5|| ||
|Aktion 5|| ||
|-
|-
|}
|}


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


== Entscheidungstabellen zur Testdatenermittlung ==
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.
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.&nbsp;B. durch die Aktion „weiter in ET&nbsp;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.

== Siehe auch ==
* [[Entscheidungsbaum]]

== Literatur ==
* W. Vieweg: ''Die Konstruktion von Entscheidungstabellen''. Gabler, 1973, ISBN 3-409-32872-6
* R. Irrgang: ''Entscheidungstabellentechnik, Entscheidungstabellen erstellen und analysieren''. Kt. Expertverlag, 1995, ISBN 3-8169-1106-4, 185 S., Diskette (Ed.es, 19).
* R. Binder: ''Testing Object Oriented Systems, Models, Patterns and Tools''. Addison-Wesley, 1999.
* G. Jüttner: ''Entscheidungstabellen und wissensbasierte Systeme''. Oldenbourg, ISBN 3-486-21454-3, 1989.
* H.Strunz: ''Entscheidungstabellentechnik''. Hanser, 1977, ISBN 3-446-12382-2.
* B. Moritz: ''Diagramm-Techniken für den EDV-Praktiker''. Selbstverlag, Klausdorf/Schwentine 1977.
* DIN 66241


[[Kategorie:Theoretische Informatik]]
[[Kategorie:Theoretische Informatik]]
[[Kategorie:Datenstruktur]]
[[Kategorie:Datenstruktur]]
[[Kategorie:Programmiertechnik]]
[[Kategorie:Programmierung]]
[[Kategorie:Business-Rule-Management]]

[[en:Decision table]]

Aktuelle Version vom 7. Februar 2022, 17:46 Uhr

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.

Entscheidungstabellen werden eingesetzt, um komplexe Abhängigkeiten zwischen mehreren Bedingungen und den jeweils auszuführenden Aktionen übersichtlich, vollständig und widerspruchsfrei darzustellen. Anwendungsbeispiele sind der Entwurf von Computerprogrammen, speicherprogrammierbaren Steuerungen (SPS), Testdatenkonstellationen und viele andere. 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.

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
1 Lieferfähig? j j j j n n n n
2 Angaben vollständig? j j n n j j n n
3 Bonität in Ordnung? j n j n j n j n
Aktionen
A Lieferung mit Rechnung x
B Lieferung als Nachnahme x
C Angaben vervollständigen x x
D 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 D auszuführen.

Im Folgenden werden vier Kriterien zur Beurteilung von Entscheidungstabellen dargestellt.

Vollständigkeit

[Bearbeiten | Quelltext bearbeiten]

Eine Entscheidungstabelle ist vollständig, wenn sämtliche möglichen Bedingungskombinationen erfasst sind. Bei n Bedingungen sind dies Kombinationen. Man erkennt, dass die Zahl der möglichen Kombinationen mit der Anzahl der Bedingungen exponentiell wächst – bei zehn Bedingungen gibt es bereits = 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“.

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.

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)

[Bearbeiten | Quelltext bearbeiten]

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

[Bearbeiten | Quelltext bearbeiten]

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.

  • W. Vieweg: Die Konstruktion von Entscheidungstabellen. Gabler, 1973, ISBN 3-409-32872-6
  • R. Irrgang: Entscheidungstabellentechnik, Entscheidungstabellen erstellen und analysieren. Kt. Expertverlag, 1995, ISBN 3-8169-1106-4, 185 S., Diskette (Ed.es, 19).
  • R. Binder: Testing Object Oriented Systems, Models, Patterns and Tools. Addison-Wesley, 1999.
  • G. Jüttner: Entscheidungstabellen und wissensbasierte Systeme. Oldenbourg, ISBN 3-486-21454-3, 1989.
  • H.Strunz: Entscheidungstabellentechnik. Hanser, 1977, ISBN 3-446-12382-2.
  • B. Moritz: Diagramm-Techniken für den EDV-Praktiker. Selbstverlag, Klausdorf/Schwentine 1977.
  • DIN 66241