Schulungen

1. Einführung

Dieses Modul soll die Vorgehensweise bei der Erstellung eines Standards mit dem [XÖV-Entwicklungsprozess] vermitteln. Dies geschieht mit Hilfe von der KoSIT bereitgestellten XÖV-Spezifikations- und Produktionswerkzeuge und der Open-Source-Modellierungssoftware [Papyrus] anhand eines Beispielstandards "Schulungsorganisation". Das hier vorliegende Modul unterstellt eine zuvor erfolgreiche Einrichtung der Produktionsumgebung (siehe Modul "Produktionsumgebung").

2. Vorbereitungen für den Beispielstandard "Schulungsorganisation"

2.1. Das Starterpaket

Der Startpunkt des Standards ist das von der KoSIT bereitgestellte XÖV-Starterpaket für Papyrus und bietet die Grundlage für die Modellierung im XÖV-Entwicklungsprozess. Die Einbindung ist hier beschrieben.

2.2. Umbenennungen

Nach der erfolgreichen Einbindung müssen zunächst einige Umbenennungen durchgeführt werden. Dafür im wird Project Explorer mit der rechten Maustaste auf den Hauptordner geklickt und Rename…​ ausgewählt und Schulungsorganisation eingegeben.

Details
modul 03 umbenennung 01
modul 03 umbenennung 02

Nun wird ganz ähnlich im Project Explorer mit der rechten Maustaste die Diagramm-Datei (Datei mit dem dem Tukan-Symbol) an- und anschließend Rename…​ ausgewählt.

modul 03 umbenennung 03

Dort kann dann erneut Schulungsorganisation eingegeben und der folgende Dialog durch OK bestätigt werden, wodurch die Umbenennung durchgeführt wird.

Die so umbenannte Diagramm-Datei muss jetzt mittels Doppelklick geöffnet und im Model Explorer auf das Hauptpaket geklickt werden.

modul 03 umbenennung 08

Bei Properties→UML→Name wird der Name auf Schulungsorganisation geändert

modul 03 umbenennung 09

und anschließend im Hauptpaket starterpaket angeklickt. Achtung: Vor starterpaket werden im Modelexplorer die zugeordneten Stereotypen angezeigt, d.h. '<<xoevStandard, xoevVersionStandard,[…​]>>'

modul 03 umbenennung 10

Bei Properties→UML→Name muss nun der Namen auf schulungsorganisation (Achtung: Kleinschreibung) geändert werden, womit die Umbenennung abgeschlossen ist.

Details
modul 03 umbenennung 11

2.3. Löschung der Beispieldaten

Nun müssen im nächsten Schritt die Beispieldaten aus dem Starterpaket gelöscht werden. Wenn das Paket schulungsorganisation geöffnet wird, ist zu erkennen, dass Identifikation.Hamster, Identifikation.Zuechter und Wettbewerbsmeldungen vorhanden sind, die nicht benötigt werden

modul 03 loeschung 01

Dafür zuerst auf Identifikation.Hamster mit der rechten Maustaste klicken und Delete auswählen wodurch die Klasse mit allen Eigenschaften aus dem Projekt entfernt wird. Das gleiche Procedere kann mit den anderen Klassen und dem Diagramm wiederholt werden.

2.4. Metadaten

Als nächsten Schritt müssen die Metadaten angepasst werden, die bei den Stereotypen des Hauptpakets schulungsorganisation zu finden sind. Nach der Auswahl des Pakets muss dafür zu Properties→Profile navigiert werden, um dort die vorhandenen Eigenschaften durch die Metadaten des Standards Schulungsorganisation zu ersetzen. Die anzupassenden Metadaten sind unter xoevStandard zu finden.

Details
modul 03 metadaten 01
modul 03 metadaten 02

und sollen die nachfolgenden Werte erhalten. Um einen Wert zu editieren, auf diesen klicken und im rechten Fenster diesen ersetzen.

Details
modul 03 metadaten 03
BezeichnungWert

nameLang

Schulungsorganisation

