Modellierung

So klappt’s mit der UML

Seite: 2/2

Anbieter zum Thema

Aus diesem Vorgehen ergibt sich die Lösung eines weiteren typischen Problems. Bei Firmen mit eigenen Testabteilungen erhalten diese einen Prototypen inkl. C-Source-Code und das ursprüngliche Pflichtenheft, um mit den Tests zu starten. In den Tests werden Zustände erkannt, in denen der Prototyp nicht so reagiert wie im Pflichtenheft beschrieben. In vielen Fällen beginnt jetzt der aufwändige Teil der Arbeit, nämlich nachträglich herauszufinden, ob es sich um eine geänderte Eigenschaft des Produktes handelt und das Pflichtenheft an dieser Stelle veraltet ist oder ein tatsächliches Fehlverhalten vorliegt.

Hier liegt ein weiterer Nutzen aus der UML. Sie besitzt Diagrammtypen, mit denen sich das prinzipielle Verhalten in Form von Abläufen beschreiben lässt. In vielen Fällen können auf Basis dieser Diagramme bereits festgelegte Abläufe im Pflichtenheft (Requirements Engineering) beschrieben werden. Zu diesen Diagrammen können im Verlauf des Designs die Interfaces spezifiziert werden. Dies ermöglicht diese Diagramme direkt als Testfälle wiederzuverwenden.

Da mit der UML eine formale Notation verwendet wird, ist diese auch für Test-Tools verständlich; die beste Voraussetzung Testabläufe zu automatisieren und das sogar auf Basis der aktuellen Requirements (übrigens eine der Forderungen in der Norm 61508 oder SPICE). Die UML ermöglicht auch eine viel effizientere Wiederverwendung von implementierten Modellen und Code.

Bessere Verstehbarkeit und Verständnis für die Architektur

Offensichtlich erhöht die UML als grafische Notation die Verstehbarkeit. Ein Bild sagt mehr als tausend Worte, aber was genau ist mit Verstehbarkeit gemeint? Die UML ist eine Notation, die nicht nur die Verständigung zwischen Entwicklerkollegen und Personen anderer Ingenieurs-Disziplinen erleichtert. Sie wird auch von Nicht-Softwareentwicklern verstanden. Es kann immer am aktuellen Stand des Modells kommuniziert werden.

Verstehbarkeit bedeutet auch, schnell ein tiefes Verständnis der Software zu erreichen. Dieses liegt häufig im Bereich des Architekturdesigns, also der Frage, was passiert an anderen Stellen meines Systems, wenn an dieser Stelle diese Änderung durchgeführt wird? In C gibt es nur sehr wenig bis gar keine Konstrukte, die die Architektur einer Software beschreiben. Jegliches Wissen über die Architektur existiert oft nur in den Köpfen der Entwickler. Einer der größten Vorteile der UML gegenüber herkömmlichen Hochsprachen ist, dass sie Konstrukte zur Modellierung der Laufzeit und Kommunikationsarchitektur besitzt und vor allem das Design von Interfaces unterstützt.

Warum sich UML rechnet: bis zu 30% effizienter

Viele Vorteile der UML ergeben sich durch den Einsatz von Informationen über den ganzen Entwicklungsprozess vom Requirements Engineering bis zum Test und automatisierten Arbeitsschritten auf Basis dieser Informationen. Die UML wird nicht umsonst als Modellierungssprache bezeichnet. Sie besitzt gegenüber Hochsprachen einen wesentlich erweiterten Notationsumfang. Angefangen von Elementen zum Requirements Engineering über Elemente zur Modellierung der Architektur bis hin zu Elementen zur Modellierung von Ablaufverhalten. Das ist eine elementare Voraussetzung um Arbeitsschritte zu automatisieren.

Mit UML ist in der Praxis eine Effizienzsteigerung von 20 bis 30% in einigen Monaten zu erreichen. Die Kosten für alles was dazu notwendig ist (Schulung, Tools, entfallene Arbeitszeit für Einarbeitung …) liegen bei etwa 30.000 € pro Arbeitsplatz. Werden diesen einmaligen Investitionen die Personalkosten gegenübergestellt, dann ergibt sich eine Amortisation nach spätestens einem Jahr. In den Folgejahren bleibt der gewonnene Effizienzgewinn erhalten und kann entsprechend eingesetzt werden z.B. zur Verkürzung der Markteinführungszeit oder zur Verbesserung der Qualität.

*Dipl. Ing. (FH) Andreas Willert ist Geschäftsführer und Gesellschafter der Firma Willert Software Tools, Buchautor und seit 1998 Referent zum Thema Embedded Software Design u. a. an der Technischen Universität Esslingen. Kontakt: awillert@willert.de

(ID:269153)