Schulungen

1. Einleitung

In diesem Modul soll eine Übersicht über wesentliche Schritte bei Nutzung von Papyrus zur Modellierung von XÖV-konformen Standards sowie der damit erzeugten Artefakte mittels des XGenerators gegeben werden. Unterstellt ist eine erfolgreiche Einrichtung der Produktionsumgebung und Installation des XGenerators (siehe Modul Die Produktionsumgebung).

1.1. Der hier verwendete Standard Schulung

In dieser Schulung wird immer wieder ein spezieller "Schulungsstandard" verwendet, der als beispielhaftes Modell für die Entwicklung eines XÖV-konformen Standards dient. Es handelt sich dabei nicht um einen echten Standard, der für Schulungsanmeldungen vorgesehen ist.

Durch die Arbeit mit dem Standard Schulung werden Sie:

  • Ein besseres Verständnis für die Struktur und die Elemente von XÖV-konformen Standards entwickeln.

  • Den gesamten Prozess von der Modellierung über die Generierung von Artefakten bis zum Erzeugen der Dokumentation nachvollziehen können.

2. Nutzung von Papyrus für die Umsetzung von XÖV-Standards

Papyrus soll als kostenlose Open Source Alternative zu kommerziellen UML-Tools angeboten werden um die Einstiegshürden bei der Umsetzung der XÖV-Methodik zu senken. Da es sich um eine eigenständige Eclipse-Erweiterung handelt, kann Papyrus von den Nutzenden bspw. um Runner, die den XGenerator starten, erweitert werden.

  • Modellierung: Mit Papyrus können Sie XÖV-Standards in Form von Klassen, Assoziationen und anderen UML-Konstrukten modellieren. Dies gibt Ihnen eine klare und visuelle Darstellung der Datenstrukturen und Beziehungen.

  • Generierung: Auch wenn mit entsprechenden Erweiterungen Papyrus dazu verwendet werden kann, XML-Schemata, Dokumentation oder sogar Code direkt aus Ihrem UML-Modell zu generieren, benutzen wir im XÖV-Kontext den XGenerator dafür.

Im Laufe dieser Schulung werden Sie die Gelegenheit haben, Papyrus intensiv zu nutzen, um den Schulungsstandard zu modellieren.

3. Import des Standards Schulung

Bevor wir mit der aktiven Arbeit in Papyrus beginnen, ist es wichtig, den zur Verfügung gestellten Standard Schulung korrekt zu importieren. Dies stellt sicher, dass alle nachfolgenden Schritte nahtlos und ohne Dateninkonsistenzen durchgeführt werden können.

Entpacken Sie die zur Verfügung gestellte ZIP an einem beliebigen Ort, starten Sie Papyrus und gehen Sie zu File > Import.

Details
modul 02 4 01 import

Wählen Sie die Option General > Existing Projects into Workspace und klicken sie auf Next >.

Details
modul 02 4 02 import

Klicken Sie im folgenden Fenster auf Browse…​.

Details
modul 02 4 03 import

und wählen Sie anschließend im Dialog oben das entpackte Verzeichnis.

Details
modul 02 4 04 import

Setzen Sie außerdem noch einen Haken bei Copy projects into workspace und klicken Sie anschließend auf Finish.

Details
modul 02 4 05 import

Damit ist das Projekt erfolgreich importiert. Sie können nun den Ordner schulungsstandard aufklappen und mit einem Doppelklick auf XOEV-Schulung das Model öffnen.

modul 02 4 06 import

4. Einführung in den Standard Schulung

Der Standard Schulung bildet das Rückgrat dieser Schulung und würde komplett ausgearbeitet um ein konsistentes und standardisiertes Modell für die Organisation und Durchführung von Schulungen darstellen.

4.1. Bedeutung und Zweck des Standards Schulung

Der Standard Schulung ist nicht nur ein Satz von Klassen und Attributen. In der Praxis wäre er das Ergebnis sorgfältiger Planung und Konsolidierung, um den Prozess der Schulungsorganisation zu vereinfachen.

  • Ziel des Standards:

    • Bereitstellung eines einheitlichen Rahmens für die Organisation und Durchführung von Schulungen.

    • Erleichterung der Kommunikation und des Datenaustauschs zwischen Schulungsanbietern und Teilnehmern.

  • Warum ein Standard Schulung?

    • Konsistenz: Jeder Schulungsanbieter und jeder Trainee weiß, was zu erwarten ist und welche Informationen bereitgestellt oder erfragt werden.

    • Effizienz: Die Standardisierung ermöglicht die Automatisierung vieler Schulungsverwaltungsprozesse.

    • Erweiterbarkeit: Ein klar definierter Standard bietet die Möglichkeit, zusätzliche Funktionen oder Attribute hinzuzufügen, ohne den gesamten Prozess zu stören.

