Praxis der Forschung SS15/On the Appropriate Rationale for Using Design Patterns and Pattern Documentation

Aus SDQ-Wiki

BibTeX Eintrag

@inproceedings{Durdik2014a,
	Author = {Zoya Durdik and Ralf Reussner},
	Booktitle = {{Proceedings of Software Engineering 2014 (SE2014)}},
	Note = {to appear},
	Title = {{On the Appropriate Rationale for Using Design Patterns and Pattern Documentation}},
	Year = {2014}}

Abstract

Software design patterns are proven solutions for recurring design problems. Decisions on the use of a pattern in a soft- ware design form a specific but important class of design decisions. However, despite their importance, these design decisions are often mistaken and rarely documented. In our survey, about 90% of the participants confirmed to have ex- perienced such problems. Therefore, we propose an app- roach that supports the appropriate use of design patterns and documentation of such decisions. The main idea is to create a pattern catalogue, where a pattern (as part of its catalogue entry) is annotated with general questions on the appropriateness of the use of the pattern. The envisioned benefits of this approach are a more appropriate use of de- sign patterns, and documented design decisions on the use of patterns with positive effects on evolution. In this paper, we present the enriched pattern catalogue, and results of a survey with 21 software engineers as a validation of some entries of the pattern catalogue.

Eigene Zusammenfassung

  • Softwareentwurfsmuster sind Lösungen für wiederkehrende Probleme/Designentscheidungen in der Softwareentwicklung.
  • Diese Entwurfsmuster sind in der Regel gut dokumentiert.
  • Jedoch werden durch das Verwenden von Entwurfsmustern nicht nur Probleme gelöst, sondern auch welche geschaffen. Durch den Einsatz von Entwurfsmustern kann es vorkommen, dass die Software komplexer vom Design her wird als notwendig. Das führt dazu, dass diese schwerer zu Verstehen ist, auch wenn die Entwurfsmuster an sich recht gut dokumentiert sind.
  • Eine Umfrage hat gezeigt, dass 90% der Softwareentwickler bereits Probleme mit der Anwendung oder bereits angewendeten Entwurfsmuster oder mit der Dokumentation dieser haben.
  • Dafür gibt es mehrere mögliche Gründe:
    • Die intuitive Anwendung der Entwurfmuster in einem informellen Prozess statt eines rationalen/begründeten Prozesses. Basiert meist auf Erfahrungen, die schon gesammelt wurden. Neue Entwurfsmuster sind nicht unbedingt bekannt.
    • Kein Standard, um Designentscheidungen ausreichend zu dokumentieren.
    • Verknüpfung zwischen Anforderungen und Designentscheidungen müssen von Hand erstellt werden.
  • Der Ansatz baut auf einem Entwurfsmusterkatalog auf, in dem diese mit generellen Fragen zur Verwendung des Entwurfsmusters annotiert sind.
  • Die Vorteile des Ansatzes sind:
    • Passendere Entwurfsmuster werden öfters verwendet, auch von weniger erfahrenen Softwareentwicklern.
    • Semiautomatische Dokumentation mit dem Setzen einer Verknüpfung zur Anforderung. Verbessert die Wartbarkeit/Weiterentwicklung.
    • Anforderungen, welche das Design beeinflusse, kristallisieren sich heraus und können somit besser betrachtet werden.

Ergebnis

  • 71% meinten, dass dieser Ansatz die Eigenschaften und Konsequenzen eines bestimmten Entwurfsmusters besser bekannt macht.
  • Bei 52% löste der Ansatz die Dokumentationsproblematik
  • Die Fragen, welche zum Entwurfsmuster annotiert sind, waren zu 95% verständlich.

Notizen

Verweise