Entscheidungstabellen

Bei der Entwicklung von Softwaresystemen werden häufig komplexe Regelwerke implementiert. Je komplexer diese Regelwerke sind, desto höher ist die Chance, dass eine Konstellation übersehen wird und diese in der Produktion zu einem fehlerhaften Verhalten des Systems führt.

Entscheidungstabellen eignen sich sehr gut, diese Regelwerke strukturiert und übersichtlich zu dokumentieren.

Um Entscheidungstabellen effizient entwickeln und warten zu können, wurde von der Firma LOHRFINK software engineering GmbH & Co. KG die Software LF-ET entwickelt. Die Software vereinfacht die Arbeit mit Entscheidungstabellen, da folgende Aspekte sich automatisch prüfen lassen:

  • Vollständigkeit
    Die Vollständigkeit einer Entscheidungstabelle ergibt sich aus der Abdeckung aller möglichen Kombinationen von Bedingungswerten. LF-ET kann die Anzahl der nicht abgedeckten Kombinationen berechnen und auf Knopfdruck wird eine Regel mit Bedingungswerten gebildet, die möglichst viele Kombinationen abdeckt. Wenn die Entscheidungstabelle vollständig ist, dann kann jeder möglichen Kombination eine Regel zugeordnet werden.
  • Widerspruchsfreiheit
    Bei komplexen Sachverhalten verliert man schnell den Überblick. Die automatische Regelprüfung kann schnell Regeln entdecken, die sich widersprechen. Dem Anwender werden dann genau diese Regeln gezeigt, damit der Widerspruch aufgelöst werden kann.
  • Möglichkeit zur Verdichtung
    Vor allem bei Anforderungen, die in Freitext formuliert wurden, kann es bei Überführung in eine Entscheidungstabelle leicht passieren, dass man zwei Regeln modelliert, die sich zu einer zusammenfassen lassen, da eine Bedingung als irrelevant angesehen werden kann. LF-ET kann diese Regeln dem Anwender auf Knopfdruck präsentieren und nach Bestätigung durch den Anwender werden die Regeln verdichtet. Das Ergebnis trägt zur Übersichtlichkeit bei.
  • Ungenutzte Bedingungen oder Aktionen
    Nach den automatischen Prüfungen von LF-ET, oder nach manuellen Änderungen, kann es vorkommen, dass zum Beispiel eine Bedingung in jeder Regel irrelevant ist. Das bedeutet, dass diese Bedingung für das Regelwerk nicht ausschlaggebend ist. LF-ET kann diese Bedingungen dem Anwender aufzeigen und mit Bestätigung des Anwenders aus der Entscheidungstabelle entfernen. Die Beschränkung auf relevante Bedingungen hilft dabei, die Entscheidungstabelle übersichtlicher zu halten.

Anforderungen vollständig und kompakt erfassen

Das Regelwerk für das Verhalten eines Systems, das entwickelt oder geändert werden soll, entsteht in der Regel im Anforderungsmanagement. Verantwortlich ist hierfür beispielsweise der Fachbereich.

LF-ET unterstützt mit den genannten Prüfungen die Erstellung und Anpassung von Regelwerken und garantiert damit eine hohe Qualität der Anforderungen durch die Vollständigkeit und eine möglichst kompakte Darstellung.

Die Anwender können die Entscheidungstabelle in LF-ET auch leicht filtern, um alle Regeln im Fokus zu haben, bei denen eine Bedingung oder Aktion eine ganz bestimmte Ausprägung hat. Dieses Vorgehen hilft bei der Überprüfung von Anforderungen auf die fachliche Korrektheit.

Mit Hilfe der Simulation können in der Fachabteilung ganz konkrete Sachverhalte durchgegangen werden und LF-ET präsentiert das zu erwartende Systemverhalten.

Effiziente Unterstützung bei der Umsetzung

Die Entwicklung ist gefordert, die Anforderungen in einer Programmiersprache zu implementieren.

Mit einer Entscheidungstabelle bekommt die Entwicklung die Anforderungen in einer strukturierten Form und kann anhand von Metriken, wie zum Beispiel der Anzahl der Bedingungen und Aktionen, eine gute Aufwandsschätzung abgeben, wenn die Entscheidungstabelle vor der Umsetzung vorliegt.

Der Entwickler muss Prüfungen implementieren, damit das System entscheiden kann, ob eine bestimmte Ausprägung einer Bedingung erfüllt ist. Zusätzlich ist das Systemverhalten für die Aktionen in der Entscheidungstabelle zu implementieren.

LF-ET kann den Entwickler bei der Arbeit unterstützen und Quellcode generieren. Dabei unterstützt LF-ET viele der gängigen Programmiersprachen. Den generierten Quellcode kann man sich vereinfacht als verschachtelte if-Anweisungen vorstellen und für jede Regel gibt es einen Block mit Anweisungen.

Nach Änderungen in der Entscheidungstabelle reicht es aus, den Quellcode einfach neu generieren zu lassen. Damit entfällt der manuelle Aufwand der Entwicklung, die Änderungen zu identifizieren und den bestehenden Quellcode anzupassen.

LF-ET unterstützt die Entwicklung dabei, den fehleranfälligen Teil der verschachtelten Entscheidungen zu generieren und übernimmt damit auch die Wartung bei Änderungen.

Testen mit gewünschter Testabdeckung

Die übersichtliche Struktur der Entscheidungstabelle und einfache Metriken, wie zum Beispiel die Anzahl der Aktionen, ermöglichen den Testern eine gute Grundlage für eine Aufwandsschätzung.

Um aus einer Entscheidungstabelle Testfälle zu gewinnen, ist für jede Regel ein Testfall zu schreiben. Wer das einmal gemacht hat, wird auch festgestellt haben, dass die Testfälle sich in aller Regel aus Testschritten zusammensetzen, die sich in anderen Testfällen wiederholen.

Mit LF-ET kann der Test Analyst die Testanweisungen hinter den Bedingungs- und Aktionswerten der Entscheidungstabelle hinterlegen. Anschließend lassen sich, unabhängig von der Anzahl der Regeln, die Testfälle auf Knopfdruck generieren.

Über die Abdeckung aller Regeln ist auch sichergestellt, dass jeder Bedingungswert und jeder Aktionswert in mindestens einem Testfall verwendet wird. Falls es sich bei Bedingungswerten um numerische Bereiche handelt, lassen sich zusätzlich Testfälle für die Grenzwerte der Bereiche generieren.

Nach Änderungen an der Entscheidungstabelle kann der Test Analyst viel Zeit sparen, da er durch erneutes Generieren automatisch einen vollständigen Satz an aktuellen Testfällen erhält.

Kontaktieren Sie mich, um Ihnen die Vorteile am Beispiel eines Onlineshops zu präsentieren.