What is it about?

Software development is centered around objects we typically perceive in the real world. Most of the times when developing software, however, we deal with abstractions of objects, so-called classes, and not objects themselves. Standard object models provide insufficient support for interacting with objects directly. We provide an extension to the standard object modeling language, which we refer to as UML++, that closes this gap.

Featured Image

Why is it important?

The quality of software depends on the quality of abstractions it implements. Students of software development need to become proficient in designing and evaluating such abstractions. For this purpose, it is crucial that students are provided with an environment where they can experiment with different abstractions and see the effects they have on the overall software. Our language UML++, which is complemented by the tool UML-MX, addresses this need.

Perspectives

Object modeling is central to information systems development and we have been teaching it for years. We have been frustated with the learning outcomes of students on the one side and the means to examine them on the other side. Our impression is that teaching focuses too much on the pure application of a programming or modeling language and too less on the crucial competencies of abstract and analytical thinking. We thought of alternative ways of teaching object modeling and came up with UML++ and UML-MX.

Pierre Maier
Universitat Duisburg-Essen

Read the Original

This page is a summary of: UML++: Enhancing Student Learning of Object-Oriented Modeling through Executable Objects, September 2024, ACM (Association for Computing Machinery),
DOI: 10.1145/3652620.3687777.
You can read the full text:

Read

Resources

Contributors

The following have contributed to this page