Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

GI-FG-2.1.9: AK Frameworks Framework-Dokumentation mit Entwurfsmustern

Ähnliche Präsentationen


Präsentation zum Thema: "GI-FG-2.1.9: AK Frameworks Framework-Dokumentation mit Entwurfsmustern"—  Präsentation transkript:

1 GI-FG-2.1.9: AK Frameworks Framework-Dokumentation mit Entwurfsmustern
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 GI-FG-2.1.9: AK Frameworks Framework-Dokumentation mit Entwurfsmustern Klaus Quibeldey-Cirkel; Georg Odenthal (am Rechner) Universität Siegen, FB 12, Technische Informatik, Siegen © Klaus Quibeldey-Cirkel, Uni Siegen

2 Übersicht Begriffe Framework-Dokumentation Diskussion
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Übersicht Begriffe “Muster”, “Framework” “Design-Muster” - “Meta-Muster” Framework-Dokumentation à la “HotDraw” sonstwie Diskussion Werkzeugunterstützung Schema zur FW-Dokumentation mit Mustern © Klaus Quibeldey-Cirkel, Uni Siegen

3 Literatur zum Vortrag &
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Literatur zum Vortrag & © Klaus Quibeldey-Cirkel, Uni Siegen

4 “Muster” in der allgemeinen Literatur in der Software-Technik
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion “Muster” in der allgemeinen Literatur Vorlage, nach der etwas hergestellt wird beispielhaftes Vorbild regelmäßige, sich wiederholende Struktur in der Software-Technik kontextbezogenes Problem-Lösungs-Paar © Klaus Quibeldey-Cirkel, Uni Siegen

5 Historie I Musterbücher dokumentieren "Stand der Handwerks-künste".
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Historie I Musterbücher in der Antike im Mittelalter im 19. u. 20. Jh. dokumentieren "Stand der Handwerks-künste". & [2, S. 138] © Klaus Quibeldey-Cirkel, Uni Siegen

6 GI-FG-2.1.9-AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996
Historie II Architektur (1976) Christopher Alexander: “154 Teenager´s Cottage*” & [3, S. 723 ff.] © Klaus Quibeldey-Cirkel, Uni Siegen

7 Aktualität Software-Technik Konferenzen
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Aktualität Software-Technik Erich Gamma et al. (Sachkenntnis im Framework-Kontext!) Hillside Group Siemens AG, sd&m patterns/Lists.html Konferenzen PLoP ´94 ..., UP ´97 ... EuroPLoP ´96 ... patterns/conferences/ Expertenwissen der Autoren: Erich Gamma: ET++ (Dissertation) Richard Helm: Contracts Ralph E. Johnson: HotDraw John M. Vlissides: InterViews/UniDraw © Klaus Quibeldey-Cirkel, Uni Siegen

8 “Framework” Halbfabrikat (käuflich)
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion “Framework” Halbfabrikat (käuflich) Klassenverband (keine Klassenbibliothek) Invertierter Kontrollfluß: “Don´t call us, we call you!” Framework-Definition generische Lösung mit kooperierenden Klassen für verwandte Probleme mit einer vorgegebenen Ablaufstruktur & [4, S. 56] © Klaus Quibeldey-Cirkel, Uni Siegen

9 *ilities Eigen- schaften guter Frameworks Praxis ... & [2, S. 129]
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 *ilities Eigen- schaften guter Frameworks Reusability Flexibility Maintainability Praxis ... kaum Orientierungs- wissen durch symmetrische Klassen- Strukturen [2] & [2, S. 129] © Klaus Quibeldey-Cirkel, Uni Siegen

10 “Design-Muster” (Gamma et al.)
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 “Design-Muster” (Gamma et al.) dokumentieren Mikro-Architekturen (Mikro-Frameworks bei Wolfgang Pree; Verband aus 3-4 Klassen) & [1, 12] © Klaus Quibeldey-Cirkel, Uni Siegen

11 “Design -Muster” II GoF-Beschreibungsschema (“Gang of Four”)
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion “Design -Muster” II GoF-Beschreibungsschema (“Gang of Four”) Mustername und Kategorie Zweck Auch bekannt als Motivation Anwendbarkeit Struktur Teilnehmer Interaktionen Konsequenzen Implementierung Beispielcode Bekannte Anwendungen Verwandte Muster alexandrinische Form: Problem (Kräfte), Kontext, Lösung © Klaus Quibeldey-Cirkel, Uni Siegen