nameKurz

Schulungsorganisation

nameTechnisch

schulungsorganisation

kennung

urn:xoev-de:kosit:standard:schulungsorganisation

beschreibung

Der Standard Schulungsorganisation ist ein Beispielstandard im Rahmen der XÖV-Schulung

Die Metadaten zur Version eines XÖV-Standards sind unter xoevVersionStandard zu finden. Auf die gleiche Art wie vorher sollen nun die folgenden Werte ersetzt werden um die Vorbereitung für die Erzeugung eines Beispielstandards abzuschließen.

BezeichnungWert

version

1.0

versionXOEVHandbuch

3.0.1

versionXGenerator

3.1.1

versionModellierungswerkzeug

2023-06 (4.28)

nameModellierungswerkzeug

Papyrus

(Die Regelungen zur Bildung der Kennung sind im Kapitel 4.2.2 des XÖV-Handbuchs zu finden.)

3. Anwendungsbereich Beispielstandard "Schulungsorganisation"

Nach der erfolgreichen Vorbereitung soll nun der Beispielstandard "Schulungsorganisation", standardisierte Datenstrukturen und Kommunikationsprozesse für die Organisation von Schulungen bereitstellt, erarbeitet werden. Dafür müssen die möglichen Anwendungsfälle erfasst und ausgeführt werden. Es ist dabei vorgesehen, dass der Standard die Anmeldung eines Schulungsbedarfs, die Bekanntgabe und Beratung zur Schulung sowie Anmeldung, Durchführung der Schulung und abschließend die Bestätigung der Teilnahme und Beschaffung von Schulungslizenzen vorsieht. Daraus ergeben sich die Anwendungsfälle, deren Übersicht in einem Anwendungsfalldiagramm dargestellt werden kann.

3.1. Anwendungsfalldiagramm

Für die Erstellung wird im Model Explorer mit der rechten Maustaste auf Schulungsorganisation geklickt und dort New Diagram→Use Case Diagram ausgewählt.

Details
modul 03 usecase 01

Im folgenden Dialog NewUseCaseDiagramm löschen, als Name Anwendungsfalldiagramm eintragen und auf OK klicken. Nun sollte das noch leere Anwendungsfalldiagramm für Schulungsorganisation.di im Model Explorer zu sehen und geöffnet sein.

Details
modul 03 usecase 03

Um den ersten Anwendungsfall im Diagramm darzustellen, muss aus der Palette das Use Case-Element per Drag&Drop in das Fenster gezogen werden und das Element als Anmeldung eines Schulungsbedarfs benannt werden.

Details
modul 03 usecase 04
modul 03 usecase 06

Damit das Icon vor dem Namen nicht dargestellt wird, muss unter Properties→Appearance des Elements die Checkbox bei Element icon entfernt werden.

Details
modul 03 usecase 07

Das fertige Element sollte jetzt wie folgt aussehen.

modul 03 usecase 08

Auf die gleiche Art können die folgenden Use Case-Elemente hinzugefügt werden.

Bekanntgabe einer Schulung

Beratung zur Schulung

Anmeldung zur Schulung

Durchführung einer Schulung

Bestätigung der Teilnahme

Beschaffung von Schulungslizenzen

  1. Die Größen der Use Case-Elemente sollten ggf. durch Ziehen am Rand angepasst werden.

Im nächsten Schritt sollen die Rollen der Beteiligten hinzugefügt und verbunden werden. Dafür muss aus der Palette das Actor-Element per Drag&Drop in den Arbeitsbereich gezogen werden und mit dem Namen Organisator versehen werden.

Details
modul 03 usecase 11

Über die den Link Assoziation kann der erstellte Organisator mit Anmeldung zur Schulung verbunden werden, sodass das Diagramm folgendermaßen aussehen sollte:

modul 03 usecase 13

Jetzt kann der Organisator nun noch mit dem Anwendungsfall Bestätigung der Teilnahme verbunden werden. Auf die gleiche Art sollen noch zwei Actors namens Trainee und Referent einfügt werden und mit verschiedenen Anwendungsfällen verbunden werden, sodass sich am Ende das Anwendungsfalldiagramm ergibt

