Kapitel 8

Kapitel 8 Kapitel 8

www2.fh.rosenheim.de
von www2.fh.rosenheim.de Mehr von diesem Publisher
09.01.2015 Aufrufe

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

8 Software-Engineering und DV-Organisation 381 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯-⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Bedingungstabelle Warengruppe: 1,3,6 j j j j j j j j n n n n n n n n Warengruppe: 2,4,5 j j j j n n n n j j j j n n n n Bestellwert > 5000 € j j n n j j n n j j n n j j n n Bestellwert > 10000 € j n j n j n j n j n j n j n j n Funktionstabelle Kein Rabatt x x x Rabatt 5% x Rabatt 8% x Rabatt 10% x x Rabatt 15% x Rabatt 20% x Weihnachtsgeschenk x x x x Abbildung 8.2.7: Beispiel für die im Text beschriebene Entscheidungstabelle. Eine Analyse dieser vollständigen Entscheidungstabelle zeigt, dass man durch Zusammenfassen die Anzahl der Spalten von 16 auf 7 reduzieren kann: Bedingungstabelle Warengruppe: 1,3,6 j j n n n n - Warengruppe: 2,4,5 n n j j n n - Bestellwert > 5000 € j j j j j j n Bestellwert > 10000 € j n j n j n - Funktionstabelle Kein Rabatt Rabatt 5% Rabatt 8% x Rabatt 10% x x Rabatt 15% x Rabatt 20% x Weihnachtsgeschenk x x x x Abbildung 8.2.8: x x Die in Abbildung 8.2.7 angegebene Entscheidungstabelle wurde durch Zusammenfassen von Spalten reduziert und dadurch stark vereinfacht. Abbildung 8.2.9 zeigt zum Vergleich noch eine Darstellung der in Abbildung 8.2.8 angegebenen reduzierten Entscheidungstabelle in Form eines Flussdiagramms.

8 Software-Engineering und DV-Organisation 381<br />

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯-⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />

Bedingungstabelle<br />

Warengruppe: 1,3,6 j j j j j j j j n n n n n n n n<br />

Warengruppe: 2,4,5 j j j j n n n n j j j j n n n n<br />

Bestellwert > 5000 € j j n n j j n n j j n n j j n n<br />

Bestellwert > 10000 € j n j n j n j n j n j n j n j n<br />

Funktionstabelle<br />

Kein Rabatt x x x<br />

Rabatt 5%<br />

x<br />

Rabatt 8%<br />

x<br />

Rabatt 10% x x<br />

Rabatt 15%<br />

x<br />

Rabatt 20%<br />

x<br />

Weihnachtsgeschenk x x x x<br />

Abbildung 8.2.7: Beispiel für die im Text beschriebene Entscheidungstabelle.<br />

Eine Analyse dieser vollständigen Entscheidungstabelle zeigt, dass man durch Zusammenfassen<br />

die Anzahl der Spalten von 16 auf 7 reduzieren kann:<br />

Bedingungstabelle<br />

Warengruppe: 1,3,6 j j n n n n -<br />

Warengruppe: 2,4,5 n n j j n n -<br />

Bestellwert > 5000 € j j j j j j n<br />

Bestellwert > 10000 € j n j n j n -<br />

Funktionstabelle<br />

Kein Rabatt<br />

Rabatt 5%<br />

Rabatt 8%<br />

x<br />

Rabatt 10% x x<br />

Rabatt 15%<br />

x<br />

Rabatt 20%<br />

x<br />

Weihnachtsgeschenk<br />

x x x x<br />

Abbildung 8.2.8:<br />

x<br />

x<br />

Die in Abbildung 8.2.7 angegebene Entscheidungstabelle wurde durch Zusammenfassen von Spalten<br />

reduziert und dadurch stark vereinfacht.<br />

Abbildung 8.2.9 zeigt zum Vergleich noch eine Darstellung der in Abbildung 8.2.8 angegebenen<br />

reduzierten Entscheidungstabelle in Form eines Flussdiagramms.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!