12 “Strategie-Muster”: MVC
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion “Strategie-Muster”: MVC bestimmt Makro-Architektur Doku-Fokus: invariante Strukturaspekte hier: Trennung der Belange (David Parnas) und starke Kohäsion vs. lose Kopplung (Herbert A. Simon) Duden-Definition für “Strategie”: “... genauer Plan des eigenen Vorgehens, der dazu dient, ein militärisches, politisches, psychologisches o. ä. Ziel zu erreichen, u. in dem man diejenigen Faktoren, die in die eigene Aktion hineinspielen könnten, von vornherein einzukalkulieren versucht.” [Hervorhebung des Referenten] Software-Kontext: Ein Strategie-Muster legt die Über-alles-Architektur (Makro-Architektur) fest - also das, was über der Zeitachse der Versionierung eines Software-Produkts konstant bleibt (vgl. Architektur-Begriff bei G. Booch). Ursprung in SmallTalk (dort GUI-Framework) & [1, 257] © Klaus Quibeldey-Cirkel, Uni Siegen

13 “Taktik-Muster”: Beobachter
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 “Taktik-Muster”: Beobachter bestimmt Mikro-Architektur Doku-Fokus: variante Strukturaspekte hier: Anzahl der von einem Objekt abhängigen Objekte sowie die Art, in der die Objekte aktualisiert werden Duden-Definition für “Taktik”: “... Kunst der Anordnung u. Aufstellung ... auf genauen Überlegungen basierende, von bestimmten Erwägungen bestimmte Art u. Weise des Vorgehens, berechnendes, zweckbestimmtes Verhalten.” [Hervorhebung des Referenten] Software-Kontext: Auf der taktischen Entwurfsebene gibt es im allgemeinen mehrere Alternativen, eine Strategie zu unterstützen. Die Auswirkungen eines Taktik-Musters sind prinzipiell lokalisierbar und begrenzt (Mikro-Architektur, vgl. Mechanismus-Begriff bei G. Booch). & [1, 258] © Klaus Quibeldey-Cirkel, Uni Siegen

14 MVC & Beobachter & [5, 5] Taktik: flexible Aktualisierung
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion MVC & Beobachter Taktik: flexible Aktualisierung Strategie: “Trennung der Belange”: starke Kohäsion & lose Kopplung & [5, 5] © Klaus Quibeldey-Cirkel, Uni Siegen

15 Praxisbeispiel Strategie-Muster: Schnittstellen-Kapselung
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Praxisbeispiel Strategie-Muster: Schnittstellen-Kapselung invarianter Strukturaspekt: Protokoll der Schnittstelle Taktik-Muster: Fassade varianter Strukturaspekt: Austauschbarkeit der Kommunikationsstruktur zum Subsystem © Klaus Quibeldey-Cirkel, Uni Siegen

16 “Meta-Muster” (Wolfgang Pree)
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 “Meta-Muster” (Wolfgang Pree) Framework-Kontext: generisch: Entwurf deskriptiv: Dokumentation präskriptiv: Lernhilfe Doku-Fokus Meta-Beschreibungen der Taktik-Muster (Hot Spots vs. Frozen Spots) Hypertext-Editor für Meta-Muster 2. Buch [4a]: “FrameworkPatterns” © Klaus Quibeldey-Cirkel, Uni Siegen

17 “Meta-Muster” II Frozen Spots: Templates Hot Spots: Hooks T-Klassen
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion “Meta-Muster” II Frozen Spots: Templates T-Klassen T()-Operationen Hot Spots: Hooks H-Klassen H()-Operationen hRef-Beziehungen & [4, 161] © Klaus Quibeldey-Cirkel, Uni Siegen

18 Zwischenbilanz ... Musterbegriff: Problem-Lösungs-Paar
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion Zwischenbilanz ... Musterbegriff: Problem-Lösungs-Paar Entwurfsmuster: neue “literarische Form” (Textsorte) Musterbuch: literarische Gattung mit Tradition Musterbewegung in der Informatik: Fortsetzung des Wiederverwendungsprinzips auf einer höheren Stufe der Wertschöpfung nicht die einzelne Klasse einer Klassenbibliothek, sondern der abstrahierte Entwurf eines Klassenverbandes wird wiederverwendbar © Klaus Quibeldey-Cirkel, Uni Siegen

19 ... Lehr-, Lern- und Diskussionsvehikel allgemeines Schema
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion ... Lehr-, Lern- und Diskussionsvehikel Muster dokumentieren Erfahrungswissen. James O. Coplien: “Aggressive Disregard for Originality” Entwurfsmuster sind reproduzierbare Kopien ihrer selbst. Sie manifestieren sich erst nach ungezählten Entwurfszyklen (die Punkte im Sierpinski-Fraktal stehen für die Redesigns). Entwurfsmuster sind “kristallisiertes Wissen” aus einem langen Erfahrungsprozeß. Muster sind sprachbildend: Entwurfsvokabular. allgemeines Schema Problem, (Kräfte), Kontext, Lösung & [2, S. 123] © Klaus Quibeldey-Cirkel, Uni Siegen

