[Back]


Diploma and Master Theses (authored and supervised):

A. Bohn:
"Towards an Understanding of the Practical Use of UML";
Supervisor: G. Kappel, M. Wimmer, T. Mayerhofer; Institut für Softwaretechnik und Interaktive Systeme, 2013; final examination: 11-28-2013.



English abstract:
UML is a standardized modeling language that is used in many application domains. Many companies use UML within their processes, and many UML models exist in different domains. With UML, a variety of systems can be modeled, for example software systems, business processes, and production processes. Since UML is a language that is used for many application domains, the question arises how UML is used in practice. Currently, there are only a few empirical studies about the practical use of UML. None of these studies has analyzed real world models. In most cases the usage of UML has been analyzed by surveys or investigating current UML literature and UML modeling tools.

Therefore, this work is devoted to the research question of how UML is used in practice and tries to answer this question by analyzing real world models.
In particular, the following questions are answered:
Which UML language units are used?
Which UML language concepts are used?
Which UML diagrams are used?
Which relationships are used between UML concepts of different UML language units?
Which UML profiles are used to provide additional information in UML models?

To answer these questions, 92 UML models, which are publicly accessible on the Web and created with the Enterprise Architect (EA) modeling tool, were quantitatively analyzed. EA was chosen as modeling tool because it provides its own API which enables to access the content of a model with script languages such as JavaScript or Visual Basic.

The results gave an insight into the usage of UML. Particularly, it could be determined which of the considered UML concepts and UML diagrams were often used and which were rarely used. Furthermore, the results showed between which UML language units more or less relationships were modeled. UML profiles were used quite commonly, but only a few different UML profiles have been used

Finally, the master thesis revealed that further evaluations concerning the usage of UML are needed to obtain more reliable data about how UML is used in practice.

German abstract:
UML ist eine standardisierte Modellierungssprache, die in vielen Bereichen Anwendung findet. Viele Unternehmen benutzen UML für ihre Modellierungstätigkeiten und man darf annehmen, dass zahlreiche UML Modelle in unterschiedlichsten Domänen existieren. Mit UML können verschiedenste Systeme modelliert werden, seien es beispielsweise Softwaresysteme, Geschäftsprozesse oder Produktionsprozesse. Da UML eine Sprache ist, die für zahlreiche Einsatzgebiete verwendet wird, stellt sich die Frage, wie UML in der Praxis Verwendung findet. Derzeit gibt es nur wenige empirische Studien über die praktische Verwendung von UML. Keine dieser Studien hat sich dabei mit echten Modellen aus der Praxis beschäftigt. Zum Großteil wurden Daten über die Verwendung von UML mittels Umfragen oder aus der gängigen UML Literatur und den verwendeten Modellierungswerkzeugen ermittelt.

Diese Arbeit widmet sich daher der Forschungsfrage, wie UML in der Praxis Verwendung findet, und versucht diese durch die Analyse von Modellen aus der Praxis zu beantworten.
Für die Beantwortung dieser Forschungsfrage wurden folgende Detailfragen definiert:
Welche UML Spracheinheiten werden verwendet?
Welche UML Sprachkonzepte werden verwendet?
Welche UML Diagramme werden verwendet?
Welche Beziehungen werden zwischen UML Sprachkonzepten verschiedener UML Spracheinheiten
verwendet?
Welche UML Profile werden verwendet um zusätzliche Informationen in UML Modellen zu erfassen?

Um diese Fragen zu beantworten, wurden 92 UML Modelle, die öffentlich im Web verfügbar sind und mit dem UML Modellierungstool Enterprise Architect (EA) erstellt wurden, automatisiert quantitativ analysiert. EA wurde gewählt, da dieses Modellierungswerkzeug eine eigene API zur Verfügung stellt, mit der Modellelemente mit Scriptsprachen wie JavaScript oder Visual Basic ausgelesen werden können. Die Ergebnisse gaben einen Einblick in die Verwendung von UML. Insbesondere konnte eruiert werden, welche der in der Analyse beachteten UML Sprachkonzepte sowie UML Diagramme häufig bzw. weniger häufig verwendet wurden. Des Weiteren konnte aus den Resultaten festgestellt werden, zwischen welchen UML Spracheinheiten mehr oder weniger starke Beziehungen modelliert wurden. UML Profile wurden zwar durchgehend und relativ häufig verwendet, jedoch wurden nur wenige verschiedene UML Profile verwendet. Weitere Evaluierungen betreffend des UML Sprachgebrauchs sind sicher nötig, um fundiertere Kenntnisse über die Verwendung von UML in der Praxis zu erhalten.

Keywords:
UML, Modellierung, Modeling, objektorientiert, object-oriented, UML in der Praxis, UML in practice, UML Profile


Electronic version of the publication:
http://publik.tuwien.ac.at/files/PubDat_223100.pdf