Systems Engineering Trends

Donnerstags in 5 Minuten für Ingenieure und Entscheider: Systems Engineering ohne Hype, dafür mit Tiefgang

Künstliche IntelligenzWerkzeuge

Anforderungsprüfung überall mit einem Klick

Inzwischen gibt es mehr und mehr Werkzeuge für die Anforderungsprüfung — neulich erwähnte ich die Open Source-Bibliothek Vale. Als Nebenprodukt eines Kundenprojekts habe ich einen einfachen Vale-basierten Qualitätscheck entwickelt. Diesen können Sie jetzt über eine Webbrowsererweiterung überall mit einem Klick aktivieren. Das funktioniert in Confluence, Jama oder Polarion.

Welche Regeln Prüfregeln unterstützt werden und wie Sie den Prüfer nutzen können erkläre ich im Folgenden.

Wie es funktioniert

Die Nutzung ist denkbar einfach: Einfach eine beliebige Webseite / Webapp öffnen, das Icon klicken, und schon werden die zu prüfenden Anforderungen grau markiert. Sobald die Prüfung abgeschlossen ist, wird der Text grün hinterlegt (kein Problem) oder rot, mit Fehlermarkierungen. Das folgende 13-Sekunden-Video zeigt, wie es in Confluence funktioniert:

Das gezeigte System ist Semiant, ein von mir mitentwickelter Qualitätsassistent für die Produktentwicklung. Zu Semiant habe ich in diesem Blog schon einiges geschrieben. Semiant benutzt eine Webbrowserextension als Benutzeroberfläche. Dadurch ist es möglich, in jeder Webanwendung aktiv zu werden. Im Video wurde Confluence gezeigt. Doch der Check funktioniert auch in Polarion, DOORS Next, Jama Connect, Codebeamer und fast allen anderen Webseiten und webbasierten Werkzeugen.

Die hier gezeigte Funktionalität ist Teil der kostenlosen Semiant-Extension, die im Chrome-Store erhältlich ist, im Moment allerdings nur für Chrome und Edge.

Ohne KI, dennoch nützlich

Die Bibliothek Vale hatte ich bereits in diesem Blog beschrieben. Vale benutzt eine eigene Syntax, um Prüfregeln zu definieren. Wie der Begriff „Regel“ schon besagt setzt Vale keine KI ein. Allerdings kann Vale mit Hilfe von Natural Language Processing (NLP) einzelne Token klassifizieren, zum Beispiel als Prädikat oder Objekt.

Aktivierte Regeln

Im frei zugänglichen System sind zum Zeitpunkt der Veröffentlichung die folgenden Regeln aktiviert. Das kann sich natürlich über die Zeit ändern. Insbesondere sind dies Standardregeln des Vale-Projekts. Die Regeln wurden nicht speziell für Anforderungen entwickelt. Die Regeln sind für die englische Sprache konzipiert. Manche sind einfach, andere recht komplex:

  • Cliches: Bestimmte Phrasen werden abgemahnt, wie „a far cry“ oder „in a nutshell“
  • Illusions: Wortwiederholung.
  • Passive: Passive Sätze.
  • So: Ein Satz beginnt mit „So“
  • ThereIs: Am Satzanfang ist „There is“, „There are“, etc. verboten.
  • Adverbs: Eine Liste von nicht empfohlenen Adverben wie „quickly“ oder „rarely“.
  • Contractions: Zusammensetzungen sollten genutzt werden, als „aren’t“ statt „are not“.
  • DateOrder: Um Verwechslungen zu vermeiden, müssen Monate mit Buchstaben ausgeschrieben werden.
  • Ellipses: Drei Punkte: …
  • Ordinal: Aufzählungen wie „Secondly“ sollten kein „-ly“ haben.
  • OxfordComma: Bei Aufzählungen ein Komma vor „and“.
  • Semicolon: Ein Semikolon weist auf einen komplexen Satz hin und sollte nicht benutzt werden.
  • SentenceLength: Sätze länger als 30 Wörter.
  • Suspended: Abkürzung bei Aufzählung mit Bindestrich
  • Wordiness: Vereinfachungen mit konkreten Vorschlägen, bspw. „always“ statt „at all times“.

In der Bibliothek von Vale sind noch wesentlich mehr Regeln. Dies sind jedoch diejenigen, die ich für die Anforderungsprüfung für sinnvoll halte. Alle Regeln sind im Vale-Repository zu finden.

Eigene Regeln für die Anforderungsprüfung

Die Notation für Regeln ist recht einfach. Insbesondere ist es kein Hexenwerk, Regeln für die deutsche Sprache zu erstellen.

Das einfachste sind Listen von Wörtern, als zum Beispiel Weak-Words. Prinzipiell ist es auch möglich Satzschablonen zu prüfen. Da kommt Vale allerdings schon an Grenzen. Denn die Aufgabe ist es ja, Fehler bei der Anwendung von Schablonen zu finden. Das wiederum bedeutet, dass wir unser Logik so stricken müssen, dass Fehler erkannt werden.

Ein Beispiel: Eine erfolgreiche Schablone ist das Format für User Stories: „Als <Actor> möchte ich <Funktionalität>, damit <Nutzen>“. Eine Regel könnte den ersten Teil matchen und den fehlenden Nutzen als Fehler anmerken. Hier wird schon klar, dass es mühselig werden kann.

Für ein wirklich gut funktionierendes System müssen in der Regel mehrere Ansätze kombiniert werden, da reicht Vale allein nicht unbedingt aus.

Semiant-Installation

Wer Semiant mit Vale ausprobieren möchte, kann Semiant aus dem Chrome-Store installieren. Zur Verwendung ist das Anlegen eines Kontos zwingend erforderlich.

Nach dem Einloggen sollte das Icon permanent sichtbar gemacht werden und Semiant konfiguriert werden (Semiant Icon > Options). Insbesondere empfehle ich, Vale als Default zu setzen (und optional die anderen Dienste zu deaktivieren):

Empfohlene Einstellung in den Semiant-Optionen für Vale
Empfohlene Einstellung in den Semiant-Optionen für Vale

Und zuletzt: Semiant ist noch im Beta-Stadium. Es gibt eine Reihe von Usability-Verbesserungen, an denen wir arbeiten. Stay tuned!

Photo by charlesdeluvio on Unsplash

Michael Jastram

Creator and Author of SE-Trends