modul 03 usecase 14

3.2. Anwendungsfall: Anmeldung zur Schulung

Im Folgenden wird der Anwendungsfall Anmeldung zur Schulung erläutert, der die Grundlage für die nachfolgenden Modellierungsschritte ist.

  • 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.

  • Regulärer Ablauf:

    • 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 mit seinen Informationen (Name, E-Mail usw.) aus.

    • 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ätigung.

    • 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.

Mit Hilfe des Anwendungsfall ist ersichtlich, dass drei Nachrichten benötigt werden, um diesen umzusetzen. Als erstes benötigt man eine Nachricht, welche die Anmeldeinformationen beinhaltet. Außerdem benötigt man ein Nachricht, um eine Anmeldung zu bestätigen, und eine, um eine Anmeldung abzulehnen.

3.3. Prozesse

Um ein klareres Bild zu bekommen, in welchem Kontext und mit welchen Daten die Nachrichten existieren, müssen diese innerhalb von Prozessen dargestellt werden. Prozesse beschreiben Abläufe, die durch die Kommunikation von Nachrichten zwischen verschiedenen Instanzen, Systemen oder Modulen geregelt werden. Sie werden mithilfe von UML-Aktivitätsdiagrammen visualisiert.

Der Anmeldeprozess beginnt mit der Kursauswahl durch einen Teilnehmer und endet mit der Bestätigung oder Ablehnung der Kursanmeldung. Nachfolgend soll ein entsprechendes Aktivitätsdiagramm in Papyrus erstellt werden.

Zunächst wird mit der rechten Maustaste auf schulungsorganisation geklickt und New Diagram→Activity Diagram ausgewählt, dem Diagramm der Name Aktivitätsdiagramm geben und mit OK bestätigt.

Details
modul 03 aktivitaetsdiagramm 01

Wie bei dem Anwendungsfalldiagramm ist nun das neue Aktivitätsdiagramm geöffnet (es erscheint als Reiter neben dem zuvor erstellten Anwendungsfalldiagramm) und ihm kann unter Properties→UML→Name der Name Prozesse gegeben werden.

Details
modul 03 aktivitaetsdiagramm 03
modul 03 aktivitaetsdiagramm 04

Nun wird als erstes eine Partition für den Trainee benötigt. Dafür per Drag&Drop eine Activity Partition in den Arbeitsbereich ziehen und die Partition Trainee nennen.

Details
modul 03 aktivitaetsdiagramm 05
modul 03 aktivitaetsdiagramm 06
modul 03 aktivitaetsdiagramm 07

Die Partition sollte links sein und kann in der Größe individuell angepasst werden. Auf selber Art wird eine Partition für die rechte Seite erstellt, die den Namen Organisator bekommt.

modul 03 aktivitaetsdiagramm 08

Mit Initial node kann anschließend in der Trainee Partition ein Startknoten per Drag&Drop gezogen werden, der den Namen Schulungsankündigung trägt.

Details
modul 03 aktivitaetsdiagramm 10

Jetzt kann der erste Aktivitätsknoten eingefügt werden. Dazu per Drag&Drop Call Behavior Action in die linke Partition ziehen

modul 03 aktivitaetsdiagramm 11

und den Aktivitätsknoten den Namen Schulung auswählen geben.

modul 03 aktivitaetsdiagramm 12

Nun die den Startknoten mit dem Aktivitätsknoten verbinden, indem die über einen Control Flow verbunden wird. Danach sollte das Diagramm folgendermaßen aussehen.

modul 03 aktivitaetsdiagramm 14

Auf die gleiche Art kann ein zweiter Aktivitätsknoten linken Partition eingefügt und verbunden werden, der mit Anmeldung erstellen und versenden benannt und mit dem anderen Knoten verbunden wird.

Details
modul 03 aktivitaetsdiagramm 15

