Präsentation einer Codegenerator Softwarelösung objectiF.
-
Upload
conradine-stillman -
Category
Documents
-
view
107 -
download
3
Transcript of Präsentation einer Codegenerator Softwarelösung objectiF.
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