Designentwurf der Applikation „Bean Development Kit“ von Sun

Werbung
Erstellungsdatum: 18.05.2004
Gruppe: JB-4
Verantwortlicher Christian Roll
SWT-Praktikum 2004
Designentwurf der Applikation „Bean Development Kit“ von Sun
Inhaltsverzeichnis
1. Allgemeines
1.1. Kurzcharakterisierung
1.2. Systemvorraussetzungen
1.3. Abgrenzung
2. Produktübersicht
3. Grundsätzliche Designentscheidungen
3.1. Allgemeines
3.2. Zustandsdiagramm zum Programmablauf
4. Paket und Klassenstrukturen
4.1. Überblick der Paketstruktur
4.2. Überblick über Struktur der Klassenstrukturen
1. Allgemeines
1.1. Kurzcharakterisierung
Das Bean Development Kit von Sun ist eine graphische Java-Applikation zum Bearbeiten von Java
Beans. Eigene oder bereits vorgegebene Beans können auf ein spezielles Fenster geschoben und
angeordnet werden, sodass man die Beans editieren oder untereinander verknüpfen kann.
1.2. Systemvoraussetzungen
Das Programm BDK ist eine eigentständige Einzelapplikation, die sich über eine graphische
Benutzerschnittstelle mit Hilfe der Tastatur und der Maus bedienen lässt. Benötigt wird dafür die
Laufzeitumgebung Java JRE 1.4.
1.3. Abgrenzung
Das Programm ist nicht netzwerkfähig und verzichtet auf anspruchsvolle 3D-Grafik. Es ist als Test- und
Übungs-Applikation gedacht und nicht zur ernsthaften Softwareentwicklung.
2. Produktübersicht
Die Applikation wird durch den Kommandozeilenaufruf "run" oder "run.sh" (unter UnixBetriebssystemen) im Wurzelverzeichnis der Pakethierarchie gestartet. Nach Erfolgreichem Start öffnen
sich 4 Fenster (BeanBox,ToolBox,Properties und MethodTracer) , die nun frei auf dem Desktop
"schweben".
Das Hauptfenster ist das BeanBox Fenster welches in der Mitte zwischen den anderen beiden Fenstern
angeordnet ist. Es enthält am oberen Rand eine Menüleise mit den Einträgen "File", "Edit", "View",
Seite 1 von 7
Erstellungsdatum: 18.05.2004
Gruppe: JB-4
Verantwortlicher Christian Roll
SWT-Praktikum 2004
"Services" und "Help". Unterhalb der Menüleiste befindet sich die Grafik-Fläche zum Anordnen der
einzelnen Java-Beans.
Im Menü "File" befinden sich die Einträge
"Save" (Speichern des aktuellen Projekts),
"SerializeComponent" (Serialisieren einer einzelnen Komponente),
"MakeApplet" (Erstellen eines Applets aus dem aktuellen Projekt),
"Load" (Laden einer abgespeicherten Projektdatei),
"LoadJar" (Laden einer externen Bean),
"Print" (Drucken des aktuellen Projektes),
"Clear" (Entfernt alle Beans von der Arbeitsfläche), sowie
"Exit" (Beenden des Programms).
Das Menü "Edit" hat die Einträge
"Cut" (Ausschneiden),
"Copy" (Kopieren),
"Paste" (Einfügen),
"Report" (Gibt Auskünfte wie Propertys und Methoden über eine ausgewählte Bean)
"Events" (Behandlung von Events einer Bean),
"BindProperty" (Verbinden von Eigenschaften verschiedener Beans).
Im Menü "View" sind die Einträge
"Disable Design Mode" bzw. "Enable Design Mode" (An-/Ausschalten des Designmodus,Verstecken
bzw. Zeigen der beiden anderen Programm-Fenster) und
"Hide Invisible Beans" (Verstecken von unsichtbaren Beans).
Im Menü "Services" befinden sich die beiden Einträge
"InfoBus Support" (Öffnet Ein Log-Fenster für InfoBus von Beans),
"Hide Method Tracing" (Verstecken des Method Tracing Fenster).
Das Menü "Help" hat die Einträge
"About" (Infos über das Programm und die Entwickler) sowie
"Documentation" (Dokumentation der Applikation).
Das Programmfenster welches standardmäßig links vom BeanBox Fenster angeordnet ist heißt Toolbox.
In der Toolbox stehen Repräsentationen von JavaBeans die man auswählen und Instanzen auf das
BeanBox Fenster ablegen kann. Bereits in das Programm implementierte Beispiel Beans sind
-EventMonitor –JellyBean –Juggler –TickTock –Voter –ChangeReporter –Molecule –QuoteMonitor
-JDBC Select –SorterBean –BridgeTester und –TransitionalBean
Über das Menü im BeanBox Fenster lassen sich außerdem weiter Beans in das Programm importieren die
dann ebenfalls verfügbar sind.
Zur Auswahl einer bestimmten Bean klickt man einfach auf deren Namen im ToolBox Fenster, daraufhin
kann man in das BeanBox Fenster wechseln um per Mausklick eine Instanz dieser Bean an einer
beliebigen Stelle auf der grafischen Arbeitsfläche anzulegen.
Rechts vom BeanBox Fenster befindet sich das Properties Fenster in welchem sich die (Bean-)
Eigenschaften von einzelnen Bean-Instanzen betrachten und ändern lassen. Dazu muß in der BeanBox
eine Bean ausgewählt sein. Im Properties Fenster sieht man dann alle Properties der Bean und kann diese
dann (je nach Implementierung) ändern bzw. bearbeiten.
Seite 2 von 7
Erstellungsdatum: 18.05.2004
Gruppe: JB-4
Verantwortlicher Christian Roll
SWT-Praktikum 2004
3. Grundsätzliche Designentscheidungen
3.1. Allgemeines
Dem Paket- und Klassendesign liegen das Ereigniskonzept und der MVC-Ansatz zugrunde. Das
Ereigniskonzept beinhaltet die Zusammenhänge der einzelnen Komponenten. Nach Hinzufügen einer
Bean-Instanz zur Arbeitsfläche kann diese ausgewählt, bearbeitet, ihre Eigenschaften verändert oder mit
anderen Beans verknüpft werden.
und zusätzliches Bestätigen mit einem Butten erscheint die Zahl in einer Liste und steht für weitere
Funktionen zur Verfügung. Ein Ereignis löst ein anderes aus.
Das M(Modell)V(View)C(Controller)-Modell trennt Eingabe Verarbeitung und Ausgabe voneinander.
Die graphische Oberfläche des Testprogrammes wurde mit Swing-Klassen und Fenstertechniken
realisiert.
Dabei wurden für die Grafikelemente auf Swing-Standardkomponenten zurückgegriffen. Die Steuerung
des Programms erfolgt standardmäßig über die Maus und Tastatur.
Seite 3 von 7
Erstellungsdatum: 18.05.2004
Gruppe: JB-4
Verantwortlicher Christian Roll
SWT-Praktikum 2004
3.2. Zustandsdiagramm zum Programmablauf
Seite 4 von 7
Erstellungsdatum: 18.05.2004
Gruppe: JB-4
Verantwortlicher Christian Roll
SWT-Praktikum 2004
4. Paket und Klassenstrukturen
Sämtliche Klassen der BDK Applikation befinden sich in dem Paket sun.beanbox.
Die main-Methode die zum Starten der Anwendung benötigt wird befindet sich in der Klasse
BeanBoxFrame. Diese Klasse ist die erste die zu Beginn des Programms aufgerufen wird und die nötigen
Initialisierungen vornimmt sowie andere Klassen aufruft.
Folgende Klassen befinden sich außerdem noch im package sun.beanbox und werden im Verlauf des
Programms aufgerufen um jeweils ihren bestimmten Zweck im Programm zu erfüllen (wie z.B. das Laden
von Jar-Dateien oder zur Umsetzung der einzelnen Menüfunktionen) :
AppletGenerator.java
BeanBoxFrame.java
EditedAdaptor.java
HookupManager.java
JarAccess.java
Manifest.java
ErrorDialog.java
IBSupport.java
PropertyCanvas.java
Report.java
CustomizerDialog.java
EventTargetDialog.java
IndentedStream.java
JarEntrySource.java
PropertyNameDialog.java
AppletClassGenerator.java
ClassCompiler.java
MessageDialog.java
OurLabel.java
WindowCloser.java
AboutDialog.java
JarInfo.java
PropertyDialog.java
PropertySelector.java
SimpleClassLoader.java
Wrapper.java
FileExtension.java
InputStreamProducer.java
WrapperEventInfo.java
MakeAppDlg.java
ObjectInputStreamLoader.java
PropertyHookupManager.java
PropertySheet.java
StartFrame.java
Seite 5 von 7
DoOnBean.java
JarLoader.java
MessageHeader.java
BeanBox.java
Timer.java
PropertyText.java
ToolBox.java
WrapperPropertyEventInfo.java
Erstellungsdatum: 18.05.2004
Gruppe: JB-4
Verantwortlicher Christian Roll
SWT-Praktikum 2004
4.1. Überblick der Paketstruktur
4.2. Überblick über Struktur der wichtigsten Klassen
Nach Starten der BDK Applikation wird zunächst die BeanBoxFrame-Klasse aufgerufen. Diese
initialisiert das Programm und öffnet das BeanBox-Fenster. Außerdem werden das ToolBox-Fenster und
das Property-Fenster initialisiert und geöffnet. Zur Umsetzung dieser Funktionen werden hauptsächlich
die Klassen BeanBox, BeanBoxFrame, ToolBox und BeanProperty verwendet.
Die anderen Klassen des BDK werden dann innerhalb dieser Klassen beziehungsweise bei Bedarf
aufgerufen um spezielle Teilfunktionen des Programms umzusetzen und auf Events wie Maus- und
Tastatureingaben entsprechend zu reagieren.
So wird zum Beispiel die Klasse ErrorDialog benötigt um bei Programmfehlern ein entsprechendes
Dialog-Fenster zu öffnen welches der Anwender anklicken kann, die Klasse JarLoader importiert externe
Beans welche in Jar-Dateien abgelegt sind in das Programm und die Klasse WindowCloser beendet die
Applikation wenn auf das "Schließen"-Symbol (X) in einem der Hauptfenster geklickt wird.
Seite 6 von 7
Erstellungsdatum: 18.05.2004
Gruppe: JB-4
Verantwortlicher Christian Roll
SWT-Praktikum 2004
Seite 7 von 7
Herunterladen