Ein Ansatz zur Entwicklung von Modellierungswerkzeugen für die softwaretechnische Lehre
Loading...
Date
2007
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Alternative Title(s)
Abstract
Beim Lehren und Lernen graphischer Modellierungssprachen wie der Unified
Modeling Language (UML) ist eine Unterstützung durch entsprechende Werkzeuge
sinnvoll und wünschenswert -- nicht zuletzt, weil es die Lernenden frühzeitig
an einen Umgang mit Werkzeugen gewöhnt, wie er im professionellen Umfeld
Standard ist. Die meisten existierenden Modellierungswerkzeuge (z.B. IBM
Rational Rose oder Borland Together) richten sich jedoch ausschließlich an
die Zielgruppe der professionellen Software-Entwickler und lassen einen
Einsatz in der Lehre völlig außer Acht. Das Ergebnis sind ausgesprochen
schwergewichtige Produkte (im Sinne von Funktionalitätsumfang, benötigtem
Hauptspeicher und CPU-Leistung), deren reichhaltige Möglichkeiten zwar den
Bedürfnissen eines professionellen Umfelds entgegenkommen, aber weit über das
hinausgehen, was in einem Praktikum oder einer Übungsgruppe benötigt wird
oder angemessen ist. Zu viele Funktionen lenken die Studierenden vom
eigentlichen Lehrstoff ab und führen dazu, dass mehr Zeit in die Erlernung
der Verwendung des Werkzeugs als in die eigentlich zu vermittelnde
Modellierungssprache investiert wird. Kommen mehrere Modellierungssprachen
-- und damit mehrere Werkzeuge -- zum Einsatz, multipliziert sich dieser
Aufwand, da die einzelnen Werkzeuge einander meist nicht ähneln. Bei einer
großen Anzahl von Studierenden können auch Lizenzkosten schnell zu einem
Problem werden.
Um diesen Schwierigkeiten zu begegnen, wurde im Rahmen der vorliegenden
Arbeit eine Familie von graphischen Modellierungswerkzeugen auf der Basis
eines speziellen Meta-CASE-Frameworks ausschließlich für die Lehre
entwickelt. Diese Familie umfasst derzeit verschiedene Vertreter für
strukturelle und dynamische Anteile der UML, Petrinetze sowie
Prozessmodellierung und -begleitung auf der Basis des Unified Process. Bei
der Planung und Realisierung dieser Werkzeuge wurde bewusst Wert darauf
gelegt, nicht mit professionellen Produkten zu konkurrieren, sondern
stattdessen leichtgewichtige Werkzeuge zu schaffen, die auf die
Kernfunktionalität des Modellierens reduziert sind. Da alle Werkzeuge die
gleiche technische Basis besitzen, war es möglich, eine einheitliche
Benutzungsschnittstelle zu etablieren, die sich auf notwendige Elemente
konzentriert und damit den Einarbeitungsaufwand minimiert. Gleichzeitig wurde
didaktisch motivierte Funktionalität in die einzelnen Werkzeuge eingebracht,
die in professionellen Produkten nicht zu finden ist. Diese zusätzliche
Funktionalität beinhaltet zum Beispiel ein Hypertextsystem zur Integration
von Lehrstoff sowie Simulations-, Analyse- und Visualisierungsmöglichkeiten,
durch welche die Studierenden beim Lernen der jeweiligen Modellierungssprache
unterstützt werden. Einige der Werkzeuge wurden im Rahmen der Lehre
eingesetzt und evaluiert. Die Erfahrungen, die bei diesen Einsätzen gewonnen
wurden, waren sehr positiv.
With today's software systems becoming more and more complex, teams getting larger, and development itself being distributed across space and time, the importance of a good model of the system under construction is growing. In order to prepare new software engineers for these requirements, it is necessary to teach them during their studies basic modeling concepts as well as concrete modeling languages, the Unfied Modeling Language (UML) surely being one, but not the only one of these. If the size of models used, for example, in assignments approaches that of real-life systems, tool support becomes necessary. Unfortunately, the industrial modeling tools typically used for that purpose, such as Borland Together or IBM Rational Rose, have significant drawbacks when applied in an educational setting. These drawbacks stem from the fact that industrial tools are rather heavyweight pieces of software, both in terms of their feature set and the hardware required to run them smoothly. As a consequence of the complexity, there is a risk that merely the tool handling is taught instead of the particular modeling language or method. If different tools are used for different notations, this situation becomes even worse, since the students have to be familiar with each of the tools before being able to work with them effectively. Being targeted at professional developers who are assumed to be proficient in modeling, industrial tools usually do not include functionality that supports learning a modeling language. Last, but not least, the price of industrial tools quickly becomes a problem for academic institutions. As a solution to the aforementioned problem, the author proposes a specialized Meta-CASE approach to building dedicated modeling tools for Software Engineering education. Based on the approach, a product family of modeling tools has been developed. This family currently provides support for modeling structural and dynamical aspects of the UML, for modeling Petri Nets, and for process modeling based on the Unified Process. While designing and implementing the tools, emphasis was placed upon not competing with professional tools. Instead, the tools are restricted to the core functionality of modeling -- thus lightweight -- and have a clear focus on usability. Since all tools are built upon the same technical foundation in form of a Java framework, it was easy to establish a consistent user interface that minimizes the learning effort for the tools themselves. Additionally, the tools have been augmented with new functionality that is motivated by didactical considerations and is typically not found in industrial tools. This includes, for instance, a hypertext system that allows linking hypertext pages to model elements and vice versa. It can be used for documenting a tool, a modeling language, or a particular model. Some of the tools also include facilities for simulating, analyzing, or visualizing models, in order to support learning the semantics of a modeling language. These facilities also play an important role in motivating the students. The tools have been and still are used in Software Engineering education with great success. Formative evaluations have been conducted for one representative tool of the family. The results of these evaluations have been very promising.
With today's software systems becoming more and more complex, teams getting larger, and development itself being distributed across space and time, the importance of a good model of the system under construction is growing. In order to prepare new software engineers for these requirements, it is necessary to teach them during their studies basic modeling concepts as well as concrete modeling languages, the Unfied Modeling Language (UML) surely being one, but not the only one of these. If the size of models used, for example, in assignments approaches that of real-life systems, tool support becomes necessary. Unfortunately, the industrial modeling tools typically used for that purpose, such as Borland Together or IBM Rational Rose, have significant drawbacks when applied in an educational setting. These drawbacks stem from the fact that industrial tools are rather heavyweight pieces of software, both in terms of their feature set and the hardware required to run them smoothly. As a consequence of the complexity, there is a risk that merely the tool handling is taught instead of the particular modeling language or method. If different tools are used for different notations, this situation becomes even worse, since the students have to be familiar with each of the tools before being able to work with them effectively. Being targeted at professional developers who are assumed to be proficient in modeling, industrial tools usually do not include functionality that supports learning a modeling language. Last, but not least, the price of industrial tools quickly becomes a problem for academic institutions. As a solution to the aforementioned problem, the author proposes a specialized Meta-CASE approach to building dedicated modeling tools for Software Engineering education. Based on the approach, a product family of modeling tools has been developed. This family currently provides support for modeling structural and dynamical aspects of the UML, for modeling Petri Nets, and for process modeling based on the Unified Process. While designing and implementing the tools, emphasis was placed upon not competing with professional tools. Instead, the tools are restricted to the core functionality of modeling -- thus lightweight -- and have a clear focus on usability. Since all tools are built upon the same technical foundation in form of a Java framework, it was easy to establish a consistent user interface that minimizes the learning effort for the tools themselves. Additionally, the tools have been augmented with new functionality that is motivated by didactical considerations and is typically not found in industrial tools. This includes, for instance, a hypertext system that allows linking hypertext pages to model elements and vice versa. It can be used for documenting a tool, a modeling language, or a particular model. Some of the tools also include facilities for simulating, analyzing, or visualizing models, in order to support learning the semantics of a modeling language. These facilities also play an important role in motivating the students. The tools have been and still are used in Software Engineering education with great success. Formative evaluations have been conducted for one representative tool of the family. The results of these evaluations have been very promising.
Description
Table of contents
Keywords
Modellierung, Werkzeuge, Lehre, Softwaretechnik