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.