Als nächstes in der rechten Partition einen weiteren Aktivitätsknoten einfügen und mit Anmeldung prüfen benennen.

Details
modul 03 aktivitaetsdiagramm 16

und anschließend zwischen den Partitionen einen Central Buffer Node einfügen, der den Namen Anmeldung.Nachricht.0001 bekommt.

Details
modul 03 aktivitaetsdiagramm 17
modul 03 aktivitaetsdiagramm 18

Für die Verbindungen brauchen wir im nächsten Schritt einen Output-Pin an den Aktivitätsknoten Anmeldung erstellen und versenden sowie einen Input-Pin an dem Aktivitätsknoten Anmeldung prüfen, die wir in der Palette finden.

modul 03 aktivitaetsdiagramm 21

Mit einem Object Flow aus edges von dem Output-Pin zur Anmeldung Nachricht 0001 ziehen einen Object Flow von Anmeldung Nachricht 0001 zum Input-Pin bei Anmeldung prüfen ziehen.

modul 03 aktivitaetsdiagramm 24

Als nächstes wird ein Entscheidungsknoten unter dem Aktivitätsknoten Anmeldung prüfen gezogen, diesem die Beschriftung Bestätigung möglich? geben und mit dem Aktivitätsknoten verbinden.

modul 03 aktivitaetsdiagramm 27

Anschließend können zwei weitere Aktivitätsknoten einfügen und mit Bestätigung erstellen und versenden und Ablehnung erstellen und versenden benannt werde. Diese sind jeweils das Ziel der Entscheidung, weswegen sie mit dem Entscheidungsknoten über Kontrollflüsse verbunden mit ja bzw. nein beschriftet werden.

modul 03 aktivitaetsdiagramm 28

Von dort kann das Diagramm weiter mit den bis hierhin eingeführten MMittel aufgebaut werden, bis es wie folgt aussieht:

modul 03 aktivitaetsdiagramm 29

Zum Abschluss werden noch die Endknoten benötigt die mit einem Activity final-Knoten in die linke Partition zum Aktivitätsknoten Bestätigung verarbeiten gezogen und verbunden werden.

modul 03 aktivitaetsdiagramm 32

Damit ist das Aktivitätsdiagramm fertig erstellt.

3.4. Erarbeitung des Fachmodells

Für das Fachmodell wird in diesem Rahmen wird die Anmeldungsnachricht erarbeitet. Dazu benötigen wir Information zur Schulung, zum Trainee und zur anmeldenden Organisation. Die ersten beiden Datensätze werden wir als wiederkehrende Datentypen definieren, damit diese in anderen Nachrichten wiederverwendet werden können. Deshalb werden diese zuerst vor der Nachricht definiert und nach NDR-5 aus dem XÖV-Handbuch im Order Baukasten abgelegt.

Für die nachfolgende Modellierung verwenden wir ein Klassendiagramm indem mit der rechten Maustaste auf schulungsorganisation geklickt und New Diagram→Class Diagram auswählen wird. Als Name wählen wir "Klassendiagramm" und bestätigen mit Ok.

Details
modul 03 fachmodell 01
modul 03 fachmodell 02
modul 03 fachmodell 03

3.4.1. Datentypen

Als ersten Datentyp definieren wir die Schulung. Diese soll aus einer Bezeichnung, einer Art, einem Modul und einem Termin bestehen. Als Datentyp für die Attribute wird hier der DatatypeC aus der XÖV-Bibliothek benutzt, welche im Starterpaket schon als externes Modell eingebunden ist.

Dieser wird per Drag&Drop Class in die Arbeitsfläche gezogen un Schulung benannt

Details
modul 03 fachmodell 04
modul 03 fachmodell 05

Da nur die Attribute von der Klasse benötigt werden, muss noch die Sicht gefiltert werden. Dafür mit der rechten Maustaste auf die Klasse klicken und Filters→Show/Hide Compartments wählen und im folgenden Dialog alle Checkboxen außer den Attributen abwählen und auf OK klicken.

Details
modul 03 fachmodell 07