4.2. Anwendungsfalldiagramm in Papyrus

Das folgende Anwendungsfalldiagramm ist im Reiter "Schulungsorganisation" zu finden. Es skizziert mögliche Anwendungsfälle, wobei wir uns später nur auf den Anwendungsfall "Anmeldung zur Schulung" als Beispiel konzentrieren werden.

modul 02 5 usecase

4.3. Anwendungsfall: Anmeldung zur Schulung

  • Ziel: Ein Trainee möchte sich für eine Schulung anmelden.

  • Akteure:

    • Trainee: Die Person, die an einer Schulung teilnehmen möchte.

    • Organisator: Die Person oder Einheit, die die Schulung organisiert und durchführt.

  • Szenario:

    • 1. Der Trainee wählt aus dem Katalog von angebotenen Schulungen eine aus, die seinem Interesse oder Bedarf entspricht.

    • 2. Der Trainee füllt das Anmeldeformular aus, welches die Klassenattribute aus dem Schulungsstandard (Name, E-Mail usw.) nutzt.

    • 3. Der Organisator erhält die Anmeldung und prüft die Verfügbarkeit von Plätzen für die gewählte Schulung.

    • 4. Bei Verfügbarkeit wird der Trainee für die Schulung registriert und erhält eine Bestätigungs-E-Mail.

    • 5. Falls keine Plätze verfügbar sind, informiert der Organisator den Trainee und bietet möglicherweise alternative Termine oder Schulungen an.

  • Besonderheiten:

    • Der Prozess kann über ein digitales System abgewickelt werden, welches den Schulungsstandard nutzt, um die Datenkonsistenz und den Datenaustausch zu gewährleisten.

    • Durch den Einsatz des Schulungsstandards können auch verschiedene Schulungsanbieter den gleichen Anmeldeprozess nutzen und so eine einheitliche Benutzererfahrung bieten.

4.4. Aktivitätsdiagramm: Schulungsanmeldung in Papyrus

Unter dem Reiter "Prozesse" finden liegt ein Aktivitätsdiagramm des Standards Schulung, das einen strukturierten Überblick über den Prozess der Schulungsanmeldung gibt. Es soll dabei helfen, die Schritte und Interaktionen während des Anmeldevorgangs besser zu verstehen und die damit verbundenen Datenflüsse zu visualisieren.

modul 02 5 aktivitaetsdiagramm

Beschreibung der Diagrammelemente:

  • Schulung auswählen: Dies ist der Ausgangspunkt des Anmeldeprozesses. Ein Trainee wählt die gewünschte Schulung aus.

  • Anmeldung erstellen und versenden: Nach Auswahl der Schulung erstellt der Trainee eine Anmeldung.

  • Anmeldung Nachricht 0001: Dieser Punkt repräsentiert den Datenaustauschprozess, in dem die erstellte Anmeldung zur Überprüfung gesendet wird.

  • Anmeldung prüfen: Die Anmeldung wird überprüft, um sicherzustellen, dass alle notwendigen Informationen vorhanden sind und Plätze verfügbar sind.

  • Bestätigung Nachricht 0002/Ablehnung Nachricht 0003: Je nach Ergebnis der Überprüfung wird eine Nachricht zur Bestätigung oder Ablehnung der Anmeldung gesendet.

  • Bestätigung verarbeiten/Ablehnung verarbeiten: Der letzte Schritt im Prozess, bei dem die Bestätigung oder Ablehnung verarbeitet und an den Trainee zurückgesendet wird.

4.5. Struktur des Schulungsstandards

