210 likes | 283 Views
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
E N D
Inhaltsverzeichnis • Allgemeines • Beispiel • Fazit MDSD - Präsentation des objectiF Tools
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äter • case/4/0, MDSD-Tool • in-Step, Kollaborationstool MDSD - Präsentation des objectiF Tools
Grundprinzip des MDD MDSD - Präsentation des objectiF Tools
Ablauf der Modelltransformation MDSD - Präsentation des objectiF Tools
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
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
BeispielErzeugung einer Persistenzschicht in C# • Auswählen des gewünschten Typs MDSD - Präsentation des objectiF Tools
BeispielErzeugung einer Persistenzschicht in C# 2. Systemname auswählen und Speicherort festlegen MDSD - Präsentation des objectiF Tools
BeispielErzeugung einer Persistenzschicht in C# 3. Automatisch angelegte Struktur MDSD - Präsentation des objectiF Tools
BeispielErzeugung einer Persistenzschicht in C# 4. Angelegte Struktur in VS Automatisch erzeugte Datei DatabaseInitializer.cs MDSD - Präsentation des objectiF Tools
BeispielErzeugung einer Persistenzschicht in C# 5. Fachliches Modell anlegen Aggregationsbeziehung Company hat Person Entitätsklasse Company anlegen Entitätsklasse Person anlegen MDSD - Präsentation des objectiF Tools
BeispielErzeugung einer Persistenzschicht in C# 6. Fachliche Klassen in NHibernateklassen transformieren Company.cs Company.hbm.xml MDSD - Präsentation des objectiF Tools
Was erzeugt objectiF aus dem fachlichen Modell Klasse 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 Konfigurationsdateien Attribut: • Attribut mit dem Stereotyp «NHibernateAttribute» • Property mit dem Stereotyp «NHibernateClassProperty» • XML-Elemente in den Konfigurationsdateien Assoziation und Aggregation: • Beziehungsattribute mit dem Stereotyp «OwnerAttribute» und «InverseAttribute» • Beziehungs-Properties mit dem Stereotyp «NHibernateClassProperty» • XML-Elemente in den Konfigurationsdateien Generalisierung (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
BeispielErzeugung einer Persistenzschicht in C# 7. Generierte Klasse SessionManager.cs SessionManager.cs MDSD - Präsentation des objectiF Tools
BeispielErzeugung einer Persistenzschicht in C# 8. Anlegen der Testklasse SampleMain.cs SampleMain.cs MDSD - Präsentation des objectiF Tools
BeispielErzeugung einer Persistenzschicht in C# 9. Architekturmuster bauen MDSD - Präsentation des objectiF Tools
BeispielErzeugung einer Persistenzschicht in C# Erweitern des fachlichen Modells MDSD - Präsentation des objectiF Tools
BeispielErzeugung einer Persistenzschicht in C# MDSD - Präsentation des objectiF Tools
BeispielErzeugung einer Persistenzschicht in C# Technische Klassen MDSD - Präsentation des objectiF Tools
Fazit positiv negativ hohe Kosten Einarbeitungsaufwand nicht ganz einfache Bedienung • guten Support • gute Dokumentation MDSD - Präsentation des objectiF Tools