Jetzt kann das erste Attribut zur Klasse hinzugefügt werden, indem Property aus der Palette auf die Klasse gezogen und den Namen Bezeichnung gegeben wird.

modul 03 fachmodell 08
modul 03 fachmodell 09

Anschließend wird die Sichtbarkeit und der Datentyp geändert, indem wir auf das Attribut klicken und zu Properties→UML gehen. Dort stellen wir die Visibility auf private und klicken bei Type auf …​.

modul 03 fachmodell 10

Im folgenden Dialog den Reiter Tree auswählen und im oberen Feld *datatypeC eingeben. Es wird der DatatypeC aus der XÖV-Bibliothek angezeigt. Diesen auswählen und auf OK klicken (oder einfach die Return-Taste drücken).

modul 03 fachmodell 11

Mit der gleichen Vorgehensweise und dem gleichen Datentyp art, modul und termin hinzufügen:

modul 03 fachmodell 12

Nun ist die Erstellung des ersten Datentyps abgeschlossen. Es wird nun eine zweite Klasse Trainee benötigt, die name und email als Attribute mit dem Datentyp datatypeC haben. Dies kann genauso wie vorher erzeugt werden, so dass das finale Klassendiagramm erhalten wird

modul 03 fachmodell 13

3.4.2. Nachricht

Als nächstes wird die Nachricht definiert. Dafür muss eine Klasse mit dem Namen organisation.anmeldung.0001 hinzugefügt werden, welche als Attribut anmeldendeOrganisation hat.

modul 03 fachmodell 14

Die beiden fachlichen Datentypen werden per gerichteter Komposition in die Nachricht eingebunden indem Composite Association (Directed) in der Palette gewählt und von der Nachricht zu den fachlichen Datentypen gezogen wird.

modul 03 fachmodell 15

Durch einen rechten Maustklick auf die Komposition kann mittels Filters→Show/Hide Labels die Ansicht gefiltert werden.

modul 03 fachmodell 16

Dort alles bis auf die Target-Checkboxen abwählen und auf OK klicken.

modul 03 fachmodell 17

Bei Properties→UML kann die Sichtbarkeit auf private und die Ziel-Multiplizität auf 1 gesetzt werden.

Details
modul 03 fachmodell 18

Als nächstes kann auf die gleiche Art der Trainee eingebunden werden, allerdings wird dabei die Multiplizität auf 1..* gesetzt, da mehrere Teilnehmer (aber mindestens einer) an der Schulung Teilnehmen können.

modul 03 fachmodell 19

Damit ist das Fachmodell fertig erstellt.

3.5. Konkretisierung zum XÖV-Fachmodell

Nun muss das Klassendiagramm so angepasst werden, dass es zum XÖV-Fachmodell wird. Dafür müssen wir die Klassen mit Stereotypen bezeichnen, damit ersichtlich wird, was eine Nachricht und was ein fachlicher Datentyp ist.

Als erstes wird die Nachricht ausgewählt und unter Properties→Profile auf das Pluszeichen geklickt

Details
modul 03 xoevfachmodell 01

Dort im linken Textfeld xsdMessage eingeben und mit Return bestätigen. Anschlißened mit OK bestätigen.

modul 03 xoevfachmodell 03

Auf die gleiche Art bei den fachlichen Datentypen den Stereotyp xsdNamedType wählen. Danach sollte das Klassendiagramm folgendermaßen aussehen

modul 03 xoevfachmodell 04

Nun müssen noch die Klassen in die richtigen Ordner über den Model Explorer verschoben werden. Beide Klassen repräsentieren einen fachlichen Datentypen zur Wiederverwendung im gesamten XÖV-Standard.

modul 03 xoevfachmodell 05

Nachrichten müssen in ein Package Nachrichten zusammengeführt werden (nach NDR-5, XÖV-Handbuch). Deshalb muss ein neues Package Schulungsanmeldungen im Package Nachrichten angelegt werden. Dafür mit der rechten Maustaste auf das Package Nachrichten klicken und New Child→Package auswählen

