Zum Inhalt springen

Mustersprache

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 4. Januar 2007 um 22:36 Uhr durch Jpp (Diskussion | Beiträge) (Mustersprachen in der Softwaretechnik). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Dieser Artikel wurde zur Löschung vorgeschlagen.

Falls du Autor des Artikels bist, lies dir bitte durch, was ein Löschantrag bedeutet, und entferne diesen Hinweis nicht.

Zur Löschdiskussion

Begründung:Dieser Artikel kann sich nicht entscheiden, ob er vom Hausbau oder von Computerkram schwadronieren will und verliert sich so in wirrem Geschwurbel ohne auch nur ansatzweise zu klären worum zum Geier es hier gehen soll. --Weissbier 14:10, 4. Jan. 2007 (CET)




Eine Mustersprache (engl. pattern language) ist eine Sammlung von Entwurfsmustern. Der Begriff wurde ursprünglich vom Architekten Christopher Alexander geprägt. In seinem an Laien gerichteten Buch A Pattern Language. Towns, Buildings, Construction stellte er 1977 die erste Mustersprache vor. Später wurde das Konzept in andere Fachbereiche übernommen, insbesondere in die Mensch-Computer-Interaktion (Human-Computer Interaction, HCI).

Struktur

Die Entwurfsmuster von Alexander folgen einer festen Struktur; sie beginnen mit einem Kontext und enden mit Referenzen auf andere Muster. Im Kontextteil wird auf verwandte Muster verwiesen, die im Planungsprozess zuvor zu betrachten sind; die Referenzen beinhalten Muster, die später auftreten. Dadurch ergibt sich ein Hypertext, wobei die Verweise typografisch durch Kapitälchen hervorgehoben werden. Dass die Entwurfsmuster als Gesamtheit verstanden werden sollen, wird dadurch gekennzeichnet, dass jedes Muster mit Auslassungspunkten beginnt und endet.

Anhand dieser Querverweise ist es möglich, die Planung in einer Form durchzuführen, die Alexander unfolding (Entfalten) nennt. Dabei behandeln die Muster der höchsten Ebene – also diejenigen, die bei der Planung zuerst betrachtet werden sollen – die Planung von Städten. Weiter unten in der Hierarchie stehende Muster behandeln räumlich kleinere Strukturen, bis hin zu Teilen von einzelnen Räumen. Es handelt sich damit um einen Top-Down-Prozess. Alexander legt Wert darauf, dass die Querverweise ebenso wichtig sind wie die Muster selbst.

Graphentheoretisch kann eine Mustersprache als gerichteter, kreisfreier Graph aufgefasst werden. Dabei entspricht jeder Knoten einem Entwurfsmuster. Die in den Knoten eingehenden Kanten repräsentieren den Kontext des Musters, während die ausgehenden Kanten den Referenzen entsprechen.

Andere Mustersprachen

Die Idee, den Benutzer in den Entwurfsprozess mit einzugegliedern, fand auch in anderen Fachbereichen Anklang, besonders im Bereich der Mensch-Computer-Interaktion. Jennifer Tidwell veröffentlichte 2005 das Buch Designing Interfaces, in dem eine Mustersprache aus ca. 100 Entwurfsmustern beschrieben wird. Dabei deckt sie sämtliche Bereiche der HCI ab.

Jan Borchers schrieb in A Pattern Language for Interactive Music Exhibits drei Mustersprachen aus den Bereichen Blues-Musik, HCI und Softwareentwicklung, um die Kommunikation zwischen diesen drei Fachbereichen zu vereinfachen.

Duyne, Landay und Hong schrieben mit The Design of Sites eine Mustersprache für Websites. Die Mustersprache ist in der Reihenfolge aufgebaut, in der die Probleme im Entwicklungsprozess beim iterativen Entwurf auftauchen.

Die wohl bekannteste Sammlung von Entwurfsmustern, die die sogenannte Viererbande in Design Patterns - Elements of Reusable Object-Oriented Software veröffentlichte, kann insofern nicht als Mustersprache bezeichnet werden, als dass sie mit nur 23 Entwurfsmustern nicht vollständig ist. Sie gab jedoch den Anstoß für die Entwicklung von Mustersprachen in der Softwaretechnologie, wie z. B. für den Entwurf von Softwareentwicklungswerkzeugen und Softwarearchitekturen.

Literatur

  • Christopher Alexander, Sara Ishikawa, Murray Silverstein, Max Jacobson, Ingrid Fiksfahl-King, Shlomo Angel: Eine Muster-Sprache. Städte, Gebäude, Konstruktion. Löcker, Wien 1995, ISBN 3-85409-179-6
  • Jan Borchers: A Pattern Approach to Interaction Design. John Wiley & Sons, Chichester 2001, ISBN 0-471-49828-9
  • Jennifer Tidwell: Designing Interfaces. O'Reilly Media, 2005, ISBN 0596008031
  • Douglas K. van Duyne, James A. Landay, Jason I. Hong: The Design of Sites: Patterns, Principles, and Processes for Crafting a Customer-Centered Web Experience. Addison-Wesley Professional, 2002, ISBN 020172149X
  • James O. Coplien, Douglas C. Schmidt (Hrsg.): Pattern Languages of Program Design. Addison Wesley, 1995, ISBN 0-201-60734-4.