Commit b7b7a291 by Werner Westerkamp

erneuter Durchgang durch chaper 4

parent ed1d656c
...@@ -8,12 +8,12 @@ In diesem Kapitel wird zunächst auf einige Probleme bei der Implementierung ein ...@@ -8,12 +8,12 @@ In diesem Kapitel wird zunächst auf einige Probleme bei der Implementierung ein
Alle Dependencies in den bestehenden Projekten werden durch Maven (\cite{MVN}) aufgelöst. Alle Dependencies in den bestehenden Projekten werden durch Maven (\cite{MVN}) aufgelöst.
Maven ist ein Build-Management Tool, das auch die Dependency Verwaltung übernimmt. Maven ist ein Build-Management Tool, das auch die Dependency Verwaltung übernimmt.
Die isaac.lib und der nisf-creator standen zum Beginn des Projektes nicht in einem Maven Repository zur Verfügung. Die isaac.lib und der nisf-creator standen zum Beginn des Projektes nicht in einem Maven Repository zur Verfügung.
Damit weiterhin keine lokalen Bibliotheken eingebunden werden müssen, wurden beide Bibliotheken und deren Abhängigkeiten in das Repository eingefügt. Damit zukünftig keine lokalen Bibliotheken eingebunden werden müssen, wurden beide Bibliotheken und deren Abhängigkeiten in das Repository eingefügt.
Dazu mussten zunächst die Abhängigkeiten der einzelnen Bibliotheken manuell aufgelöst werden, bevor diese in das Project Object Model (POM) der einzelnen Bibliotheken eingetragen werden können. Dazu mussten die Abhängigkeiten der einzelnen Bibliotheken manuell aufgelöst werden, bevor diese in das Project Object Model (POM) der einzelnen Bibliotheken eingetragen werden können.
\subsection{CSD upload} \subsection{CSD upload}
In der Implementierung sind beim Hochladen des Bildes einige Probleme aufgetreten. In der Implementierung sind beim Hochladen des Bildes einige Probleme aufgetreten.
Genauer gesagt wird der CSD mitgeteilt, wo das Bild herunterzuladen ist und das kann zu Problemen führen. Siehe Abbildung \ref{upload} Genauer gesagt, wird der CSD mitgeteilt, wo das Bild herunterzuladen ist und das kann zu Problemen führen. Siehe Abbildung \ref{upload}
Ein Problem, das hierbei auftreten kann, ist, dass der benötigte Netzwerk-Port nicht freigegeben ist. Ein Problem, das hierbei auftreten kann, ist, dass der benötigte Netzwerk-Port nicht freigegeben ist.
Um einen Port freizugeben, braucht man Administratorrechte, die nicht jeder Nutzer hat. Um einen Port freizugeben, braucht man Administratorrechte, die nicht jeder Nutzer hat.
...@@ -37,23 +37,23 @@ Um die Anbindung an die CSD zu testen, wären umfangreiche Integrationstest nöt ...@@ -37,23 +37,23 @@ Um die Anbindung an die CSD zu testen, wären umfangreiche Integrationstest nöt
Diese gestalten sich schwierig, da keine CSD Server als exklusive Testinstanzen zur Verfügung stehen. Diese gestalten sich schwierig, da keine CSD Server als exklusive Testinstanzen zur Verfügung stehen.
Alle Komponenten wurden manuell getestet, um die Funktionalität zu überprüfen. Alle Komponenten wurden manuell getestet, um die Funktionalität zu überprüfen.
Das bedeutet, beim Parsen der XML Dokumente im Result Handler der CSDCommons Bibliothek wurde für jedes ausgelesen Feld die Korrektheit des Ergebnisses überprüft. Das bedeutet, dass beim Parsen der XML Dokumente im Result Handler der CSDCommons Bibliothek jedes ausgelesene Feld auf Korrektheit des Ergebnisses überprüft wurde.
Es wurde darauf geachtet, dass einige Felder optional sind und dass das Fehlen dieser Informationen nicht zu Programmabstürzen führt. Es wurde darauf geachtet, dass einige Felder optional sind und dass das Fehlen dieser Informationen nicht zu Programmabstürzen führt.
Das Parsen der XML Dokumente im ResultHandler der CSDCommons Bibliothek ist besonders intensiv überprüft worden. Das Parsen der XML Dokumente im ResultHandler der CSDCommons Bibliothek ist besonders intensiv überprüft worden.
Viele Felder sind optional. Sowohl CSDAdapter als auch SBA versuchen aber diese auszulesen. Viele Felder sind optional. Sowohl CSDAdapter als auch SBA versuchen aber, diese auszulesen.
Es wurde daruf geachtet das dies nicht zu Fehlern in der weitern Verarbeitung führt. Es wurde darauf geachtet, dass dieses nicht zu Fehlern in der weiteren Verarbeitung führt.
Bei der Nutzereingabe zum Schreiben in die CSD wird die Richtigkeit und Notwendigkeit der einzelnen Felder direkt bei der Eingabe überprüft. 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. Ü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. Um das zu vermeiden, kann der Nutzer die Anfrage erst absenden, wenn alle Eingaben korrekt erfolgt sind.
Auch hier wurde für jedes Feld überprüft, ob die Eingabe den Richtlinien der CSD entspricht. Auch hier wurde für jedes Feld überprüft, ob die Eingabe den Richtlinien der CSD entspricht.
\subsection{Find Bugs} \subsection{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 equals Methode werden von der Bibliothek erkannt und dem Nutzer zur Verbesserung vorgeschlagen. Vermutliche Fehler z.B. Nullpointer oder auch schlechter Stil wie == Operatoren anstelle der equals Methode werden 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 des gesamten JHotDraw Frameworks notwendig, um z.B. die gefundenen Bitmaskenfehler zu beheben. Dafür wäre ein exaktes Verständnis des gesamten JHotDraw Frameworks notwendig, um z.B. die gefundenen Bitmaskenfehler zu beheben.
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