Im Kontext von XÖV werden spezifische Begriffe verwendet, um die Struktur und die Komponenten eines Standards zu beschreiben. Zwei dieser Begriffe sind "Baukasten" und "Nachrichten".

  • Baukasten im XÖV-Kontext: Der Baukasten, oft auch als "Kern" eines Standards bezeichnet, stellt die zentralen Datenmodelle und Strukturen dar. Er beinhaltet die grundlegenden Klassen und Datentypen, die in mehreren Nachrichten oder Prozessen wieder verwendet werden können. Der Baukasten dient als gemeinsame Grundlage und stellt sicher, dass verschiedene Nachrichten konsistent sind und die gleichen Strukturen und Datentypen verwenden. In unserem Schulungsstandard sind die Klassen Schulung und Trainee Teil des Baukastens, da sie grundlegende Datenstrukturen darstellen, die in verschiedenen Nachrichtenprozessen verwendet werden können.

  • Nachrichten im XÖV-Kontext: Eine Nachricht definiert, welche Daten in einem spezifischen Austauschprozess zwischen zwei oder mehr Systemen oder Akteuren übermittelt werden. Sie verwendet oft Strukturen und Datentypen aus dem Baukasten, kann jedoch auch zusätzliche spezifische Datenstrukturen oder Attribute enthalten, die nur für diesen bestimmten Austauschprozess relevant sind. Im Kontext unseres Schulungsstandards stellt die Klasse organisation.anmeldung.0001 eine solche Nachricht dar. Sie beschreibt den spezifischen Prozess der Anmeldung zu einer Schulung und verwendet dabei Datenstrukturen aus dem Baukasten (wie Schulung und Trainee) sowie zusätzliche Informationen, die spezifisch für diesen Prozess sind.

4.5.1. Klassen aus dem Baukasten

Das Klassendiagramm, welches die folgenden Klassen darstellt, finden Sie im Reiter Class Diagram.

modul 02 5 03 classdiagram

Die Klassen Schulung und Trainee repräsentieren wiederverwendbare Einheiten im Schulungsstandard.

Schulung
modul 02 5 04 schulung

Diese Klasse stellt eine Schulung oder einen Kurs dar. Sie enthält Details wie Bezeichnung, Art, Modul und Termin der Schulung als Attribute. Da es sich um eine grundlegende Klasse handelt, kann sie in verschiedenen Kontexten wiederverwendet werden, beispielsweise um unterschiedliche Schulungstypen oder -module zu definieren.

Attribute der Klasse

  • Bezeichnung: Der Name oder Titel der Schulung.

  • Art: Der Typ der Schulung, z. B. Online, Präsenz, Workshop etc.

  • Modul: Das spezifische Thema oder Modul, das in der Schulung behandelt wird.

  • Termin: Das geplante Datum und die Uhrzeit der Schulung.

Trainee
modul 02 5 05 trainee

Diese Klasse repräsentiert Personen, die an Schulungen teilnehmen möchten. Mit den Attributen Name und E-Mail können individuelle Daten der Trainees gespeichert werden. Ähnlich wie bei der Schulungsklasse dient die Trainee-Klasse als universelle Definition für alle Trainees, unabhängig von der spezifischen Schulung, an der sie teilnehmen.

Attribute der Klasse

  • Name: Der vollständige Name des Trainees.

  • E-Mail: Die E-Mail-Adresse des Trainees, die für Kommunikationszwecke verwendet wird.

4.5.2. Klasse als Nachricht

Die Klasse organisation.anmeldung.0001 unterscheidet sich von den oben genannten Klassen dadurch, dass sie als Nachricht konzipiert ist.

modul 02 5 06 anmeldung

Sie verknüpft die Schulung und den Trainee miteinander und stellt somit die Anmeldung eines Trainees für eine bestimmte Schulung dar. Während Schulung und Trainee stabile Entitäten sind, die unabhängig voneinander existieren können, repräsentiert die Nachrichtenklasse organisation.anmeldung.0001 eine spezifische Interaktion oder einen Vorgang zwischen diesen Entitäten. Die Verwendung einer Nachrichtenklasse ermöglicht es, bestimmte Aktionen oder Interaktionen zwischen den Basisklassen zu definieren und zu protokollieren, wie zum Beispiel den Anmeldevorgang.

Integration und Zusammenhang:

  • Das Attribut schulung verweist auf eine Instanz der Klasse "Schulung".

  • Das Attribut trainee verweist auf eine Instanz der Klasse "Trainee".

  • Durch diese Beziehungen können komplexe Abfragen und Berichte erstellt werden, z. B. um alle Trainees für eine bestimmte Schulung aufzulisten.

