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 \cite{FB} überprüft.
Um in der Benutzung keine Programmabstürze durch Programmierfehler zu erhalten, wurde der Code mit Findbugs \cite{FB} überprüft.
Findbugs untersucht den Java bytecode nach Bug Patterns.
Findbugs untersucht den Java bytecode nach Bug Patterns.
Vermutliche Fehler z.B. Nullpointer oder auch schlechter Stil wie == Operator anstelle der equels Methode wird von der Bibliothek erkannt und dem Nutzer zur Verbesserung vorgeschlagen.
Vermutliche Fehler z.B. Nullpointer oder auch schlechter Stil wie == Operator anstelle der equals Methode wird von der Bibliothek erkannt und dem Nutzer zur Verbesserung vorgeschlagen.
In der Implementierung wurden alle Anmerkungen von Findbugs behoben.
In der Implementierung wurden alle Anmerkungen von Findbugs behoben.
Lediglich die Fehler in der JHotDraw GUI Bibliothek, auf dem der SBA aufbaut, wurden nicht behoben.
Lediglich die Fehler in der JHotDraw GUI Bibliothek, auf dem der SBA aufbaut, wurden nicht behoben.
Es ist ein exaktes Verständnis vom gesamten JHotDraw Frameworks von Notwendigkeit um z.B. die gefundenen Bitmaskenfehler zu beheben.
Es ist ein exaktes Verständnis des gesamten JHotDraw Frameworks notwendig, um z.B. die gefundenen Bitmaskenfehler zu beheben.
Das Parsen der XML Dokumente im ResultHandler der CSDCommons Bibliothek ist insbesondere überprüft worden.
Das Parsen der XML Dokumente im ResultHandler der CSDCommons Bibliothek ist besonders intensiv überprüft worden.
Viele Felder des XML Dokuments der CSD sind optional und werden im CSDAdapter und im SBA ausgelesen.
Viele Felder des XML Dokuments der CSD 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.
Es muss also immer darauf geachtet werden, ob die Informationen vorhanden sind und auch verwendet werden können.
In d
In d
...
@@ -21,12 +21,11 @@ Bei der Nutzereingabe zum Schreiben in die CSD wird die Richtigkeit und Notwend
...
@@ -21,12 +21,11 @@ Bei der Nutzereingabe zum Schreiben in die CSD wird die Richtigkeit und Notwend
Um das zu vermeiden, kann der Nutzer die Anfrage nicht absenden, bevor alle Eingaben korrekt erfolgt sind.
Um das zu vermeiden, kann der Nutzer die Anfrage nicht absenden, bevor alle Eingaben korrekt erfolgt sind.
\section{Testing}
\section{Testing}
Die Testcases die im CSDAdapters vorhanden waren sind in die aktuelle Implementierung übertragen worden.
Die Testcases, die im CSDAdapters vorhanden waren, sind in die aktuelle Implementierung übertragen worden.
Zum testen werden einige XML Dokumente vom Dateisystem geladen und an den ResultHandler übergeben.
Zum Testen werden einige XML Dokumente vom Dateisystem geladen und an den ResultHandler übergeben.
\todo{testcases überprüfen}
\todo{testcases überprüfen}
Das Parsen des XML Dokuments im SBA und im CSDAdapter wird fast komplett durch dir abstrakte Implementierung in der CSDCommons Bibliothek übernommen.
Das Parsen des XML Dokuments im SBA und im CSDAdapter wird fast komplett durch die abstrakte Implementierung in der CSDCommons Bibliothek übernommen.
Dieser Test ist also durch den Test des CSDAdapters abgedeckt.
Dieser Teil des Codes wird dementsprechend in den Testcases des CSDADapters
Deshalb wurden für den SBA keine eigenen Testcases erstellt.
und ist hauptsächlich im allgemeinen ResultHandler der CSDCommons Bibliothek enthalten. % Dieser Satz ist verdreht.
Dieser Test ist also durch den Test des CSDAdapters abgedeckt. Deshalb wurden für den SBA keine eigenen Testcases erstellt.
\todo{überhaupt testing als Kapitel?}
Für die Nutzereingaben wurden keine Testcases erstellt
\subsection{Direktest laden aus der CSD mit der UUID }
\subsection{Direktest laden aus der CSD mit der UUID }
Jedes Objekt in der CSD hat eine eindeutige UUID.
Jedes Objekt in der CSD hat eine eindeutige UUID.
Diese wird verwendet um die Datensätze eindeutig zu identifizieren.
Diese wird verwendet, um die Datensätze eindeutig zu identifizieren.
Bekommt ein Bildauswerter den Auftrag ein Bestimmtes Bild auszuwerten bekommt er die ID des Bildes gesagt.
Bekommt ein Bildauswerter den Auftrag ein bestimmtes Bild auszuwerten, bekommt er die ID des Bildes mitgeteilt.
Die Eingabeoberfläche unterstütze das Suchen nach der UUID, jedoch wird das Ergebnis anschließend in der Tabelle angezeigt.
Die Eingabeoberfläche unterstützt das Suchen nach der UUID, jedoch wird das Ergebnis anschließend in der Tabelle angezeigt.
Da diese Suche nur ein einziges Ergebnis liefern kann ist das erneute Anzeigen und aussuchen das Nutzer überflüssig.
Da diese Suche nur ein einziges Ergebnis liefern kann, ist das erneute Anzeigen und Aussuchen das Nutzer überflüssig.
Das direkte laden eines Bildes anhand der UUID könnte die Arbeit des Bildauswerters verbessern.
Das direkte Laden eines Bildes anhand der UUID könnte die Arbeit des Bildauswerters verbessern.
\subsection{SBA-Import durch Geoviewer}
\subsection{SBA-Import durch Geoviewer}
Bisher werden auf dem Geoviewer die Objekte aus der CSD nur dargestellt, und ermöglichen das Anzeigen der zugehörigen Metadaten auf dem MetaDaten Display.
Bisher werden die Objekte aus der CSD auf dem Geoviewer nur dargestellt und diese ermöglichen das Anzeigen der zugehörigen Metadaten auf dem MetaDaten Display. % Diesen Satz mit dem Wort ``nur'' und dem was ``ermöglicht'' wird ist mir nicht ganz klar.
Hier kann eine weiter Verbindung zwischen SBA und Geoviewer hergestellt werden.
Hier kann eine weitere Verbindung zwischen SBA und Geoviewer hergestellt werden.
Durch Auswahl des Objektes im Geoviewer wird das Bild im SBA geladen und man erspart sich eine erneute Abfrage der CSD auf dem SBA.
Durch Auswahl des Objektes im Geoviewer wird das Bild im SBA geladen und man erspart sich eine erneute Abfrage der CSD auf dem SBA.
\subsection{Goeviewer Vorschau beim laden in den SBA}
\subsection{Goeviewer Vorschau beim Laden in den SBA}
Nachdem der Nutzer auf dem SBA eine CSD Abfrage ausgeführt hat bekommt er alle Ergebnisse Tabellarisch aufgelistet.
Nachdem der Nutzer auf dem SBA eine CSD Abfrage ausgeführt hat bekommt er alle Ergebnisse tabellarisch aufgelistet.
Eine Information der Auswahlinformationen ist die Koordinate des Bildes.
Eine Information der Auswahlinformationen ist die Koordinate des Bildes.% zwei Mal das Wort ``Information''
An dieser Stelle könnte auf Anfrage des Nutzers die Karte des Geoviewers an die entsprechende stelle bewegt werden.
An dieser Stelle könnte auf Anfrage des Nutzers die Karte des Geoviewers an die entsprechende Stelle bewegt werden.
So kann sich der Auswerter die Umgebung der Ergebnisse Ansehen bevor er das Bild im SBA läd.
So kann sich der Auswerter die Umgebung der Ergebnisse ansehen, bevor er das Bild im SBA lädt.
Damit nicht nur die Karte zu sehen ist muss hierfür ein Data Objekt angelegt werden.
Damit nicht nur die Karte zu sehen ist, muss ein Data Objekt angelegt werden.
Eine Möglichkeit wäre hierfür ein Task an den CSDAdapter zu senden der genau das eine Datenobjekt aus der CSD läd und für den Geoviewer bearbeitet.
Eine Möglichkeit wäre, hierfür einen Task an den CSDAdapter zu senden, der genau das eine Datenobjekt aus der CSD lädt und für den Geoviewer bearbeitet.
\subsection{Assoziationen}
\subsection{Assoziationen}
Bisher werden bei der Lesen und Schreiben der CSD die Assoziationen zwischen den Datensätzen nicht ausgelesen.
Bisher werden bei der Lesen und Schreiben der CSD die Assoziationen zwischen den Datensätzen nicht ausgelesen.% Ist dem Leser schon bekannt, was Assoziationen sind?
Hier bieten sich 2 Verbesserungsmöglichkeiten.
Hier bieten sich 2 Verbesserungsmöglichkeiten an.
Zum einen sollte beim Schreiben in die CSD des SBA überprüft werden ob eine neue Assoziation sinnvoll ist.
Zum Einen sollte beim Schreiben in die CSD des SBA überprüft werden, ob eine neue Assoziation sinnvoll ist. % Ich verstehen den Einschub ``des SBA'' nicht.
Ist das Bild aus der CSD geladen, dann sollte das ausgewertet Bild auf das Original verweisen.
Ist das Bild aus der CSD geladen, sollte das ausgewertet Bild auf das Original verweisen.
Außerdem müsste beim Laden man diese Verknüpfungen ebenfalls Visualisiert und anzeigen wie die Bilder zusammenhängen.
Außerdem müssten diese Verknüpfungen beim Laden ebenfalls visualisiert werden, um anzuzeigen, wie die Bilder zusammenhängen.
Ein Vorteil hierbei ist das man sofort erkennt welches Bild noch nicht ausgewertet ist und welches bereits bearbeitet wurde.
Ein Vorteil hierbei ist, dass man sofort erkennt, welches Bild noch nicht ausgewertet ist und welches bereits bearbeitet wurde.
Für die sinnvolle Darstellung der Verknüpfungen müsste man sich eine geeignete Visualisierung überlegen.
Für die sinnvolle Darstellung der Verknüpfungen müsste man eine geeignete Visualisierung erarbeiten.
Eine Möglichkeit wäre eine Baumstruktur.
Eine Möglichkeit wäre eine Baumstruktur.
\subsection{Reports}
\subsection{Reports}
In dieser Arbeit haben wir uns hauptsächlich mit dem Laden und Speichern der Bilder für den SBA befasst.
In dieser Arbeit haben wir uns hauptsächlich mit dem Laden und Speichern der Bilder für den SBA befasst.
Ein wichtiger Bestandteil der Bildauswertung ist der Bericht, der während der Auswertung angefertigt werden muss.
Ein wichtiger Bestandteil der Bildauswertung ist der Bericht, der während der Auswertung angefertigt werden muss.
Eine Verbesserung des Arbeitsplatzes kann erzielt werden indem der Nutzer auch die Reports in die CSD eintragen kann.
Eine Verbesserung des Arbeitsplatzes kann erzielt werden, indem der Nutzer auch die Reports in die CSD eintragen kann.
Idealer weise wird dieser Bericht dann mit dem Original und dem Ausgewertetem Bild verknüpft.
Idealerweise wird dieser Bericht dann mit dem Original und dem ausgewertetem Bild verknüpft.
Eine Möglichkeit wäre diesen Upload ebenfalls in den SBA einzubauen.
Eine Möglichkeit wäre, diesen Upload ebenfalls in den SBA einzubauen.
Zusätzlich zu den Metainformationen gibt man den Dateipfad des Berichts an und dieser wird zusammen mit dem Bild in die CSD eingetragen.
Zusätzlich zu den Metainformationen gibt man den Dateipfad des Berichts an und dieser wird zusammen mit dem Bild in die CSD eingetragen.
Alternativ könnte man evaluieren ob eine direkte Integration des Texteditors zum Berichte verfassen in den SBA sinnvoll ist.
Alternativ könnte man evaluieren, ob eine direkte Integration des Texteditors zum Berichteverfassen in den SBA sinnvoll ist.