Commit e8ca1a02 by Kai Westerkamp
parents b981bb0a 14821a86
...@@ -10,11 +10,11 @@ Schließlich wird in Kapitel \ref{chapter:testing} die Code-Qualität betrachtet ...@@ -10,11 +10,11 @@ Schließlich wird in Kapitel \ref{chapter:testing} die Code-Qualität betrachtet
\section{Bildauswerteplatz der Zukunft} \section{Bildauswerteplatz der Zukunft}
Der Bildauswerteplatz der Zukunft ist ein Arbeitsplatz, der einen Bildauswerter bei seiner Arbeit optimal unterstützen soll. Der Bildauswerteplatz der Zukunft ist ein Arbeitsplatz, der einen Bildauswerter bei seiner Arbeit optimal unterstützen soll.
Es sollen alle erforderlichen Werkzeuge für die Bildauswertung zur Verfügung stehen. Es sollen alle erforderlichen Werkzeuge für die Bildauswertung zur Verfügung stehen.
Der Bildauswerteplatz ist mit vier 1080p Bildschirmen ausgestattet (siehe Bild \ref{figure:Auswerteplatz}). Der Bildauswerteplatz ist mit vier 1080p Bildschirmen ausgestattet (siehe Abbildung \ref{figure:Auswerteplatz}).
Der mittlere obere Bildschirm ist ein 3D Bildschirm und kann z.B. stereoskopische Luftbildaufnahmen anzuzeigen. Der mittlere obere Bildschirm ist ein 3D Bildschirm und kann z.B. stereoskopische Luftbildaufnahmen anzuzeigen.
Der untere flach liegende Bildschirm ist ein Touch-Bildschirm. Er kann z.B. verwendet werden, um Kartenmaterial der Umgebung anzuzeigen. Der untere flach liegende Bildschirm ist ein Touch-Bildschirm. Er kann z.B. verwendet werden, um Kartenmaterial der Umgebung anzuzeigen.
\begin{figure} \begin{figure}[h]
\centering \centering
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{ralf.jpg} \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{ralf.jpg}
\caption{Der Bildauswerteplatz der Zukunft} \caption{Der Bildauswerteplatz der Zukunft}
......
...@@ -19,15 +19,15 @@ Durch die Auswahl eines Data Objektes im Geoviewer können Metadaten zu diesem O ...@@ -19,15 +19,15 @@ Durch die Auswahl eines Data Objektes im Geoviewer können Metadaten zu diesem O
Diese Daten werden über die Metadaten Anzeige im Webbrowser dargestellt. Diese Daten werden über die Metadaten Anzeige im Webbrowser dargestellt.
Der Stereo Bildauswerter ist ebenfalls an das Backend angeschlossen. Der Stereo Bildauswerter ist ebenfalls an das Backend angeschlossen.
Bisher wird dies Verbindung beim laden eines Bildes genutzt. Bisher wird dies Verbindung beim laden eines Bildes genutzt.
Der SBA sendet falls das Bild goereferenziert ist die Koordinaten an den Geoviewer der dann zur Umgebung des Bildes zoomt. Der SBA sendet falls das Bild georeferenziert ist die Koordinaten an den Geoviewer der dann zur Umgebung des Bildes zoomt.
Der CSDAdapter implementiert eine Verbindung zur CSD. Der CSDAdapter implementiert eine Verbindung zur CSD.
Mit Hilfe der isaac.lib (Siehe \cite[Clients für Datenzugriff]{CSD}) wird auf den Server zugegriffen und Datenobjekte für das Backend erstellt. Mit Hilfe der isaac.lib (Siehe \cite[Clients für Datenzugriff]{CSD}) wird auf den Server zugegriffen und Datenobjekte für das Backend erstellt.
Der Geoviewer beschränkt sich beim Laden aus der CSD auf einige wichtige Datentypen, insbesondere Bilder Videos und Berichte die sofern sie georeferenziert sind an der richtigen Stelle auf die Karte angezeigt werden. Der Geoviewer beschränkt sich beim Laden aus der CSD auf einige wichtige Datentypen, insbesondere Bilder Videos und Berichte, die sofern sie georeferenziert sind, an der richtigen Stelle auf die Karte angezeigt werden.
Die Bilder aus der CSD werden heruntergeladen und wenn möglich als zusätzliches Kartenmaterial in den Geoserver integriert. Die Bilder aus der CSD werden heruntergeladen und wenn möglich als zusätzliches Kartenmaterial in den Geoserver integriert.
Damit eignen sich diese Datenobjekte nicht zum Laden und verarbeiten im Stereo Bildauswerter. Damit eignen sich diese Datenobjekte nicht zum Laden und verarbeiten im Stereo Bildauswerter.
\begin{figure} \begin{figure}[h]
\centering \centering
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{../UML/Backend.png} \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{../UML/Backend.png}
\caption{Die Struktur der Komponenten des Bildauswerteplatzes. Die Kommunikation zwischen den Komponenten erfolgt hauptsächlich über den Java Message Service (JMS) } \caption{Die Struktur der Komponenten des Bildauswerteplatzes. Die Kommunikation zwischen den Komponenten erfolgt hauptsächlich über den Java Message Service (JMS) }
...@@ -69,7 +69,7 @@ Das ist z.B. für die URLs der CSD-Server sinnvoll. ...@@ -69,7 +69,7 @@ Das ist z.B. für die URLs der CSD-Server sinnvoll.
In den Abbildungen \ref{figure:strukturViewer} und \ref{figure:strukturSBA} ist diese Oberfläche als RequestUI in grün eingezeichnet. In den Abbildungen \ref{figure:strukturViewer} und \ref{figure:strukturSBA} ist diese Oberfläche als RequestUI in grün eingezeichnet.
Das laden des Presets erfolgt auf dem SBA direkt und beim Geoviewer wird dieses vom CSDADapter geladen. Das laden des Presets erfolgt auf dem SBA direkt und beim Geoviewer wird dieses vom CSDADapter geladen.
\begin{figure} \begin{figure}[h]
\centering \centering
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{RequestUI.png} \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{RequestUI.png}
\caption{Die Eingabe eines CSD-Requests im SBA. \caption{Die Eingabe eines CSD-Requests im SBA.
...@@ -122,7 +122,7 @@ In Gelb sind die Swing-Actions eingezeichnet, die der Nutzer aufrufen kann.} ...@@ -122,7 +122,7 @@ In Gelb sind die Swing-Actions eingezeichnet, die der Nutzer aufrufen kann.}
\end{figure*} \end{figure*}
\end{landscape} \end{landscape}
\begin{figure} \begin{figure}[h]
\centering \centering
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{ResultUI.png} \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{ResultUI.png}
\caption{Die Anzeige aller Ergebnisse im SBA. Die Tabelle ist sortierbar und es lassen sich beliebige Spalten ein- und ausblenden. \caption{Die Anzeige aller Ergebnisse im SBA. Die Tabelle ist sortierbar und es lassen sich beliebige Spalten ein- und ausblenden.
...@@ -155,7 +155,7 @@ Zunächst wird das Bild gerendert und mit Hilfe des NSIF-Creators in ein NSIF-Bi ...@@ -155,7 +155,7 @@ Zunächst wird das Bild gerendert und mit Hilfe des NSIF-Creators in ein NSIF-Bi
Das Metadaten-XML-File wird mit Hilfe des CSD-Writing Cleints der Isaac.lib an die CSD gesendet. Das Metadaten-XML-File wird mit Hilfe des CSD-Writing Cleints der Isaac.lib an die CSD gesendet.
Das Bild wird in einem HTTP Server, der in der Isaac.lib enthalten ist, zur Verfügung gestellt, sodass CSD Server das Bild herunterladen kann. Das Bild wird in einem HTTP Server, der in der Isaac.lib enthalten ist, zur Verfügung gestellt, sodass CSD Server das Bild herunterladen kann.
\begin{figure} \begin{figure}[h]
\centering \centering
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{MetaDataUI.png} \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{MetaDataUI.png}
\caption{Die Nutzeroberfläche zum Eingeben der Metadaten. Links die Informationen zum Erzeugen eines NSIF Bildes und rechts die Informationen für die CSD} \caption{Die Nutzeroberfläche zum Eingeben der Metadaten. Links die Informationen zum Erzeugen eines NSIF Bildes und rechts die Informationen für die CSD}
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
\section{Laden von Daten} \section{Laden von Daten}
\todo{Einleitung} \todo{Einleitung}
\subsection{CSD-Task erstellen} \subsection{CSD-Task erstellen}
Die Request UI des CSDPlugin soll wiederverwendbar werden. Die Request UI des CSDPlugin soll wiederverwendbar werden. % Müsste es nicht das UI statt die UI heißen?
Hierfür wurde eine Schnittstelle gemeinsame Schnittstelle angelegt (siehe Abbildung \ref{figure:klassenRequest}). Hierfür wurde eine Schnittstelle gemeinsame Schnittstelle angelegt (siehe Abbildung \ref{figure:klassenRequest}). % ...eine Schnittstelle gemeinsame Schnittstelle... --> Was soll das?
Diese Schnittstelle wird aufgerufen, sobald der Nutzer einen Task absendet und bei der Auswahl einer Region. Diese Schnittstelle wird aufgerufen, sobald der Nutzer einen Task absendet und bei der Auswahl einer Region.
Das CSD Plugin des Geoviewers implementiert diese Schnittstelle. Das CSD Plugin des Geoviewers implementiert diese Schnittstelle.
Region Anfragen werden direkt bearbeitet und der Task Request wird an den CSD-Adapter gesendet. Region Anfragen werden direkt bearbeitet und der Task Request wird an den CSD-Adapter gesendet.
...@@ -14,14 +14,14 @@ Im SBA wird das Interface der CSDRequestAction implementiert. ...@@ -14,14 +14,14 @@ Im SBA wird das Interface der CSDRequestAction implementiert.
Der Aufruf der Region wird falls möglich an das CSD-Plugin weitergeleitet. Der Aufruf der Region wird falls möglich an das CSD-Plugin weitergeleitet.
Die Middleware verfügt neben Nachrichten und Anfragen an das Backend über DirectRequests zwischen den an die Middleware angeschlossenen Komponenten. Die Middleware verfügt neben Nachrichten und Anfragen an das Backend über DirectRequests zwischen den an die Middleware angeschlossenen Komponenten.
Jede verbundene Komponente verfügt über eine eindeutige ID. Jede verbundene Komponente verfügt über eine eindeutige ID.
Durch diese ID erfolgt die Zuordnung des DirectRequests die am Empfänger verarbeitet und mit einer DirectResponse beantwortet wird. Durch diese ID erfolgt die Zuordnung des DirectRequests zum jeweiligen Empfänger und den dieser mit einer DirectResponse beantwortet. % Stimmt der Satz noch nach Korrektur?
Der SBA nutzt diese DirectRequests um eine Region auf dem Geoviewer auswählen zu lassen. Der SBA nutzt diese DirectRequests, um eine Region auf dem Geoviewer auswählen zu lassen.
Das Problem hierbei ist, dass der Nutzer beliebig lange zum einzeichnen brauchen kann und die Antwort eines DirectRequest innerhalb des Timeouts erfolgen muss. Das Problem hierbei ist, dass der Nutzer beliebig lange zum Einzeichnen brauchen kann und die Antwort eines DirectRequest innerhalb des Timeouts erfolgen muss.
Deshalb antwortet der Geoviewer sofort auf den Request und lässt den Nutzer Einzeichnungen vornehmen. Deshalb antwortet der Geoviewer sofort auf den Request und lässt den Nutzer Einzeichnungen vornehmen.
Ist die Regionsauswahl abgeschlossen sendet der Geoviewer einen DirectRequest an den SBA um das Ergebnis der Auswahl zu übermitteln. Ist die Regionsauswahl abgeschlossen, sendet der Geoviewer einen DirectRequest an den SBA, um das Ergebnis der Auswahl zu übermitteln.
Im Sequenzdiagramm \ref{figure:klassenRequest} sind beide Abläufe dargestellt. Im Sequenzdiagramm \ref{figure:klassenRequest} sind beide Abläufe dargestellt.
\begin{figure} \begin{figure}[h]
\centering \centering
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{../UML/Klassen RequestDialogue.png} \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{../UML/Klassen RequestDialogue.png}
\caption{Das Generieren von Tasks hat eine einheitliche Schnittstelle. \caption{Das Generieren von Tasks hat eine einheitliche Schnittstelle.
...@@ -30,12 +30,13 @@ So kann der RequestDialog wiederverwendet werden.} ...@@ -30,12 +30,13 @@ So kann der RequestDialog wiederverwendet werden.}
\label{figure:klassenRequest} \label{figure:klassenRequest}
\end{figure} \end{figure}
\begin{figure} \begin{figure}[h]
\centering \centering
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{../UML/Sequenz RequestUI.png} \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{../UML/Sequenz RequestUI.png}
\caption{Das Erstellen eines CSD Tasks als Sequenz Diagramm. \caption{Das Erstellen eines CSD Tasks als Sequenz Diagramm.
Links der Ablauf im CSDPlugin des Geoviewer, Rechts im SBA. Links der Ablauf im CSDPlugin des Geoviewer, Rechts im SBA.
Der Alt Block steht nur zur Verfügung wenn der SBA mit dem Geoviewer verbunden ist. } Der Alt Block steht nur zur Verfügung wenn der SBA mit dem Geoviewer verbunden ist. }
% Was ist ein Alt Block?
\label{figure:sequenzRequest} \label{figure:sequenzRequest}
\end{figure} \end{figure}
...@@ -63,7 +64,7 @@ Die Ergebnisse der Abfrage werden alle an den übergebenden Result Handler weite ...@@ -63,7 +64,7 @@ Die Ergebnisse der Abfrage werden alle an den übergebenden Result Handler weite
Um in Demonstrationen beim Kunden Fehler zu vermeiden, wurde die Möglichkeit eines lokalen Request aus dem CSD-Adapter übernommen. Um in Demonstrationen beim Kunden Fehler zu vermeiden, wurde die Möglichkeit eines lokalen Request aus dem CSD-Adapter übernommen.
Dieser lokale Request lässt sich im Konfigurationsdatei aktivieren und führt dazu, dass die Ergebnisse aus einer Datei geladen und direkt an den ResultHandler übergeben werden. Dieser lokale Request lässt sich im Konfigurationsdatei aktivieren und führt dazu, dass die Ergebnisse aus einer Datei geladen und direkt an den ResultHandler übergeben werden.
\begin{figure} \begin{figure}[h]
\centering \centering
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{../UML/Klassen CSDTask.png} \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{../UML/Klassen CSDTask.png}
\caption{Vererbungs-Hierachie des CSDTasks. Die Ausführung des Task wird in der Superklasse gestartet. \caption{Vererbungs-Hierachie des CSDTasks. Die Ausführung des Task wird in der Superklasse gestartet.
...@@ -89,7 +90,7 @@ Der Nutzer kann diese XML Dokument manuell einsehen und sich nötige Daten selbe ...@@ -89,7 +90,7 @@ Der Nutzer kann diese XML Dokument manuell einsehen und sich nötige Daten selbe
Ist ein Ergebnis verarbeitet, wird im zugehörigen Task die Methode resultFinished aufgerufen. Ist ein Ergebnis verarbeitet, wird im zugehörigen Task die Methode resultFinished aufgerufen.
So kann der Task, nachdem alle Ergebnis ausgewertet sind, die Methode afterTask aufrufen, um einen eventuelle Nachbearbeitung durchzuführen (Abbildung \ref{figure:klassenTask}). So kann der Task, nachdem alle Ergebnis ausgewertet sind, die Methode afterTask aufrufen, um einen eventuelle Nachbearbeitung durchzuführen (Abbildung \ref{figure:klassenTask}).
\begin{figure} \begin{figure}[h]
\centering \centering
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{../UML/Klassen ResultHandler.png} \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{../UML/Klassen ResultHandler.png}
\caption{Vererbungs-Hirachie der Result Handler} \caption{Vererbungs-Hirachie der Result Handler}
...@@ -154,7 +155,7 @@ Das NSIF-Bild wird nicht direkt übertragen sondern wird in einem HTTP Server de ...@@ -154,7 +155,7 @@ Das NSIF-Bild wird nicht direkt übertragen sondern wird in einem HTTP Server de
Die URL des Bildes wird in das XML Dokument eingetragen ud dann mit dem CSDWritingClient an die CSD übertragen. Die URL des Bildes wird in das XML Dokument eingetragen ud dann mit dem CSDWritingClient an die CSD übertragen.
Der CSD-Server läd sich daraufhin das Bild aus dem HTTP-Server herunter. Der CSD-Server läd sich daraufhin das Bild aus dem HTTP-Server herunter.
\begin{figure} \begin{figure}[h]
\centering \centering
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{../UML/Struktur Writing.png} \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{../UML/Struktur Writing.png}
\caption{Ablauf des Exportierns in die CSD \caption{Ablauf des Exportierns in die CSD
......
...@@ -4,10 +4,19 @@ ...@@ -4,10 +4,19 @@
In diesem Kapitel befassen wir uns mit der Qualität und der Absturzsicherheit der implementierten Features. In diesem Kapitel befassen wir uns mit der Qualität und der Absturzsicherheit der implementierten Features.
\section{Find Bugs} \section{Find Bugs}
Um in der Benutzung keine Programmabstürze durch Programmierfehler zu erhalten wurde der Code mit Findbugs überprüft. Alle Fehlerquellen die Findbugs untersucht sind in dem Code beseitigt worden. Lediglich die Fehler in der JHotDraw GUI Bibliothek, auf dem der SBA aufbaut, wurden nicht behoben. Um in der Benutzung keine Programmabstürze durch Programmierfehler zu erhalten wurde der Code mit Findbugs überprüft. % Kurze Erklärung, was Findbugs ist, welche Fehler es finden kann und am besten eine Quellenangabe für das Literaturverzeichnis
Das Parsen der XML Dokumente im ResultHandler ist hier insbesondere überprüft worden. Viele Felder sind optional und werden im CSDAdapter und im SBA ausgelesen. Es muss also immer darauf geachtet werden ob die Informationen vorhanden sind und auch verwendet werden können. Alle Fehlerquellen die Findbugs untersucht, sind in dem Code beseitigt worden.
Bei der Nutzereingabe zum Schreiben in die CSD wird direkt bei der Eingabe die Richtigkeit und Notwendigkeit der einzelnen Felder überprüft. Übergibt man ein unvollständiges XML Dokument an die Isaac.lib so wirft diese Fehler. Um das zu vermeiden kann der Nutzer die Anfrage nicht absenden bevor alle Eingaben korrekt erfolgt sind. Lediglich die Fehler in der JHotDraw GUI Bibliothek, auf dem der SBA aufbaut, wurden nicht behoben. % Du solltest erklären warum dieses nicht gemacht wurde.
Das Parsen der XML Dokumente im ResultHandler ist hier insbesondere überprüft worden. %``Hier'' im JHotDraw GUI oder wo?
Viele Felder sind optional und werden im CSDAdapter und im SBA ausgelesen.
Es muss also immer darauf geachtet werden, ob die Informationen vorhanden sind und auch verwendet werden können.
Bei der Nutzereingabe zum Schreiben in die CSD wird die Richtigkeit und Notwendigkeit der einzelnen Felder direkt bei der Eingabe überprüft.
Übergibt man ein unvollständiges XML Dokument an die Isaac.lib, so wirft diese Fehler.
Um das zu vermeiden, kann der Nutzer die Anfrage nicht absenden, bevor alle Eingaben korrekt erfolgt sind.
\section{Testing} \section{Testing}
Die Testcases das CSDAdapters sind erhalten geblieben. Für den SBA wurden keine Testcases erstellt. Das Parsen des XML Dokuments unterscheidet sich unwesentlich von dem CSDAdapter und ist hauptsächlich im allgemeine ResultHandler der CSDCommons Bibliothek enthalten. Dieser Test ist also durch den CSDAdapter abgedeckt. Die Testcases das CSDAdapters sind erhalten geblieben. % Es waren also schon vorher welche vorhanden. Mussten dies angepasst werden, damit man sie weiternutzen kann? Wieviele Testcases sind im Testset?
Das Parsen des XML Dokuments im SBA und im CSDAdapter unterscheidet sich nur unwesentlich % stimmt es noch nach meiner Änderung?
und ist hauptsächlich im allgemeinen ResultHandler der CSDCommons Bibliothek enthalten.
Dieser Test ist also durch den Test des CSDAdapters abgedeckt. Deshalb wurden für den SBA keine eigenen Testcases erstellt.
\todo{überhaupt testing?} \todo{überhaupt testing?}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment