09.01.2015 Aufrufe

Kapitel 8

Kapitel 8

Kapitel 8

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!