Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Case Tools Unterstützung für Design Pattern von Vladislav Krasnyanskiy.

Ähnliche Präsentationen


Präsentation zum Thema: "Case Tools Unterstützung für Design Pattern von Vladislav Krasnyanskiy."—  Präsentation transkript:

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)


Herunterladen ppt "Case Tools Unterstützung für Design Pattern von Vladislav Krasnyanskiy."

Ähnliche Präsentationen


Google-Anzeigen