Dokumentation

Faktor-IPS unterstützt als Werkzeug den Entwicklungsprozess von IT-Systemen im versicherungsfachlichen Kontext. Es dient als Modellierungstool zur modellgetriebenen Softwareentwicklung und bietet ein benutzerfreundliches Produktsystem. Durch seine hohe Flexibilität und Erweiterbarkeit sind der Vielfältigkeit der möglichen Anwendungen kaum Grenzen gesetzt.

Zur Einführung haben wir zwei kurze Videos bereitgestellt, die einen Überblick über die Funktionsweise von Faktor-IPS geben:

 


Los gehts…

Faktor-IPS ist als Eclipse-Plugin nahtlos in die bekannte Entwicklungsumgebung integriert. Für die Definition von Produkten gibt es Faktor-IPS auch als vereinfachte Anwendung für den Fachbereich. Um Faktor-IPS kennenzulernen eignet sich am besten eine normale Eclipse-Installation, in der sowohl mit Faktor-IPS die Modelle definiert werden als auch direkt der Java-Code generiert und editiert wird. Eine Anleitung zur Installation finden Sie unter Download.

Wenn Sie Faktor-IPS erfolgreich installiert haben, empfehlen wir Ihnen unsere Einführungstutorials.

clock

Fachliche Klassen modellieren

Faktor-IPS bietet nach dem Ansatz der modellgetriebenen Softwareentwicklung die Möglichkeit, fachliche Modelle einfach zu erstellen und zu pflegen. Die Benutzeroberfläche bietet zahlreiche Tools, um sich auch in großen, komplexen Modellen schnell zurechtzufinden. Durch die Angaben von mehrsprachigen Labels und Beschreibungen sowie benutzerdefinierte Icons wird bereits im Modell die Eingabe von Produkten für den Fachbereich vorbereitet und erleichtert.

In den Faktor-IPS-Einführungstutorials haben wir das Modell für eine einfache Hausratversicherung entworfen. In der Praxis sind die fachlichen Modelle natürlich wesentlich komplexer, insbesondere wenn mehrere Sparten abgebildet werden. In den folgenden Dokumenten wollen wir daher auf die Partitionierung von Modellen eingehen. Unter Modellpartitionierung verstehen wir die Zerlegung eines komplexen Gesamtmodells in kleinere Teilmodelle.

Als weiterführende Dokumentation empfehlen wir den folgenden Artikel, in dem erklärt wird, wie neue Datentypen definiert werden können, die nicht zum Standardumfang von Faktor-IPS gehören. Darüber hinaus werden ausführlich die Möglichkeiten zur Definition von Aufzählungen erläutert.

Informationen über die Relevanz eines Attributs sind nützlich, um es in einem User Interface sinnvoll darzustellen. So können beispielsweise irrelevante Attribute ausgeblendet werden und Pflichtfelder als solche markiert werden.

Weitere Dokumentation zur Einrichtung von Projekten und Umgang mit dem generierten Code:


Java-Code generieren

Direkt mit dem Speichern einer Modellklasse wird inkrementell Java-Code generiert. Dabei ist es jederzeit möglich, Änderungen im Java-Code vorzunehmen oder das Modell zu verändern und zu erweitern. Die generierten Artefakte werden mit dem manuellen Code zusammengeführt. Der generierte Code erhöht durch eine einheitliche Generierung die Codequalität.

Zusätzlich zu den Modellklassen werden Builder-Klassen generiert um Modelle zu instantiieren. Durch die Verwendung dieser einheitlichen Builder Klassen wird die Softwarequalität und Codeverständlichkeit gleichermaßen erhöht.

Um auch zur Laufzeit über den generierten Code auf die Informationen des erstellten Modells zugreifen zu können, bietet das Faktor-IPS Metamodell eine praktische Schnittstelle, die in dieser Dokumentation genauer beschrieben wird:


Produkte definieren

Versicherungsprodukte werden von Fachanwendern in benutzerfreundlichen Editoren erstellt und gewartet. Die Basis bilden die vorher definierten Modelle.

Für die Produktdefinition bietet Faktor-IPS eine eigene Testunterstützung. Diese umfasst sowohl die Definition als auch die Ausführung von Testfällen. Dieses Tutorial beschreibt die zugrunde liegenden Konzepte. Anhand eines Beispiels wird der Umgang mit den Faktor-IPS-Testwerkzeugen gezeigt und deren Funktionsweise erläutert.

Wenn die Produkte größer und vielfältiger werden, wird es zunehmend komplexer die steigende Anzahl der Produktbausteine zu warten. Um diese Aufgabe zu bewältigen, wurden die Produktvorlagen entwickelt. Mit Produktvorlagen können bausteinübergreifende Definitionen elegant und effizient verwaltet werden. Und das nicht nur für neu aufzubauende Produktdefinitionen, sondern auch bereits bestehende Produktwelten können analysiert und daraus Kandidaten für übergreifende Produktvorlagen identifiziert werden.


Erweiterungen installieren

Durch den Eclipse-Plugin-Mechanismus ist Faktor-IPS sehr flexibel und einfach erweiterbar. Für unterschiedliche Aufgaben stehen bereits verschiedene Add-ons zur Verfügung.

Neben der Möglichkeit eigene, projektspezifische Erweiterungen selber zu bauen, gibt es von Faktor Zehn eine Reihe von hilfreichen Erweiterungen.

Zur Unterstützung eigener Erweiterungen:


In Anwendungen integrieren

Der Java-Code des generierten und erweiterten Fachmodell kann in eine beliebige Java-SE- oder Java-EE-Anwendung integriert werden.

Dieses Tutorial setzt auf den Einführungstutorials auf. Es zeigt, wie man eine Anwendung auf Basis der von Faktor-IPS generierten Fachmodellklassen baut und wie auf die Produktdaten zugegriffen werden kann. Besonderer Wert wird dabei im Design darauf gelegt, dass die Anwendung dynamisch auf Produktänderungen reagiert. Produktänderungen durch die Fachabteilung im Rahmen des definierten Fachmodells sollen produktiv genutzt werden, ohne dass die Anwendung geändert werden muss. Des Weiteren wird gezeigt, wie man die Anwendung auch flexibel auf Modelländerungen reagieren lassen kann. Als Beispielanwendung dient ein Angebotssystem mit dem Hausratversicherungen berechnet werden können. Dabei handelt es sich natürlich nicht um ein vollständiges System, sondern um einen Ausschnitt anhand dessen die Konzepte erläutert werden. Bei dem System handelt es sich um eine Webanwendung auf Basis des RAP-Frameworks.

Faktor-IPS bietet außerdem die Möglichkeit, Produktdaten getrennt vom Programmcode der Applikation auszuliefern. Wie das funktioniert und welche Herausforderungen dabei zu bewältigen sind, wird in diesem Dokument erläutert.

Das Design der Schnittstelle eines Produktservers wird in folgendem Artikel erläutert und bewertet.