... | ... | @@ -9,7 +9,7 @@ Besonders im Hinblick auf die Lesbarkeit und Strukturierung des Codes, im Zusamm |
|
|
|
|
|
Des weiteren fand eine partielle Umstrukturierung des Codes statt, welche als neue Commits ihren Weg in die Versionierung fanden. Das verwenden einzelner Teilbereiche wurde somit erschwert!
|
|
|
|
|
|
Die Darstellung der Entwicklungen im Frontend waren für uns erst nach einiger Zeit erkennbar, sodass man nicht gleich darauf schließen konnte, dass eine Anpassung erfolgte. Dies mündete zunächst in einer Ernüchterung im Hinblick auf den vorhandenen Code, lies uns dann aber mit neuen Erkenntnissen fortfahren.
|
|
|
Die Darstellung der Entwicklungen im Frontend waren für uns erst nach einiger Zeit erkennbar, sodass man nicht gleich darauf schließen konnte, dass eine Anpassung erfolgte. Dies mündete zunächst in einer Ernüchterung im Hinblick auf den vorhandenen Code, ließ uns dann aber mit neuen Erkenntnissen fortfahren.
|
|
|
|
|
|
## Durchführung
|
|
|
|
... | ... | @@ -19,6 +19,24 @@ Da bereits Nutzbares in diesem zweiten Abschnitt der Durchführung vorhanden war |
|
|
|
|
|
Die durch die vorangehenden Schritte erworbenen Kenntnisse, konnten folglich ihren Weg, in die Umsetzung finden. Hierbei wurde besonders darauf geachtet, bereitgestellte Funktionalitäten durch ARSnova weiterzunutzen und nicht durch Eigenentwicklungen aufzublähen. Dies wurde auch besonders bei der Umsetzung des erforderlichen Features beachtet und floss somit als Kerngedanke der Entwicklung mit ein.
|
|
|
|
|
|
## Änderungen
|
|
|
|
|
|
Im Projektverlauf konnten an unterschiedlichen Stellen, nach Vorbild der Refaktorisierung und der zugrundeliegenden Reengineering Pattern, aus dem Buch [Object-Oriented Reengineering Patterns](http://scg.unibe.ch/download/oorp/OORP.pdf), Umstrukturierungen und Verbesserungen vorgenommen werden. Wie aus dem vorangegangenen [QA-Report](qa-report) ersichtlich, blieb es nicht nur bei der Refaktorisierung! Änderungen im Code mussten ebenfalls erfolgen, um eine Funktionalität gewährleisten zu können.
|
|
|
|
|
|
Diese angesprochenen Änderungen werden hier näher erläutert.
|
|
|
|
|
|
Das Pattern "Do a Mock Installation" präsentierte uns den ersten, bereits vorhandenen, Funktionsumfang, der uns unsere weiteren Schritte in diesem Projekt planen ließ.
|
|
|
|
|
|
Als Grundstein der Entwicklung, zogen wir den bereits vorhandenen Code der Vorgängergruppe heran. Nach einschlägiger Prüfung, erfolgte hier eine Anpassung in dem Sinne, die vorhandenen Gegebenheiten funktional umzusetzen. Teile des vorhandenen Codes erzielten nicht den gewünschten Effekt, sodass hier Nachbesserungen erfolgen mussten. Ganz nach dem Pattern "If It Ain't Broke, Don't Fix It", konnten wir hier unsere Erfahrungen zum Tragen bringen.
|
|
|
|
|
|
Im Bereich der Bearbeitung gab es starke Differenzen zu den eigentlich geforderten Interaktionsmöglichkeiten. So war das bereitgestellte Bearbeitungsmenü äußerst minimalistisch und somit in unseren Augen keinesfalls zufriedenstellend. Einfachsten Use-Cases konnte es nicht nachkommen, sodass hier größere Änderungen bis hin zur eigenen Umsetzung erfolgen mussten. Bereits vorhandener Code konnte nicht weiter genutzt werden, was sich für den weiteren Verlauf aber auch nicht weiter als schädlich erwies.
|
|
|
|
|
|
Als besonders kritischer Abschnitt stellte sich die Unterscheidung zwischen den einzelnen Modi der "Fixed Answer" heraus. So wurde im "Einfachen" Modus überhaupt nicht auf "Einfach" geprüft. Des weiteren ergaben sich vermeidbare Redundanzen, welche sich allerdings beheben ließen. So erfolgte eine Reduktion auf das Notwendige um den Nutzer nicht mit einer Featureüberladung zu erdrücken.
|
|
|
Die Fehleranfälligkeit der zugrundegelegten Prüfung konnte im weiteren Verlauf behoben werden, sodass in diesem Bereich jegliche in der Interaktion auftretenden Probleme vermieden werden.
|
|
|
|
|
|
Sofern bei Freitext eine Antwort festgelegt wurde, waren die Angaben des Subjects sowie des Markdowns hinfällig. Dieser Gegebenheit entsprechend wurden beide Felder entfernt. Bei einer normalen Freitext-Frage, sind diese Felder allerdings weiterhin verfügbar.
|
|
|
Durch diesen Schritt kann vermieden werden, dass die Antwort einer festgelegten Freitext-Frage im Subject Bereich landet und sich der jeweilige Nutzer über eine misslungene Beantwortung wundert.
|
|
|
|
|
|
## Ergebnis
|
|
|
|
|
|
Die Funktionalitäten des Projekts lassen sich folgendermaßen zusammenfassen:
|
... | ... | |