20 ... Entwurfsmuster = Entwurfsmethode Muster sind vernetzt:
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion ... Entwurfsmuster = Entwurfsmethode Muster sind vernetzt: Mustersprachen (Christopher Alexander) Mustersysteme (Frank Buschmann et al.) Entwurfsmuster = Strukturinformation Strategie-Muster Strukturinvarianten Taktik-Muster Strukturvarianten © Klaus Quibeldey-Cirkel, Uni Siegen

21 ... Pro Muster Kontra Muster
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion ... Pro Muster Wiederverwendung von Sachkenntnis (Erfahrungswissen) Wiedererkennung von Strukturen (Orientierungswissen) effizientes Kommunikations-, Lehr- und Lernvehikel Kontra Muster Validierung nur durch Erfahrung, nicht durch Test keine direkte Code-Wiederverwendung täuschend einfach: Schach-Analogie © Klaus Quibeldey-Cirkel, Uni Siegen

22 Schach-Analogie (Doug Schmidt)
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion Schach-Analogie (Doug Schmidt) Grundregeln lernen Figuren, Bewegungen, Brettgeometrie etc. Prinzipien lernen strategischer und taktischer Wert einer Figur, einer Stellung etc. Meister studieren Bewegungs- und Konstellationsmuster verstehen, memorieren, wiederholt anwenden Algorithmen, Datenstrukturen, Sprachen etc. strukturiertes, modulares, objektorientiertes Programmieren Analyse-, Design- und Codierungsmuster verstehen, memorieren, wiederholt anwenden © Klaus Quibeldey-Cirkel, Uni Siegen

23 GI-FG-2.1.9-AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996
Visuelle Analogie (anläßlich einer GI-Arbeitskreis-Initiative in Berlin im Jahre 1 nach Christos Reichstags-Verhüllung) Entwurfsmuster werden nicht erfunden, sie werden enthüllt. Sie stammen ursprünglich aus der Architektur. Sie verhüllen die Strukturdetails und machen so den Entwurf wiedererkennbar. Ein “verinnerlichtes” Entwurfsmuster (hier Observer) wirkt intuitiv: Die grauen Bereiche und der Kreislauf des Methoden aufrufs werden intuitiv angewandt: AttachTo() - Action() - Notify() - Update() - GetState(). © Klaus Quibeldey-Cirkel, Uni Siegen

24 FW-Dokumentation I à la HotDraw [7]: deskriptive Muster
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion FW-Dokumentation I à la HotDraw [7]: deskriptive Muster gerichteter Graph (vom Allgemeinen zum Besonderen) geordnet nach der Häufigkeit der Anwendung Zielgruppe: FW-Anwender (Nicht-Experten) à la HotDraw [8]: generische Muster abgeleitete Muster begründen Sequenz der Entwurfsentscheidungen Zielgruppe: FW-Entwickler (Experten) HotDraw-Entwickler: Kent Beck; Ward Cunningham © Klaus Quibeldey-Cirkel, Uni Siegen

25 FW-Dokumentation II Meta-Muster à la Pree [4]
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion FW-Dokumentation II Meta-Muster à la Pree [4] abstrahieren von Design-Mustern (à la Gamma et al.) sind anwendungsneutral beschreiben Mikro-Frameworks lokalisieren die Variabilitätsaspekte (Hot Spots) © Klaus Quibeldey-Cirkel, Uni Siegen

26 FW-Dokumentation III Cookbook à la Krasner & Pope [5]
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion FW-Dokumentation III Cookbook à la Krasner & Pope [5] Contracts à la Helm et al. [6] Motifs à la Lajoie & Keller [9] © Klaus Quibeldey-Cirkel, Uni Siegen

27 FW-Dokumentation IV Navigationstechniken
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion FW-Dokumentation IV Navigationstechniken Index und Inhaltsverzeichnisse als Guided Tours Stichwortsuche Volltextsuche Textuelle Verweise (Links) Grafische Verweise (Links) Aufruf von Applikationen © Klaus Quibeldey-Cirkel, Uni Siegen

28 GI-FG-2.1.9-AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996
FW- Doku V Beispiel textuelle und grafische Verweise auf Entwurfsmuster, Klassen, Operationen, Objekt-Szenarien Diplom/Diplom.html#Odenthal © Klaus Quibeldey-Cirkel, Uni Siegen

29 Werkzeugunterstützung
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion Werkzeugunterstützung Hypertext vernetzt Muster (Mustersystem, Mustersprache), hält Zugriff auf latenten Pool an Beispielen, verbirgt technische Detail-Erklärungen, sorgt für Transparenz in der Dokumentation, zuschneidbar auf bestimmte Benutzerprofile. SEU-Infrastruktur mit Musterkomponente objectiF 3.0 (Fa. microTOOL, Berlin) © Klaus Quibeldey-Cirkel, Uni Siegen

