Go to page
 

Bibliographic Metadata

Title
Model-driven utilisation of software design patterns
Additional Titles
Model-driven utilisation of software design patterns
AuthorTravkin, Dietrich
ParticipantsAnjorin, Anthony ; Zündorf, Albert ; Wehrheim, Heike ; Meyer, Matthias ; Sauer, Stefan
PublishedPaderborn, 2018
Edition
Elektronische Ressource
Description1 Online-Ressource (xxv, 387 Seiten) : Illustrationen
Institutional NoteUniversität Paderborn, Dissertation, 2018
Annotation
Tag der Verteidigung: 18.06.2018
Defended on2018-06-18
LanguageGerman ; English
Document TypesDissertation (PhD)
URNurn:nbn:de:hbz:466:2-30882 
DOI10.17619/UNIPB/1-335 
Files
Modellgetriebener Einsatz von Softwareentwurfsmustern [41.75 mb]
Links
Reference
Classification
Abstract (German)

Softwareentwurfsmuster haben sich in der Softwareentwicklung bewährt und sind weit verbreitet. Sie beschreiben unter anderem, wie Software erweitert oder angepasst werden kann, weswegen das Wissen über in einem Softwaresystem eingesetzte Entwurfsmuster vor Entwurfsänderungen besonders wichtig ist. Sind solche Musterverwendungen nicht geeignet dokumentiert oder bekannt, kann es nachweislich zu erhöhtem Wartungsaufwand, Entwurfsfehlern und schließlich zu Design-Erosion kommen. Zur Reduzierung von Entwurfsfehlern und zur Unterstützung von Entwicklern beim Einsatz von Entwurfsmustern stelle ich in dieser Arbeit meinen modellgetriebenen Ansatz zur semiautomatischen Musteranwendung, Dokumentation und Validierung vor. Dabei werden Entwickler bei der Anwendung von Entwurfsmustern in einem Softwareentwurfsmodell geleitet. Nach Vorgaben der Entwickler wird eine Musterimplementierung im Entwurfsmodell generiert. Gleichzeitig wird die Anwendungsstelle (Musterrollen und ihre Implementierungen) automatisch in einem separaten Modell genau erfasst. Durch ihre explizite Erfassung können Anwendungsstellen nicht mehr so einfach übersehen werden, weil sie bei der Darstellung des Entwurfs, z.B. in Klassendiagrammen, mit Hilfe dafür entwickelter Notationen jederzeit hervorgehoben oder separat dargestellt werden können (d.h. sie sind dokumentiert). Für die Darstellung der detailliert erfassten Anwendungsstellen werden verschiedene Detailgrade angeboten. Wird das Entwurfsmodell geändert, kann seine Konformität zu den angewandten Mustern mit Hilfe der erfassten Musteranwendungsstellen automatisch geprüft und Abweichungen aufgezeigt werden. So können Entwickler einst angewandte Entwurfsmuster entweder bewusst durch andere Lösungen ersetzen oder die versehentliche Abweichung korrigieren.

Abstract (English)

Software design patterns are approved and well-known to software developers. Knowledge about the design patterns applied in a software system is crucial for preparing the system's design changes, since patterns often describe how software can be extended or adapted. If usages of design patterns are not appropriately documented or known, this can evidently lead to increased maintenance effort, design flaws, and eventually to design erosion. In this thesis, in order to reduce the risk for design flaws and to support developers in applying design patterns, I introduce my model-driven approach for semi-automatically applying design patterns as well as automatically documenting and validating the resulting pattern implementations. Developers are led through the step of applying a design pattern in a software design model. According to the developer's choices, a pattern implementation is generated in the design model. In addition, the applied pattern (the pattern roles and their implementations) is accurately and automatically captured in a separate model. Due to their explicit capturing, pattern implementations can be highlighted while viewing the software design, e.g. in class diagrams, or be presented separately (i.e. the pattern usages are documented). Hence, pattern implementations can hardly be missed during design changes. Different views and levels of detail are offered to visualise the precisely captured model of applied patterns. After changing the software design model, its conformance to the design patterns in use can automatically be checked by means of the detailed model of all applied patterns. Violations are automatically revealed. This way, developers can consciously replace earlier pattern implementations with other design solutions or revise their accidental design deviations.

License
CC-BY-NC-ND-License (4.0)Creative Commons Attribution - NonCommercial - NoDerivatives 4.0 International License