Propra 00/01: U - Topp (UML – Tool)

Protokoll der GruppeBrainstorm mkH
                                      Vom: 18.12.00

Anwesende:   Brigitte Bonder        bonder@uni-muenster.de              Sitzungsleiter: Holger Picker
                     Wolfgang Hoppe       hoppew@math.uni-muenster.de    Protokollantin: Brigitte Bonder
                     Holger Picker            pickerh@uni-muenster.de
                     Martin Swobodzinski Martin.Swobodzinski@t-online.de
                    Ludmilla Scheinker   scheink@math.uni-muenster.de
                     Knut Willems           xenon@uni-muenster.de



Ergebnisse seit der letzten Stunde:

Das ganze Programm wurde grundlegend vom Aufbau,d.h. von der Code-Struktur, her geändert.
Es gibt nun eine Klasse Start, in der bei Ausführung eine Instanz der Klasse UMLTOPP
erstellt wird und damit die Methode start() ausgeführt wird.
Die Methode start() sorgt dafür, daß das GUI_UMLTOPP - Fenster (also unsere Anfangsarbeitsumgebung)
sichtbar wird.
Desweiteren existieren nun nicht mehr getrennte Klassen und Gui´s
sondern die Klasse "Klasse" enthält z.B. die Gui_Klasse (graphische Oberfläche von Klasse),
die Klasse Info,  innere Klassen Methode und Attribute zur internen Speicherung.

Durch diese Datenkapselung erhalten wir, wie gefordert, unabhängige Komponenten
Dies ist bereits für die Klasse "Klasse" verwirklicht, für die anderen Komponenten wird es
in analoger Weise geschehen.
 

Außerdem liegt das Editierfenster für die Verbindungen vor:


 

welche Fenster sollen parallel geöffnet sein können ? :

Es musste verhindert werden, dass mehrere Editierfenster derselben Komponente gleichzeitig
geöffnet sind. Dahingegen dürfen unterschiedliche Editierfenster gleichzeitig auf sein.
Hierzu gibt es in der seit der letzten Stunde in der neuen Klasse UMLTOPP die
boolean - Werte klasse_offen, usecase_offen etc. Zu Beginn sind sie auf false gesetzt,
wird ein Editierfenster geöffnet, wird dieser WErt auf true gesetzt, bis das Fenster wieder
geschlossen wird. Man kann also nur ein Fenster öffnen, wenn der Boolean - Wert auf
false steht.

saubere Objektzerstörung realisieren :

Da, wenn man eine Gui schließt, dann nicht auch gleich die erstellte
Instanz zur internen Speicherung der Komponente entfernt wird, machen wir das jetzt selber und warten nicht auf den
den  Java Garbage - Collector.

neues Konzept für das Use - Case - Editierfenster :

Aufgrund der andauerenden Probleme mit dem Hinzufügen und ordentlichen Anzeigen der
kleinen Fenster zur Dateneingabe bei den UseCases
entwarfen wir ein völlig neues Kozept auf der Grundlage unserer gesammelten GUI-Erfahrungen:
Das Guifenster enthält wie bisher Felder für die Nameneingabe und den Info - Button.
Darunter folgt eine JList, die default - mäßig einige Angaben enthält:
Akteur, Vorbedingung, Ablauf, Nachbedingung.
"Akteur" ist markiert. Über einen darunter befindlichen Button "Neues Element" kann man leere Fenster hinzufügen,
die immer unter dem markierten Element eingefügt werden, über "Element löschen" kann man ein markiertes Element entfernen.
Hat man nun ein Element der Liste markiert, so erscheint der Name im darunterbefindlichen
JTextField. Den Namen kann man verändern oder überhaupt erst eingeben, falls das Element
neu hinzugefügt wurde und noch leer ist. Unter dem JTextField liegt eine JTextArea. Hier
kann man den Ablauf, die Bedingungen etc. eingeben und mit dem Button "Übernehmen"
wird der Text intern gespeichert und der Name in der Liste angezeigt. Markiert man wieder
einen Namen in der Liste, so wird der Text hierzu in der TextArea angezeigt und kann
bearbeitet werden.
 
 

Hausaufgaben:

Martin: Erstellung der Use - Case - GUI
Knut: Fertigstellen der Klasse "Klasse",
         Zusammenstellen des Programms aus Knuts und Martins Ergebnissen
Ludmilla: Fertigstellen der  Verbindungen - GUI
Holger: XML - Code in Javanahem PseudoCode
Brigitte: Fertigstellen der Klasse "Objekt"