www.fgks.org   »   [go: up one dir, main page]

„Entscheidungstabelle“ – Versionsunterschied

[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
→‎Weblinks: entfernt (Werbung)
Werbelinks nehmen wir nicht
Markierung: Manuelle Zurücksetzung
 
(19 dazwischenliegende Versionen von 16 Benutzern werden nicht angezeigt)
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.
 
== Einsatz ==
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.
Zeile 13:
* Einem Bereich, in dem jeder Bedingungskombination die jeweils durchzuführenden Aktivitäten zugeordnet sind.
 
{| class="prettytablewikitable"
|-
!Tabellenbezeichnung||R1||R2||R3||R4||R5||R6||R7||R8
|-
!colspan="9" alignstyle="text-align:left"| |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
|-
!colspan="9" alignstyle="text-align:left"| |Aktionen
|-
|A Lieferung mit Rechnung ||x|| ||x|| || || || ||
|-
|B Lieferung als Nachnahme || ||x|| ||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 4D auszuführen.
 
== Eigenschaften ==
Zeile 46 ⟶ 47:
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.
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"„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„Fehler - Entscheidungstabelle unvollständig"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 &nbsp;1 abhängt und die Bedingungen 2 und 3 irrelevant sind, lassen sie sich durch eine einzige Regel darstellen:
 
{| class="prettytablewikitable"
|-
!Tabellenbezeichnung||R5 (neu)
|-
!colspan="2" alignstyle="text-align:left" | Bedingungen
|-
|Bedingung 1 || n
|-
|Bedingung 2 ||-
|-
|Bedingung 3 ||-
|-
!colspan="2" alignstyle="text-align:left" | Aktionen
|-
|Aktion 1||
|-
|Aktion 2||
|-
|Aktion 3||
|-
|Aktion 4|| x
|-
|}
 
Die waagerechten Striche werden als „Irrelevanzanzeiger“ oder „Don't“Don’t care-Zeichen“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 ===
 
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“don’t care"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.
 
{| class="prettytablewikitable"
|-
!Tabellenbezeichnung||R3||R4
|-
!colspan="3" alignstyle="text-align:left" | Bedingungen
|-
|Bedingung 1||j|| j
|-
|Bedingung 2||n||-
|-
|Bedingung 3||n|| n
|-
!colspan="3" alignstyle="text-align:left" | Aktionen
|-
|Aktion 1||||
|-
|Aktion 2||||
Zeile 115 ⟶ 118:
Sobald eine Entscheidungstabelle Irrelevanzzeiger enthält, besteht die Möglichkeit, dass die Tabelle inkonsistent wird. Auch hierzu ein Beispiel:
 
{| class="prettytablewikitable"
|-
!Tabellenbezeichnung||R3 ||R4
|-
!colspan="3" alignstyle="text-align:left" | Bedingungen
|-
|Bedingung 1||j||j
Zeile 126 ⟶ 130:
|Bedingung 3||-||n
|-
!colspan="3" alignstyle="text-align:left" | 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 &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 ==
Zeile 155 ⟶ 159:
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„weiter in ET 2"&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.
 
== 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.
* Strunz, H., 1977, Entscheidungstabellentechnik, Hanser, ISBN 3-446-12382-2.
* Moritz, B., Klausdorf/Schwentine 1977, Diagramm-Techniken für den EDV-Praktiker, Selbstverlag.
* DIN 66241
 
== Siehe auch ==
* [[Entscheidungsbaum]]
 
== Literatur ==
* W. Vieweg: ''Die Konstruktion von Entscheidungstabellen''. Gabler, 1973, ISBN 3-409-32872-6
* Irrgang, R., 1995,Irrgang: ''Entscheidungstabellentechnik, Entscheidungstabellen erstellen und analysieren''. Kt. Expertverlag, 1995, ISBN 3-8169-1106-4, 185 S., Diskette (Ed.es, 19) Kt. Expertverlag, ISBN 3-8169-1106-4.
* Binder, R., 1999,Binder: ''Testing Object Oriented Systems, Models, Patterns and Tools,''. Addison-Wesley, 1999.
* Jüttner, G., 1989,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]]