Wozu modellgetrieben?

Stephan Christmann von Software Quality Lab über die Vorteile der modellbasierten Ansätze in der Software-Entwicklung. [...]

Modelle und Modellierung in der Softwareentwicklung sind kein neues Thema. Erste Ansätze finden sich in den CASE-Tools der 90er-Jahre. Eine Weiterführung zeigte sich in dem MDA/MDSD-Ansatz der Object Management Group (OMG), der weniger die modellgetriebene Erzeugung der kompletten Architektur als vielmehr die partielle Erzeugung von Software Arte­fakten aus Modellen als Ziel verfolgte. Seit einiger Zeit sind auch in der Qualitätssicherung und im Testen unter dem Stichwort MBT („Modellbasiertes Testen“) Ansätze zu finden, die die Effektivität und die Effizienz unter Verwendung von Modellen steigern.

MOTIVATION
Softwaresysteme werden zunehmend komplexer. Dies hat insbesondere auch Auswirkungen auf die Qualitätssicherung. Muss die Entwicklung von Software bereits flexibel auf Änderungen reagieren, so trifft dies verstärkt auch für die Qualitätssicherung und den Test derselben zu. Klassische nachgelagerte Tests, auch wenn sie z.T. über Skripts automatisiert sind, können diese Anforderungen nur bedingt erfüllen, ins­besondere wenn sie im agilen Umfeld ein häufiges und schnelles Feedback zur Qualität des entwickelten Systems liefern sollen. Kommt man zu der Erkenntnis, dass die Anforderungen an den Test im agilen Umfeld nur mit einem hohen Grad an Automatisierung erfüllt werden können, muss auch die Problematik der Wartungsaufwände gelöst werden.

LÖSUNGEN
Modellbasierte Ansätze stellen zusätzliche Lösungen für die oben angerissenen Probleme dar. Sie sind aber keine „Silverbullets“, die alles andere ersetzen. Sie ergänzen vielmehr bei richtiger Verwendung die bestehenden Technologien, um den aktuellen Anforderungen bei der Entwicklung von Software gerecht zu werden. Ein ganz ­wesentlicher Faktor ist die Unterstützung bei der Vermeidung von Fehlern. Wenn Anforderungen von allen Beteiligten richtig verstanden und konsistent interpretiert sind, ist bereits in der Frühphase eines Projekts der Grundstein für das Entstehen von Softwareartefakten in hoher Qualität gelegt. Da die Abbildung von komplexen Systemen in Modellen erfordert, die darin enthaltene Information zielgerichtet zu reduzieren und gegebenenfalls zu abstrahieren, findet ein Dialog aller Beteiligten statt, der das Verständnis maßgeblich fördert, Fragen adressiert und Fehlinterpretation aufdeckt. Dies gilt für die Modellierung des Verhaltens ­eines Systems zur Verwendung und Spezifikation von Testfällen genauso, wie für die Modellierung des Systems selbst. Diese Form der konstruktiven Qualitätssicherung ist zudem unabhängig von dem Zeitpunkt der Umsetzung, womit der Test wiederum parallel zur Entwicklung stattfinden kann. Schon an diesen wenigen Aspekten wird auch deutlich, dass Test und Entwicklung über die Modellierung effizienter zusammenarbeiten, denn auch der Test profitiert von Systemmodellen, da auf diese Weise Architekturrisiken deutlich gemacht werden und entsprechend die Effektivität der spezifizierten Tests erhöht werden kann.

Doch nicht nur in der konstruktiven, sondern auch in der analytischen Qualitäts­sicherung können Effizienzpotenziale abgeschöpft werden, da nicht mehr der ausführbare Test-Code, sondern das Modell und gegebenenfalls der Testfallgenerator angepasst werden muss, was deutlich weniger Wartungsaufwände verursacht. Da ­relativ komplizierte Änderungen in den Anforderungen bei gut aufgestellten Modellen einfach nachgezogen werden können, gewinnt der analytische Ansatz beim Testen im modellgetriebenen Umfeld zudem ein hohes Maß an Flexibilität zurück.

Technologien, die ein hohes Potenzial an Effizienz in sich tragen, stellen höhere Anforderungen, wenn sie eingesetzt werden sollen. Die Lernkurven und Ausbildungen sind anspruchsvoller, die Werkzeuge zum Teil deutlich teurer und die Evaluierungs- und Einführungsprozesse bis zur Amortisierung komplexer und länger. Bei einer wohl überlegten und zielgerichteten Herangehensweise, die die Potenziale realistisch einschätzt und die Risiken und Kosten bewusst im Blick hat, sind die Herausforderungen aber lösbar und kann das Potenzial dieser Technologien sehr gewinnbringend genutzt werden.

* Der Autor Stephan Christmann ist Bereichsleiter Service und Testcenter bei Software Quality Lab GmbH. Mehr zum Thema erfahren Sie bei den Software Quality Days 2014 mit dem Schwerpunktthema  „Model driven approaches for advanced software engineering“. Vom 14 bis 16 Jänner 2014 findet die Konferenz bereits zum sechsten Mal in Folge statt. Es erwarten Sie fünf parallele Tracks, Keynotes, Praxisvorträge, wissenschaftliche Beiträge, Tutorials, eine Fachausstellung und umfassende Möglichkeiten, sich über Trends, Produkte und Innovationen im Bereich Software Qualität zu informieren. Infos unter www.software-quality-days.com.


Mehr Artikel

News

Große Sprachmodelle und Data Security: Sicherheitsfragen rund um LLMs

Bei der Entwicklung von Strategien zur Verbesserung der Datensicherheit in KI-Workloads ist es entscheidend, die Perspektive zu ändern und KI als eine Person zu betrachten, die anfällig für Social-Engineering-Angriffe ist. Diese Analogie kann Unternehmen helfen, die Schwachstellen und Bedrohungen, denen KI-Systeme ausgesetzt sind, besser zu verstehen und robustere Sicherheitsmaßnahmen zu entwickeln. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*