Insgesamt bietet der Schulungsstandard durch die Kombination von Baukasten-Klassen und Nachrichtenklassen eine flexible und erweiterbare Struktur zur Darstellung und Verwaltung von Schulungsanmeldungen.

4.6. Eigenschaften

Wenn Sie auf ein Element einer Klasse wie beispielweise ein Attribut klicken, sind die Eigenschaften dieses Elements unten im Reiter Properties zu erreichen.

modul 02 5 07 properties

Sie können hier beispielweise den Namen oder den Typ der Klasse ändern.

4.7. Stereotypen im XÖV-Kontext

Im Modellierungsumfeld von UML dienen Stereotypen dazu, Elementen der Modellierung spezielle Bedeutungen oder Charakteristika zuzuweisen. Im XÖV-Kontext werden Stereotypen eingesetzt, um bestimmte semantische Informationen oder fachliche Anforderungen zu den Modellierungselementen hinzuzufügen, die über die standardmäßigen UML-Elemente hinausgehen.

Spezifische Stereotypen in unserem Schulungsstandard:

Wenn Sie den Schulungsstandard in Papyrus betrachten, werden Sie feststellen, dass bestimmte Klassen, Attribute oder Ordner mit speziellen Stereotypen versehen sind. Diese dienen dazu, diese Elemente mit zusätzlichen Informationen oder Anforderungen zu ergänzen, die für den Schulungsprozess oder den Datenaustausch im XÖV-Kontext relevant sind.

Es ist essentiell zu verstehen, welche Stereotypen in einem Modell verwendet werden und welche Bedeutung sie haben, da sie oft kritische Informationen über die Modellierung und den beabsichtigten Datenaustauschprozess liefern.

  • xsdNamedType: Die Klassen Schulung und Trainee haben diesen Stereotypen. Er gibt an, dass es sich um einen benannten Typ im Kontext eines XML-Schemas handelt. Ein solcher Typ ist in der Regel ein zentrales Element im Datenaustausch und dient als Basistyp für andere Elemente.

  • xsdMessage: Die Klasse organisation.anmeldung.0001 trägt diesen Stereotypen. Dieser weist das Element als Nachricht im Datenaustausch aus, was bedeutet, dass es spezifische Informationen enthält, die zwischen Systemen ausgetauscht werden.

  • xsdSchema: Dieser Stereotyp wird für Ordner verwendet und zeigt an, dass die darin enthaltenen Elemente zu einem bestimmten XML-Schema gehören. In unserem Schulungsstandard tragen die Ordner Baukasten und Schulungsanmeldung (der sich im Ordner Nachrichten befindet) diesen Stereotypen. Er stellt sicher, dass die darin enthaltenen Elemente in einem bestimmten Schema-Format organisiert und validiert werden können.

Um den Stereotyp z.B. einer Klasse zu setzen, muss diese zuerst markiert werden. Sie finden dann die Tabelle mit den zugewiesen Stereotypen bei Properties`im Reiter `Profile.

modul 02 6 01 profile

Wenn Sie dort auf das grüne Pluszeichen klicken, können Sie dort aus allen verfügbaren Stereotypen die gewünschten auswählen.

modul 02 6 02 profile

Um ein Stereotyp zu entfernen, müssen Sie diesen auswählen und auf das rote X klicken.

4.8. Beispiel der XML-Struktur des Schulungsstandards

Um das Verständnis des Schulungsstandards zu vertiefen, betrachten wir ein praktisches Beispiel eines XML-Dokuments, das den Schulungsstandard verwendet.

<SchulungsStandard>
    <Schulung>
        <Bezeichnung>Grundlagen von XÖV</Bezeichnung>
        <Art>Online</Art>
        <Modul>Einführung</Modul>
        <Termin>2023-10-05</Termin>
    </Schulung>
    <Trainee>
        <Name>Max Mustermann</Name>
        <E-Mail>max@beispiel.de</E-Mail>
    </Trainee>
    <organisation.anmeldung.0001>
        <schulung>Grundlagen von XÖV</schulung>
        <trainee>Max Mustermann</trainee>
    </organisation.anmeldung.0001>
</SchulungsStandard>

SchulungsStandard-Element:

  • Dies ist das Wurzelelement des XML-Dokuments. Es enthält alle anderen Elemente und dient als Container für den gesamten Schulungsstandard.

