präsentation einer codegenerator softwarelösung objectif

21
Präsentation einer Codegenerator Softwarelösung objectiF

Upload: conradine-stillman

Post on 05-Apr-2015

107 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Präsentation einer Codegenerator Softwarelösung objectiF

Präsentation einer Codegenerator Softwarelösung

objectiF

Page 2: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 2

Inhaltsverzeichnis

AllgemeinesBeispielFazit

Page 3: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 3

Allgemeines

• objectiF wird von der Firma microTOOL seit 1992 vertrieben(aktuelle Version 7.1)

• microTOOL wurde 1984 in Berlin gegründet• microTOOL bietet drei Softwarelösungen an

objectiF, näheres folgt spätercase/4/0, MDSD-Toolin-Step, Kollaborationstool

Page 4: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 4

Grundprinzip des MDD

Page 5: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 5

Ablauf der Modelltransformation

Page 6: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 6

objectiFEinsatzbereiche

objectiF verwenden als … Zentrales, transaktionssicheres, mehrbenutzerfähiges Repository Erweiterte Modellierungsfunktionen für die professionelle Entwicklung Breite Sprachunterstützung und Generierung von C#, C++, Java, VB .NET,

BPEL, XSD und WSDL Reverse und Round Trip Engineering Generierung von Dokumentation Modellgetriebene Entwicklung

(MDD – Model-Driven Development) Hohe Entwicklungsgeschwindigkeit durch Transformation fachlicher in

technische Modelle mit Code-Generierung Sicheres, iteratives Transformieren

Page 7: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 7

objectiFim Bereich MDD

Wichtige Eigenschaften von objectiF Iteratives Transformieren Fachliche Modelle kann man jederzeit ändern, erweitern und immer

wieder transformieren. Alle manuellen Ergänzungen, im generierten Code, bleiben bei erneuter Transformation erhalten.

Integrierte Technik zur Entwicklung eigener Modelltransformationen objectiF verfügt über eine homogene Umgebung sowohl für die

modellgetriebene Anwendungsentwicklung als auch für die Entwicklung eigener Modelltransformationen, mit denen man die Anwendungsentwicklung automatisieren kann.

Verkettung und Wiederverwendung von Modelltransformationen Damit kann man die Entwicklung ganzer Anwendungsfamilien durchgängig

automatisieren. Dies bedeutet, hohe Qualität und Produktivität.

Page 8: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 8

BeispielErzeugung einer Persistenzschicht in C#

1. Auswählen des gewünschten Typs

Page 9: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 9

BeispielErzeugung einer Persistenzschicht in C#

2. Systemname auswählen und Speicherort festlegen

Page 10: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 10

BeispielErzeugung einer Persistenzschicht in C#

3. Automatisch angelegte Struktur

Page 11: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 11

BeispielErzeugung einer Persistenzschicht in C#

4. Angelegte Struktur in VS

Automatisch erzeugte Datei DatabaseInitializer.cs

Page 12: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 12

BeispielErzeugung einer Persistenzschicht in C#

5. Fachliches Modell anlegen

Entitätsklasse Company anlegen

Entitätsklasse Person anlegen

Aggregationsbeziehung Company hat Person

Page 13: Präsentation einer Codegenerator Softwarelösung objectiF

13

BeispielErzeugung einer Persistenzschicht in C#

6. Fachliche Klassen in NHibernateklassen transformieren

MDSD - Präsentation des objectiF Tools

Company.cs

Company.hbm.xml

Page 14: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 14

Was erzeugt objectiF aus dem fachlichen ModellKlasse mit dem Stereotyp «BusinessEntity»:• Klasse mit dem Stereotyp «NHibernateClass»• ID-Felder (Attribut und Property)• GetHashCode-Methode• Vergleichsoperationen• Properties, die den Status des Entities anzeigen (EntityIsDeleted, EntityIsTransient,EntityIsPersistent)• Versionsattribut mit Stereotyp «NHibernateAttribute»• Attribut semanticVersion, mit dem ein Versionssprung erzwungen werden kann• Methode Touch, die den Zähler von semanticVersion hochsetzt• Funktionen für die Implementierung des IValidatable Interface• Methoden für die Implementierung des ILifeCycle Interface• Attribut für die NHibernate Session• Zu jeder Methode, die die beiden Interfaces IValidatable und ILifecycle implementiert, wird eine gleichnamige, virtuelle Methode

erzeugt, in der Code ergänzt werden kann. Die Methoden können in abgeleiteten Klassen überschrieben werden. • XML-Elemente in den KonfigurationsdateienAttribut:• Attribut mit dem Stereotyp «NHibernateAttribute»• Property mit dem Stereotyp «NHibernateClassProperty»• XML-Elemente in den KonfigurationsdateienAssoziation und Aggregation:• Beziehungsattribute mit dem Stereotyp «OwnerAttribute» und «InverseAttribute»• Beziehungs-Properties mit dem Stereotyp «NHibernateClassProperty»• XML-Elemente in den KonfigurationsdateienGeneralisierung (in den abgeleiteten Klassen):• Methoden in den abgeleiteten Klassen, die die Methoden der Basisklasse überschreiben könne• XML-Elemente in den Konfigurationsdateien

Page 15: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 15

BeispielErzeugung einer Persistenzschicht in C#

7. Generierte Klasse SessionManager.cs

SessionManager.cs

Page 16: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 16

BeispielErzeugung einer Persistenzschicht in C#

8. Anlegen der Testklasse SampleMain.cs

SampleMain.cs

Page 17: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 17

BeispielErzeugung einer Persistenzschicht in C#

9. Architekturmuster bauen

Page 18: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 18

BeispielErzeugung einer Persistenzschicht in C#

Erweitern des fachlichen Modells

Page 19: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 19

BeispielErzeugung einer Persistenzschicht in C#

Page 20: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 20

BeispielErzeugung einer Persistenzschicht in C#

Technische Klassen

Page 21: Präsentation einer Codegenerator Softwarelösung objectiF

MDSD - Präsentation des objectiF Tools 21

Fazit

positiv• guten Support• gute Dokumentation

negativ• hohe Kosten• Einarbeitungsaufwand• nicht ganz einfache

Bedienung