Präsentation einer Codegenerator Softwarelösung

21
Präsentation einer Codegenerator Softwarelösung objectiF

description

Präsentation einer Codegenerator Softwarelösung. objectiF. Inhaltsverzeichnis. Allgemeines Beispiel Fazit. 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 - PowerPoint PPT Presentation

Transcript of Präsentation einer Codegenerator Softwarelösung

Präsentation einer Codegenerator Softwarelösung

objectiF

MDSD - Präsentation des objectiF Tools 2

Inhaltsverzeichnis

AllgemeinesBeispielFazit

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

MDSD - Präsentation des objectiF Tools 4

Grundprinzip des MDD

MDSD - Präsentation des objectiF Tools 5

Ablauf der Modelltransformation

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

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.

MDSD - Präsentation des objectiF Tools 8

BeispielErzeugung einer Persistenzschicht in C#

1. Auswählen des gewünschten Typs

MDSD - Präsentation des objectiF Tools 9

BeispielErzeugung einer Persistenzschicht in C#

2. Systemname auswählen und Speicherort festlegen

MDSD - Präsentation des objectiF Tools 10

BeispielErzeugung einer Persistenzschicht in C#

3. Automatisch angelegte Struktur

MDSD - Präsentation des objectiF Tools 11

BeispielErzeugung einer Persistenzschicht in C#

4. Angelegte Struktur in VS

Automatisch erzeugte Datei DatabaseInitializer.cs

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

13

BeispielErzeugung einer Persistenzschicht in C#

6. Fachliche Klassen in NHibernateklassen transformieren

MDSD - Präsentation des objectiF Tools

Company.cs

Company.hbm.xml

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

MDSD - Präsentation des objectiF Tools 15

BeispielErzeugung einer Persistenzschicht in C#

7. Generierte Klasse SessionManager.cs

SessionManager.cs

MDSD - Präsentation des objectiF Tools 16

BeispielErzeugung einer Persistenzschicht in C#

8. Anlegen der Testklasse SampleMain.cs

SampleMain.cs

MDSD - Präsentation des objectiF Tools 17

BeispielErzeugung einer Persistenzschicht in C#

9. Architekturmuster bauen

MDSD - Präsentation des objectiF Tools 18

BeispielErzeugung einer Persistenzschicht in C#

Erweitern des fachlichen Modells

MDSD - Präsentation des objectiF Tools 19

BeispielErzeugung einer Persistenzschicht in C#

MDSD - Präsentation des objectiF Tools 20

BeispielErzeugung einer Persistenzschicht in C#

Technische Klassen

MDSD - Präsentation des objectiF Tools 21

Fazit

positiv• guten Support• gute Dokumentation

negativ• hohe Kosten• Einarbeitungsaufwand• nicht ganz einfache

Bedienung