Kapitel 8
Kapitel 8
Kapitel 8
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
380 8 Software-Engineering und DV-Organisation<br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯-⎯⎯⎯<br />
Ein Nachteil von Entscheidungstabellen ist ihr statischer Charakter. Dynamische Strukturen,<br />
die über eine einfache Iteration hinausgehen, können nicht ausgedrückt werden.<br />
Vollständige Entscheidungstabellen<br />
Beim Erstellen einer Entscheidungstabelle mit n Bedingungen beginnt man am besten mit<br />
dem Anlegen einer vollständigen Entscheidungstabelle mit 2 n Entscheidungen. Dabei kann<br />
es geschehen, dass die Tabelle technisch unmögliche Kombinationen von Bedingungen enthält.<br />
Bei dem nachstehend beschriebenen Vereinfachungsschritt lösen sich diese Unmöglichkeiten<br />
jedoch auf. Gelegentlich wird man auch Bedingungen finden, für die in der Spezifikation<br />
gar keine zugehörige Aktion vorgesehen ist oder dass Widersprüchlichkeiten auftauchen.<br />
Das Erstellen einer vollständigen Entscheidungstabelle ist damit auch ein gutes Hilfsmittel<br />
für die Konsistenz- und Vollständigkeitskontrolle des zu Grunde liegenden Entwurfs.<br />
Vereinfachen von Entscheidungstabellen<br />
Im nächsten Schritt kann man die Vereinfachung bzw. Reduzierung der Entscheidungstabelle<br />
in Angriff nehmen. Trifft man zwei Spalten an, welche dieselben Aktionen enthalten und<br />
bei denen sich die Bedingungen lediglich in einer Position unterscheiden, so ist die Bedingung<br />
an dieser Stelle offenbar nicht relevant. In diesem Fall ersetzt man die Ja/Nein-Einträge<br />
an der betreffenden Position durch einen Strich. Da diese Modifikation sowohl in der Spalte<br />
durchgeführt wurde, in der an der fraglichen Position „ja“ eingetragen war als auch in der<br />
Spalte, in der „nein“ eingetragen war, hat man nun zwei identische Spalten, wovon eine entfernt<br />
werden kann. Auf diese Weise verfährt man, bis keine Vereinfachung mehr möglich ist.<br />
Mit diesem Vereinfachungsverfahren kann man Entscheidungstabellen auf Vollständigkeit<br />
prüfen. Man zählt dazu alle Spalten, die keinen Strich als Eintrag haben einfach und alle<br />
Spalten mit Strichen 2 k -fach, wobei k die Anzahl der Striche in der Spalte ist. Die Summe<br />
muss bei n Bedingungen 2 n ergeben. Anhand eines Beispiels soll nun das Erstellen und Vereinfachen<br />
einer Entscheidungstabelle vorgeführt werden.<br />
Beispiel<br />
Die Spezifikation des Problems laute folgendermaßen:<br />
Ein Händler führt Artikel, die in Warengruppen kategorisiert sind. Bestellt ein Kunde pro Jahr Waren<br />
im Wert von weniger als 5 000,- €, so erhält er keinen Rabatt. Liegt der Bestellwert zwischen 5 000,-<br />
und 10 000,- €, so erhält er im Falle der Warengruppen 1, 3 oder 6 8% Rabatt, im Falle der Warengruppen<br />
2, 4 oder 5 10% Rabatt und im Falle aller anderen Warengruppen 5% Rabatt. Liegt der Bestellwert<br />
über 10 000,- €, so erhält der Kunde im Falle der Warengruppen 1, 3 oder 6 15% Rabatt, im<br />
Falle der Warengruppen 2, 4 oder 5 20% Rabatt und im Falle aller anderen Warengruppen 10% Rabatt.<br />
Der Kunde erhält außerdem ein Werbegeschenk zum Jahreswechsel, wenn er einen Rabatt von<br />
mindestens 10% erhalten hat.<br />
Zunächst wird aus diesen Angaben eine vollständige Entscheidungstabelle konstruiert. Man<br />
erkennt, dass vier Bedingungen ausreichen, um alle Entscheidungen zu erfassen, nämlich<br />
Artikelnummer:1,3,6, Artikelnummer:2,4,5, Bestellwert >5000 € und Bestellwert >10000 €. Die<br />
vollständige Entscheidungstabelle muss also der Anzahl der möglichen Entscheidungen entsprechend<br />
2 4 =16 Spalten erhalten. Die Bedingungstabelle der vollständigen Entscheidungstabelle<br />
ist damit festgelegt. Sie enthält allerdings einige Kombinationen, die in der Praxis<br />
nicht auftreten können. Dies betrifft beispielsweise alle Spalten, in denen sowohl für die Bedingung<br />
Warengruppe: 1,3,6 als auch für die Bedingung Warengruppe: 2,4,5 „j“ eingetragen ist.<br />
In der Aktionstabelle wird in den betreffenden Spalten kein Eintrag vorgenommen. Bei der<br />
anschließenden Reduzierung werden dann diese Spalten eliminiert. Die folgende Abbildung<br />
zeigt das Ergebnis.