Schulung-Element:

  • Dieses Element repräsentiert eine spezifische Schulung oder einen Schulungskurs.

  • Die Elemente Bezeichnung, Art, Modul und Termin sind die Attribute, die die spezifischen Details der Schulung definieren. In diesem Beispiel geht es um eine Online-Einführungsschulung zu "Grundlagen von XÖV", die am 5. Oktober 2023 stattfinden wird.

Trainee-Element:

  • Das Trainee-Element repräsentiert einen Teilnehmer der Schulung.

  • Die Elemente Name und E-Mail speichern die persönlichen Informationen des Trainees. In unserem Beispiel ist Max Mustermann der Trainee mit der E-Mail-Adresse max@beispiel.de.

organisation.anmeldung.0001-Element:

  • Dieses Element stellt die Anmeldung des Trainees zur Schulung dar.

  • Die Elemente schulung und trainee verknüpfen den Trainee mit der entsprechenden Schulung. Es zeigt, dass Max Mustermann für die Schulung "Grundlagen von XÖV" angemeldet ist.

Die dargestellte XML-Struktur ist ein einfaches Beispiel, das den Umgang mit dem Schulungsstandard in der Praxis veranschaulicht. Bei komplexeren Anwendungen können weitere Elemente und Attribute hinzugefügt werden, um zusätzliche Informationen und Zusammenhänge darzustellen.

5. Generieung der Artefakte mit dem XGenerator

Nachdem die Modellierung in Papyrus abgeschlossen ist, können mit dem XGenerator die entsprechenden Artefakte des Standards generiert werden. Das Hauptziel ist die Erstellung von XML-Schemata, die dann zur Validierung von XML-Daten verwendet werden können, und DocBook-Fragmenten, welche zur Erstellung der Dokumentation genutzt werden.

Starten Sie den XGenerator und wählen sie im Menü Datei und dort Projekt öffnen. Gehen Sie zum Projektordner im Workspace von Papyrus und wählen sie die Projekt-Datei xoev-schulung.xgen-project. Klicken Sie danach auf Öffnen.

Details
modul 02 7 03 projekt oeffnen

Lassen Sie alle Einstellungen wie voreingestellt und klicken Sie auf Verarbeitung starten.

Nach Abschluss der Verarbeitung sehen Sie eine Übersicht, welche Artefakte generiert worden sind, die sie im build-Ordner des Projektverzeichnis finden.

Details
modul 02 7 06 abschluss
modul 02 7 07 artefakte

5.1. Generierte Artefakte

5.1.1. XML-Schemadefinitionen (XSD)

  • Dateinamen: U.a. Schulung.xsd, Trainee.xsd

  • Inhalt: Diese Dateien definieren die Struktur der XML-Daten, die basierend auf dem Schulungsstandard erstellt werden.

  • Verwendung: Die XML-Schemas (XSDs) werden verwendet, um sicherzustellen, dass die erstellten XML-Daten korrekt strukturiert sind und den definierten Anforderungen des Standards entsprechen.

5.1.2. Dokumentation (docBook)

  • Dateinamen: U.a. Schulung.xml, Trainee.xml

  • Inhalt: Automatisch generierte DocBook-Bausteine welche alle Klassen, Attribute und Beziehungen beschreiben.

  • Verwendung: Dient als Grundlage der Generierung der PDF-Dokumentation zusammen mit den statischen DocBook-Dateien.

5.1.3. Code-Snippets (Schematron)

  • Dateinamen: Schulung-schematron.sch

  • Inhalt: Code-Snippets z.B. in Schematron

  • Verwendung: Diese Dateien können direkt in Validierung in Kombination mit den Schema-Dateien integriert werden.

Sollten Fehlermeldung bzgl. der erzeugten Artefakte ausgeben werden, müssen diese im UML-Modell in Papyrus und nicht in den generierten Artefakten selbst korrigiert werden, da diese sonst bei einer erneuten Verwendung des XGenerators wieder (mit den alten Fehlern) überschrieben werden.

6. Ergänzung des Schulungsstandards

Bisher haben wir einen bereits vorliegenden Standard betrachtet und daraus die Artefakte erzeugt. In diesem Kapitel soll nun eine Erweiterung des Standards erfolgen. Dazu wird die Nachricht organisation.anmeldebestaetigung.0002 erstellt und die neue Klasse Einwahldetails eingeführt.

