Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Victoria Brodbeck Geändert vor über 9 Jahren
1
Case Tools Unterstützung für Design Pattern von Vladislav Krasnyanskiy
2
Übersicht Einleitung Design Pattern Programmiersprachen für Design Pattern Automatische Codegenerierung für Design Pattern Fujaba
3
Einleitung Verbesserung der Softwarequalität durch: Entwicklungsmodelle (Wasserfallmodell) Design Pattern
4
Wasserfallmodell Anforderungsanalyse/V alidation Entwurf/Validation/V erifikation Implementierung/ Verifikation Test und Integration InstallationWartung Pflichtenheft Systemarchitektur Programme Beweise Testpläne Testergebnisse technische Handbücher Benutzerhandbuch
5
Design Pattern historischer Überblick 1977 Christopher Alexander 1987 W. Cunningham, K. Beck “Constracting Abstractions for Object- Oriented Applications” 1994 E. Gamma, R. Helm, R. Johnson and J. Vlissides, “Design Pattern: Elements of Reusable Object-Oriented Sofware”
6
Purpose CreationalStructuralBehavioral Scope ClassFactory MethodAdapterInterpreter Template Method ObjectAbstract Factory Builder Prototype Singleton Adapter Bridge Composite Decorator Facade Proxy Chain of Responsibility Command Iterator Mediator Memento Flyweight Observer State Strategy Visitor Design Pattern nach Gamma
7
Design Pattern Was ist das ? Aufbau Entwicklung
8
Aufbau eines Design Patterns
9
Entwicklung eines Design Patterns 1.Reflektion des Problems 2.Welche Struktur ist die Richtige ? 3.Motivation mit konkretem Beispiel 4.Was unterscheidet das neue Pattern von anderen und wie ergänzt es sich ? 5.Publikation des Patterns 6.Verbesserungen 7.Sammeln und Einbauen von Kommentaren
10
Design Pattern im Quellcode Syntaktische Variationen Variationen in der Implementierung Delokalisierung Nicht verwertbare Bauteile Variation in der Organisation der Komponenten Redundanz
11
Programmiersprachen für Design Pattern textorientierte Programming Language for Design Patterns (PaL) visuelle Visual Language for Design Pattern (DPML )
12
Beispiel für PaL 1 (Abstract Factory) GUIFactory make GUIFactory +createScrollBar(): ScrollBar +createMenu(): Menu +createButton(): Button MetalFactorySpaceFactory +createScrollBar(): MetalScrollBar +createMenu(): MetalMenu +createButton(): MetalButton +createScrollBar(): SpaceScrollBar +createMenu(): SpaceMenu +createButton(): SpaceButton structure GUIFactory class SpaceFactory inherit GUIFactory creation make creation make class GUIFactory feature createScrollBar() is … creation make feature createMenu() is … feature createScrollBar() is … feature createButton() is … feature createMenu() is … end feature createButton() is … end end class MetalFactory inherit GUIFactory creation make feature createScrollBar() is… feature createMenu() is … feature createButton() is end
13
Beispiel für PaL 2 (Abstract Factory) ScrollBar make ScrollBar SpaceScrollBarMetalSrollBar structure ScrollBar creation make class ScrollBar creation make... end class Metal ScrollBar inherit ScrollBar creation make... end class Space ScrollBar inherit ScrollBar creation make … end
14
Beispiel für PaL 3 (Abstract Factory) Menu make Menu MetalMenuSpaceMenu structure Menu creation make class Menu creation make... end class MetalMenu inherit Menu creation make... end class SpaceMenu inherit Menu creation make … end
15
Beispiel für PaL 4 (Abstract Factory) Button make Button SpaceButtonMetalButton structure Button creation make class Button creation make... end class MetalButton inherit Button creation make... end class SpaceButton inherit Button creation make … end
16
Beispiel für DPML 1 (Abstract Factory) Absrac tFactor y createOps concreteCreateOps concreteFactories concreteProducts Products Declared_In Implements RealisesDefined_In Return Type Creates Implements
17
Beispiel für DPML 2 (Abstract Factory) Absract Factory GUIFactory CreateOps CreateMenu createScrollBar createButton CreateOps CreateMenu createScrollBar createButton ConcreteCreateOps 6 bound elements ConcreteCreateOps 6 bound elements ConcreteFactories MetallFactory SpaceFactory ConcreteFactories MetallFactory SpaceFactory ConcreteProducts 6 bound elements ConcreteProducts 6 bound elements Products Menu ScrollBar Button Products Menu ScrollBar Button Declared_In Implements RealisesDefined_In Return Type Creates Implements
18
PaL vs DPML Unterschiede
19
PaL vs DPML Gemeinsamkeiten benutzen Design Pattern zum Modellieren. haben Patterninstanzeierung haben visuelle Elemente unterstützen Vererbung
20
Automatische Codegenerierung für Design Pattern 1 Entwicklerziele 1. schnelle Modifikation von Komponenten 2. hohe Flexibilität 3einfache Spezifikation Benutzerziele 1. das Tool soll als Entwicklerhilfe dienen 2. integrierte Design Pattern Eigenschaften 3. Benutzerrückkopplung
21
Automatische Codegenerierung für Design Pattern 2 Architektur Presenter implementiert Benutzeroberfläche (Browser) Code Generator implementiert die Pattern Mapper spezifiziert wie der Presenter und der Code Generator miteinander kooperieren
22
Fujaba Java-Codegenerierung aus UML -Diagrammen Generierung der Designdiagrammen aus bestehendem Java-Quellcode Forward-(4 Pattern) und Reengineering (7 Pattern)
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.