Design Patterns und ... Hauptseminar Softwar... Model-based Software...

Software-Entwurf und -Test mit der Unified Modelling Language (UML)

Dipl.-Inf. Claudia Schieber, Dipl.-Inf. Norbert Oster

Seminar im Hauptstudium


"There will always be engineering failures.
But the worst kind of failures are those that could readily be prevented
if only people stayed alert and took reasonable precautions. ...
Engineering responsibility should not require the stimulation that comes in the wake of catastrophe."
[Samuel C. Florman, The Civilized Engineer]

Es gibt kaum noch technische Systeme, in denen die Steuerung nicht über Software bzw. Softwareanteile realisiert wird. Beispielsweise werden im Auto - vom Motormanagement über die Getriebesteuerung bis zum Bremsassistenten - immer mehr Steuerungsfunktionen von Mikroprozessoren übernommen und durch entsprechende Software umgesetzt. In Folge der zunehmenden Komplexität der Softwaresysteme muss man davon ausgehen, dass die entwickelte Software mit Fehlern behaftet ist. Das Testen der Software ist die einzige Nachweismethode, die in der Lage ist, über die Korrektheit des Quellcodes hinaus auch die Eigenschaften des zugrundeliegenden Prozessors sowie des Compilers und des Betriebssystems in die Verifikation mit einzubeziehen. Aus diesem Grunde ist das Testen von Software ein unerlässlicher Bestandteil des Entwicklungsprozesses und durch keine andere Verifikationsmethode zu ersetzen.

Die semi-formale "Unified Modelling Language" (UML) erreichte in den vergangenen Jahren einen großen Verbreitungsgrad in der industriellen Praxis, nicht zuletzt weil sie einen geeigneten Kompromiss zwischen formalen (leicht analysierbaren, jedoch schwer zu erlernenden) und informalen Sprachen darstellt. Als reine Modellierungssprache umfasst sie noch keinen fundierten Softwareentwicklungsprozess, welcher sich von der Anforderungsanalyse über den Entwurf bis hin zur Testphase erstreckt. Da das vollständige Austesten von großen Programmen praktisch nicht möglich ist, gewinnt die Frage nach einer angemessenen Auswahl von Testszenarien an Bedeutung. Ist das zu entwickelte Softwaresystem in UML modelliert, so liegt es nahe, die Modellinformationen auch zur Ermittlung geeigneter Testfälle oder gar Testdaten zu nutzen.

Hierzu bestehen zwar bereits diverse Lösungsansätze, dennoch ist das UML-basierte Testen nach wie vor ein aktuelles und vielfältiges Forschungsgebiet. Mit dieser Fragestellung werden sich die Vorträge des Seminars unter verschiedenen Gesichtspunkten befassen. Es werden unterschiedliche Verfahren behandelt sowie deren Praxiseinsatz durch entsprechende Software-Werkzeuge vorgestellt.

Folgende Fragestellungen werden u.a. behandelt:



top