6.1. Erstellung der Klasse Einwahldetails

Um die Nachricht organisation.anmeldebestaetigung.0002 vollständig zu definieren, benötigen wir eine Klasse namens Einwahldetails, die Einzelheiten zur Anmeldung enthält.

Öffnen Sie dazu als erstes das Klassendiagramm und klicken Sie im Reiter Nodes auf Class.

modul 02 8 01 ansicht
modul 02 8 02 nodes

Klicken Sie auf die gewünschte Stelle der Ansicht des Klassendiagramms. Geben Sie der neuen Klasse den Namen Einwahldetails.

modul 02 8 03 klasse

Drücken Sie die rechte Maustaste auf die Klasse und wählen Sie Filters→Show/Hide Compartments.

modul 02 8 04 filter

Wählen Sie im folgenden Dialog alle Optionen außer Attributes ab und klicken Sie auf OK.

modul 02 8 05 filter

Als nächstes setzen wir den Stereotyp. Wählen Sie dazu die Klasse an und klicken Sie unter Properties→Profile auf das grüne Plus.

Details
modul 02 8 06 profile

Im folgenden Dialog geben Sie im Filterfeld xsdNamedType ein und drücken Sie Enter.

Details
modul 02 8 07 profile

Der Stereotyp ist nun ausgewählt und wir können durch ein Klick auf OK unsere Zuordnung bestätigen und das Fenster schließen

Als nächstes sollen sollen die folgenden Attribute der Klasse definiert werde:

  • system: Dieses Attribut gibt das System an, in das sich der Trainee einloggen muss.

  • kennung: Die Kennung oder der Benutzername für das System.

  • passwort: Das zugehörige Passwort für die Kennung.

Klicken Sie dafür zunächst auf Property im Node-Reiter

modul 02 8 09 attribute

und anschließend auf die Klasse. Geben Sie dem neuen Attribute den Namen system.

modul 02 8 10 attribute

Nun soll ein Typ den Attributen zugewiesen werden. Klicken Sie dafür auf …​ neben Type.

modul 02 8 11 attribute

Im folgenden Dialog geben Sie datatypec in das Suchfeld und wählen Sie den Datentyp aus. Klicken Sie anschließend auf OK.

Details
modul 02 8 12 attribute

Anschließend muss noch die Sichbarkeit auf private gesetzt werden indem dieser Wert im DropDown-Box neben Visibility gewählt werden.

Details
modul 02 8 13 attribute

Das gleiche Vorgehen für die beiden anderen Attribute wiederholt werden und abschließend kann die neue Klasse im Model Explorer in den Ordner Schulungsanmeldungen verschoben werden.

6.2. Erstellung der Nachricht organisation.anmeldebestaetigung.0002

Nachdem die Klasse Einwahldetails definiert ist, können wir fortfahren und die Nachricht organisation.anmeldebestaetigung.0002 erstellen.

Dazu erstellen Sie wie im vorangegangenen Abschnitt eine neue Klasse organisation.anmeldebestaetigung.0002 und weisen dieser den Stereotyp xsdMessage zu. Als Attribute werden schulung, einwahldetails, und trainee gesetzt. Anschließend speichern wir wie gewohnt.

6.3. Testen der neuen Klassen

Unser erweitertes Model mit den neu erstellen Klassen wird nun wieder wie zuvor beschrieben mit dem XGenerator verarbeitet. Falls dies erfolgreich geschehen ist, sind jetzt entsprechend zusätzliche Artefakte erzeugt worden.

7. Generierung der Dokumentation

Mit Hilfe der erzeugten DocBook-Fragmente ist es nun möglich, eine Dokumentation bzw. Spezifikation des Standards zu erstellen. Dafür sind im Ordner src statische DocBook-Quelldateien, welche die dynamisch erzeugten DocBook-Fragmente einbinden. Bedenken Sie, dass Sie neue erstellte Nachrichten und Datentypen manuell in die statischen DocBook-Quelldateien einbinden müssen.

Um die Generierung des PDFs zu starten, müssen Sie die Batch-Datei generate_documentation.bat starten.

Details
modul 02 9 01 start generation
modul 02 9 02 generation

Nach Abschluss der Generierung finden sie die PDF im Ordner pdf das unseren Standard spezifiziert.

modul 02 9 03 pdf