UML-Elemente zur EGL-Umwandlung

Die UML-zu-EGL-Umwandlung erkennt eine begrenzte Gruppe von UML-Modellelementen, um die Umwandlung durchzuführen. In der folgenden Liste werden die erkannten Elemente sowie die Ausgabe beschrieben, die während der Umwandlung für das Element generiert wird.

Paket
Alle UML-Pakete führen zu einer Erstellung eines EGL-Pakets. Das Modell selbst ist ein Paket, sodass das Paket auf höchster Ebene auf dem Namen des erstellten Modells basiert. Darüber hinaus führen verschachtelte UML-Pakete (wenn vorhanden) dazu, dass ein EGL-Paket generiert wird.
Klasse
Eine Klasse in einem UML-Modell stellt eine Datenbanktabelle dar. Folgendes wird für jede Klasse im Modell erstellt:
  • EGL-SQLRecord
  • Es wird eine Tabellendefinition in der DDL erstellt. Diese Definition befindet sich im Verzeichnis "<projekt>/scripts/data/createTables.sql", wobei "<projekt>" der Speicherort des Projekts ist.
  • Eine Bibliothek oder ein Server, die bzw. der Funktionen für die Durchführung von Erstellungs-, Lese-, Aktualisierungs- und Löschoperationen für die Klasse enthält.
  • Eine Such-/Listen-JSP und die entsprechenden PageHandler-Funktionen, die Suchoperationen für die Datenbanktabelle und Anzeigelisten von Ergebnissen bereitstellen.
  • Eine Detail-JSP und entsprechende PageHandler-Funktionen für die Anzeige von Details einer bestimmten Datenbankzeile. Es können auch Hinzufügungs-, Aktualisierungs- und Löschoperationen über die Detailseiten durchgeführt werden.
Operation
Von jedem Operationselement wird ein Funktions-Stub in der Datenzugriffsbibliothek generiert und jeder Operationsparameter wird zu einem EGL-Parameter. Es wird ein SQLRecord im Typ der enthaltenen Klasse auch als Parameter übergeben, damit die Operation für eine bestimmte Instanz des SQLRecords durchgeführt werden kann.
Da der Funktions-Stub keinen logischen Code enthält, müssen Sie diese Funktion nach der Umwandlung abschließen.
Attribut
Jedes Attributelement im UML-Modell stellt eine Datenbankspalte dar. Für jedes Attribut wird Folgendes generiert:
  • EGL-SQLRecord-Feld
  • Eine Spaltendefinition in der UML-Klasse "DDL.A" muss eine normalisierte Datenbanktabelle darstellen. Wenn dies nicht der Fall ist, werden die Multiplizitäten größer als eins ignoriert.
.
Assoziation
Ein Assoziationselement stellt die Beziehung zwischen zwei Endklassen dar. Assoziationen mit mehr als zwei Endklassen werden während der Umwandlung ignoriert. Für eine Assoziation wird Folgendes generiert:
  • Fremdschlüsseldefinitionen in der DDL.
  • In Datenbanktabellen eingefügte Spalten, die das Assoziationsende darstellen.
Der Typ der Assoziation wirkt sich auf die Merkmale aus, die für ein Assoziationselement generiert werden. Es gibt drei Assoziationstypen:
Eins-zu-eins-Assoziationen
Die Umwandlung einer Eins-zu-eins-Assoziation führt dazu, dass die Schlüsselspalten einer der teilnehmenden Tabellen in die andere Tabelle eingefügt werden. Auf zugeordnete Zeilen kann über die generierten Detailseiten zugegriffen werden. Die Navigierbarkeit des Assoziationsendes bestimmt, ob die Beziehung in den Detail-JSPs aufgelistet wird.
Eins-zu-viele-Assoziationen
Die Umwandlung einer Eins-zu-viele-Assoziation führt dazu, dass die Schlüsselspalten von der einseitigen Multiplizität in die andere Tabelle eingefügt wird, die die mehrseitige Multiplizität darstellt. Es werden Datenzugriffsfunktionen generiert, um eine Navigation dieser Assoziationen zuzulassen. Die Darstellung der Beziehung in der Detail-JSP wird von der Navigierbarkeit des Assoziationsendes bestimmt.
Viele-zu-viele-Assoziationen
Die Umwandlung einer Viele-zu-viele-Assoziation führt zur Erstellung einer assoziativen Tabelle und einem entsprechenden SQLRecord. Die Spalten der Tabelle bestehen aus den Schlüsseln der zugeordneten Tabellen. Datenzugriffsroutinen werden generiert, damit die zugeordnete Tabelle bearbeitet werden kann. Die Beziehung wird über die Benutzerschnittstelle dargestellt, die durch die navigierbaren Attribute der zugeordneten Klassen bestimmt werden.
Aufzählung
Das Aufzählungselement definiert die möglichen Werte für ein Datentyp oder für eine Eigenschaft. Für jedes Aufzählungselement im UML-Modell werden die folgenden EGL-Elemente generiert:
  • Eine Bibliothek enthält Folgendes:
    • Einen konstanten ganzzahligen Wert für jedes Aufzählungsliteral.
      • Sie können bei der Umwandlung von einem UML-Modell die Werte für jedes Aufzählungsliteral angeben.
      • Bei der Umwandlung einer vorhandenen Datenbank wird durch die Umwandlung eine benannte Ganzzahl erstellt und ein Wert auf der Basis der Ordinalposition des Aufzählungsliterals in der Aufzählung zugeordnet.
    • Ein Zeichenfolgenarray mit den Namen des Aufzählungsliterals. Dieses Array wird verwendet, um die Detail-JSP mit Aufzählungswerten anzuzeigen. "selectOneMenu" wird verwendet, damit Benutzer einen Wert für die Aufzählungsspalte auswählen können.
  • Ein EGL-Datenelement vom Typ INT, das als Feldtyp in SQLRecords verwendet wird. Datenbankspalten auf der Basis von Aufzählungstypen werden in der Tabelle als INTEGER definiert.

Feedback