30 Vorschlag zur FW-Dokumentation mit Entwurfsmustern
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion Vorschlag zur FW-Dokumentation mit Entwurfsmustern Übersicht Ein Klassendiagramm und evtl. weitere Visualisierungen (z. B. Interaktionsdiagramm), die zur Verdeutlichung geeignet sind. Intention Knappe Beschreibung der wesentlichen Zielsetzung. Der Grund, warum das Muster verwendet wurde, sollte deutlich werden. Motivation Ausführliche Beschreibung der Zusammenhänge. Übersicht über die Komponente. Es kann sinnvoll sein, die “Entwicklungsgeschichte” anhand von Diagrammen und Texten aus der Analysephase (z. B. Bezug zu fachlichen Mustern) und anhand des Vorgehens zur Musterausprägung zu illustrieren. Rollen In Klammern wird hinter die Rolle einer Klasse aus dem Entwurfsmuster die konkrete Klasse der Implementierung geschrieben. Diese Zuordnung ist für den Leser, der das Muster kennt und sich über die spezielle Ausprägung informieren will, sehr wichtig. Eine stichpunktartige Beschreibung der Rolle, die die Klasse in der Musterausprägung einnimmt. Zusammenarbeit Die Interaktion zwischen den Klienten und der Musterausprägung wird beschrieben; evtl. Verweis auf ein Interaktionsdiagramm. Konsequenzen Die Konsequenzen aus der konkreten Implementierung (z. B. Erweiterbarkeit, Vergleich mit anderen Realisierungen). Implementierung (optional) Besonderheiten der Implementierung. © Klaus Quibeldey-Cirkel, Uni Siegen

31 ... Hot Spots, Frozen Spots Rezept Integrierbarkeit
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion ... Hot Spots, Frozen Spots Für die Dokumentation von Frameworks ist die gesonderte Beschreibung der festgelegten Eigenschaften des Frameworks und der durch den Benutzer anzupassenden bzw. zu erweiternden Komponenten essentiell [4]. Aus dieser Beschreibung sollte eindeutig hervorgehen, welche Flexibilität der Anwender erwarten kann und wo die Grenzen sind. Rezept Der Cookbook–Stil [4, 5, 7, 9] beschreibt den Einsatz eines Frameworks anhand eines schrittweisen, durch Beispiele ergänzten Vorgehens. Diese Beschreibung kann durch eine Ready-to-Use-Umgebung, die die direkte Ausführung und somit ein interaktives Ausprobieren eines Frameworks erlaubt, ergänzt werden. Auch eine vorkonfigurierte Debugger-Sitzung kann zum besseren Verständnis geeignet sein. Ist eine feste Entwicklungs- und Laufzeitumgebung vorhanden, bilden interaktive Hilfen für die Nutzung eines Frameworks (Assistenten/Wizzards) das Optimum an Unterstütztung für den Anwender. Integrierbarkeit Beschreibung der nicht-funktionalen Eigenschaften des Frameworks (beispielsweise Portabilität, Realisierung der Ausnahmebehandlung). So ist eine Einschätzung der Integrierbarkeit in bestehende Umgebungen gegeben. Verwendungen (Known Uses) Hier sollte ein Verweis auf möglichst jede Verwendung des Frameworks stehen. Anhand dieser Einsatzbeispiele kann der Anwender am schnellsten die Eignung überprüfen. Strukturelle Erweiterungen (optional) Vor allem bei In-House–Entwicklungen kann es sinnvoll sein, den Entwurf eines Frameworks eingehend zu beschreiben, um dessen Erweiterbarkeit zu erleichtern. Ein Framework durchläuft mehrere Designzyklen, bis die Hot Spots identifiziert sind und so das richtige Maß an Flexibilität erreicht wurde. Wird es in bisher nicht vorgesehenen Bereichen eingesetzt, kann eine Erweiterung nötig sein. © Klaus Quibeldey-Cirkel, Uni Siegen

32 Workshop (Plenum & Kleingruppen)
GI-FG AK "Frameworks" - 2. Workshop an der FH Konstanz, 26./27. September 1996 Überblick Begriffe Framework-Doku Diskussion Workshop (Plenum & Kleingruppen) Praxiserfahrung mit FW-Dokumentation Defizite? Praxiserfahrung mit Musterform Wunschliste zur “FW-Dokumentation mit Entwurfsmustern” neue Konzepte? neue Werkzeuge? neues Beschreibungsschema? © Klaus Quibeldey-Cirkel, Uni Siegen


Herunterladen ppt "GI-FG-2.1.9: AK Frameworks Framework-Dokumentation mit Entwurfsmustern"

Ähnliche Präsentationen


Google-Anzeigen