Qualitätssicherung durch modellgetriebene Software-Entwicklung

Über Qualitätssicherung in der Software-Entwicklung wurde in ihren Anfängen nicht viel nachgedacht. Wenn ein Fehler auftrat, wurde einfach nachgebessert. Dieser Ansatz ging nur nicht sehr lange gut, denn die entstandenen Fehler haben oftmals nicht nur größere Korrekturen in den Algorithmen, sondern auch einen immensen Pflegeaufwand der Software verursacht. Diese Fehler müssen dann zunächst an allen Positionen identifiziert und korrigiert werden. Die Kosten können plötzlich ungeahnte Ausmaße annehmen!

Aus diesen Gründen haben sich in den letzten Jahren immer mehr Ansätze zur Qualitätssicherung in der Software-Entwicklung etabliert. Neben der Planung, Konfiguration und Durchführung von manuellen und automatisierten Tests kann aber schon bereits im Vorfeld bei der Konzeption einer Applikation auf die Software-Qualität geachtet werden.

Ein konzeptioneller Ansatz ist die modellgetriebene Software-Entwicklung. Hier wird die Struktur der Software bereits vor der Implementierungsphase definiert. Alle Abhängigkeiten und Datenstrukturen, die benötigt werden, werden hierbei bedacht und können per Knopfdruck generiert werden – ein funktionierender und vor allen sofort testbarer Prototyp wird geboren!

Dieser Ansatz klingt zugegebenermaßen sehr allgemein und mag nicht für jede Software geeignet sein. Allerdings haben sich mit der Zeit mächtige Tools wie zum Beispiel WMS entwickelt, welche neben der Definition der Software-Architektur über äußerst komfortable Funktionen verfügen, die am Ende eine individuelle, umfangreiche und schnell einsetzbare Software generieren können.

Um nur einige Beispiele der Möglichkeiten zu nennen:

  • Eine integrierte Benutzer- und Rechteverwaltung: Es müssen lediglich die Daten eingepflegt werden, alles andere wird automatisch integriert.
  • Anbindung verschiedener Datenbank-Typen (Oracle, DB2, MS SQL Server, MySQL Server, Neo4J und SQLite)
  • Umfangreiche eigene Funktionen können unkompliziert programmiert werden.
  • Der Auftraggeber kann für eine „schnelle“ Lösung auf ein existierendes UI-Framework zurückgreifen, eine explizite GUI-Programmierung ist nicht notwendig.
  • Moderne Benutzeröberflächen und zeitgemäße Designs können auch individuell realisiert werden – zum Beispiel unter Berücksichtigung von CI- und CD-Richtlinien.
  • Eine integrierte Workflow Engine kann existierende Geschäftsprozesse in der Software abbilden und vereinfachen (z.B. Genehmigungsprozesse mit Eskalationsstufen).

Tolle Vorteile – aber was hat das nun mit Qualitätssicherung zu tun? Zugegeben, die Antwort ist nicht auf dem ersten Blick ersichtlich, doch ist genau das ein zentraler Bestandteil der modellgetriebenen Software-Entwicklung.

Die beschriebenen Funktionen existieren nicht nur bereits, sondern funktionieren auch! Und zwar in jeder Software, die mit WMS generiert wird. Dadurch gibt es nicht viele verstreute Orte in den Tiefen der Software, in denen sich ein Fehler eigeschlichen haben kann, sondern nur einen, nämlich die WMS-Entwicklungs-Plattform selber. Diese Fehlerquelle wird aber bereits durch Tests und vor allem auch durch den Einsatz bei vielen Kunden und beim Hersteller selber auf das äußerste minimiert. Somit kann man durch die Reduzierung auf nur eine mögliche Fehlerquelle die Qualität der eigenen Applikation enorm steigern.

Mit diesem Ansatz ist die modellgetriebene Software-Entwicklung ein guter Schritt zu mehr Qualität in der Software.