Das Kapitel gibt einen ersten groben Überblick über Modellierungsgrundsätze und wird schrittweise verfeinert.
Designrichtlinien
- Normalisierung
- Redundanzfreiheit: Informationsobjekte sollten nur einmal im Wiki vorkommen.
- Trennung von Stamm- und Bewegungsdaten (Stammdaten / Werte...)
- Nullability
Namenskonventionen
- Deutsch
- Groß- und Kleinschreibung wird beachtet
- Englische Begriffe sind nicht einzudeutschen
- Objektbezeichnungen sollten eindeutig sein
- keine Verwendung von Sonderzeichen; um zusammengesetzte Wörter zu kreieren wird "_" verwendet
- Verwendung von Abkürzungen (sofern diese im Abkürzungsverzeichnis vorkommen)
- Trennung von "identifizierenden Attributen" und "beschreibenden Attributen"
Datentypen
- Kennzeichen: Attribute vom Typ Kennzeichen haben nur zwei mögliche Ausprägungen: WAHR und FALSCH. Es handelt sich dabei um boolesche Datentypen. Die Feldlänge ist in diesem Fall, da es sich um eine boolesche Variable handelt, immer eins.
- Codelisten: Attribute können sich auf Codelisten beziehen, d.h. sie können nur jene Ausprägungen annehmen, welche in der dahinter liegenden Codeliste angegeben sind.
- Datum: Attribute können sich auf ein Datum beziehen (Format jjjjmmtt), die Feldlänge ist dabei 8. Der Wert 99991231 wird als Dummy-Wert verwendet (Konvention).
- alphanumerisch (im engeren Sinne): Attribute können alphanumerische Ausprägungen (A-Z a-z 0-9) haben (aber keine Sonder- und Leerzeichen enthalten). Die entsprechende Feldlänge ist dabei je nach Anforderung variabel.
- alphanumerisch - eingeschränkt erweitert: Zulässig sind folgende Zeichen: A-Z a-z 0-9 - _ / \ (jedoch keine Leerzeichen und sonstigen Sonderzeichen)
- alphanumerisch - erweitert : A-Za-z0-9_!#$%'()*+,./:;?@^`{}~\&- (jedoch keine Leerzeichen und sonstigen Sonderzeichen)
- alphanumerisch - vollumfänglich: Zulässig sind alphanumerische Zeichen (insbesondere Buchstaben mit Akzenten) sowie Sonderzeichen und Leerzeichen.
- numerisch: Attribute können numerische Ausprägungen haben. Die entsprechende Feldlänge ist dabei je nach Anforderung variabel.
Benennung von Algorithmen
Für die Erstellung von Algorithmen ist ausschließlich das vorgegebene Algorithmus-Template zu verwenden. Die Benennung ergibt sich wie folgt:
Ein dreistelliger Code gefolgt von einem Underscore und dem Namen des Algorithmus. Der dreistellige Code ist wie folgt definiert:
- XUB für einen Überleitungsalgorithmus (für Smart Cube-Zwecke)
- XEN für einen Enrichmentalgorithmus (im Basic Cube)
- XGR für einen Granularitätsalgorithmus
- XFD für einen frei definierten Granularitätsalgorithmus
Beispiel: Für die Benennung des Laufzeitenalgorithmus (Enrichment aus dem Basic Cube) ist dann XEN_Laufzeiten zu verwenden.
Benennung von Entitäten
Entitätennamen haben folgende Struktur:
- XX_Entitaetenname, wobei XX ein eindeutiges Entitäten-Kürzel ist und Entitätenname für den Namen der Entität steht.
Bemerkung: Es ist zu beachten, dass die Entitäten-Kürzel eindeutig sind (also, dass nicht mehrere Entitäten dasselbe Entitäten-Kürzel erhalten).
Sollte ein zweistelliges Entitäten-Kürzel nicht ausreichend sein, so kann auch ein dreistelliges Kürzel verwendet werden.
Benennung von Attributen
Je nach Ausprägungen, die ein Attribut annehmen kann, ist die Endung anzupassen; hierbei gibt es folgende Möglichkeiten:
Der Name eines beschreibenden Attributs beginnt immer mit einem zweistelligen Buchstabenkürzeln der zugehörigen Entität. Anschließend folgt eine fortlaufende Nummerierung, gefolgt von einem Unterstrich und dem Namen des Attributs. Bezieht sich das Attribut auf eine Codeliste, ein Datum oder ein Kennzeichen, ist das nach dem Namen des Attributs anzufügen. Ist das Attribut abgeleitet (Enrichment), ist noch ein A an das zweistellige Buchstabenkürzel anzufügen. Für identifizierende Attribute ist das Entitätenkürzel nicht erforderlich, es ist lediglich ein "AI" gefolgt von einem Unterstrich und dem Namen des Attributs anzugeben.
- "_Code"-Attribute, sind Attribute, die nur Ausprägungen einer bestimmten Codeliste annehmen können (beispielsweise kann das Attribut GFA83_Ursprungslaufzeit_Code nur Ausprägungen der Codeliste Laufzeiten_CL annehmen)
- "_Datum"-Attribute, sind Attribute, deren Ausprägungen ein Datum (im Format jjjjmmtt) darstellen (Bsp: AI_Stichtag_Datum)
- "_Kennzeichen"-Attribute, sind Attribute, die nur die Ausprägungen WAHR und FALSCH haben können (Bsp: EM20_90_Tage_ueberfaellig_MS_Kennzeichen)
- (Basic-Cube-relevant) "_ID"-Attribute, sind Attribute, welche im Datenmodell verwendet werden, um Entitäten miteinander zu verknüpfen (Bsp: AI_Einheitennummer_ID)
Benennung von Gruppen/Gruppenlisten
Gruppenlisten werden in der Regel mit entsprechendem Kürzel "_GL" oder "_GR" am Ende des Namens gekennzeichnet. Eine Gruppenliste ist eine Liste, die aus Gruppen (und Einzelelementen) besteht.
Weiters ist zu beachten, dass Gruppen/Gruppenlisten unter Gruppen und Gruppenlisten verwaltet werden.
Beschreibung von Codelisten
Handelt es sich um eine offizielle Code Liste wie z.B. Sektor_ESVG_CL, OENACE_CL, ISO_Land_CL, Waehrung_CL etc., so ist lediglich ein Link zu diesen Codelisten anzugeben. Handelt es sich um eine Codeliste, dessen Verantwortung bei der OeNB/SCom liegt, so ist diese Codeliste im Meldewesen Wiki komplett anzuführen und ausführlich in all ihren Ausprägungen zu beschreiben. Die unterschiedliche Verwendung von Codelisten und Kennzahlen wird in Verwendung von Kennzeichen und Codelisten ausführlich beschrieben.
Formulierung von Algorithmen
Algorithmen werden in einer Formalsprache (Beschreibung der Formalsprache) formuliert. In bestimmten Fällen können komplexere Sachverhalte zur leichteren Lesbarkeit auch verbal formuliert werden. Algorithmen haben per Definition keine Möglichkeit einen Fehler auszugeben. Eventuelle falsche Eingabeparameter werden durch die jeweiligen Prüfregeln abgefangen.