Unterstützung von Entwurfsmustern im Quelltext durch bedeutungsorientierte Dokumentation

Die Bedeutung erweiterbarer und wartbarer Software wachst mit zunehmender Komplexitat des Technologiemarktes. Es gibt zahlreiche Ansatze, Entwickler bei der Erstellung derartiger Software zu unterstutzen. Ein Ansatz sind Entwurfsmuster. Sie helfen bei der Reduzierung des Problems des Architekturzerfalls, der durch naturgemas steigende Entropie und Komplexitat wahrend des Software-Entwicklungsprozesses entsteht. Die Anzahl der dokumentierten Entwurfsmuster nimmt durch neue Publikationen stetig zu. Die Auswahl geeigneter Muster fur einen Anwendungsfall wird dadurch immer schwieriger. Weiterhin wird die in der Praxis nur bedingt verfugbare und unzureichende Unterstutzung fur Entwickler bei der Arbeit mit Entwurfsmustern der intensiven Beschaftigung in der Forschung mit diesem Thema nicht gerecht. Diese Arbeit leistet einen Beitrag zur besseren Unterstutzung des Entwicklers bei der Arbeit mit Mustern jeglicher Granularitat. Die formale Dokumentation dieser wird thematisiert, um anhand dessen die Anwendbarkeit eines Musters fur einen objektorientierten Quelltext festzustellen und das Muster mit Hilfe von Quelltexttransformationen werkzeuggestutzt anzuwenden. Sie stellt eine durchgangige Methodik bereit fur das Anreichern von Programmtext mit semantischen Informationen, die bei der Musterselektion und -anwendung dienlich sind. Die vorgestellte Methodik ist fur den Einsatz in Quelltextrezensionen geeignet, deckt also die Forward- und Reengineering-Phase bei der Software-Entwicklung ab.

[1]  Doo-Hwan Bae,et al.  An automated refactoring approach to design pattern-based program transformations in Java programs , 2002, Ninth Asia-Pacific Software Engineering Conference, 2002..

[2]  Wolfgang Pree,et al.  Design Patterns for Object-Oriented Software Development , 1994, Proceedings of the (19th) International Conference on Software Engineering.

[3]  Jonathan Schaeffer,et al.  Generative design patterns , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[4]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[5]  Ilka Philippow,et al.  Supporting Program Comprehension for Refactoring Operations with Annotations , 2006, SoMeT.

[6]  Mel Ó Cinnéide,et al.  A methodology for the automated introduction of design patterns , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[7]  Wolfgang Pree,et al.  Meta Patterns - A Means For Capturing the Essentials of Reusable Object-Oriented Design , 1994, ECOOP.

[8]  Martin P. Robillard,et al.  Representing concerns in source code , 2007, TSEM.

[9]  Greg Nelson,et al.  Extended static checking for Java , 2002, PLDI '02.

[10]  Toni Bünter Eine Architektur für ein Software-Wartungssystem , 1992 .

[11]  Jonathan Schaeffer,et al.  Using generative design patterns to generate parallel code for a distributed memory environment , 2003, PPoPP '03.

[12]  Rick Kazman,et al.  Architecture Reconstruction Guidelines, Third Edition , 2001 .

[13]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.