modul 03 xoevfachmodell 06

un diesen Ordner mit dem Stereotyp xsdSchema markieren, indem über Properties→Profile→Applied stereotypes auf das Pluszeichen geklickt wird und der Stereotyp im folgenden Dialog ausgewählt wird.

modul 03 xoevfachmodell 07

Zuletzt muss noch die Nachricht in den Ordner verschoben werden.

3.5.1. Basisdatentypen

Das Attribut art aus dem fachlichen Datentyp Schulung soll die Einschränkung besitzen, dass aus einem Text mit maximal zehn Zeichen bestehen soll. Dafür soll der XÖV-Datentyp String.Latin auf die maximale Länge von 10 beschränkt werden und ein neuer Datentyp String.Max10 dafür erstellt werden. Diese Datentypen gehören nach NDR-5 des XÖV-Handbuches in das Package Basisdatentypen.

Zuerst erstellen wir dafür eine neue Klasse indem wir mit der rechten Maustaste auf das Package Basisdatentypen klicken und auf New Child→Class klicken.

Details
modul 03 basisdatentypen 01

Die Klasse bekommt den Namen String.Max10 und ihre Sichtbarkeit wird auf private gesetzt.

modul 03 basisdatentypen 02

Nun müssen wir eine Vererbung von der Basisklasse String.Latin erstellen. Dafür mit der rechten Maustaste auf die Klasse klicken, New Relationship→Generalization auswählen und dann String.Latin aus der XÖV-Bibliothek auswählen sowie auf OK klicken

Details
modul 03 basisdatentypen 03
modul 03 basisdatentypen 04

Im nächsten Schritt muss der Vererbung der Stereotyp xsdRestriction zugeordnet werden und dort die Einschränkung definiert werden. Dafür auf die Vererbung im Model Editor klicken und bei Properties→Profile→Applied stereotypes auf das Pluszeichen klicken, den Stereotypen xsdRestriction auswählen und auf OK klicken.

modul 03 basisdatentypen 06

Bei der Eigenschaft maxLength kann der 10 gesetzt werden.

Details
modul 03 basisdatentypen 07

Bei dem Attribut art in der Klasse Schulung muss unter Type auf …​ geklickt werden und im folgenden Dialog der Basisdatentyp String.Max10 ausgewählt werden, wodurch art vom Basisdatentyp String.Max10 ist.

Details
modul 03 basisdatentypen 09
modul 03 basisdatentypen 10

3.5.2. Externe Codelisten

Als nächstes sollen die Informationen über Schulungsteilnehmer*innen um das Geschlecht ergänzt werden. Dafür wird entschieden eine externe Codeliste aus dem Standard XInneres zu verwenden, die dies abdeckt.

Die Liste ist und link:http://www.xrepository.de über den Suchbegriff xinneres geschlecht oder direkt unter https://www.xrepository.de/details/urn:xoev-de:xinneres:codeliste:geschlecht im Payrusformat bei Dokumente zur Version zu finden. Nach dem Download wird die Datei per Drag&Drop im Projektordner in Papyrus abgelegt.

modul 03 externe codelisten 06

Im folgenden Dialog muss dann Copy files ausgewählt und mit OK bestätigt werden.

Als nächstes nit der rechten Maustaste auf das Model klicken und New→Papyrus Model anwählen und im folgenden Dialog auf Finish klicken.

Details
modul 03 externe codelisten 08
modul 03 externe codelisten 09

As nächstes muss das Model mit dem XÖV-Profil verbunden werden. Dafür wird im nächsten Dialog auf Apply geklickt und im darauffolgenden auf Workspace…​.

Details
modul 03 externe codelisten 10
modul 03 externe codelisten 11

Nun wird XOEV-Profil.profile.uml ausgewählt und wieder mit OK bestätigt.

modul 03 externe codelisten 12

In den beiden folgenden Dialogen wird die Auswahl ebenfalls mit OK bestätigt.

Details
modul 03 externe codelisten 13
modul 03 externe codelisten 14

