Download Volltext

Transcript
4. Vorbetrachtungen
49
Ereignisse, der sich jedoch durch eine Umstrukturierung leicht separieren ließe.
Ursache der Zersplitterung ist die enge Kopplung mit der GUI.
Als kritisch wird die Vermischung des Codes zur Erzeugung von Text mit
Code zu anderen concerns gesehen, da Aufgaben sehr unterschiedlicher Art zusammen erledigt werden.
Als weiterer Aspekt wurden die Spezifikationstextbehandlung und DatenI/O betrachtet. Wie in allen anderen Fällen ergab sich auch hier eine Zersplitterung des Steuercodes und dessen Vermischung mit Code zur Implementierung
der GUI-Logik.
Da sich die Spezifikationstextbehandlung im Wesentlichen auf vorgefertigte
Java-Komponenten verläßt, war sie relativ in sich abgeschlossen. Eine Ausnahme
stellte hier die Erzeugung der Dokumenteinstanzen dar, die im Rahmen der
Textgenerierung stattfindet. Das Analyseergebnis ist mit der Untersuchung zur
Textgenerierung vergleichbar.
Unter dem Begriff Daten-I/O wurden alle Handlungen zusammengefaßt, die
das Laden und Speichern von Daten durchführen. Von TESSI 1.1 bearbeitete
Daten sind Spezifikationstext, generierte Texte, Alia und Modelldaten.
TESSI 1.1 speichert Modelldaten in XML-Dateien. Die Erzeugung und das
Lesen dieser Dateien implementieren Klassen aus dem Package Tessi.XML und
Unterpackages. Wie bereits deutlich wurde, kann man hier von einem Modul
ausgehen.
Das Lesen und Schreiben der übrigen Daten wird von Methoden in der Klasse
Tessi.MainFrame ausgeführt. Deren Aufruf erfolgt in der bereits erwähnten
Nachrichtenroutine Tessi.MainFrame.actionPerformed.
Im Fall von Daten-I/O kann man ebenfalls von einem Aspekt sprechen, der
teilweise gut abgetrennt ist. Teilweise ist dazugehöriger Code jedoch ungünstig
platziert, kann aber ohne großen Aufwand ebenfalls separiert werden.
4.4 Zielsetzung
Als Verfeinerung der Aufgabenstellung auf Seite 2 und als Ergebnis der Untersuchungen des IST-Standes wird in diesem Abschnitt das Ziel für diese Arbeit
formuliert.
4.4.1 Architektur
Die in Abschnitt 4.3.2 erarbeitete Modulstruktur teilt TESSI in funktionell zusammengehörende Bereiche. Die gewählte Aufteilung richtet sich aber auch nach
den zu erwartenden Veränderungen an TESSI, besonders nach bereits geplanten
Projekten. Die in TESSI 2.0 zu realisierenden Module sollten sich nach dieser
Struktur richten.
Neben den Kernmodulen wird es Module geben, die den aktuellen Funktionsumfang erweitern. Es soll möglich sein, solche Erweiterungen ohne Codeveränderungen und Neukompilierung in TESSI 2.0 zu integrieren. Das gleiche
gilt natürlich für Module, die als verbesserte Versionen bereits existierende Module ersetzen sollen.
Es ist zu berücksichtigen, daß erweiternde oder verbesserte Module auch Zugang zu Mechanismen zur Nachrichtenerzeugung und -verteilung haben müssen.