Mitarbeiter: Kais Tahar Sebastian Wenzel Tobias Friedrich Martin Reckziegel Fan Zhang Jan Werrmann Steven Schlegel
Aufgabe 1 Einsatzfeld der Applikation a) Anwendungsbereich: Die Zielsetzung der Anwendung ist Software zu entwerfen, grundlegende Komponenteneigenschaften zu verwalten und Quellcode zu generieren. Die Applikation dient zur Entwicklung leicht komplexer Anwendungen (z.b. GUI) aus JavaBeans durch Maus und Tastatur Events. Es wird ein Anwendungsfenster benutzt um Eigenschaften der JavaBeans zu verändern und anzupassen. b) Zielgruppe: Informatik Studenten; GUI Entwickler; Softwareentwicklungsunternehmen; Grundsätzliche Logik Die Applikation ist ein einfacher Container in welchem Beans erstellt, miteinander verknüpft, getestet und verpackt werden können. Die wesentlichen Funktionen wie das Verknüpfen von Komponenten oder das Abrufen der Events geschieht über das Menü des Containers. Der Anwender muss die Möglichkeit haben, in der Initialisierungsphase des GUI Projektes ein Formular zu erstellen, per Doppelklick aus Toolbars gewünschte Beans zu wählen und auf dem Formular per Drag&Drop zu platzieren. Die eingefügten Beans im Formular lassen sich beliebig verschieben und in Größe und Form verändern. Zu jedem Bean gehören Namen und Werte der einzelnen Properties, die im Eigenschafteneditor anzeigt werden. In dem Eigenschafteneditor können die Werte der Properties des Beans angezeigt und geändert werden. Werden dem Container Beans durch Drag&Drop hinzugefügt, wird versucht die Beans durch Events miteinander zu verknüpfen. Die möglichen Bearbeitungsfunktionen sind: Beans mit Drag&Drop in das Compositions Fenster ziehen; Beans verschieben und ihre Größe ändern; die exportierten Properties bearbeiten; Events miteinander kombinieren; Properties verschiedener Beans kombinieren; die eingesetzten Beans aus dem Composition Fenster komplett speichern und wieder einlesen; einen Introspection Report eines Beans ausgeben; neue Beans aus JAR Archiven einlesen; ein lauffähiges Applet erzeugen;
Leistungsmerkmale GUI Erstellung Bean laden Beans visuell anordnen Beans verknüpfen Eigenschaften der Komponenten lassen sich ändern Anwendungsfenster Symbolleisten und Menü Quelltext generieren/editieren neue Dateien angeben. Speicher und Druckfunktion Hilfe Erläuterung der Terminologie JavaBeans/Beans Schnitstellen Spezifikation für wiederverwendbare Software Komponenten in Java; Properties initialle einstellung von Eingenschaften (Zustand) einer Bean; Events (Ereignisse) die Verknüpfungspunkte für Beans; Adapter zur Schnitstellenanpassung, wenn Beans nicht rchtig zusammenpassen; GUI Graphical User Interface,das heißt grafische Benutzeroberfläche. Wird im Deutschen so ausgesprochen,wie es geschrieben wird, und im Englischen wie das Wort `gooey'[was soviel bedeutet wie `glibbrig', gelartig oder einfach von fragwürdiger Konsistenz, also alles, was eine GUI nicht sein sollte, aber leider allzuoft ist]. Also in beiden Sprachen gleich. Use case Besteht aus mehreren zusammen hängenden Aufgaben,die von einem Akteur duchgeführt werden; Container Behälter für Beans; Drag&Drop Ziehen und Fallen lassen GUI Konzept welches ermöglicht einzelne Teile eines Dokumentes mit der Maus zu verschieben. Es wird auch oft verwendet, um Daten auf schnellem Wege zwischen zwei Anwendungen auszutauschen. Compositions Fenster Fenster, in dem man die Beans Bearbeitet; Toolbar ein Panel oder eine Leiste mit den oft verwendeten Beans;
Aufgabe 2 Übersicht über themenrelevante Applikationen 1.Bean Development Kit(BDK) Quelle: http://java.sun.com/products/javabeans/software/bdk_download.html Leistungsparameter: Unterstüzung von der visuelle Entwicklungsumgebung, die das Erstellen eigener Software erleichtert. Architektur: Das BDK setzt sich aus vier Fenstern zusammen: die ToolBox, die BeanBox, der Method Tracer und das Property Sheet. Die ToolBox dient zur Verwaltung der JavaBeans. Sie kann neben den Beispielkomponenten, auch andere, gegebenenfalls selber entwickelte Beans enthalten. Die BeanBox ist eine einfache graphische Oberflaeche. In ihr können die Beans verknuepft, ausgefuehrt und getestet werden. Das Property Sheet praesentiert die ermittelten Eigenschaften der Komponente, die vom Anwender geändert werden koennen (In Java implementiert). Einsatzgebiet: Schule, Universität und Hochschule 2.Visual Age Quelle: www 4.ibm.com/software/ad/vajava Leistungsparameter: Unterstuetzung von Linux und Windows In VisualAge lassen sich User Events ausgehend von einem Quell zu einem Zielobjekt durch Klicken und Ziehen mit der Maus festlegen. Diese Connections stellt das Werkzeug als farbige Linien im Designfenster dar. Dort können sie verwaltet und weiter bearbeitet werden, was dem Entwickler das zeitraubende Programmieren von Ereignisketten erspart. Wenn man den Inhalt des Design Fensters sichert, erzeugt VisualAge den entsprechenden Quelltext als Java Bean, das man bei Bedarf wiederverwenden und in die Komponentenpalette integrieren kann. Architektur: Grafische Entwicklungsumgebung, Gewoehnungsbeduerftige Benutzeroberflaeche Einsatzgebiet: e business, Industrie 4. BeanExplorer (Development on the Edge) Quelle: http://www.developmentontheedge.com BeanExplorer ist ein praktisches und schnelles Tool für einen Java Anwendungsentwickler. Mit BeanExplorer kann der Entwickler leicht jedes mögliche JavaBean zu einem wesentlichen Bestandteil seiner Anwendung machen. Einsatzgebiet: e business, home
3. Beanbuilder Quelle: http://java.sun.com/products/javabeans/beanbuilder/index.jsp Leistungsparameter: Der Beanbuilder ist ein einfaches Tool um Javabeans in eine grafische Anwendung einzubinden und mittels Events zu verknüpfen. Dabei stehen vorgefertigte Swing Komponenten zur Verfügung bzw. können auch eigene Beans benutzt werden. Wärend des bearbeitens kann man durch eine Vorschaufunktion die entstehende Applikation testen, Projekte können gespeichert bzw. geladen werden. Architektur: komplett in Java implementiert, somit Plattformunabhängig. Die Oberfläche ist eine auf Swing basierende GUI. Einsatzgebiet: Hauptsächlich akademische und demonstrative Zwecke der Javabean Architektur. 5. BeansDesigner (Streamgate) Quelle: http://www.streamgate.com Der graphische JavaBeanEditor erzeugt direkt den Javacode innerhalb der Klasse, wodurch graphische Beans sehr schnell erzeugt werden können. Einsatzgebiet: Entwicklung 6. Bolero Component Studio (Software AG) Quelle: http://www.software ag.de Bolero ist eine Entwicklungsumgebung, mit der der Anwender einerseits selbst Applikationen, Servlets und andere Componenten erstellen kann, zum anderen unterstützt sie viele wichtige Komponenten Modelle wie JavaBeans, DCOM, CORBA. Es beinhaltet Object Relational Mapping (ORM), benutzt Object Query Language (OQL) und unterstützt JDBC. Einsatzgebiet: e Business, Industrie
Aufgabe 3 Genauere Beschreibung der Applikation: The Beans Development Kit Version 1.1 "BeanBox" 3.1. Verbale Beschreibung der Leistungsmerkmale Die BeanBox stellt eine Referenzplattform für die Demonstration des JavaBean Konzepts dar und wurde von SUN microsystems entwickelt. Es handelt sich hierbei um Freeware, welche von der SUN Internetseite (http://java.sun.com/beans/index.html) heruntergeladen werden kann. Wichtigster Bestandteil des "Beans Development Kit" ist die BeanBox, welche nicht als vollständige Entwicklungsumgebung für Java Beans betrachtet werden, sondern Bean Konzepte lediglich illustrieren und deren Möglichkeiten aufzeigen solle. Da das Programm (BeanBox) in der Programmiersprache Java geschrieben wurde, ist es Plattform unabhängig und läuft sowohl auf Microsoft Windows sowie unter Unix Systemen. Voraussetzung für die Installation der BeanBox ist ein funktionierendes JDK. Nach der Installation (unter Windows mit menügesteuertem Installationsprogramm; unter Unix Systemen mittels Makefile) wird es mit dem Aufruf des Startskriptes "run" (unter Windows "run.bat" bzw. unter Unix Systemen mit dem Shellscript "run.sh") gestartet. Nach dem Starten der Beanbox öffnet sich eine Arbeitsfläche von vier Top Level Frames. Zum ersten wäre da die "Toolbox", welche eine Liste aller verfügbaren Beans enthält. Diese kann man mit einem Mausklick anwählen um sie dann mit einem weiteren Klick auf den zweiten Frame, den GUI Designer, eben dort zu platzieren. In diesem Arbeitsfenster können die Beans danach mit einem Klick zur Bearbeitung angewählt, verschoben oder in der Größe verändert werden. Die weitere Modifizierung der Beaneigenschaften erfolgt im dritten Frame, dem Property Editor. Der letzte Frame, der Method Tracer, dient zur Unterstützung beim Debuggen. Für die erzeugten Beans lassen sich nun noch Events festlegen. Beanbox bietet auch die Möglichkeit Beans mittels eines Events miteinander zu verbinden. Für den User zunächst nicht sichtbar generiert Beanbox im Hintergrund automatisch den Quellcode für den erzeugten Bean, welchen man jedoch nicht per Hand ergänzen kann. BeanBox stellt dementsprechend keinen Javaeditor dar. Des weiteren ist dem User die Möglichkeit gegeben nicht nur vorgefertigte, sondern auch eigene zuvor erstellte Beans in das Programm zu integrieren. Alle im Programm verwendeten Beans werden in jar Dateien gepackt um so eine bessere Archivierung zu ermöglichen. Das direkte überführen der Beans in Applets, sowie das Drucken ist ebenso möglich, wie das Aufrufen einer ausführlichen im Programm enthaltenen Dokumentation in Html Form.
Die wichtigsten Leistungsmerkmale im wesentlichen nochmals zusammengefasst: Programm ist Plattform unabhängig besitzt eine Arbeitsfläche aus vier Top Level Frames JavaBeans erzeugen per "drag and drop" automatisches Erzeugen von Quelltexten den Beans Events zuordnen, sowie Beans durch Events verknüpfen eigene Beans integrierbar packen der Beans in jar Dateien überführen der Beans in Applets drucken Hilfestellung in der Form von einer Dokumentation 3.2. Beschreibung von Anwendungsfällen (use cases), die von der Applikation abgedeckt werden. Geschäftsprozess: Akteur: Geschäftsprozess: Akteur: Geschäftsprozess: Akteur: Geschäftsprozess: Akteur: Geschäftsprozess: Akteur: Bean in Projekt einfügen Benutzer Akteur wählt Bean aus Toolbox aus und fügt sie in Arbeitsfläche (GUI Designer) ein. Eigenschaften bearbeiten Benutzer Der Benutzer modifiziert die Eigenschaften der in den GUI Designer eingefügten Beans in dem Property Editor Beans verbinden Benutzer Beans werden über Events miteinander verbunden Bean in BeanBox importieren Benutzer Benutzer fügt eigene schon erstellte Bean dem Programm hinzu Medienübertragung Benutzer Beans werden aus dem Programm exportiert (gedruckt, gespeichert und in Applets geschrieben).
use case Diagramm
3.3. Darstellung äußerlich sichtbarer Aspekte der inneren Logik der Applikation in verbaler Form und als geeignete UML Diagramme sichtbare Aspekte der inneren Logik Die Oberfläche des BDK besteht aus 4 Top Level Frames: Toolbox: enthält Liste aller verfügbaren Beans GUI Designer: Arbeitsfläche Property Editor: Bearbeiten der Eigenschaften Method Tracer: Debug Fenster Der Code für das auf der Arbeitsfläche (GUI Designer) erstellte Applet wird automatisch vom Programm generiert. Seqenzdiagramm
Zustandsdiagramm der Klasse Bean