Jetzt kann die Codeliste aus dem Codelisten-Modell in die Schulungsorganisation kopiert werden. Dafür das Codelisten-Projekt auswählen und im Model Explorer mit der rechte Maustaste auf die Codeliste im Ordner Codelisten klicken und dort Copy wählen. Die kopierte Codeliste kann jetzt im Model Explorer der Schulungsorganisation unter Schulungsorganisation→Codelisten→externe Codelisten eingefügt werden und ist damit eingebunden.

Details
modul 03 externe codelisten 16
modul 03 externe codelisten 17

Im nächsten Schritt word das Codelisten-Projekt gelöscht indem mit der rechten Maustaste auf dieses geklickt wird und Delete ausgewählt wird.

Details
modul 03 externe codelisten 18

Nun muss das neue Attribut für das wir die Codeliste eingebunden haben noch der Trainee-Klasse hinzugefügt werden. Dafür wird das Klassendiagramm geöffnet und Property aus den Nodes in die Klasse gezogen.

Details
modul 03 externe codelisten 19

Als Namen wird geschlecht gewählt und bei Properties→UML die Visibility auf private gesetzt.

Details
modul 03 externe codelisten 20

Über die Auswahl der drei Punkte bei Type erscheint ein Suchdialog in dem wir geschlecht eingeben und die eingebundene Codeliste auswählen nud mit OK bestätigen. Damit ist neue Attribut erzeugt und mit der Codeliste verbunden.

Details
modul 03 externe codelisten 21
modul 03 externe codelisten 22
modul 03 externe codelisten 23

3.5.3. Eigene Codelisten

Im Standard Schulungsorganisation wird eine Codeliste benötigt, welche die Kursthemen einer Schulung darstellt. Da diese nicht schon (extern) existiert, muss sie neu angelegt werden. Die Codeliste soll die folgenden Einträge enthalten.

CodeWert

001

XÖV-Schulung: Einführung und Modellierungs-Modul

002

Modul Codelisten-Methodik

Wie in Kapitel 8.1 des XÖV-Handbuchs beschrieben ist, müssen Codelisten als UML-Klassen modeliert und nach einer bestimmten Struktur angelegt werden.

Dafür wechseln wir nach Codelisten→eigene Codeliste, klicken mit der rechten Maustaste und wählen New Child→Package.

Details
modul 03 codelisten 01
modul 03 codelisten 02

Als Name für die eigene Codeliste wird urn:xoev-de:kosit:standard:schulungsorganisation:codeliste:kursthemen eingeben.

Details
modul 03 codelisten 03

Nun wird die Klasse Kursthemen angelegt, indem mit der rechten Maustaste auf das Package geklickt und New Child→Class ausgewählt wird.

Details
modul 03 codelisten 04

Anschließend kann der Name Kursthemen eineggeben werden.

Details
modul 03 codelisten 05

Dieser Klasse muss nun der Stereotyp xoevCodeliste zugewiesen werden, damit diese korrekt erkannt wird und ihr die richtigen Eigenschaften zugewiesen werden können. Dafür die Klasse auswählen, bei Properties→Profile auf das Plussymbol klicken und den Stereotyp xoevCodeliste auswählen

Details
modul 03 codelisten 06
modul 03 codelisten 07

Jetzt müssen die Eigenschaften befüllt werden. Dafür wird die jeweilige Eigenschaft ausgewählt und mit einem Klick auf das rechte Pluszeichen diese hinzufügen bzw. die Werte direkt eintragen.

modul 03 codelisten 08

Die mögliche Werte sind nachfolgen aufgelistet.

NameWert

nameLang

Kursthemen für Schulungen

nameKurz

Kursthemen

nameTechnisch

kursthemen

kennung

urn:xoev-de:kosit:standard:schulungsorganisation:codeliste:kursthemen

beschreibung

Diese Codeliste ist für den Beispielstandard Schulungsorganisation erstellt worden.

herausgebernameLang

Koordinierungsstelle für IT-Standards

herausgebernameKurz

KoSIT

Da die Codeliste neu erstellt wird, bekommt diese die Versionsnummer 1.0. Dafür muss ein neues Package mit dieser als Name angelegt. Dies geschieht über Klicken mit der rechten Maustaste auf das aktuelle Package und Auswahl von New Child→Package sowie der Eingabe des Namens 1.0.

Details
modul 03 codelisten 09
modul 03 codelisten 10

In dem Ordner werden die Klassen, welche die Struktur der Codeliste angeben, und die Inhalte der Codeliste angelegt. Dafür wird zuerst mit der rechter Maustaste auf das Package geklickt, New Child→Class ausgewählt und der Klasse der Name 1.0 gegeben.

Details
modul 03 codelisten 11
modul 03 codelisten 12

Der Codeliste sollen die beiden Spalten Code und Beschreibung zugewiesen werden. Dafür muss mit der rechten Maustaste auf die Klasse geklickt, New Child→Property ausgewählt und als Name code eingeben werden.

Details
modul 03 codelisten 13
modul 03 codelisten 14

Bei Properties→UML→Visibility wird noch die Sichtbarkeit auf private gesetzt.

Auf die gleiche Art kann das Attribut beschreibung hinzugefügt werden.

Details
modul 03 codelisten 16

Nun müssen der Klasse und ihrer Attribute Stereotypen hinzugefügt werden. Dafür auf die Klasse klicken, bei Properties→Profile auf das Pluszeichen klicken und den Stereotyp xoevVersionCodeliste auswählen. Anschließend müssen die Eigenschaften befüllt werden für die die folgenden Werte benutzt werden.

NameWert

datumGueltigkeitAb

2023-11-15

version

1

versionXOEVHandbuch

3.0.1

modul 03 codelisten 19

Jetzt muss den Attributen der Stereotyp xoevCodelistenspalte zugewiesen werden.

modul 03 codelisten 20

Die Eigenschaften bekommen wiederum die folgenden Werte.

+

NameWert

spaltennameLang

code bzw. beschreibung

datentyp

string

verwendung

required

codeSpalte

true

modul 03 codelisten 21

Anschließend müssen die Werte zu der Codeliste hinzugefügt werden. Dafür mit der rechten Maustaste auf das Paket 1.0 klicken und New Child→Instance Specification auswählen.

Details
modul 03 codelisten 22

Diese bekommt den Namen 001 als ersten Codewert zugewiesen.

modul 03 codelisten 23

Bei Properties→UML→Classifier muss anschließend auf das Plussymbol geklickt werden.

Details
modul 03 codelisten 24

Im erscheinenden Dialog kann die Kursthemen-Klasse über das Suchfeld gefunden, mit dem Pfeil nach rechts geschoben und mit OK bestätigt werden.

modul 03 codelisten 25

Nun muss ein Inhalte dem Codelistenwert hinzugefügt werden. Dafür mit der rechten Maustaste auf 001 klicken und New Child→Slot auswählen.

Details
modul 03 codelisten 27

Anschließend auf …​ neben Defining feature klicken, im folgenden Dialog das code-Attribut auswählen und auf OK klicken.

Details
modul 03 codelisten 28
modul 03 codelisten 29

Nach einem Klick auf das Pluszeichen bei Value klicken, LiteralString auswählen

modul 03 codelisten 30

nd bei Value den Wert 001 eingeben und mit OK bestätigen.

Details
modul 03 codelisten 31

Auf die gleiche Art kann bei beschreibung unter 001 hinzugefügt und dort der Wert XÖV-Schulung: Einführung und Modellierungs-Modul hinzugefügt werdeb.

modul 03 codelisten 32

Der zuvor beschriebene Vorgang muss jetzt für den zweiten Eintrag wiederholt werden, sodass sich folgendes Bild ergibt:

modul 03 codelisten 33

Damit ist die eigene Codeliste mit beiden Eintragen angelegt und unser beispielhaftes XÖV-Fachmodell fertig.