Home

- HSR - Institutional Repository

image

Contents

1. Internet Explorer 10 IE10 l uft einwandfrei nachdem serverseitig ein Cache Y Control bei GET Abfragen genutzt wird internet Explorer11 ELA l uft einwandfrei E _ Firefox 29 0 1 Firefox l uft einwandfrei Y Chrome 35 0 1916 114 Chrome l uft einwandfrei E Safari 5 1 7 Safari l uft einwandfrei I Opera Opera l uft einwandfrei Y Abbildung 88 berblick der Kompatibilit tstests Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 144 von 167 6 5 Internet Explorer 8 Mit dem IES entstanden am Anfang die meisten Probleme da viele JavaScript Funktionen erst in den sp teren IE Versionen unterst tzt werden Dank der Kompatibilit tsbibliotheken htmi5shiv und es5shim wird die Webapplikation auch f r IE8 unterst tzt gt D LA gt D G u e 5 CHE Bes teacheval ch app dashboard report 1 P C R Teachtval x g e mme rg ep ie S x Google y ZB search fE Share More Sign In X Dd A G ZH A Willkommen Support TeachEval ORGANISATION DER ARBEITSWELT GESUNDHEIT ZORICH A Startseite Home Auswertung Infusionen FS 2014 L Umfrage gt Teinenmen Infusionen FS 2014 Verwalten xy Excel Export BR bersicht Auswertung a en ali Auswertung 2 E p w X IR Korrelation Studenten Studenten Instruktoren Instruktoren Supervisoren Supervisoren Total Fragen Total Fragen Total Fragen o am u v AN Emulation 7 ax Landscape
2. Fragen Interpretation Gewichtung Mittelwert Ich konnte ohne weitere Probleme auf Ax Trifft zu 2 1 332 die Umfrage zugreifen _ 2x Trifft eher zu 1 0 333 Total 2 100 gt 1 665 2x k 83 Meine Umfragekennung wurde mir per 6x Trifft zu 2 2 00 Email gesendet O Total 2 100 gt 2 00 2x 100 Ich musste zu viele Eingabeschritte f r 5x Trifft nicht zu 2 1 667 den Zugriff auf die Umfrage durchf hren 1x Trifft zu 2 0 334 Total 2 100 gt 1 333 2x I 67 Gesamtresultat auf alle Fragen bezogen 83 Es konnten 83 aller Aufgaben mit guten Erwartungen erf llt werden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 157 von 167 8 5 3 Selbstbeschreibungsf higkeit Fragen Interpretation Gewichtung Mittelwert Die Meldungen Fehler Info 5x Trifft zu 2 1 666 _ Erfolgsmeldungen der Webapplikation 1x Trifft eher zu 1 0 167 sind f r mich sofort verst ndlich Total 2 100 gt 1 833 2x 92 _Gesamtresultat auf alle Fragen bezogen 92 Durch die verst ndlichen Fehler oder Informationsmeldungen wird der Benutzer zu 92 durch die Umfrage geleitet 8 5 4 Erwartungskonformit t Fragen Interpretation Gewichtung Mittelwert Wie empfinden sie die Navigation 2x Sehr gut 2 0 8 3x Gut 1 0 6 1x Nichts besonderes 0 Total 2 100 gt 1 4 2x u d 70 Wie empfinden sie d
3. View Die View wird mit HTML Templates zusammengebaut Das AngularJS Framework erweitert das Vokabular von HTML und aktualisiert einzelne Bereiche in der Seite automatisch ohne manueller Intervention Controller Die Prim re Aufgabe des Controllers ist die Initialisierung von Scope Variablen die in der View verwendet werden k nnen Scope Das Scope Objekt stellt der View die dynamischen Daten zur Verf gung Die Scope Instanz kann sogenannte Scope Variablen mit Werten oder Funktionen initialisieren Directives Direktive greifen auf den DOM Tree zu und erweitern den HTML Code AngularJS bringt standardm ssig schon einige mit In der Regel fangen diese immer mit ng an Factories Services Services dienen dazu Funktionalit ten zu kapseln die an mehreren Stellen der Applikation ben tigt werden Definiert werden diese ber die factory Funktion 6 1 1 1 Die App Die AngularJS Applikation wird ber das App Modul gestartet bzw das App Module wird von require js geladen Das folgende Sequenz Diagramm soll den Ablauf bis zum Start der Webapplikation aufzeigen Wie bereits erw hnt werden die require config js und require js Dateien von der index html gestartet und dienen vor allem f r das Verwalten von internen und externen Abh ngigkeiten Darunter werden alle Module rot und Konfigurationen violett geladen Anschliessend wird die Applikation gestartet und die einzelnen Controller Services oder Direktive f
4. SS SIS Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 129 von 167 3 2 Unit Testing Unit Test kam vor allem serverseitig mit JUnit und dem Java Jersey Framework zum Einsatz Aus diesem Grund wurde ber alle Schichten getestet die in der folgenden Abbildung visualisiert werden Die Schichten Persistence und Service k nnen als TestSuite Bundle ausgef hrt werden und die REST Schicht wird zus tzlich mit Jersey Test Framework mit der parallelen Ausf hrung von Tomcat getestet Documentation Jersey Test Framework 2014 Jersey Test Framework JUNIT TestSuite Abbildung 68 Test Frameworks Das Jersey Test Framework eignet sich sehr gut um Clients zu simulieren die dann auf die REST Schnittstellen von TeachEval Tests durchf hren Alle Tests wurden mit vorbereiteten Testdaten getestet Daf r wurden 6 Umfragen als Basis f r alle Tests durchgef hrt 3 2 1 JUnit TestSuite Der gr sste Teil der Unit Tests wurden mit JUnit 4 mittels TestSuite getestet Der TestSuite erstreckt sich auf die Persistence und auf die Service Schicht Da wir schon im Mai 2014 den ersten produktiven Prototyp aufschalten mussten der vor allem die Umfrageverwaltung und die ganze Befragung umfasste setzten wir den Fokus auf eine saubere und funktionst chtige Ablegung der Daten in der Datenbank Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 130 von 167 E teacheval
5. Datei Bearbeiten Ier o 111 Ei CON 0 6 KO 8 https www teacheval ch app dashboard report l sas Peas e Rank A Willkommen Support TeachEval 0dA G ZH ORGANISATION DER ARBEITSWELT GESUNDHEIT ZORICH M startseite Home Auswertung Infusionen FS 2014 L Umfrage lt ia Infusionen FS 2014 A impressum xj Excel Export BB bersicht A El ge q te ES ag Gem 8 9 o 32 Instruktoren Supervisoren Supervisoren Fragen Total Fragen Studenten Studenten Instruktoren Total Fragen Total Instruktoren teilgenommen Supervisoren teilgenommen Studenten teilgenommen A Totar o Detaillierte Fragenauswertung Studenten Instruktoren Supervisoren Abbildung 95 TeachEval mit Firefox 29 0 1 Support 6 9 Chrome In Chrome gibt es keine bekannten Probleme mit TeachEval Taten N e 5 G u u s lar e C fi B https www teacheval ch app index 07 CH EARCH amp Willkommen Support TeachEval i OdA G ZH ORGANISATION DER ARBEITSWELT GESUNDHEIT Z RICH A Startseite L umtrage lt Auswertung TeachEval ist eine Webapplikation f r die Erstellung von Umfragen und Auswertungen die speziell f r die Bildungsveranstaltungen der Oda G ZH im Bereich Gesundheit gerichtet ist Um an einer Umfrage der Oda G Z rich teilnehmen zu k nnen wird eine Umfragekennung die Sie per Post per Email oder pers nlich erhalten haben ben tigt
6. Abbildung 46 Struktur REST Package Ressourcen Funktion AuthenticationRest Im AuthenticationRest werden alle Zugriffe geregelt f r die eine Authentifizierung ben tigt werden Das heisst das An und Abmelden als auch die berpr fung ob das Session Token f r den eingeloggten User noch g ltig ist SurveyRest Der SurveyRest stellt CRUD Ressourcen und weitere ben tigte Ressourcen zur Verf gung Die meisten Ressourcen stellen ein Objekt Survey zur Verf gung UserRest Der UserRest stellt ebenfalls CRUD Ressourcen zur Verf gung und stellt die meisten Ressourcen als Objekt Instructor dar und paar wenige als Objekt Participant Der Instructor ist der Benutzer der ein Login Account besitzt DownloadRest Der DownloadRest bernimmt alle Download Anfragen wie das Herunterladen eines Excel Templates und das Exportieren von Daten als Excel Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 108 von 167 UploadRest Wie im DownloadRest werden im UploadRest nur Upload Operationen abgearbeitet wie z B das Hochladen von Benutzern oder Umfragen als Excel Datei EvaluationRest Im EvaluationRest geht es darum die ausgef llten Umfragen auszuwerten und diese zur Verf gung zu stellen SystemRest Diese Ressource liefert dem Client die aktuelle TeachEval Version und das Datum Tabelle 41 REST Klassen 6 2 2 Service Schicht 8 teacheval service EH service cron HD service debug
7. E Trifft nicht zu Zu La vu BD u Da E Dan E Da DT E Da cn E Da Ge E E O E E u 0 10 20 30 40 50 60 70 80 90 100 Abbildung 109 Resultate von Frage 5 Es konnten alle Teilnehmer an der Umfrage teilnehmen wobei zwei anscheinend Probleme damit hatten Frage 6 Meine Umfragekennung wurde mir per Email gesendet E Trifft zu E Trifft zu Email landete aber im SPAM Ordner E Trifft nicht zu 0 20 40 60 80 100 Abbildung 110 Resultate von Frage 6 Alle Teilnehmer bekamen eine E Mail mit Umfragelink und keine der E Mails wurde als Spam deklariert Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 154 von 167 Frage 7 Ich musste zu viele Eingabeschritte fiir den Zugriff auf die Umfrage durchf hren E Trifft zu E Trifft eher zu E Trifft eher nicht zu E Trifft nicht zu u La vu u m Du Dan an Lu Du Du E LE Da a E E E E E E E u 0 10 20 30 40 50 60 70 80 90 100 Abbildung 111 Resultate zur Frage 7 Die meisten hatten keine Probleme um auf die Umfrage zuzugreifen und sie mussten wenige Eingabeschritte unternehmen Eine Person empfand die Anzahl Eingabeschritte als zu viel obwohl sie laut der Frage 6 ebenfalls eine E Mail Einladung mit der Umfragelink erhielt Frage 8 Ich konnte bereits vorherige Umfragen ausf llen und diese auch erfolgreich abschliessen E Trifft zu E Trifft eher zu E Trifft eher nicht zu gt P d E Trifft nicht zu E
8. E W H service i al y y gt servicefile EH service authentication f service mail D H 6 e 21 H H H W Na y 14 service comparator service token Abbildung 47 Struktur Service Schicht Service Funktion service Das Service Package ist der Kern aller Anfragen die von der REST Schicht kommen Sie bernimmt weitere Aufgaben wie das L Weiterleiten oder das Session Handling service authentication Im Authentication Package wurden die Client Sessions mittels Session Tokens gesetzt und an dem eingeloggten Benutzer f r die Wiedererkennung zugewiesen Zudem wurden hier die Berechtigungsstufen f r den Zugriff auf die Ressourcen definiert service token Im Token Package wurden zwei verschiedene Tokens definiert Zum einen das Session Token f r den Login Zugriff auf TeachEval und zum anderen ein Token f r die Teilnahme an einer Umfrage service mail Die Umfrage Tokens f r die Teilnehmer k nnen ber die Mail Funktion versendet werden service file Dieses Package File beinhaltet alle Import und Export Vorg nge i service comparator Dieses Package ist eine Ansammlung an Comparators um Objekte richtig zu sortieren Service debug Beinhaltet Debugging Tools wie die MemoryAnalyzis Tabelle 42 Service Packages Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 109 von 167 6 2 2 1 File Package F r das Importieren und Export
9. Level 3 Hypermedia Controls e Basiert auf HATEOAS verwendet Hypermedia f r Navigation e Verwendet verschiedene URIs und Ressourcen e Verwendet mehrere HTTP Verben Zu Beginn des Projektes war noch nicht klar wo der produktive Server f r die OdA G befinden wird und so haben wir aufgrund diverser Quellen auf die HTTP Verben PUT und DELETE verzichtet da diese typischerweise von Firewalls blockiert werden MSDN HTTP Verbs 2014 Hanselman 2014 Deshalb verwenden wir f r TeachEval eine Level 2 REST Schnittstelle mit der die Daten mit GET geholt und mit POST verschickt werden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 4 Projektstruktur TeachEval wurde als Maven Projekt ber das Maven Eclipse Plugin erstellt Somit entstand folgende Projektstruktur Java Resources Enth lt alle Java Klassen und Ressourcen Sie repr sentiert den Backend Bereich von TeachEval pom xml POM steht f r Project Object Model und repr sentiert in XML das TeachEval Maven Projekt Darin werden alle Abh ngigkeiten Plugins Eigenschaften und weitere Informationen eines Projektes definiert WebContent Der WebContent ist mit Ausnahme von WEB INF der Frontend Bereich Im WEB INF werden diverse Konfigurationen und Libraries als Dateien hinterlegt o web xml Konfigurationsdatei f r Tomcat Darin werden Servlets f r Jersey definiert Ressourcen f r die Anbindung der Datenbank oder E Mail Sessions oder Listeners o
10. bersicht Anzahl Telinehmeia mitgemachte Telnenmea Aktion Umfrage Mathe ABGESCHLOSSEN 9 q Details Umtrage Deutsch ARCHIVIERT 18 15 Details Abbildung 34 Auswertung bersicht Eine detaillierte Auswertung zeigt eine bersicht der Umfrage und listet alle Fragen mit einem Balkendiagramm auf Die Auswertung soll als Excel exportierbar sein Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 89 von 167 Dashboard bersicht Umfrage Mathe Export bersicht Vergleich Auswertung Fragen Trifft zu E weiss wen EY Tnittt nicht zu Frage 1 Froge 4 Frage 5 De Due Bs Froge 2 Froge 3 Frage 6 g E OR PR Abbildung 35 Detaillierte Auswertung Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 90 von 167 3 Abbildungsverzeichnis Abbildung 28 Grundger st Desktop 84 Abbildung 29 Grundger st Mobile ee kennen 85 Abbildung 30 Zugang UT Bei aaa ea 85 Abbildung LUMEN 86 Abbildung 32 Umfrage bersicht 87 Abbildung 33 Neue Umfrage erstellen uusaueresesesssnnnnsnnnnnsneennnnnnnnnnnnnennnnnnnsnnnnnnnnnnnnnensnennnsnnnnnnnnnenenn 87 Abbildung 34 Auswertung bersicht u 88 Abbildung 35 Detaillierte Auswertung ssssssssssesssssssrsrnssrrnssttrsssttnnssttnnssttnnssttnnestennssttnnestennsstennestenn 89 Benjamin Kehl und Dominique Sorg 13 06 2014 TeachEval Web App f r die Unterrichtsevaluation suche status nlen u
11. ber den UserService wird auf die User Ressourcen auf dem Server zugegriffen Es k nnen einzelne Anfragen nach Benutzer get tigt oder auch Aktualisierungen bermittelt werden Tabelle 39 Services Es werden folgende Direktiven geladen Service Beschreibung EnterDirective Die EnterDirektive dient f r die Benutzung der Enter Taste nach einer Eingabe in einem Input Feld Direktive werden in der VIEW verwendet und beginnen normalerweisen mit ng Folgender Code zeigt den Einsatz der EnterDirective bzw ng enter in der View Abbildung 44 ng enter Direktive Tabelle 40 Direktive Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 106 von 167 6 1 2 Bootstrap 3 F r das Webdesign wird das Frontend Framework Twitter Bootstrap 3 eingesetzt Mit Bootstrap l sst sich ein responsives Design f r die unterschiedlichen Ger te wie PC Tablet oder Smartphone entwickeln welches auf einem eingebauten Grid System basiert F r die Gestaltung der bereits mitgelieferten Elemente wie Tabellen Buttons Modals etc wurde anhand des Coporate Designs der OdA G ZH das Design von TeachEval erstellt Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 107 von 167 6 2 Backend Das Backend ist die Java EE Applikation die als WAR File in Tomcat gehostet wird Im WAR File wurden zwei wesentliche Technologien verwendet Zum einen die Referenzimplementation namens Jersey f r die REST Implementierung und zum ande
12. 2014 20 Tabelle 3 Chancen Gefahren von TeachEval uuseeeenseseenennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 21 Benjamin Kehl und Dominique Sorg 13 06 2014 Web App f r die Unterrichtsevaluation Auswertung Suche umfrage x umfrage Kurs e ete ausw hlen wes mi j Umfragen ws A tnik 2 sem FS201 Usability Test Junitd nikation Fs2014 TeachEval Bitte auswanlet n x y start Datum 7 ommen I Total Teilgen 05 06 2014 eng po ca o BEE Do ca u on e SS am a 20 05 2014 Schlussbericht SCB Autor en Betreuer Projektpartner Experte Gegenleser Dominique Sorg Benjamin Kehl Prof Dr Eduard Glatz OdA G Z rich Roberto Pajetta Prof Dr Olaf Zimmermann aktion agonnon Bachelorarbeit FS14 Seite 36 von 167 1 Einf hrung 1 1 Zweck Dieses Dokument beschreibt die Erfahrungen der Teammitglieder von TeachEval bei ihrer Arbeit Diese werden mit je einem pers nlichen Bericht und einer selbst kritischen Reflexion beschrieben 2 Zielerreichung W hrend der Bachelorarbeit haben wir uns folgende pers nlichen Ziele gesetzt Aufwandsch tzung aufstellen und einhalten Die Risiken einsch tzen und bew ltigen Eine kundennahe L sung planen und realisieren Die Kommunikation im Team mit unserem Betreuer und mit der Auftraggeberin meistern Eine komplexe Webapplikation realisieren Neue Projekt und Programmiererfah
13. 6 8 10 nderungen werden nicht in die DB gespeichert gt Probleme bei der DB Abfrage Bei jeder Umfrage Tabelle 36 UC Fully Dressed Benutzer verwalten 13 06 2014 Bachelorarbeit FS14 Seite 79 von 167 4 Weitere Anforderungen 4 1 Qualit tsmerkmale Die TeachEval Webapplikation st tzt sich auf die Qualit tsmerkmale gem ss ISO 9126 Nachfolgend werden alle Punkte erl utert und entschieden inwiefern die Merkmale f r unsere Applikation wichtig sind 4 2 Zuverl ssigkeit Die Befragung muss zuverl ssig laufen k nnen damit die Dozenten Supervisoren Studierende und Leiter an den Umfragen teilnehmen k nnen Eine Befragung kann im Nachhinein nicht mehr nachgeholt werden Die Leiterin muss Umfragen erstellen und verwalten k nnen damit Befragungen berhaupt m glich sind Die Auswertungen selber m ssen korrekt ausgelesen und visualisiert werden Ein Login Bereich sichert den zuverl ssigen Einsatz der Applikation vor nicht autorisiertem Zugriff 4 3 Benutzbarkeit Die Webapplikation soll benutzerfreundlich und schnell erlernbar sein siehe Kapitel 2 5 Benutzerfreundlichkeit Die Applikation h lt sich an den Web Standards wie W3C und ist mit Maus und Tastatur bedienbar Zudem ist die Applikation mit dem Tablet und Handy bedienbar Bei der Konzeption haben die Auftraggeberin und unser Betreuer ein Mitspracherecht an der Webapplikation 4 4 Effizienz Die Effizienz der Webapplikation wird anhand von diversen Studien geme
14. Als Projektmanagement Tool setzen wir Redmine ein Dabei hat besitzt jedes Teammitglied ein Login 8 3 Entwicklung Der Source Code befindet sich auf dem GIT Remote Repository der HSR https git hsr ch git TeachEval und lokal auf unseren Workspaces 8 3 1 Vorgehen Sobald das Projekt um eine weitere Funktionalit t erweitert wird muss sinnvoll getestet werden ob die Erweiterung auch den Erwartungen entspricht Dies f hren wir serverseitig wie auch clientseitig 8 3 2 Unit Testing F r den Server Teil kommt Java zum Einsatz F r Java gibt es ein Unit Test Framework namens JUnit Clientseitig bietet AngularJS das Unit Test Framework namens Jasmine an 8 3 3 Code Reviews Mindestens einmal pro Iteration findet ein Codereview durch das andere Teammitglied statt Damit behalten beide den berblick ber das Projekt und der Code wurde von mindestens einer anderen Instanz berpr ft 8 3 4 Code Style Guidelines Das Backend wird mit Eclipse entwickelt w hrend das Frontend mit Webstorm und Aptana Studio entwickelt wird Wir verwenden jeweils den Standard Code Style Guideline der Entwicklungsumgebung 8 4 Testen 8 4 1 Integrationstest Unser Web Service hat mehrere Schnittstellen von denen die Daten mit Hilfe der HTTP Befehlen wie GET und POST abgerufen werden Diese m ssen laufend bei jeder Iteration getestet werden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 62 von 167 8 4 2 Systemtest Die W
15. Apache POI 3 10 F r das Lesen und Schreiben von Microsoft Dateien F r unseren Zweck wird nur Excel verwendet Java Mail 1 5 2 Framework f r das Versenden von Mails Quartz 2 2 1 Eine Library f r Job Scheduling Wird f r das Automatisieren bzw T r das Starten oder Beenden der Umfragen verwendet Log4J 1 2 13 Log4J ist ein Logging Framework zum Loggen von Anwendungsmeldungen Bootstrap 3 1 0 CSS und JavaScript Framework f r die Gestaltung von TeachEval Bootstrap UIl JavaScript Teil werden als AngularJS Directive angeboten Font Awesome 4 0 3 Liste von Open Source Icons JQuery 111 0 JavaScript Bibliothek Bu metisMenu Seitenmenu dessen Entwicklung auf JQuery basiert RequireJS 2 1 13 Verwaltet die Projekt Abh ngigkeiten zu internen und externen Ressourcen Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 99 von 167 Library Version Verwendung domReady Plugin erkennt wann der DOM fertig geladen ist damit als n chstes die App gestartet werden kann passwordmeter Plugin f r die Messung der Passwortqualit t sha256 0 8 Plugin hasehd Passwort als sha256 es5 shim Kompatibilit tsbibliothek f r EcmaScript 5 Funktionen die f r IE6 9 unterst tzt werden htmi5shiv 3 7 1 Kompatibilit tsbibliothek f r HTML5 Element die f r IE6 9 unterst tzt werden respond CSS3 Kompatibilit tsbibliothek f r IE6 8 _ placeholder JQuery Plugin f r den
16. Bei Web Anwendungen sind es vor allem die Sprachen HTML CSS JavaScript die clientseitig ausgef hrt werden CRUD CRUD umfasst die grundlegenden Operationen Create Datensatz anlegen Read oder Retrieve Datensatz lesen Update Datensatz aktualisieren und Delete oder Destroy Datensatz l schen CSS CSS Steht f r Cascading Style Sheets und ist eine deklarative Sprache f r Stilvorlagen von strukturierten Dokumenten z B in HTML oder in XML DB Abk rzung f r Database bzw Datenbank DRY Abk rzung f r Don t Repeat Yourself DRY ist ein Prinzip und besagt dass Redundanz in Codes vermeidet werden sollte keine Duplizierungen Frontend Das Frontend ist n her am Benutzer und somit auch n her an der Eingabe Darunter wird bei TeachEval die Benutzeroberfl che gemeint wor ber der Benutzer seine Eingaben t tigen kann GIT GIT ist eine freie Software zur verteilten Versionsverwaltung von Daten GUI Das GUI Graphical User Interface ist die grafische Benutzeroberfl che einer Applikation Es stellt die Schnittstelle mit grafischen Elemente zum System dar HSR Hochschule f r Technik Rapperswil HSR HTML HTML5 HTML steht f r Hyper Text Markup Language Sie dient zur Strukturierung von Inhalten in Webseiten HTML5 ist momentan der aktuellste Standard Interaktion Wird als aufeinander bezogenes Handeln zwischen Mensch und System verstanden ISO ISO steht f r International Organization for Standardization und ist verantwortlich
17. Besprechung mit dem Betreuer statt Dazu werden entsprechende Termine bei Arbeitsbeginn festgelegt Referenzen 1 Glatz E Vorgaben zur Arbeitsdurchf hrung Ausgabe des 16 Februar 2014 Rapperswil den 17 Feb 2014 d een m Eduard Glatz Benjamin Kehl und Dominique Sorg 13 06 2014 E HSR HOCHSCHULE F R TECHNIK E E RAPPERSWIL FHO Fachhochschule Ostschweiz Erkl rung Wir erkl ren hiermit e dass wir die vorliegende Arbeit selber und ohne fremde Hilfe durchgef hrt haben ausser derjenigen welche explizit in der Aufgabenstellung erw hnt ist oder mit dem Betreuer schriftlich vereinbart wurde e dass wir s mtliche verwendeten Quellen erw hnt und gem ss g ngigen wissenschaftlichen Zitierregeln korrekt angegeben haben e das wir keine durch Copyright gesch tzten Materialien z B Bilder in dieser Arbeit in unerlaubter Weise genutzt haben Rapperswil 07 06 2014 Benjamin Kehl Dominique Sorg Abstract Die Oda G Z rich ist der Branchenverband f r Berufsbildung im Gesundheitswesen im Kanton Z rich Sie ist der Ansprechpartner und aktive Mitgestalter in allen berufspolitischen Bildungsfragen Die Oda G bildet in Form von Kursen und Weiterbildungen am Kurszentrum Z rich Oerlikon angehende Fachfrauen und Fachm nner Gesundheit FAGE Assistentinnen und Assistenten Gesundheit und Soziales AGS und diplomierte Pflegefachfrauen und diplomierte Pflegefachm nner aus Damit die Oda G Z rich ein qualitativ h
18. Danach unterteilten wir das Frontend in zwei Meilensteine Im ersten Meilenstein M5 ging es vermehrt um die Erarbeitung eines Layouts nach dem CI Styleguide der OdA G ZH und der Realisierung des Umfrage Teils Darunter werden die Benutzerverwaltung die Umfrageverwaltung und die Teilnahme an Umfragen verstanden Aus den Einarbeitungen konnten wir viele Elemente bereits wiederverwenden Im zweiten Meilenstein M6 ging es anschliessend um die Auswertung der Umfragen Nat rlich wurde im Backend fortlaufend weiterentwickelt Um eine qualitativ hochwertige Applikation anbieten zu k nnen wurde in M8 Zeit f r Refactoring Test Verbesserungen Erweiterungen und Support geplant Die letzten Meilensteine befassen sich mit der Fertigstellung der Dokumente und den letzten Verbesserungen an der Applikation 4 Team Vergleich m Dominique Sorg E Benjamin Kehl Abbildung 118 Zeitauswertung Team Im oberen Diagramm wird der Zeitaufwand pro Teammitglied und pro Woche gezeigt Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 166 von 167 5 Aktivit ten Vergleich m Backend Feature m Frontend Feature Meeting Documentation mTest Management Abbildung 119 Zeitauswertung Aktivit ten Die Arbeitspakete wurden in 6 Aktivit ten verbucht Dabei nahm das Backend die meiste Zeit ein Zu vermerken ist dass im Backend Bereich das Schreiben von Tests auch als Implementation bzw als Backend Feature siehe Abbi
19. Umfrage stoppen Baekend Feature 72 Umfrage entfernen Frentend Feature 46 AngularJS Survey Management Frentend Feature 47 AngularJS Survey amp Survey Participate FrentendFeatere 73 AngularJS Suchfeld FrontendFeature 406 Umfrage Download als Excel Datei Meeting 446 Sitzung eglatz 11 04 14 Bug 53 Persistence Import SurveyQuestion Becumentation 54 Architektur ServerArchitektur Phasel Becumentation 56 Architektur ClientArchitektur Phase Administrative 407 Server Testserver einrichten Tabelle 10 Arbeitspakete Implementation Frontend Umfrage M6 Implementation Frontend Auswertung Zugeh rige Tickets BackendFeature 68 Junit Test Framework Query Schicht BackendFeature 69 Junit Test Framework Service Schicht BackendFeature 78 Quartz Automatisches Starten und Beenden von Umfragen Baekend Featture 79 MemoryAnalysis Refactoring Hibernate LazyLoading ApachePoi Refacotring Tomcat configuration Backend Feature 108 Hibernate Export Auswertung Details Backend Feature 109 Hibernate Export Auswertung berblick Frontend Feature 74 AngularJS Auswertung berblick Frentend Feature 75 AngularJS Auswertung Detailliert FrentendFeature 76 AngularJS Auswertung Korrelation Frentend Feature 77 AngularJS Refactoring amp Verbesserung der Umfragen Meeting H4 Sitzung eglatz 25 04 14 Bocumentatien 55 Architektur ServerArchitektur Phase2 Architektur ClientArchitektur Phase2 Tab
20. a A ae 49 21 ZWeck und Ziel eege eege ee He ig anal 49 2 2 EiNsatzer ee Seeerei SEITE RR BREI ERREGER IRRE 49 EE E le ET 49 2 4 Annahmen und Einschr nkungen cccococoonnnnonononononannnnnnnnnononononnnnnnnnnnnonononnnnnnnnnnnonenonnnnnnanons 50 3 Projektorg nisatio Mit A AAA AAA A AAA AAA an 51 3 1 OrganisationsstrUktU o A de eeh eebe Sdt 51 E A A A ac 51 3 3 EXterne Schnittstellenn nen A Ra rn 52 4 Management Abl ufe REENEN EEN 53 WE eegen LTE 53 4 2 Zeitliche Hl UE dee ege id id 53 4 3 Vorgeh nsmodell iisi niena a dad 53 44A BESPTECO UNALM Bereit Eed 56 S oaae Laaa E E E T E E E E E EE E E 57 ET E 57 5 2 Umgang mit Risikensa 22 n a dle 57 6 Arbeltspakete EE 58 DANS TUU A A A AA 60 8 Qualit tsmassnahmen deed see lese didnt da ii 61 8 1 Dokumentation u een a 61 8 2 Projektmanagement nn lis 61 8 3 ENtWIcklung sii ang EI id ai 61 BA e er Hs rare HR Rn 61 9 Abbildungsverzeichnts aer aanbe teiar aanraak rit aaA ia taR o EAE AAR i e EEA ERER arara in EnEn erain irina Pa 63 10 Tabellenverzeic hNi Sissit ii aaea ine td 63 Anforderungsspezifikation SAS essessoosssssssessoesosssssessoesosssssessocsossssesssossososseessossosossesseoeooss 64 A Giel ln LEE 65 1 1 zweck EE 65 12 Beschreibune Ha O O 65 1 3 G ltigkeitsbereich tii a raum in au rer IR LER 65 LA bersicht en einen 65 2 Allgemeine Beschreibung 66 2 1 Produkt Be reuektie 2 0 nr ki IH nun 66 2 2 Produkt FUNKTION 22 2
21. god start Datum status 0606201 S 8 14 Umfragen e 05 06 20 a Titel 05 2014 a en a A 100 de 00 20 05 2014 GEAR nik 2 sem FS201 ch EN aga Technischer Bericht TEB Autor en Dominique Sorg Benjamin Kehl Betreuer Prof Dr Eduard Glatz Projektpartner OdAG Z rich Experte Roberto Pajetta Gegenleser Prof Dr Olaf Zimmermann Bachelorarbeit FS14 Seite 17 von 167 1 Einf hrung Die Organisation der Arbeitswelt Gesundheit Z rich kurz OdA G ZH ist der Branchenverband f r Berufsbildung im Gesundheitswesen des Kantons Z rich Sie bezweckt die Vertretung ihrer Mitglieder bei der Gestaltung Entwicklung und Umsetzung der Gesundheitsausbildungen im Kanton Z rich Der Verein ist eine kantonsweit t tige Organisation der Arbeitswelt im Sinne der Berufsbildungsgesetze sowie der Fachhochschulgesetzgebung von Bund und Kanton OdA G ZH Offizielle Webseite 2014 Die OdA G ZH bildet in Form von berbetrieblichen Kursen und Weiterbildungen angehende Fachfrauen und Fachm nner Gesundheit Assistentinnen und Assistenten Gesundheit und Soziales aus Zudem bieten sie in der h heren Berufsbildung ein praxisnahes Modulangebot Lernbereich Training und Transfer Praxis LTT Praxis f r Studierende der Pflege HF an Die Leiterin von LTT Praxis Pflege ist unsere direkte Ansprechperson 2 Ausgangslage F r die OdA G ZH ist eine hohe Qualit t der Bildungsangebote ein grosses Anliegen Deshalb ist das Qualit tsmanagement einer der
22. hat die Webapplikation gute Ladezeiten Durch das asynchrone Laden der Skripte konnte viel Performance herausgeholt werden Nat rlich k nnten noch weitere Optimierungen vorgenommen werden Beispielweise k nnten die selbstgeschriebenen Skripte mit einer JavaScript Library wie r js minimiert und komprimiert werden Zudem k nnten die Anzahl Requests besser auf die einzelnen Bereiche bzw Module verteilt werden was aus Zeitgr nden nicht mehr drin lag Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 143 von 167 6 Kompatibilit tstests 6 1 Einleitung Heutzutage gibt es eine breite Palette von Browsern auf dem Markt wie bspw dem Internet Explorer Chrome Firefox Opera etc Durch das W3C Konsortium gibt es einen offiziellen Standard um die Browserhersteller dazu zu animieren die Darstellung von HTML CSS etc Seiten zu vereinheitlichen Jedoch halten sich nicht immer alle Hersteller an den Standard oder bieten eigene zus tzliche Funktionen an die zu Unstimmigkeiten oder auch zu Browserkompatibilit tsprobleme f hren kann Dies hat sich zwar in den letzten Jahren um einiges verbessert jedoch kann es trotzdem noch zu Browserinkompatibilit ten f hren wenn z b eine Webapplikation auch ltere Browser unterst tzen muss In diesem Kapitel werden die Kompatibilit tsergebnisse protokolliert 6 2 Angaben zur Durchf hrung Der Kompatibilit tstest wurde mit den Browsern lE8 IE9 IE10 1E11 Firefox 23 Chrome 2
23. of OOn OOn but no signal KR Default Abbildung 89 TeachEval mit IE8 Support Mit einer JQuery Placeholder Bibliothek wird der Vorgabetext bei einer Eingabemaske auch f r den IE8 oder IE9 unterst tzt Die folgende Abbildung zeigt die Problematik Email Adresse Gem e e o Abbildung 90 IE10 Placeholder Abbildung 91 IE8 IE9 ohne Abbildung 92 TES IE9 mit JQuery Support Placeholder Bibliothek Placeholder Bibliothek 6 6 Internet Explorer 9 Der gr sste Teil der Applikation l uft ohne Kompatibilit tsbibliotheken relativ stabil Jedoch traten Probleme mit dem Cache vom IE9 auf die serverseitig mit einem Cache Control gel st wurden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 145 von 167 x Google A x O ES nttps uwwwteacheval ch app dashboard report l pad B rescntval x lo AA Y Search Share More Signin OdA G ZH ORGANISATION DER ARBEITSWELT GESUNDHEIT ZORICH A Startseite Home Auswertung LS Umfrage gt E Auswertung pa Impressum x3 Excel Export al Auswertung Ls Korrelation Emulation Mode Via F12 developer toolbar Desktop v User agent string Default y nfusionen FS 2014 Display O tation Resolution Infusionen FS 2014 8 bersicht Ah 11 Studenten Total Landscape Default Abbildung 93 TeachEval mit IE9 Support 6 7 Internet Ex
24. u v w x S g AA AB gt Auswertung Begleitung Von Menschen In Krisen FS14 S Charts ertellen DO ve 14 19 1 4 1 2 3 4 Studenten Studenten Instruktoren Instruktoren Supervisoren Supervisoren Total Fragen Total Fragen Total Fragen 5 6 z Studenten teilgenommen Instruktoren teilgenommen Supervisoren teilgenommen E 10 u E D Uebersicht Abbildung 19 Auswertung als Excel Die Auswertung kann als Excel Datei heruntergeladen werden Mit Hilfe eines selbstgeschriebenen VBA Makros werden die Diagramme und Berechnungen automatisch generiert Fragen vergleichen Auswahl 1 Umfrage Begleitung Von Menschen In Krisen FS14 Rolle Student Frage Auf den LTT Praxis Tag habe ich mich inhaltlich vorbereitet Auswahl 2 Umfrage Begleitung Von Menschen In Krisen FS14 Dozent Die Studierenden haben sich inhaltlich auf den LTT Praxis vorbereitet Abbildung 20 Korrelation von 2 Fragen Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 31 von 167 Zudem k nnen Korrelationen zwischen zwei Fragen generiert und als Excel heruntergeladen werden A B C D E F G H Korrelation a 2 3 MET So war es 4 5 Umfrage X Multimorbidit t 2 Sem FS2014 6 Frage X Ein Bezug zur beruflichen Praxis wurde hergestellt 7 Rolle X Student 8 9 Umfrage Y Multimorbidit t 2 Sem FS2014 10 Frage Y Der LTT Praxis Tag war insgesamt unterst tzend f r die Entwicklung meiner beruflichen Kom
25. 20 500 31 1000 54 2500 112 5000 179 Tabelle 2 Produkte bersicht Lime Survey Pricing LimeService 2014 Im Vergleich zu SurveyMonkey hat Lime Survey ein anderes Preiskonzept und zwar rechnen sie mit der Anzahl Antworten ab Aus finanzieller Hinsicht w re dieses Preismodell tragbar da unter einer Umfrageantwort die Teilnahme an der kompletten Umfrage z hlt unabh ngig von der Anzahl Fragen und Antwortm glichkeiten Jedoch kann auch Lime Survey nicht die Anforderungen decken 3 3 Fazit Beide Produkte unterst tzen eine Vielzahl an Funktionen Der Kunde kann somit seine Umfrage nach seinen W nschen anpassen Jedoch l sst sich nicht eine komplette kundenzugeschnittene Umfrage mit diesen Produkten verwirklichen ausser man verzichtet auf gewisse Funktionen Aus diesem Grund l Preise wurden am 04 06 14 von Dollar zu CHF mit dem Kurs 0 8959 umgerechnet Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 21 von 167 wurde entschieden eine eigene Web Applikation zu entwickeln Deren St rken liegen vor allem in den folgenden Bereichen Eine Umfrage deckt alle Fragen und Antwortm glichkeiten f r die Benutzergruppen Student Dozent Supervisor ab Es soll nicht f r jede Benutzergruppe eine individuelle Umfrage gestartet werden Die Antworten der unterschiedlichen Benutzergruppen werden in die Auswertung einbezogen und einander gegen bergestellt Die Leiterin m chte die bereits eingesetzten IST SOL
26. 64 Cache Control im Response s sssssssssssesssssserrrsrsrsssserrrnrssssrsernrnrssssrnernrnnssssnnennennssssnnet 117 Abbildung 65 Datenbankschema TeachEval ssssssssssssssssesrnsrssssssrsrrsrssssrserrnnrssssnnerrnnnssssrnennennssssnnnt 119 Abbildung 66 Bereich User 120 Abbildung 67 Bereich Umfrage ssssnnnsssennsesnnssneessennnssrnenssernnssrnenssernnssrrntssernnssrrnnssernnssrnnnssennnnsrnnnnnne 121 10 Tabellenverzeichnis Tabelle 37 Eingesetzte Ubraries snena isinna skann inas eae siasa nae EaR 99 Tabelle 38 Controllers u a ee een as 105 Tabelle 39 Services anna green dann nes nn Hkepe dehnen en hen Hahn area ERA 105 Tabelle A0 Direktive anni ke diria ninia ran Sheen Seege Seer edel Seu E 105 Tabele 41 REST Kl assen a ann hen SEA nah ana anda 108 Tabelle 42 Service backages ee 108 Tabelle 43 Security Filter als Code ssssnnnnsnsennsssnnessssssesennssnsssserersrsnsssnerrrnrssssrnernrnnssssrnennnnnssssrnennnsnsnno 113 Tabelle 44 Open Source Software Frontend 118 Tabelle 45 Open Source Software Backend ssssssssssssssssserenrrsssssserrrnrssssrnernrsnssssrnennnnnssssrnennnsnssno 118 Tabelle 46 Legende Dbzchema riinas eins nan ia ENEE Eiser RiEs nanais Er E SSES 119 Benjamin Kehl und Dominique Sorg 13 06 2014 TeachEval Web App f r die Unterrichtsevaluation So war d 2 zem ES2014 a nergestellt d A r t 2 sem Fs2014 8 Op ersi cht Multi morbidit t 2 lichen p r
27. 7 E _ lt sinclude gt gt lt lt include gt gt E Korrelation von Fragen gt _ lt lt include gt gt e Import Excel Template gt Export Token Export als Excel oder PDF Excel Template behinhaltet eilnehmer Fragen Einstellungen Eindeutige URL und Token kombinationen f r alle Teilnehmer generieren TeachEval Database Abbildung 27 Use Case Diagramm f r OdA G ZH Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 71 von 167 3 3 Aktoren Die Aktoren entsprechen den Personen die im Kapitel 2 4 Benutzer Charakteristik erw hnt wurden Im Verlaufe des Dokuments werden die Begriffe Benutzer und Teilnehmer verwendet Unter dem Benutzer werden allgemein alle Personen Leiter und Dozent bezeichnet die Zugriff auf die gesch tzten Bereiche der Webapplikation haben und die Teilnehmer sind alle Personen Leiter Dozent Supervisor und Student die f r eine Umfrage berechtigt sind 3 4 Beschreibungen Brief UC 01 An Abmelden Nicht angemeldete Benutzer d rfen keine Anpassungen der Inhalte oder der Umfragen auf der Webapplikation machen Mit einem Login sch tzen wir die kritischen Operationen wie auch die Auswertung F r Dozenten gilt zus tzlich dass Umfrageauswertungen erst angezeigt werden wenn erstens die Umfrage der Studenten abgeschlossen wurde und zweitens der Dozent selbst seine Umfrage ausgef llt ha
28. Aufgaben passende Bedienung wird als benutzerfreundlich angesehen Faktoren die die Benutzerfreundlichkeit beeinflussen k nnen sind die Wahrnehmung bekannte Strukturen zeigen die Aufmerksamkeit Element hervorheben Grosse Kleine Elemente aufzeigen Farbe Kontrast der Lesestil unterschiedlichen Leseanforderungen gerecht werden die Leserlichkeit Schrift Hintergrund Kontrast etc und die Navigation auf der Webseite Benutzerfreundlichkeit Wikipedia 2014 Wobei vieles dieser Elemente entnehmen wir aus dem CI Styleguide der OdA G ZH Damit wir der OdA G Z rich eine benutzerfreundliche Applikation liefern k nnen definieren wir die Benutzerfreundlichkeit mit folgenden messbaren Kriterien Die Benutzeroberfl che wird mit dem ISO 9241 110 Standard gemessen Die Kriterien werden mit Fragenb gen Meetings und Usability auf eine Anzahl von der OdA G Z rich bereitgestellten Testpersonen durchgef hrt Die Mehrheit entscheidet ber den tats chlichen Messwert Ein Messwert ber 60 wird als benutzerfreundlich angesehen Kriterium Beschreibung Verf gbarkeit Ein Dialog ist verf gbar wenn er dem Benutzer bereitsteht sobald er diesen braucht Eine Internetverbindung wird vorausgesetzt Aufgabenangemessenheit Ein Dialog ist aufgabenangemessen wenn er den Benutzer unterst tzt seine Arbeitsaufgabe effektiv und effizient zu erledigen bersichtlichkeit Ein Dialog ist bersichtlich wenn der Benutzer seine Aufgabe effektiv
29. Auswahl Checkbox Radio angezeigt Eine Progress Bar soll dem Teilnehmer aufzeigen wie lange seine Umfrage noch geht Progress Bar A aaa Froge 1 Ich ermet die M glichkeit mir meine Lern Fragen zu beantworten So war es So sollte es sein O Antwort 1 O Antwort 1 O Antwort 2 DO Antwort 2 O Antwort 3 O Antwort 3 Froge 2 Ich f hlte mich gen gend kompetent de Studierenden n ihrem Lernprozess zu unterst tzen O Antwort 1 O Antwort 2 O Antwort 3 Froge 3 Was ist mir gut gelungen Abbildung 31 Umfrage 2 4 Umfrage verwalten Der Leiter in kann neue Umfragen als Excel hochladen und erstellen Eine Tabelle listet alle erstellten Umfragen auf Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 87 von 167 O Umfrage Verwalten Abbildung 32 Umfrage bersicht Eine neue Umfrage kann auf der gleichen Seite wie die Umfrage bersicht hochgeladen und erstellt werden Nachdem eine Umfrage erfolgreich hochgeladen wurde wird sie in der Tabelle On The Fly hinzugef gt Kursteilnehmer und Fragen als Excel hochladen Abbildung 33 Neue Umfrage erstellen Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 88 von 167 2 5 Auswertung Eine bersicht zeigt alle vorhandenen Auswertungen auf Diese bersicht ist nebst dem Leiter auch den Dozenten zug nglich Es k nnen nur Auswertungen von abgeschlossenen Umfragen eingesehen werden E HAS Dashboard bersicht
30. Bed rfnisse der Teilnehmer besser und gezielter einzugehen und das Angebot zu optimieren Dies hat die OdA G ZH erkannt und sucht nun nach einem geeigneten Online Umfrage Tool Jedoch gibt es viele Online Umfrage Tools auf dem Markt die entweder kostenlos oder mit einer Geb hr genutzt werden k nnen Daher stellt sich schnell die Frage wieso an der HSR Hochschule f r Technik Rapperswil eine weitere Umfrage L sung entwickelt werden soll Um diese Frage zu beantworten wurde eine kleine Konkurrenz Analyse von zwei bekannten Online Umfrage Tools erstellt 3 1 SurveyMonkey SurveyMonkey ist ein amerikanisches Unternehmen und bietet als Online Umfrage Anbieter eine Vielzahl von Funktionen an In der folgenden Tabelle wurden die wichtigsten Kern Funktionen mit den anzubietenden Produkten zusammengetragen und verglichen Basic Design Features 10 Fragen pro Umfrage 100 Beantwortungen pro Umfrage Benutzerfreundliches webbasiertes Tool 31 Umfragevorlagen 15 Fragetypen kein Unternehmenslogo Validieren anfordern von Umfragebeantwortun gen keine druckreife PDF Version Erfassungsfeatures Senden der Umfrage per Weblink E Mail oder Twitter Senden der Umfrage mit einem E Mail Manager Keine erweiterte Sicherheit SSL Analysefeatures Beantwortungen k nnen nicht heruntergeladen werden Plus Unlimitierte Fragen 1000 Antworten pro Monat plus zus tzliche Geb hr bei Ubertretung Benutzerfreundliches webbasiertes
31. Das ist meine Erste Umfrage 0 20 40 60 80 100 Abbildung 112 Resultate zur Frage 8 Es f llt auf dass es f r eine Person die erste Umfrage mit unserem Tool war Vielleicht war es auch die Person die zu Beginn Probleme hatte Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 155 von 167 Frage 9 Die Meldungen Fehler Info Erfolgsmeldungen der Web Applikation sind f r mich sofort verst ndlich E Trifft zu E Trifft eher zu E Trifft eher nicht zu E Trifft nicht zu E Keine Angabe HH HJ 0 10 20 30 40 50 60 70 80 90 100 Abbildung 113 Resultate zur Frage 9 Die Meldungen von TeachEval wurden f r die meisten als verst ndlich wahrgenommen Frage 10 Konnten Sie die Umfrage effizient durchf hren Wie lange brauchten Sie f r die Umfrage E Weniger als 5 min E Weniger als 10 min E Weniger als 15 min E Weniger als 20 min E ber 20 min AAA 9999999 lt 9 0 20 40 60 80 100 Abbildung 114 Resultate zur Frage 10 Der Usability Test konnte von allen teilgenommenen innerhalb von 10 min ausgef llt werden Man kann sagen dass die Teilnehmer die Umfrage effizient ausf llen konnten Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 156 von 167 8 5 Bewertung Die Bewertung der Statistiken werden zu den einzelnen ISO 9241 110 Kriterien gegen bergestellt Mit einem Dreisatz wird aus den Statistiken die prozentuale Bewertung
32. Die Besprechungen mit Eduard Glatz soll w chentlich am Freitag zwischen 12 00 13 00 Uhr in der Cafeteria durchgef hrt werden Dabei sollen insbesondere m gliche Probleme das weitere Vorgehen und Erledigtes besprochen werden Im Laufe des Projekts m ssen nicht mehr zwingend w chentliche Meetings durchgef hrt werden Meetings mit der Auftraggeberin Brigitte Keller werden laufend nach Vereinbarungen durchgef hrt Diese k nnen entweder in der HSR oder bei der OdA G in Z rich stattfinden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 57 von 167 5 Risikomanagement Das Risikomanagement wird in einem separaten Dokument siehe TechnischeRisiken xlsx ausf hrlicher beschrieben und aufgelistet Dabei wurden insbesondere die technischen Risiken und deren gesch tzten Schaden f r unsere Bachelorarbeit analysiert und erl utert 5 1 Risiken Die Risiken werden im TechnischeRisiken Dokument aufgelistet beschrieben und bewertet 5 2 Umgang mit Risiken Mit Risiken und Problemen in einem Projekt muss immer gerechnet werden Aus diesem Grund ist es wichtig gen gend Zeitreserven einzuplanen um die kritischsten Risiken zu beseitigen und die Kernarchitektur zu bestimmen Die Einarbeitung in diesen Themenbereichen ist schon sehr fr h im vollen Gange Die Risiken m ssen bis zum Abschluss des Projektes im Auge behalten werden Falls Probleme auftauchen dienen Sitzungen f r die Besprechung und anschliessend deren L su
33. Die Umfragen werden Anonym durchgef hrt Die A impressum Teilnehmer von der LTT Praxis Psychiatre verwenden bitte den folgenden Link Zur Umfrage Herzlich Willkommen bei TeachEval Weitere Informationen finden Sie direkt auf der Oda G ZH Seite LTT Praxis Allgemein LTT Praxis Psychiatrie Umfragekennung Geben Sie Ihre beiliegende Copyright 2014 by TeachEval All rights reserved Abbildung 96 TeachEval Chrome 35 0 Support 13 06 2014 Benjamin Kehl und Dominique Sorg Bachelorarbeit FS14 Seite 147 von 167 6 10 Safari Da Safari den lt input required gt Tag nicht kennt werden die Formulare unvalidiert bermittelt Damit dies unterst tzt wird implementieren wir mit AngularJS eine eigene Validierung f r das absenden von Umfragen O Tesch val u Dan m Dan un Dem e Danar u A Bun Dean De nm l a x a https www teacheval ch app dashboard report l 8 Qr Google Dr eo MEE Apple Yahoo GoogleMaps YouTube Wikipedia News 56 y Popular y DdA G ZH amp Willkommen Support TeachEval 7 ORGANISATION DER ARBEITSWELT GESUNDHEIT ZORICH startseite L umirage lt E Auswertung Infusionen FS 2014 Home Auswertung Infusionen FS 2014 E 1x5 Excel Export EE bersicht ln Auswertung MA a 220 Studenten Studenten Total Fragen Studenten teilgenommen Detaillierte Fragenauswertung Studenten
34. Dieser Benutzer muss sich mit seiner E Mail und seinem Passwort anmelden Das Passwort wird als SHA256 clientseitig gehashed und zum Server bertragen Anschliessend erh lt er ein Session Token welches serverseitig und clientseitig gespeichert wird Bei jedem Request des Clients sendet dieser sein Token im HTTP Header mit Nachdem der Token erfolgreich vom Server berpr ft worden ist erh lt der Client die angefragten Daten als JSON www teacheval ch app www teacheval ch rest Client Browser Server TeachEval POST rest auth login email password sha256 p lt HTTP 200 OK id 1 token 7415923dc firstname Hans lastname Muster role Leiter GET rest user instructor all Authorization 7415923dc gt validate Token lt HTTP 200 OK Kid 2 firstname Bob lastname Muster role Dozent Abbildung 54 Token Based Authentication Die serverseitige Validierung l uft mit einem SecurityFilter Der SecurityFiler ist ein Servlet und wird im web xml registriert lt init param gt lt param name gt com sun jersey spi container ContainerRequestFilters lt param name gt lt param value gt com sun jersey api container filter LoggingFilter ch odag teacheval service authentication SecurityFilter lt param value gt lt init param gt Abbildung 55 Security Filter im web xml Jeder Request durchl
35. EH teacheval teacheval rest SH e wi gt teacheval persistence 8 teacheval service H persistence entity H persistence query EH service service authentication 24 W EY teacheval contract Abbildung 69 Package Struktur im Test Verzeichnis Dabei wurden in der Persistence Schicht die folgenden Packages getestet persistence entity Im persistence entity wurde das Speichern L schen Bearbeiten und Abfragen von Entit ten mit Hibernate getestet Dieses Package dient haupts chlich dazu den korrekten Einsatz von Hibernate als Lazy Loading sicherzustellen persistence query Im Package persistence query wurden alle CRUD Abfragen auf die Datenbank definiert die f r TeachEval ben tigt werden Im Service Schicht wurden folgende Services getestet EH service O AnswerServiceTest EvaluationServiceTest D SurveyServiceTest AuthenticationServiceTest O ImportServiceTest OG ExportServiceTest UserServiceTest MailServiceTest Abbildung 70 Service Schicht Service Use Case Bemerkung Answer Service Umfrage Speichern der Antworten teilnehmen DENNEN Authentication An Abmelden In diesem Service wird die Authentifizierung eines Service Benutzers getestet Evaluation Service Auswertungen Die wichtigsten Methoden wurden getestet ansehen d Export Correlation Korrelation mit2 Export mit allen Fragetypen Variationen Service Fragen
36. Export Evaluation Export als Excel Export einer Auswertung Service Al a _ Export Survey Service Export als Excel Export einer Umfrage Import Survey Service Umfrage CRUD Importieren Hinzuf gen einer Umfrage Create Teil Import User Service Benutzer CRUD Importieren Hinzuf gen eines oder mehreren Create Teil Benutzers Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 131 von 167 Service Use Case Bemerkung Mail Service Token per Mail Testen von Emails mit Token mittels einem Dummy versenden Mail Server Survey Service Umfrage CRUD Testen von allen Survey CRUD Methoden User Service Benutzer CRUD Testen von allen User CRUD Methoden Tabelle 47 getestete Services 3 2 2 Test Coverage Zu Beginn des Projektes setzten wir uns keinen mindestprozentualen Wert f r die Test berdeckung Wir testen vor allem kritische Bereiche wie bspw die sorgf ltige Ablegung der Daten in die Datenbank Zudem planten wir aufgrund des fr hen Prototyps von Beginn weg Reservezeit f r die Tests und Refactorings Dennoch wollten wir am Schluss des Projektes die Qualit t steigern und eine Mindestabdeckung von 60 erreichen Der Hauptgrund f r diesen niedrigen Wert liegt darin dass wir uns haupts chlich auf Anweisungs berdeckung und nicht auf Zweig oder Pfad berdeckung konzentrierten Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 132 von 167 4 Systemt
37. Framework einzusetzen Wir hoffen mit dem Abschluss dieser Arbeit den Support f r die OdA G ZH aufrecht zu erhalten und eventuell Verbesserungen und Erweiterungen auch nach dieser Arbeit selbst realisieren und anbieten zu k nnen Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 34 von 167 9 Abbildungsverzeichnis Abbildung 3 IST WorkiloWe ii IE 17 Abbildung 4 SOLL Workflow cidad 18 Abbildung 5S Srel ele HL EE 23 Abbildung 6 Startseite Teachkval iii a dE 23 Abbildung TP 24 Abbildung 8 Ben tzerverw lt ng u De 24 Abbildung 9 Umfrageverwaltung ssssirrsesssissiteisrrisrresrisseisssessiiienitriirase ei erisedi ean eena eni sinai i Saana 25 Abbildung 10 Umfrage als Excel Importieren 25 Abbildung 11 Umfrage als Excel Importieren 26 Abbildung 12 An Umfrage teilnebmen 26 Abbildung 13 Umfrage ausf llen 27 Abbildung 14 Umfrage beendet 28 Abbildung 15 Umfrage bereits geschlossen 28 Abbildung 16 bersicht aller Umfragen oonccnnnnnsarnscar nenes raneron 28 Abbildung 17 bersicht der AUSWertung coini is 29 Abbildung 18 Detaillierte Auswertung auf Fragen 29 Abbildung 19 Auswertung als Excel 30 Abbildung 20 Korrelation von 2 Fragen 30 Abbildung 21 Korrelation als Excel 31 Abbildung 22 Verwendete Technologien 32 10 Tabellenverzeichnis Tabelle 1 Produktevergleich von SurveyMonkey Pricing SurveyMonkey 2014 20 Tabelle 2 Produkte bersicht Lime Survey Pricing LimeService
38. Funktionalit ten wie Umfrage oder Benutzer verwalten oder auch die Auswertungen erzeugen realisiert werden 4 1 2 Probleme Die Vorz ge von Hibernate erwiesen sich zu Beginn als sehr praktisch da er Objekte direkt als Tabellen in der Datenbank abbildet OR Mapping Dennoch ben tigte ich mit Hibernate viel Einarbeitungszeit wie Operationen richtig durchgef hrt werden Zu Beginn war das Session Handling ein Problem welche Schicht konkret f r das Session Handling verantwortlich ist Das Verfahren mit Eager Loading wurde sp ter ebenfalls zu einem Problem da Eager Loading jedes Objekt mit seinen Abh ngigkeiten zu laden versucht was schliesslich irgendwann dazu f hrt dass die gesamte Datenbank im Cache landet Dem konnten wir jedoch erfolgreich mit dem Lazy Loading Verfahren entgegenwirken Ab dem letzten Drittel des Projektes empfand ich es als schwierig dass die Auftraggeberin h ufig abwesend war und wir zum Teil bis zu zwei Wochen nichts von ihr h rten So erhielten wir sehr sp t Feedbacks um die Applikation nach ihren W nschen zu verbessern 4 1 3 Fazit Mit viel Engagement Freude und Zuversicht habe ich die Bachelorarbeit durchgef hrt Eine gute Zusammenarbeit und ein gutes Arbeitsklima unterst tzten den Entwicklungsprozess Dass TeachEval auch produktiv verwendet wird motivierte mich umso mehr ein gutes Produkt abzuliefern Ich bin froh dass wir die Bachelorarbeit erfolgreich abschliessen konnten Benjamin Kehl und Dominiq
39. I lt RESTful Web Services in Java I Bootstrap gt tes I a l l l HTML 5 ess Pem teg men PostgreSQL 2 EJQuerY g gu I 1 HIBERNATE Java f Entwicklung EA ne WS Webstorm Pese managenen Seclipse Maven 4 git ESTAN Abbildung 22 Verwendete Technologien TeachEval wurde im Backend Server mit Java entwickelt Dieser Bereich stellt mit Jersey eine REST Schnittstelle f r den Client zur Verf gung Zur Kommunikation zwischen Java und PostgreSQL wurde Hibernate verwendet Dieses Framework baut auf JPA und JDBC auf Im Bereich Client wurde auf AngularJS und Bootstrap f r das Responsive Design gesetzt Damit kann eine breite Palette an Ger ten unabh ngig ob PC Tablet oder Smartphones abgedeckt werden 7 2 Kundennahe L sung Bei den Sitzungen mit unserer Auftraggeberin haben wir gemerkt dass Sie viel mit Excel arbeitet Sie erfasst die Teilnehmerliste und erstellt Auswertungen in Form von Diagrammen mit Excel Darum legten wir einen speziellen Fokus f r eine gute Integration einer Excel Library f r Java Zudem sollte Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 33 von 167 f r den Semester Report die M glichkeit bestehen die exportierten Auswertungen und die Korrelationen ausgew hlter Fragen in Form von Diagrammen zu bearbeiten Dies ist ein weiteres Argument weshalb wir uns f r eine L sung mit Excel statt mit CSV entschieden haben 7 3 Benutzerfreundlich Aus dem Soft
40. Instruktoren Supervisoren Abbildung 97 TeachEval Safari 5 1 7 Support 6 11 Opera Mit Opera konnten wir eine stabile Version von TeachEval testen E TeachEval x x gt E 8 wwteachevalch app index elo OdA G ZH aaneen ORGANISATION DER ARBEITSWELT GESUNDHEIT Z RICH M startseite Be Herzlich Willkommen bei TeachEval a Impressum TeachEval ist eine Webapplikation f r die Erstellung von Umfragen und Auswertungen die speziell f r die Bildungsveranstaltungen der Oda G ZH im Bereich Gesundheit gerichtet ist Um an einer Umfrage der Oda G Z rich teilnehmen zu k nnen wird eine Umfragekennung die Sie per Post per Email oder pers nlich erhalten haben ben tigt Die Umfragen werden Anonym durchgef hrt Die Teilnehmer von der LTT Praxis Psychiatre verwenden bitte den folgenden Link Zur Umfrage Weitere Informationen finden Sie direkt auf der Oda G ZH Seite LTT Praxis Allgemein LTT Praxis Psychiatrie Umfragekennung Geben Sie Ihre beiliegende Kennung ein Zur Umfrage Abbildung 98 TeachEval Opera 21 0 Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 148 von 167 6 12 Browserstack Vor allem f r die mobilen Testger te wurde ein online Kompatibilit tstest mit Screenshots durchgef hrt Damit erhalten wir einen berblick auf welchen Ger te TeachEval l uft Rapidly test your website for cross browser compatibility across 300 browsers www teacheval ch History T
41. Java Web Service Frontend Entwicklung HTML CSS JavaScript Backend Datenbank f r das Persistieren der Daten Backend RESTful Jersey Backend Java Datenbankanbindung Frontend Browserbasiertes Single Page Anwendung mit MVC Modell Frontend Die Seitenarchitektur wird mit HTML und das Design Layout mit CSS realisiert Frontend Framework f r Responsive Web Design mit CSS und HTML Mobile freundlich Java als serverseitige und Javascript als clientseitige Programmiersprache Versionsverwaltung von Dateien und Quellcode Link zum Remote Repository https git hsr ch git TeachEval Realbasiertes Projektmanagementtool F r das Projektmanagement das Wiki und den Stundenrapport Link http sinv 56043 edu hsr ch redmine F r die Dokumentation Austausch von Dokumenten UML Modellierung f r die Requirements und Software Architektur Abbildung des Datenbankschemas 13 06 2014 Bachelorarbeit FS14 Seite 61 von 167 8 Qualit tsmassnahmen Nach jedem Abschluss eines Arbeitspakets muss das andere Teammitglied die Arbeit berpr fen Durch die st ndige Zusammenarbeit an der HSR werden abgeschlossene Arbeiten angeschaut und besprochen Durch die w chentlichen Meetings mit unserem Betreuer erhalten wir Feedback zu der geleisteten Arbeit 8 1 Dokumentation Die Dokumentation wird zwischen den Teammitgliedern auf Dropbox geteilt Zus tzlich befindet sich auf jedem privaten Rechner eine Kopie als Backup 8 2 Projektmanagement
42. Leistung wurde bewusst nicht nur aus der Schweiz getestet In den folgenden Ladezeiten wird das komplette Laden der Webapplikation gemessen Da es sich bei TeachEval um eine Single Page App handelt wurden bei den 63 Request der gr sste Teil der Applikation geladen und gecached Unterseiten sind daher schneller zugreifbar da sie bereits vorhanden sind teacheval ch Tested from on June 4 at 16 29 51 Perf grade Requests Load time Page size 88 100 63 SU Ims 324 9 an DOWNLOAD HAR Y Tweet f Post to Timeline Email Abbildung 84 Ladezeit Startseite Amsterdam Holland teacheval ch Tested from on June 4 at 18 02 56 Perf grade Requests Load time Page size 88 100 63 1 88 324 9us PU DOWNLOAD HAR Y Tweet f Post to Timeline Email Abbildung 85 Ladezeit Startseite New York USA https www teacheval ch app s Tested from on June 4 at 18 17 44 Perf grade Requests Load time Page size 88 100 62 AlSms 314 7 DOWNLOAD HAR Y Tweet f Post to Timeline Email Abbildung 86 Ladezeit Umfrage Amsterdam Holland Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 142 von 167 https www teacheval ch app s Tested from on June 4 at 18 16 47 Perf grade Requests Load time Page size 88 100 62 1 15 314 7 xs DOWNLOAD HAR Y Tweet f Post to Timeline Email Abbildung 87 Ladezeit Umfrage New York USA Da wir grunds tzlich keine grosse Datenmenge zwischen Client und Server verschicken
43. Priorit t 01 An Abmelden 02 Umfrage CRUD 03 Token generieren 04 Token exportieren 05 Token per Mail versenden 06 Excel Template importieren 07 Auswertungen ansehen 08 Korrelation von Fragen 09 Export als Excel oder PDF 10 Umfrage teilnehmen 11 Benutzer verwalten RbebrRbrRAANE RR E 3 1 Priorisierung Wie in der Tabelle oben ersichtlich ist wurden die Use Cases in Priorit t 1 und 2 festgelegt Priorit t 1 steht f r wichtig und Priorit t 2 f r normal Use Cases mit Priorit t 1 m ssen entwickelt werden und solche mit Priorit t 2 k nnen bei guter Entwicklung zus tzlich umgesetzt werden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 3 2 Use Case Diagramm uc Use Case Diagramm Linux Server TeachEval Web Applikation Umfragen lt lt include gt gt _ Leiter l i Leiter in kann alles was auch der Dozent Un kann Ka Dozent in gt 40 Supervisor l in zb Sutdent in An Abmeldung T lt lt include gt gt Umfrage teilnehmen Umfrage muss anonym und einmalig pro Teilnehmer Umfrage durchgef hrt werden 1 1 H 7 lt lt include gt gt CRUD Create Read Update Delete von H Token per Mail versenden Auswertung ansehen lt lt include gt gt Seite 70 von 167 lt lt include gt gt Umfrage CRUD
44. Unterrichts durch die Leiterin durchgef hrt Dabei haben die Studenten als Erstes die Umfrage zum Unterricht und anschliessend den Usability Test ausgef llt Die Leiterin selber hat am Usability Test als Dozent mitgewirkt 8 4 Statistiken An den Usability Tests haben insgesamt 6 von 15 Personen teilgenommen und uns ein Feedback gegeben Usability Test Juni14 BE 04 06 2014 13 06 2014 Abbildung 104 bersicht Usability Test Warum weniger als die H lfte mitgemacht haben k nnen wir nur spekulieren Die Umfrage war schliesslich nicht f r alle verbindlich was vermutlich das geringe Interesse der Anzahl Teilnehmenden erkl rt Die Auswertungen wurden als Excel Datei exportiert und anschliessend wurden die Diagramme in den n chsten Abschnitten eingef gt Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 151 von 167 Frage 1 Mit welchem Ger t greifen Sie auf die Web Applikation zu E Smartphone iPhone Android u Tablet iPad Android EPC em emm D SR RG E D DEL ES SD E D AS OS EE DE O E a 0 20 40 60 80 100 Abbildung 105 Resultate von Frage 1 Aus den Usability Tests wird ersichtlich dass die Teilnehmer mehrheitlich mit den Smartphones zugreifen Daher konnten wir die Benutzerfreundlichkeit vor allem auf Smartphones gut testen Frage 2 Welchen Browser nutzen Sie f r die Umfrage E Chrome E Internet Explorer E Firefox E Opera E Safari E Andere E Weiss nich
45. alle ffentlich abrufbaren Dateien Dies sind Grafiken CSS und JavaScript Dateien und die einzelnen HTML Seiten Im App Verzeichnis sind zudem die index html welche der Startpunkt der Webapplikation ist und eine require config js Datei Die require config js2 wird von der index html geladen und ist f r die Abh ngigkeiten innerhalb der Web App verantwortlich Die Abh ngigkeiten zu externen oder internen Ressourcen werden asynchron geladen vendor Im Vendor Verzeichnis werden jegliche Fremdmodule abgelegt Das Fremdmodul angularjs erm glicht uns unsere Webapplikation mit angularjs zu realisieren Angular l uft mit der Unterst tzung von JQuery Das Bootstrap Verzeichnis ist ein Responsive Front End Framework welches uns bei der Kompatibilit t unterschiedlichsten Ger ten und Webbrowsern unterst tzt Das Font Awesome Plug In liefert uns ein breites Set an Open Source Icons RequireJS ist das darunter laufende Plug In f r das Verwalten der Abh ngigkeiten in der App Im Verzeichnis Support befinden sich unter anderem die Dateien html5shiv 3und es5 shim4 f r den IER Support css Im CSS Ordner ist ein eigenes Stylesheet abgelegt das auf dem Bootstrap Framework aufbaut basiert auf dem requirejs Plug In RequireJS Offizielle Webseite 2014 3 Liefert die Unterst tzung von HTML5 Elemente f r den IE8 Behebt die nicht unterst tzten JavaScript Funktionen f r IE8 z B indexOf Funktion Benjamin Kehl und Dominique So
46. angegeben In der folgenden Tabelle werden die Gewichtung zu den einzelnen Antwortm glichkeiten angegeben um die Antworten in Zahlen ausrechnen und ausgeben zu k nnen Definition Gewichtung Antwort Gewichtung Trifft zu Sehr gut Sehr schnell 2 Trifft eher zu Gut Schnell Ja keine Aussage m glich Nichts besonderes Durchschnittlich 0 Trifft eher nicht zu Schlecht Langsam l Trifft nicht zu Sehr schlecht Sehr langsam 2 Tabelle 52 bersicht Gewichtung der Antwortm glichkeiten Um die maximale Prozentzahl der einzelnen Kriterien zu berechnen wurde aus Tabelle 52 die Gewichtung mit Wertung 2 als 100 gew hlt Der Best Case ist wenn alle Teilnehmer die beste Wertung Gewichtung 2 abgeben F r die Berechnung wurde folgende Formel angewendet amp Anzahl Antworten Gewichtung Total Anzahl Teilnehmer CS 8 5 1 Verf gbarkeit Fragen Interpretation in Prozent Mit welchem Ger t greifen Sie auf die Alle konnten auf die 100 _ Webapplikation zu Webapplikation zugreifen Welchen Browser nutzen Sie f r die Umfrage an Meine Umfragekennung wurde mir per Email Alle bekamen eine E Mail 100 gesendet E PARO Total 100 Von den 6 Teilnehmern konnten alle ohne gr ssere Probleme auf die Umfrage zugreifen Wir wurden nicht angeschrieben dass gewisse Teilnehmer nicht teilnehmen k nnen 8 5 2 Aufgabenangemessenheit
47. c ooocccccncnonononoonnnnnnononanononnnncnnonnnnnnonnnnnnnnnnnnnnnonnnnnnnnnannnnnns 147 Abbildung 98 TeachEval Opera 210 147 Abbildung 99 Browsertest ber Browserstack 148 Abbildung 100 IPhone5 Abbildung 101 IPhone As 148 Abbildung 102 IPad 3 Portrait Abbildung 103 IPad 3 Landecape 149 Abbildung 104 bersicht Usability Test 150 Abbildung 105 Resultate von Frage 1 151 Abbildung 106 Resultate von Frage 2 151 Abbildung 107 Resultate von Frage 3 152 Abbildung 108 Resultate von Frage A 152 Abbildung 109 Resultate von Frage bp 153 Abbildung 110 Resultate von Frage gp 153 Abbildung 111 Resultate zur Frage 154 Abbildung 112 Resultate zur Frage 8 154 Abbildung 113 Resultate zur Frage 155 Abbildung 114 Resultate zur Frage 10 155 Abbildung 115 Vergleich Teilnehmer Ethik und Usability Test 158 Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 161 von 167 11 Tabellenverzeichnis Tabelle 49 getestete Services iii 131 NET EE isesi erg ide 134 Tabelle 51 Mio 134 Tabelle 52 Metriken im sre test java ooooocconocaconocnnonanononnnononnnonannnonnno non nono anno na nn rnn cnn non n nora a nannannrn nn 138 Tabelle 53 Violations src main java cooonoocccnoconononnnonanononnnononnnonano nora nono n nono nn nnnan nro nn ron anno na nana n rr nn 138 Tabelle 54 bersicht Gewichtung der Antwortm glichkelten 156 Benjamin Kehl und Dominique Sorg 13 06 2014 TeachEval Web App f r
48. der Leiterin den Namenszusatz FS lt Jahr gt oder HS lt Jahr gt Export als PDF Der Export als Excel ist eine gute Variante um mit Diagrammen weiter zu arbeiten Die Rohdaten und Diagramme ben tigen jedoch sehr viel Platz was meist f r den Druck nicht ausreicht Deshalb w rde sich eine PDF Variante besonders gut eignen wenn die Diagramme nicht mehr weiter bearbeitet werden m ssen Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 32 von 167 7 Probleml sungen Bei der Umsetzung der Web Applikation tauchten unterschiedliche Probleme auf die es zu l sen galt In den folgenden Kapiteln gehen wir auf die Probleme ein und beschreiben wie wir diese gel st haben 7 1 Technologie Das Webprojekt soll mit OSS Open Source Software realisiert werden Welche Technologie dabei eingesetzt wird ist uns Entwicklern berlassen Damit wir f r das Web Projekt die richtigen Technologien w hlen k nnen m ssen zuerst die Anforderungen analysiert werden e Open Source Wo immer m glich e Browser unabh ngig e E Mail Support f r die Benachrichtigung der Teilnehmer e Excel oder CSV Support e Fragenb gen sollen importiert werden k nnen e Aussagekr ftige Auswertung der Umfrage Im Verlauf der Bachelorarbeit war uns schnell klar welche Technologien wir im Rahmen dieser Arbeit verwenden wollen Im Folgenden eine Auflistung davon A EE E a ent Neus EE P4 l by Google l l wire P T Jersey y
49. die Aeon 8 eilnenmel Anzeit studenten Fe Be den LTT mt unterst tzend f r die o Was k nnte xS en a en 4 Der eren STISOLL Einzelaus r Legende m ee so war es was ich sonst noch sagen 20 end E senr spann meter a zu bea n ine Lem Frag erhielt die M glicnkeit mir meine R A sehr enrreich 2 ch Legende cm zu ur alle SO w ren nn doch N so war eS a Projektauswertung PAU Autor en Dominique Sorg Benjamin Kehl Betreuer Prof Dr Eduard Glatz Projektpartner OdAG Z rich Experte Roberto Pajetta Gegenleser Prof Dr Olaf Zimmermann 1 Zweck Dieses Dokument wertet und zeigt den Projektaufwand auf Die Aufw nde wurden aus Redmine exportiert und in einem Excel mit eigenen Diagrammen visualisiert Bachelorarbeit FS14 Seite 164 von 167 2 berblick 800 700 600 500 400 300 200 100 0 Stunden Soll E Stunden 745 5 Stunden E Soll E Ist E Differenz Ist Differenz 761 6 16 1 Achsentitel Abbildung 116 Zeitauswertung berblick F r diese Bachelorarbeit wurde 761 6 h aufgewendet Dabei setzten wir uns wie im Projektplan beschrieben einen max Zeitaufwand von 2 360 720 h 20 Abweichung Daraus ergibt sich maximal 864 h die nicht berschritten werden d rfen Die Arbeitspakete wurden grossz gig definiert und jeweils am Freitag jeder Woche verbucht Ist Soll Vergleich 160 140 125 5 120 109 106 5 En 93 5 e SE 8
50. die Statistiken und Fragen der View zur Verf gung Der DatepickerController ist ein Zusatz zum Ul Bootstrap und stellt Funktionen und Daten f r die Anzeige eines Datepicker zu Verf gung ber den HandlerController wird die Navigation innerhalb der einzelnen Seiten bzw ber eine Link Button etc verwaltet Zudem behandelt der Handler Controller das Error Handling Der HomeController ist zu der Startseite gekoppelt Der ImpressumController ist zum Impressum gekoppelt ber den Survey Info Controller wird die entsprechende Anzeige ob ein Teilnehmer bereits an einer Umfrage teilgenommen hat geliefert Der LoginController ist zu der Login Seite gekoppelt Der Manage Survey Controller ist mit der Umfrageverwaltung verbunden und liefert die Daten vom Survey Service f r deren Verwaltung ber diesen Controller k nnen die Daten durch ein Suchfeld gefiltert werden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 105 von 167 ParticipateSurveyController Der Participate Survey Controller ist f r das Mapping der Umfrage zum eingegebenen Token zust ndig Dieser holt die Daten vom Survey Service und stellt diese der View zur Verf gung ProfileController Im Profile Controller wird die Verwaltung des Benutzerprofils behandelt Benutzereingaben werden ber diesen Controller an den User Service bergeben SurveyController Der Survey Controller ist mit der eigentlichen Umfrage gekoppelt und liefer
51. die erfassten Umfragen zu verwalten und die Tokens bzw Teilnehmerkennungen der Teilnehmer als Excel zu exportieren Dozierende Supervisoren und Studenten k nnen an unterschiedlichen Umfragen teilnehmen sofern sie dazu berechtigt sind Die Fragen k nnen unter den unterschiedlichen Benutzerrollen abweichen Der die Leiter in wie auch der die Dozent in ist zudem in der Lage die Auswertungen zu ihren Kursen anzusehen und als Excel zu exportieren 2 3 Technologien Die einzusetzende Technologie wird uns Projektleitern Entwicklern berlassen Die einzige Bedingung ist dass sie mit Open Source Software entwickelt werden muss siehe genaue Technologiewahl im Projektplan 2 4 Benutzer Charakteristik F r die TeachEval Webapplikation werden vier Benutzerrollen unterschieden Benutzer Beschreibung Leiter in Der Leiter bzw die Leiterin ist zugleich der Administrator der Webapplikation Er sie hat Einsicht auf alle Umfragen und Auswertungen Zudem kann er sie neue Umfragen erstellen Die Fragen k nnen unabh ngig von den Umfragen beliebig angepasst und erweitert werden Wenn jedoch eine Umfrage abgeschlossen wurde sind Bearbeitungen an den Fragen und Teilnehmern nicht mehr m glich F r die Auswertung k nnen Reports Excel oder PDF generiert und mit unterschiedlichen Filterungen miteinander verglichen und eingeschr nkt werden Dozent in Der Dozent f llt nach seinem Unterricht wie die Studenten die Umfrage am Ende des Kurstages aus
52. eine Frage ein nFehlerquelle nExcel Arbeitsmappe t sheet getSheetName NI auf Zeile 1t cell getRowIndex position getQuestion setQuestion cell getStringCellValue break case 1 Abbildung 76 CC durch Switch Anweisung Ein Problemfall besteht in der Excel Arbeitsmappe 3 Fragen Darin befinden sich mehr als 20 Spalten die mit der Klasse QuestionCollector gesammelt und mit Switch Case berpr ft werden Dies bedeutet dass mindestens 20 Case Anweisungen f r jede Spalten berpr fung verwendet wurden was schliesslich ein sehr hoher ELOC Wert verursachte Position position Position object if cell getColumnIndex checkQuestionCell cell position if cell getColumnIndex 1 checkRoleCell cell position if cell getColumnIndex 2 checkQuestionTypeCell cell position if cell getColumnIndex gt 2 amp amp cell getColumnIndex lt 23 checkPossibleAnswerCell cell position Abbildung 77 Reduzierung des CC Wertes mit IF Statements Um den hohen CC Wert zu reduzieren wurde in der Abbildung 77 die Switch Case Anweisungen durch IF Statements ersetzt und der Code f r die bessere Lesbarkeit neustrukturiert Package entity Der negative Distance Wert von 1 im Package entity berechnet sich durch die folgende Formel D A4 I 1 Wobei A f r Abstractness d h die Anzahl abstrakter Klassen und f r Instability steht Beide Werte
53. haben je den Wert 0 was somit zu der Distanz von 1 f hrt Dieser Wert l sst sich nicht verbessern da die POJO Klassen nur Felder und Getter Setter Methoden besitzen Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 4 2 2 Stand 01 06 2014 Seite 136 von 167 Use Case Titel Priorit t Implementiert Fehler Unsch nheiten Status An Abmelden 1 Ja Y Umfrage CRUD 1 Ja kein nachtr gliches Bearbeiten Y einer Umfrage m glich Token generieren 1 Ja Y Token exportieren 1 Ja Y Token per Mail versenden 2 Ja y Excel Template importieren 1 Ja Y Auswertungen ansehen 1 Ja Y Korrelation von 2 Fragen 1 Ja Y Export als Excel oder PDF 1 Ja vy Umfrage teilnehmen 1 Ja Y Benutzer verwalten 1 Ja Y Abbildung 78 Stand Juni einfaches Bearbeiten der Umfrage m glich und alle anderen Operationen wie Umfrage hinzuf gen ansehen oder l schen werden unterst tzt Bearbeiten einer Umfrage mit Fragen und Teilnehmer usw jedoch nicht Am 01 06 2014 konnten weitgehend alle Use Cases implementiert werden Das Exportieren der Auswertung als auch der Korrelation ist nun m glich Zus tzlich k nnen die Teilnehmer per E Mail f r eine Umfrage eingeladen werden Das nachtr gliche Bearbeiten von Umfragen mit ihren Fragen und Teilnehmer kann nicht mehr unterst tzt werden da dieses Feature sehr viel Zeit in Anspruch nehmen w rde bis alles reibungslos l uft 4 2 2 1 Durchgef hrte Unit T
54. hibernate cfg xml Konfigurationsdatei f r Hibernate Die Seite 96 von 167 A Ki TeachEvalApp TeachEval master 2 JAX RS Web Services s Deployment Descriptor TeachEvalApp 9 JAX WS Web Services 4 JPA Content Ze Java Resources El JavaScript Resources C Deployed Resources Ey doc cy pom xml gt target a Ey WebContent Ey app Ey bak Ey config cg index html Ey logs Ey scripts Ey test a Ei WEB INF a SH classes GG hibernate cfg xml E log4j properties Ey lib Y web xml Abbildung 37 Projektstruktur TeachEval wichtigsten Parameter sind Parameter f r Verbindungskonfigurationen und die Mappings zu den POJO Klassen o Log4j properties Konfigurationsdatei f r Log4J Darin k nnen noch spezifischere Logging Einstellungen konfiguriert werden als das Logging Framework von Tomcat o lib Im Verzeichnis lib werden alle Libraries als JAR Datei abgelegt Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 97 von 167 4 1 Frontend Die Projektstruktur im Client besteht aus mehreren Verzeichnissen Sie dient der logischen Gliederung von Aufgaben und Features APP require config js style css require js routes js app js am en service js directive js PARTIALS Templates Abbildung 38 Projektstruktur Client app Dies ist das Hauptverzeichnis und enth lt die eigentliche Projektstruktur im Clientteil Es enth lt
55. mlich testGetSurveyQuestionsByToken In der Praxis schickt der Teilnehmer dem Server ein Umfrage Token Wenn dieser Token f r eine Umfrage g ltig ist dann kann der Teilnehmer an der Umfrage teilnehmen Ansonsten wird eine NullPointerException zur ckgeworfen bzw am Client eine Fehlermeldung angezeigt dass die Umfrage nicht gefunden wurde oder der Token falsch sei Zudem wurde zu diesem Zeitpunkt im testGetSurveyQuestionsByToken statisch ein Token String gesetzt statt dynamisch aus der Datenbank ein bestehendes Token zu holen Deshalb schlug dieser Test fehl 4 2 1 2 Erreichte Test Coverage Element Coverage Covered Instructio Missed Instructions Total Instructions E TeachEvalApp BEE 60 1 9 695 6 432 16 127 a 5 src main java PS 539 5 166 4 416 9 582 YH ch odag teacheval authentication I 0 0 0 416 416 Hi ch odag teacheval entity EZ 684 1 288 595 1 883 EB ch odag teacheval fileexport I 100 0 296 0 296 3 ch odag teacheval fileimport BS 683 1 746 809 2 555 Y ch odag teacheval hibernate CT 61 3 852 537 1 389 E ch odag teacheval rest a 0 0 0 1 032 1 032 EH ch odag teacheval service BE 501 940 936 1 876 gt EB ch odag teacheval token 32 6 44 91 135 b TE sre test java ES 02 4 529 2 013 6 542 b 3 src test resources 0 0 0 3 3 Abbildung 74 Test Coverage Stand 28 04 13 Insgesamt konnten wir das Minimum von 60 Test Coverage erreichen Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarb
56. r einen einzigen Kurs weiterf hren w rden dann w ren es bei 10 Teilnehmern mit durchschnittlich 25 bis 30 Fragen schon gesamthaft 250 bis 300 Fragen die bei der Auswertung ber cksichtigt werden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 18 von 167 m ssen Diese manuelle Arbeit ist nicht nur sehr zeitintensiv und aufw ndig sondern auch fehleranf llig 2 2 Anforderungen und Ziele In dieser Bachelorarbeit soll eine Webapplikation entwickelt werden die sich vor allem darauf konzentriert den momentanen Workflow der OdA G ZH f r die Befragung von Studenten Dozenten oder Supervisoren zu bernehmen und deren Auswertung zu automatisieren Die Teilnahme an einer Umfrage ist mit Hilfe eines Webbrowsers m glich die sowohl von PCs Tablets als auch von Smartphones durchgef hrt werden k nnen Die Webapplikation soll in JavaScript HTML 5 und CSS erstellt werden Benutzte Drittkomponenten z B Datenbank und Tools sollen als OSS Open Source Software vorliegen Ein zweites Hauptziel der Arbeit besteht darin ansprechende Auswertungen zu realisieren die auch Diagramme enthalten und als Microsoft Excel oder als Word Dateien bereitgestellt werden Der Auswertungsteil der Applikation soll die M glichkeit bieten die Antworten auf ausgew hlte Fragen zu korrelieren d h die Kovarianz numerischer Auswertungsresultate zu berechnen Als Endergebnis soll eine Webapplikation bez glich der Anforderungen erstellt wer
57. r die Seitenansicht geladen Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 104 von 167 j I tz pl 21 load required dependencies l I I I l 23 initi die T T y I t bootstrap AS _ 3 1 load service Abbildung 43 TeachEval Start Prozess Es werden folgende Controller geladen Controller Beschreibung AdministrationController AuthenticationController DashboardController ErrorController EvaluationReportController DatepickerController HandlerController HomecController ImpressumController SurveyInfoController LoginController ManageSurveyController Der AdministrationController ist mit der Benutzerverwaltung gekoppelt Dieser beantragt f r die Anzeige aller Benutzer Leiter amp Dozenten beim UserService die n tigen Daten und stellt diese der View in Form von Scope Variablen Funktionen zur Verf gung ber den Administration Controller k nnen die Daten innerhalb der Tabelle gefiltert werden Der AuthenticationController wird ber die gesamte Web App angebunden und verwalten das Anmelden und Abmelden eines Benutzers an der Applikation F r die bersicht aller Auswertungen wird der Dashboard Controller verwendet Der ErrorController liefert die Daten zu den Fehlerseiten Der EvaluationReport Controller holt die detaillierten Auswertung einer Umfrage vom Evaluation Service und stellt
58. rer Aktor Leiter Vorbedingungen Der Leiter ist angemeldet F r die Bearbeitung oder f r das L schen einer Umfrage darf sie entweder noch nicht ver ffentlicht worden sein oder sie muss abgeschlossen sein Nachbedingung Die zu bearbeitende Umfrage wurde in der Datenbank aktualisiert Die nderungen m ssen bernommen werden Hauptszenario Aktoren Aktionen Systemverantwortlichkeiten User Umfrage hinzuf gen Umfrage hinzuf gen Systemverantwortlickeiten 4 Die Angaben in der Excel Datei wie die Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 1 Der Leiter navigiert zu der Umfrageseite und klickt auf Umfrage erstellen 2 Ein neues Fenster f r den Upload Prozess erscheint 3 F r den Upload w hlt der Leiter das Excel Template und klickt dann auf Umfrage hochladen Umfrage bearbeiten l schen 1 Der Leiter navigiert zu der Umfrageseite und sieht eine Auflistung aller Umfragen mit Status 2 Leiter w hlt eine Umfrage aus die noch nicht ver ffentlicht wurde oder bereits abgeschlossen ist und w hlt bearbeiten oder l schen 3 4a Seite 75 von 167 Teilnehmerliste Fragen Umfragetitel usw werden herausgelesen und in die Datenbank gespeichert 5 Wenn erfolgreich wird die neue Umfrage in der Umfrageliste neu angezeigt Umfrage bearbeiten l schen 3 Die ge nderten Daten werden in der Datenbank gespeichert und falls l schen in der DB als inaktiv markiert
59. und Dozent Vorbedingungen Der Benutzer muss angemeldet sein Dozent muss f r die Auswertung zu der Umfrage berechtigt sein AA Umfrage muss abgeschlossen sein Nachbedingung Hauptszenario Aktoren Aktionen Systemverantwortlichkeiten User 1 Der Benutzer navigiert zu 4 Die Daten werden aus der Systemverantwortlickeiten der Auswertung Datenbank herausgelesen 2 Erklickt auf die Option 5 Die Kovarianz wird mittels Korrelieren Java berechnet 3 Benutzer w hlt zwei Fragen aus Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 77 von 167 Sa Die Kovarianz wird falsch berechnet gt Die Datenbankabfragen werden falsch durchgef hrt H ufigkeit des Auftretens Bei jeder Korrelation Tabelle 33 UC Fully Dressed Korrelation von Fragen UC 09 Export als Excel oder PDF Umfang TeachEval Applikation Ebene Anwendung Prim rer Aktor Benutzer Leiter und Dozent Vorbedingungen Der Benutzer muss angemeldet sein Dozent muss f r die Auswertung zu der Umfrage berechtigt sein Umfrage muss abgeschlossen sein Nachbedingung Auswertungen werden als Datei im Format Excel oder PDF exportiert Hauptszenario Aktoren Aktionen Systemverantwortlichkeiten User 1 Der Leiter oder Dozent 3 Die Daten werden aus der Systemverantwortlickeiten navigiert zu der Datenbank herausgelesen Auswertung 4 Mittels Excel Library wird 2 F r das Exportieren zu ei
60. und als Organisationsstruktur aufgezeigt Wichtige Themen wie unser Vorgehen Zeitplanung wie Meilensteine m gliche Risiken und Schaden Arbeitspakete usw werden in den Kapiteln Management Abl ufe Risikomanagement und Arbeitspakete n her vorgestellt Gegen Ende des Dokumentes werden die Infrastruktur und Qualit tsmassnahmen des Projektes TeachEval in den entsprechenden Kapiteln Infrastruktur und Qualit tsmassnahmen beschrieben Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 49 von 167 2 Projekt bersicht Die Organisation der Arbeitswelt Gesundheit Z rich OdA G ist der Branchenverband f r Berufsbildung im Gesundheitswesen des Kantons Z rich Sie ist der Ansprechpartner in allen berufspolitischen Bildungsfragen und bernimmt die Verantwortung f r die kompetente Durchf hrung berbetrieblicher Kurse Lerntage Training und Transfer LTT a TARTA H und hnliche Bildungsveranstaltungen auf allen Bildungsstufen Die OdA G bernimmt auch die fachliche und E organisatorische Unterst tzung rund um die praktische Ausbildung OdA G ZH Offizielle Webseite 2014 Die Kurse im LTT werden von den Lernenden und Dozierenden wie auch deren Supervisoren evaluiert Zurzeit erfolgen diese Evaluationen mit Hilfe von gedruckten Formularen die in manueller Arbeit aufwendig ausgewertet werden m ssen Deshalb soll eine Webapplikation namens TeachEval entwickelt werden die sowohl die Befragung als auch dere
61. und die definierten Risiken laufend neu beurteilt Auch ein erster Entwurf f r das Datenbankmodell wurde erstellt und die Anforderungen in Use Cases ausgearbeitet Die Construction Phase enth lt 4 Iterationen und dauerte insgesamt 9 Wochen Eine Iteration geht im Schnitt 2 Wochen Die letzte Woche konzentrierte sich vor allem auf das Refactoring und Testen der Applikation In der ersten Iteration wurde das Datenbank Schema aufgesetzt welche als Basis f r die Web Applikation dient Zus tzlich konzentrierten wir uns auf die Implementation des Backends und der Datenbeschaffung mit Hibernate Durch die Einarbeitung hatten wir zu diesem Zeitpunkt bereits eine Grund Architektur des Frontends die vereinzelte Daten aus dem Backend holen konnte In der zweiten Iteration wurde die Grund Architektur verbessert und erweitert Zudem wurde Im Frontend die Benutzerverwaltung Umfrageverwaltung und deren Teilnahme realisiert Die 3te Iteration befasste sich mit einer ersten Auswertung und Korrelation der Umfragen Zudem wurden in dieser Iteration viele Verbesserungen und Tests gemacht Am Ende dieser Phase wurde ein erster Prototyp auf dem produktiven Server aufgeschaltet Die vierte und letzte Iteration der Construction Phase diente f r weitere Verbesserungen und um die Applikation benutzerfreundlicher f r den Endkunden zu machen Zudem wurden gefundene Bugs behoben Code Refactorings durchgef hrt und viel getestet Ein Support f r die OdA G ZH wurde w hr
62. und effizient erledigen kann Selbstbeschreibungsf higkeit Ein Dialog ist selbstbeschreibungsf hig wenn jeder einzelne Dialogschritt durch R ckmeldungen des Dialogsystems unmittelbar verst ndlich ist oder dem Benutzer eine Anfrage erkl rt wird Erwartungskonformit t Ein Dialog ist erwartungskonform wenn er konsistent ist und den Merkmalen des Benutzers entspricht z B seinen Kenntnissen aus dem Arbeitsgebiet seiner Ausbildung und seiner Erfahrung sowie den allgemein anerkannten Konventionen Fehlertoleranz Ein Dialog ist fehlertolerant wenn das beabsichtigte Arbeitsergebnis trotz erkennbar fehlerhafter Eingaben entweder mit keinem oder minimalem Korrekturaufwand seitens des Benutzers erreicht werden kann Erlernbarkeit Ein Dialog ist lernf rderlich wenn er den Benutzer beim Erlernen des Dialogsystems unterst tzt und anleitet Individualisierbarkeit Ein Dialog ist individualisierbar wenn das Dialogsystem Anpassungen an die Erfordernisse der Arbeitsaufgabe Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 68 von 167 sowie an die individuellen F higkeiten und Vorlieben des Benutzers zul sst Steuerbarkeit Ein Dialog ist steuerbar wenn der Benutzer in der Lage ist den Dialogablauf zu starten sowie seine Richtung und Geschwindigkeit zu beeinflussen bis das Ziel erreicht ist Tabelle 17 ISO 9241 110 Neben der Benutzeroberfl che wird auch die Effizient gemessen F r die Messung w
63. zentralen Schwerpunkte Damit die OdA G ZH ein qualitativ hochwertiges Schulungsangebot anbieten kann werden mit Umfragen schriftliche Feedbacks von den Studierenden Dozenten und Supervisoren eingeholt und das Angebot fortlaufend berpr ft und optimiert Eine Umfrage enth lt Einzel amp Mehrfachauswahl Fragen sowie Textfelder Eine spezielle Form von Fragen sind die IST SOLL Einzelauswahl Fragen Die Befragten sollen anhand dieser IST SOLL Fragen einen pers nlichen Vergleich des Kurses ziehen Die rund 20 bis 30 Fragen pro Student in Dozent in oder Supervisor in werden anschliessend von der Leiterin in eine Excel Datei eingetragen ausgewertet und daraus Diagramme und Korrelationen gebildet Am Schluss entsteht ein Semester Report 8 S a Umfrage zu Kurs 1 N S N m Q 8 N SW Umfrage m u gt gt student Umfrage zu Je Excel Kurs 2 d Antworten in Dozent 2 F Leiter Excel eintragen e Umfrage zu Kurs 2 c 3 D Ed y Supervisor Abbildung 3 IST Workflow 2 1 Problemstellung Die schriftlichen Umfragen und Auswertungen sind f r das Qualit tsmanagement der OdA G ZH bereits ein fest verankerter Workflow der von der Leiterin durchgef hrt wird F r die Bereiche LTT Praxis und Psychiatrie finden im Jahr 2014 ungef hr rund 25 Kurse statt Nach jedem Kurs wird eine schriftliche Umfrage durchgef hrt die anschliessend von Hand ausgewertet wird Wenn wir die Berechnung f
64. 06 2014 Bachelorarbeit FS14 Seite 11 von 167 Inhaltsverzeichnis II E TT 6 Management Summary MAS occsiiocimoionosoonicnnononicaorasni nncnanincncnsnionnnnnninon an nnrnnn named nennen 7 Technischer Bericht TEB camncononosiiocioniccionasiccncannconianasidnndn EES EEENEEKEEEER NEES ENER ENER EEEEENEAE EE EEESEN L SEN Giele lg 17 TEE 17 KENE gel oia 17 2 2 Anforderungen und Ziele 18 3 Konkurrenz ProdUkte cin d dada 19 SNE eet ee ee E AE A EE ee 19 32 LIME Survey aaa aan ana dd did dt een ende Hung dd ads ehe 20 IF ia ds 20 4 Chancen Gefahr ici iaa 21 E IA keinen 21 DEED ee EE 22 E EE 22 6 Z Optimierung ici 31 7 Probleml sungen ita 32 LIL dde 32 7 2 fe E GE E 32 7 3 BenutzertreUndlich eiii ea da dde ida cd 33 8 SCHIUSSTOIZERUNgEN EE 33 9 ADDIldUNEsVErZeICANIS it een I a 34 10 Tabellenverzeichnis s2 u air ENEE Ae 34 KI d ua Te ee enter ahnen ae 35 1 Einf hrung EE 36 NO 36 A ge EE 36 3 Pers nliche ErfahtungeN ia 37 Se DOMINIQUE SOLE EE ER 4 Pers nliche Erfahrungen cai EES 38 BN BCE leg UE 38 Glossar GO lina ads 39 Quellenverzeichnis QUV 0 lt 2 3822240404040 0080040088500 0 HR onen sen ibaia banaane naaus aisi EE easa ikia EE nen eg 43 TT E 46 SE een ln Ba Reiben 47 IEA cda 48 T 1 2weck EE 48 Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 12 von 167 1 2 G ltigkeitsbereich a 0 een sen E a e A ENEE da 48 1 3 bersicht O II A A 48
65. 1 Tabelle 19 UC Brief Umfrage CRUD siosssiossoreioniietennskknpiinseni iinitan einernie aiins eni ccenssaaeiinssah 71 Tabelle 20 UC Brief Token generieren 71 Tabelle 21 UC Brief Token exportieren sssssssssssssssssrrssssrrssrrrrsstrrrsstttrssttttssttntssttntssttttssttnnssttensstenns tt 71 Tabelle 22 UC Brief Token per Mail versenden ooooccccococcconononcnonononcnonononononono nono non nono canon rca nano nn cr naar ancianos 71 Tabelle 23 UC Brief Excel Template importieren ssssssssssssssssssssssrrsserrrssrrrssttnrssrtnrssttnnssttnnssttnnsstennent 72 Tabelle 24 UC Brief Auswertungen ansehen 72 Tabelle 25 UC Brief Korrelation von Fragen 72 Tabelle 26 UC Brief Export als Excel oder PDF sssssssssssssssssrssssssssssrrsserrssrerrssrrrrssrrnrssternssstnnssttnnsseennstt 72 Tabelle 27 UC Brief Umfrage teilnebmen rn naar ennnnnnnenn 72 Tabelle 28 UC Brief Benutzer verwalten ooooocccnonoccccnononnconanoncnonononccononn cnc nono nnnn nono nn narran nn ca rnnn nn ca nnannccnan 72 Tabelle 29 UC Fully Dressed An Abmelden ooocconcccnoncccnoncnononanononnnonanononanononnnnnn nn conan con nn nono annnnanncnnnnrnns 74 Tabelle 30 UC Fully Dressed Umfrage CRUD sssssssssssssssssrrsssrrssrsrrsserrrssttrrssttrtssttnnsstttnssttnnssttnnssteensnt 75 Tabelle 31 UC Fully Dressed Excel Template Importieren nono nononos 76 Tabelle 32 UC Fully Dressed Auswertung ansehen ccooooccccnooccconononcnonononcnonononcnnnnno nono nnan on conan nn ca nannnncnn
66. 1 25 76 80 60 40 21 21 i 25 20 0 2 e A o R lt Ko E K o ei a S d ef g Es af Es RS ES ar Sy SS g T E Br o Ee So KOX amp ES 5 cr K qe a Y RY X x y x x RS S Es S dd e cd RO NS Es amp Es RS RS RS Es AT Sy RO o S Es S S H Q x E N lt S Es d E o E S E e gt Se Es Ni A N gt S 2 gt AS N EI e S 2 S S Y N S msSOLL WIST Abbildung 117 Zeitauswertung Meilensteine Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 165 von 167 Der IST SOLL Vergleich visualisiert den Projektaufwand von TeachEval Ab Projektbeginn M1 starteten wir mit grosser Motivation und investierten viel Zeit in die Einarbeitung und Auswahl von Technologien In der ersten Woche hatten wir das Kick Off Meeting mit unserem Betreuer Herrn Prof Dr Eduard Glatz In der zweiten Woche fand das Kick Off Meeting mit Frau Brigitte Keller von der OdA G ZH statt Der Projektplan und die Anforderungsanalyse wurden bereits in den ersten beiden Wochen begonnen Somit wurde in den Meilensteinen Projektplan M2 und Anforderung amp Analyse M3 im Verh ltnis zu Meilenstein 1 M1 weniger geplant Ab M4 begann aus den erarbeiteten Prototypen die richtige Entwicklung der Webapplikation Die Erarbeitung des Datenbankmodells und die REST Schnittstelle nahmen im Backend Bereich sehr viel Zeit ein Da ein erster Prototyp der Applikation bereits Anfang Mai live geschaltet werden musste war ein gutes Datenbankmodell das A und O
67. 2014 Bachelorarbeit FS14 SPA Testserver Tomcat UC UML URI URL Web App Web Applikation Web Browser Web Service Benjamin Kehl und Dominique Sorg Seite 42 von 167 steht im Gegensatz zu klassischen Websites die aus mehreren untereinander verlinkten HTML Dokumenten bestehen SPA steht f r Single Page Anwendung oder auch Single page Web Application Der Testserver wird mit der gleichen Applikation wie der Produktion Server aufgesetzt Auf dem Testserver werden Tests an die Applikation durchgef hrt Dabei muss die Verf gbarkeit der Applikation nicht sichergestellt werden Apache Tomcat ist ein Java Open Source HTTP Web Server die von der ASF Apachhe Software Foundation entwickelt worden ist Abk rzung f r Use Case Die Unified Modeling Language kurz UML ist eine grafische Modellierungssprache zur Spezifikation Konstruktion und Dokumentation von Software Teilen und anderen Systemen Die URI Unique Ressource Identifier ist ein Identifikation f r Web Ressourcen Diese m ssen im Netzwerk eindeutig sein Die URL Uniform Resource Locator identifiziert und lokalisiert Ressourcen einer Webseite ber die Protokolle HTTP oder FTP Kurzform f r Web Applikation Unter einer Web Applikation oder auch Webapplikation versteht man eine Software die speziell f r das Web Internet konzipiert wurde Diese Applikationen werden mit Hilfe von HTML CSS etc umgesetzt Der Web Browser oder auch Webbrowser ist ein Compu
68. 22 ER kn ida 66 REKT A A Riegel 66 2 4 Benutzer Charakteristik 66 Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 13 von 167 2 5 BenutzerfreundlichkKeiti run te gan ie np a 67 2 6 Kompati ilit t 2 3 2 een as Zee ma ren ea ie able 68 2 7 Einschr nk ngen nt tia 68 RENE ET EE 68 O A EN 69 321 Priorisier ng see ee A AA AR A AA AS AAA ERA A 69 3 2 Use Case Diagram A A 70 EE EE 71 34 Beschreibungen Brief corneei Atte 71 3 5 Beschreibungen Fully Dressed urasi niea aaa a rA EEA EEES O A 73 4 Weitere AntOrderUn Le can 222222 rn nt 79 4 1 Oualtt tsmerkmale niina eninin ia iiaiai aiaia ih aoaea deai ei eieaa 79 Be EE EE 79 4 3 BONUtzD ke tico tddi 79 WEE ZA ii 79 US W rtb rkeit A EE A 79 A id a h 80 4 7 Schnittstellen er essen a 80 Bb Goes uerteelen eg Ad enee Ka aaa 81 6 TabellenverzalCniS iia 81 User Interface TEE 82 SR ant AIT E E EE E EEE E E E E E 83 e ee 83 1 2 G ltigkeitsbereichz 2 A A A Alea 83 Keel EE 84 DAGA A RUS a aa dd e o ooo Le a Be 84 KM de 1 84 23 Umfrage teilnehMe Moner setia di td a 85 2 4 mfrage Verwalten 2 2 2 A dd 86 EE EE 88 3 Abbildungeverzelchnlg ii iaa dias 90 Software Architektur Dokument SDD oooooccconocnncnnonoconconocnnnnnnncnocnnonnonnonnononanncnnonnonnoncoanannnns 91 E Gilet le L E een san te A tt 92 A EE 92 12 GUItIgkSlt Here ii td Adi Si Ee aN 92 EE ee 92 LES E EE 93 ZA Mt ii il oa da 93 KREE 94 Benjamin Kehl
69. 2e EEE 2 19 20 21 22 24 25 27 28 29 30 31 g ac 05 X 32645678910 11 O 4 18 17 18 1920 11 6 12 12 12 eu Y ve 12 13 14 15 18 17 18 21 22 22 24 BBs PER 19 20 21 22 824 25 27 28 29 20 21 Abbildung 99 Browsertest ber Browserstack OdA G ZH ORGANISATION DER ARTE GESUNDMEN ZOREN See A impressor Herzlich Willkommen bei TeachEval Abbildung 100 IPhone 5 Abbildung 101 IPhone 4s Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 149 von 167 Herzlich Willkommen bei TeachEval LTT Praxis Allgemein Herzlich Willkommen bei TeachEval LIT Praxis Psychiatrie LTT Praxis Psychiatrie Abbildung 102 IPad 3 Portrait Abbildung 103 IPad 3 Landscape Weitere Screenshots wurden in einem separaten Ordner unter Qualit tsmanagement gesammelt Leider wurden bei Browsershots und Browserstack bei einigen Ger ten die Screenshots zu schnell ausgel st Somit erscheint nur ein weisser Bildschirm da bei der kostenlosen Variante keine Verz gerung eingestellt werden kann 7 Fazit Dank dem Twitter Bootstrap Framework konnten die meisten Browser unterst tzt werden welche heutzutage h ufig genutzt wurden Mit dem Responsive Design k nnen zudem unterschiedliche Ger te wie PC Tablet oder Smartphone unterschieden und individuell angesprochen werden Mit dem Einsatz von Kompatibilit tsbibliotheken kann auch Internet Explorer 8 oder 9 unterst tzt werden Zudem wird mit einer JQuery Placeholder
70. 5 Safari 5 1 und Opera 12 14 durchgef hrt Der Internet Explorer hat eine eingebaute R ckw rtskompatibilit tsfunktion um zwischen den IE Versionen zu wechseln Zudem wurden mit Test Ger te Tablets und Smartphones die Bedienung das Ausf llen einer Umfrage und die Verwaltung getestet Darunter fallen ein IPad2 IPad3 IPhone4 IPhone5 Android Nexus S und ein HTC One Das Android Nexus erhielten wir von der HSR als Testger t um die Applikation auch mit Android vollst ndig testen zu k nnen F r die Kompatibilit t anderer Browser wurden Screenshots ber Drittanbieter wie Browsershots und Browserstack gemacht Damit k nnen aber keine Kompatibilit ts berpr fungen im internen Bereich von TeachEval gemacht werden 6 3 Einschr nkung F r Kompatibilit ts berpr fungen konnten wir ein Android Testger t der HSR auslehnen Andere Testger te werden mit den oben genannten ffentlichen kostenlosen Diensten simuliert 6 4 berblick aller Tests Browser Fehler Unsch nheiten Verbesserungen Status Internet Explorer 8 Teilnehmer k nnen ohne Probleme mit dem IE8 an einer Y Umfrage teilnehmen Es wurden k rzlich Probleme mit dem Import von Dateien festgestellt Internet Explorer 9 Teilnehmer k nnen ohne Probleme mit dem IE9 an einer v Umfrage teilnehmen Es wurden k rzlich Probleme mit dem Import von Dateien festgestellt Zudem k nnen bei IE9 die Cookies nachdem sie gesetzt worden sind nicht mehr entfernt werden
71. Bibliothek der Vorgabetext auch f r IE8 und IE9 angezeigt Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 150 von 167 8 Usability Test 8 1 Ziel und Zweck Die Usability Tests sind Teil des Qualit tsmanagements Sie wird durchgef hrt um die Benutzerfreundlichkeit und die Gebrauchstauglichkeit von TeachEval mit den Teilnehmern zu berpr fen Das heisst die Teilnehmer eines Kurses f llen zus tzlich die Usability Umfrage aus Daf r wurde die Umfrage mit der Excel Vorlage erstellt und hochgeladen Ziel ist es anhand von gezielten Fragen die m glichen St rken und Schw chen in Bezug auf die Benutzerfreundlichkeit der Webapplikation aufzuzeigen Eine zweite Art von Usability Test konnten wir bei einer kleinen Schulung bei der OdA G ZH durchf hren Wir erkl rten der Leiterin die Applikation und sie bediente diese zugleich Dabei konnten wir Ihr ber die Schulter schauen und analysieren wie sie die Applikation bedient und auf was wir noch achten m ssen 8 2 Testpersonen Als Testperson nehmen einerseits die Leiterin und andererseits die ausgew hlten Studenten teil Die Testpersonen sollen m glichst unbelastet und neutral sein Das bedeutet dass diese keine Konkurrenzprodukte zuvor getestet haben oder zu den Entwicklern von TeachEval geh ren Bei den Testpersonen nehmen wir an dass es sich mehrheitlich um Studenten im Bereich Medizin handelt 8 3 Durchf hrung Der Usability Test wurde w hrend eines
72. Clients erforderte Deshalb wollten wir die Webapplikation mit einer guten Mischung aus Server und Clientteil entwickeln und so entschieden wir uns f r Jersey und f r AngularJS Dieser Entscheid erwies sich als erfolgsversprechend Wir konnten eine gute Webapplikation entwickeln welche f r die Bed rfnisse des Kunden zugeschnitten ist 4 1 1 Verlauf Zu Beginn des Projektes definierten wir unsere Verantwortungen und Aufgabenbereiche Da Dominique sich bereits fr h mit AngularJS auseinander gesetzt hatte bernahm ich den Backend Bereich und stellte die Ressourcen zum Client mit Jersey und die Verbindung zur Datenbank mit Hibernate zur Verf gung Dank unseres vierseitigen Fragebogens konnten wir bereits am ersten Treffen mit unserer Auftraggeberin wichtige Informationen sammeln wie der Stand des momentanen Workflows ist welche Technologien im Einsatz sind und welche W nsche sie unbedingt realisiert haben m chte Einer ihrer W nsche war z B der Export als Excel mit Rohdaten und Diagrammen was wir sp ter mit Apache POI und mit VBA Makro realisierten An diesem Treffen haben wir auch erfahren dass eine erste Version bereits anfangs Mai produktiv an einem Kurs getestet werden muss Dadurch haben Dominique und ich zu Beginn viel Wert auf ein gutes Datenbankschema gelegt Danach wurde Hibernate als die Persistence Schicht Jersey f r die REST Schicht und Service als die Zwischenschicht mit Apache POI entwickelt Ab diesem Standpunkt konnten die
73. Daten nicht f r die Weiterverarbeitung ben tigt werden Diese Funktion k nnte zus tzlich angeboten werden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 10 von 167 Inhaltsverzeichnis A A A 6 Management Summary MAS occsiiociomosionosaonionnononcinorasni nncnaninencnsniennnnnninon an nnrnnn name ids ensure sehe 7 Technischer Bericht TEB ccmnionoinosiconinnocinionasiccniannconiannsidnn inn cdniasasc no ER EEEES ENEE en en Hohen ha nan en NEESEN 16 Schlussbericht Tel een nen en ie ee 35 Glossar GLO ME Quellenverzeichnis QUU iiocioniicicnariccccniarcicaaca rociar ci ias 43 Anhang BEPPEPPRRPPREPPPREEFEFPERTEFELEUBERFEFFUSELEEFEUEFEEELFUSTEERLEOPEFFELFUSTTEREEUETEEELEUSTEEEERUBEFFEPFUSETEELFUETTEELFUSTELPLEURLEFTRR 46 Projektplan PMP 4 4 40s 422a0s 05s 640000 0800200004000 nahen nn ER aha a ah ner HHun naeh rennen 47 Anforderungsspezifikation SAS uss0000000000000nn0nsnnnnnnnnnnonnunsnnnnnnnnnsnnsnnnnsnnnnnnnnnennansnunnnnnen 64 User Interface Uli RR 82 Software Architektur Dokument SDD 2 2s2sesn0nsnnnunnnnnsonnunsnnnnnnnnnsnnsnnnnsnunnnnnnnnonnansnunnnnnen 91 Software Qualit tsmanagement SQM essersnn0n2nun0nnnnnnonnonsnunnnnnnnnonnansnunnnnnnnnonnansnsnnnnnnnnen 124 Projektauswertung PAU 4 4 s 44 40 2040580s 58000203 00H0 500 sr eren anna hnnH SEA EEEEEEEEERER KSE EE EEREEERAE ENEE EEN 162 Benjamin Kehl und Dominique Sorg 13
74. Die Fragen sind spezifisch auf den Dozent gerichtet Wenn der Dozent seine Befragung abgeschlossen hat kann er die Umfrage abschliessen und die Ergebnisse der Studenten einsehen Eine abgeschlossene Umfrage kann aber nicht wiederer ffnet werden Supervisor in Der Supervisor f llt wie der Dozent und die Studierenden eine Umfrage aus Die Fragen k nnen anders gestellt sein als beim Dozent oder Student Im Gegensatz zu den Studenten und dem Dozenten erh lt der Supervisor bis zu 2 Wochen Zeit um die Fragen auszuf llen jedoch erh lt er keinen Einblick in die Auswertungen Student in Der Student bzw Teilnehmer f llt die Umfrage am Ende des Kurses aus Er erh lt keinen Einblick in die Auswertungen Tabelle 16 Benutzer Charakteristik Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 67 von 167 Die Personen in den genannten Benutzerrollen stehen im Zentrum der Konzeption da sie diejenigen sind die letztendlich mit der Applikation arbeiten Die Webapplikation muss so aufgebaut sein so dass sie benutzerfreundlich siehe Kapitel Benutzerfreundlichkeit ist und dass die gew nschten Informationen so schnell wie m glich abgerufen werden k nnen Zudem soll die Befragung anonym und ber das Internet durchf hrbar sein 2 5 Benutzerfreundlichkeit Unter Benutzerfreundlichkeit wird die vom Nutzer erlebte Nutzungsqualit t bei der Interaktion mit der TeachEval Webapplikation verstanden Eine einfache zum Nutzer und seinen
75. ES HSR DOH G ZH HOCHSCHULE F R TECHNIK ORGANISATION DER ARBEITSWELT E El RAPPERSWIL GESUNDHEIT Z RICH FHO Fachhochschule Ostschweiz TeachEval Web App f r die Unterrichtsevaluation Bachelorarbeit Abteilung Informatik Hochschule f r Technik Rapperswil Fr hjahrssemester 2014 Autor en Dominique Sorg Benjamin Kehl Betreuer Prof Dr Eduard Glatz Projektpartner OdAG Z rich Experte Roberto Pajetta Gegenleser Prof Dr Olaf Zimmermann Diese Seite wurde absichtlich leer gelassen a wem HOCHSCHULE F R TECHNIK RAPPERSWIL E E INFORMATIK Aufgabenstellung zur Bachelorarbeit FS 2014 TeachEval Web App f r die Unterrichtsevaluation 1 Gruppe Benjamin Kehl Dominique Sorg Ausgangssituation Die OdA G Z rich http www oda g zh ch ist der Branchenverband f r Berufsbildung im Gesundheitswesen des Kantons Z rich Die OdA G f hrt unter anderem Kurse im Lernbereich Training amp Transfer LTT Praxis durch die systematisch sowohl von den Lernenden und Dozierenden wie auch deren Supervisoren evaluiert werden Zurzeit erfolgen diese Evaluationen mit Hilfe von gedruckten Formularen die in manueller Arbeit aufwendig ausgewertet werden m ssen Aufgabe Ihre Aufgabe besteht darin eine Webapplikation zu entwickeln die sowohl die Befragung als auch deren Auswertung automatisiert Das Beantworten der Frageb gen soll mit Hilfe eines Web Browsers m glich sein der eine entspreche
76. Es konnte nicht hinzugef gt bearbeitet oder gel scht werden da die ben tigten Angaben nicht korrekt oder nicht vorhanden sind gt Eine Fehlermeldung wird dem Benutzer aufmerksam machen gt Benutzer muss die Angaben im Excel File oder auf TeachEval berpr fen 3b Es konnte nicht bearbeitet oder gel scht werden da das ICS gar nicht existiert gt Die Seite muss neu geladen werden H ufigkeit des Auftretens Tabelle 30 UC Fully Dressed Umfrage CRUD UC 06 Excel Template importieren Umfang TeachEval Applikation Ebene Anwendung Datenbank Prim rer Aktor Leiter Vorbedingungen Der Leiter ist angemeldet Nach jedem Hinzuf gen Bearbeiten oder L schen von Umfragen Es werden nur Excel Files unterst tzt xls oder xlsx Nachbedingung Hauptszenario User 1 Systemverantwortlickeiten Benjamin Kehl und Dominique Sorg Aktoren Aktionen Ein vorgegebenes Excel Template wurde verwendet Die Daten aus dem Excel Template werden herausgelesen und in die Datenbank gespeichert Systemverantwortlichkeiten 2 Die Excel Datei wird auf dem Server hochgeladen Der Inhalt der Datei wird herausgelesen und als Entit ten dargestellt 4 Die Entit ten werden in die Datenbank gespeichert Der Leiter w hlt die Datei f r den Importvorgang aus und best tigt diese 3 13 06 2014 Bachelorarbeit FS14 Seite 76 von 167 5 Tokens werden generiert UC 03 und in die hochgeladene Excel Datei gespe
77. Excel Datei die Diagramme und Korrelationen zu den vorhandenen Rohdaten Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 9 von 167 Ergebnisse Als Ergebnis entstand eine Webapplikation namens TeachEval die sich vor allem darauf konzentriert die Qualit t der angebotenen Kurse der OdA G ZH sicherzustellen Der momentane Workflow f r die Befragung und deren Auswertung wurde in die Applikation integriert und automatisiert TeachEval startet automatisch die Umfrage und sendet E Mails an die Teilnehmer Der Leiter in erstellt Umfrage Studierende Dozierende und oder Supervisore Dozent in n erhalten E as beendet Mail mit Umfrage Umfragelink Auswertung en k nnen betrachtet Leiter in Sie f llen Umfrage auf und ladet sie auf TeachEval hoch und exportiert werden Abbildung 2 SOLL Situation Durch die starke Integration mit Microsoft Excel ist der Leiter oder die Leiterin in der Lage alle Angaben in der Excel Datei abzulegen um anschliessend die Umfrage auf TeachEval hochzuladen bzw hinzuzuf gen Dies hat den Vorteil dass die verwendete Excel Datei f r andere Umfragen wiederverwendet werden kann Die Teilnahme an einer Umfrage ist mit Hilfe eines Web Browser m glich die sowohl von PCs Tablets als auch von Smartphones durchgef hrt werden k nnen Aus den Befragungen k nnen ansprechende Auswertungen in Form von Diagrammen realisiert werden und sind f r Dozenten innen und
78. L Fragetypen weiterverwenden Der Excel Export erm glicht die automatisierte Berechnung und Generierung von Diagrammen die weiterverwendet werden k nnen Es k nnen Korrelationen auf zwei ausgew hlten Fragen erstellt und als Excel exportiert werden Der Einsatz von TeachEval ist aus finanzieller Hinsicht tragbar 4 Chancen amp Gefahren Nebst vielen Vorteilen bzw Chancen eines Umfrage Tools beherbergen diese auch Risiken Wir unterscheiden zwischen den technischen Applikation bezogenen Risiken die wir in einem separaten Dokument f hren und den Risiken die das Benutzerverhalten beeintr chtigen k nnen Die folgende Abbildung soll die Chancen und Gefahren die f r die OdA G ZH auftreten k nnen aufzeigen Kosten Arbeitsaufwand wird durch die Automatisierung reduziert Umfragen werden schneller ausgef llt Die Applikation kann von nicht IT Personen bedient werden Applikation ist ausbaubar und f r die Auftraggeberin zugeschnitten Fokus Befragung amp Auswertung konzentriert sich auf das Wesentliche Zeitunabh ngige Befragungsm glichkeit Tabelle 3 Chancen Gefahren von TeachEval 5 Vorgehensweise Als Arbeitsprozess wurde RUP gew hlt Der Grund weshalb wir dieses Vorgehensmodell gew hlt haben liegt an den bereits erfolgreich gesammelten Erfahrungen in der Studienarbeit und im SE2 Projekt Ausserdem k nnen mittels RUP die Aufteilungen der Arbeit in einzelne Phasen und Iterationen mit Meilensteinen defini
79. Leiter innen zug nglich Die Auswertung kann f r die Weiterverwendung im Excel heruntergeladen und bearbeitet werden Zudem k nnen die Antworten von zwei beliebigen Fragen miteinander korreliert und exportiert werden TeachEval wurde bereits Anfang Mai 2014 von der OdA G Z rich produktiv eingesetzt Ausblick Durch unser Engagement und Motivation konnten wir eine qualitativ hochwertige Webapplikation entwickeln welche den Bed rfnissen der OdA G Z rich entspricht Das Projekt kann durch weitere Funktionen erweitert und optimiert werden Die weiterf hrenden Ideen m chten wir in diesem Kapitel erl utern Umfrage verwalten Das Verwalten von Umfragen wird in der aktuellen Version nicht unterst tzt Eine nachtr gliche Bearbeitung einer Umfrage w re aufgrund eines Benutzerfehlers eine hilfreiche Funktion wenn z B ein Teilnehmer vergessen wurde So k nnte man diesen nachtr glich zur Umfrage hinzuf gen Umfrage Titel eindeutig W hrend der Entwicklung haben wir uns darauf geeinigt dass wir die Umfragen nicht l schen sondern sie als archiviert setzen Dadurch muss der Titel der Umfrage eindeutig sein da sonst in der Liste mehrere Umfragen mit gleichem Titel erscheinen w rde Das ist aber nicht immer w nschenswert Momentan erh lt die Umfrage von der Leiterin den Namenszusatz FS lt Jahr gt oder HS lt Jahr gt und die Anzahl Semester Export als PDF Eine Auswertung als PDF Variante f r den Druck w rde sich gut eignen wenn die
80. Objekten zu Datenbankeintr gen vereinfacht JQuery ist eine freie JavaScript Bibliothek JUnit ist ein Framework zum automatisierten Testen von Java Anwendungen Steht f r Keep it Simple und ist ein Prinzip in der Programmierung das besagt man solle seine L sung so einfach wie m glich umsetzen In der logischen Architektur werden Modelle Klassen oder Abh ngigkeiten innerhalb eines Systems beschrieben Synonym f r nderungen Steht f r Model View Controller und ist ein Pattern welches f r die Strukturierung der Software Entwicklung weit verbreitet ist Das MVC unterteilt die Software in die drei Einheiten Model View und Controller Organisation der Arbeitswelt Gesundheit Organisation der Arbeitswelt Gesundheit des Kantons Z rich Persistenz ist der Fachbegriff f r das Verwalten von Daten in einer Software Daf r werden die Daten in einem nichtfl chtigem Speichermedium bzw Datenbank gesichert In der Physischen Architektur werden die Komponenten Hardware oder Netze beschrieben Postgres ist eine popul re Open Source Datenbank Auf dem produktiven Server l uft eine stabile Version der Applikation Diese muss eine hohe Verf gbarkeit und Zuverl ssigkeit sicherstellen Redmine ist ein Projektmanagement Tool f r die Planung und Zeiterfassung von IT Projekte Unter dem Begriff Responsive Webdesign versteht man einen gestalterischen und technischen Vorgang f r die Erstellung von Webseiten Dabei reagiert es auf Eigensch
81. Produces MediaType APPLICATION_JSON charset utf 8 public Response getParticipants if securityContext isUserInRole Roles LEITER toString Code return Response status Status UNAUTHORIZED cacheControl cc build Abbildung 58 SecurityContext sUserInRole Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 114 von 167 6 2 6 Wichtige Abl ufe 6 2 6 1 Login REST API www teacheval ch rest auth login H H AuthenticationRest AuthenticationService InstructorQuery Client Actor i 1 login email password database Actor alt is login suctessful P isLoginSucessful email password alt 2 1 getAuthenticatedUser emial password gt 2 1 1 perform query is user authentificatable ar lt user K T alt user null T IN 2 3 true 2 2 addToken I 3 new Response Status OK is login failed e Response Status UNAUTHORIZED Abbildung 59 Ablauf Login Um die kritischeren Funktionalit ten wie die Verwaltung von Benutzer und Umfragen zu sch tzen ist es zwingend sich an der Webapplikation anzumelden Der Client meldet sich mit Email und Passwort an Nach der Best tigung bergibt der Client die Emailadresse und das Passwort als Hash an die Ressource rest auth login Die Kl
82. QueryTest 13 221 s a EC ch odag teacheval hibernate SurveyQueryTest 4 157 s dEl testStopSurvey 0 239 s dE testCreateObject 0 282 s testGetObjectByld 0 264 s testGetObjects 0 286 s dEl testGetinstructorsBySurveyld 0 301 5 dEl testGetActiveSurveys 0 283 s El testSaveAnswers 0 038 s testGetCreatorsBySurveyld 0 298 s EE testGetActiveSurveyBy TokenWithNullResult 0 057 s dEl testGetObjectByName 0 259 5 dEl testGetParticipantsBySurveyld 0 319 s dE testUpdateObject 0 315 s E testGetSurveyQuestionsBy Token 0 075 d testDeleteObject 0 316 5 El testGetActiveSurveyByld 0 253 s dEl testGetinactiveSurveyByld 0 281 s testStartSurvey 0 285 5 ER ch odag teacheval hibernate UserQueryTest 2 999 5 E ch odag tescheval hibernate AnswerQuery Test 1 286 s F ch odag teacheval hibernate CourseQueryTest 0 362 5 il ch odag teacheval hibernate ParticipantQueryTest 1 613 s E ch odag teacheval hibernate PossibleAnswerQueryTest 1 212 5 Hi ch odag teacheval hibernate QuestionQueryTest 1 270 s hi ch odag teacheval hibernate RoleQueryTest 0 322 5 Abbildung 73 Alle Tests bis Service Schicht 21 04 2014 at ch odagteacheval hibernate AbstractSurveyQuery getActiveSurveyBy Token AbstractSurveyQueryava 127 at ch odagteacheval hibernate Survey Query Test testGetSurveyQuestionsByToken SurveyQueryTest java 252 Insgesamt wurden 178 Tests erstellt und ausgef hrt wobei ein Test fehlschlug n
83. Studenten die Umfrage ber ein Smartphone ausf llen Dies bedeutet dass grosse Bereiche der mobilen Ger te unterst tzt werden m ssen Dies m sste laufend weitergef hrt werden weil wir w hrend dieser Arbeit nicht alle Ger te abdecken k nnen Zudem k nnten die JavaScript Dateien w hrend der bertragung komprimiert werden um die Performance zu verbessern Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 159 von 167 Insgesamt entstand eine Webapplikation die ausgiebig getestet wurde Aus Zeitgr nden konnten nicht alle Bereiche endg ltig ausgebaut werden Zudem lieferten wir der Leiterin der OdA G ZH jederzeit Support falls Probleme auftauchten Die Webapplikation l uft stabil und stellt der OdA G ZH ein praktisches Tool f r ihre Qualit tssicherung dar Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 160 von 167 10 Abbildungsverzeichnis Abbildung 68 Test Frameworks 129 Abbildung 69 Package Struktur im Test Verzeichnis ocoooocococcnncnonononannnnnnncnonanonononnonncnnnanononnnnnnncnananonos 130 Abbildung 70 Service Schicht 28 ae ee ua 130 Abbildung 71 Test Runner AllT sts Java 132 Abbildung 72 St nd Aprilia Ra ee a 132 Abbildung 73 Alle Tests bis Service Schicht DIO4 2014 133 Abbildung 74 Test Coverage Stand 289 0413 133 Abbildung 75 Pollution Stand 21 04 20141 134 Abbildung 76 CC durch Switch Anwelsung 135 Abbildung 77 Reduzierung des CC Wertes mit IF S
84. Support von Placeholder in IE8 und IE9 Tabelle 37 Eingesetzte Libraries Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 100 von 167 5 Physische Architektur Die physische Architektur von TeachEval sieht vor dass der produktive Webserver HTTP Anfragen ber SSL TLS entgegennimmt Die Clients greifen mit ihrem PCs Tablets oder Smartphones auf den Webserver zu Die folgende Abbildung zeigt eine bersicht ber das Zusammenspiel der verschiedenen Komponenten TeachEval smtp Smartphone HTTPS EA e Postfix m Web Server Datenbank Tomcat Java Jersey PostgreSQL Tablet Abbildung 40 Physiche Architektur 5 1 Datenbank Die Datenbank ist f r die Speicherung und Archivierung der TeachEval Daten zust ndig Dabei wird die Open Source Plattform PostgreSQL 9 3 4 verwendet Als Schnittstelle zwischen Java EE und Datenbank kommt Hibernate zum Einsatz F r das Abspeichern und Holen von Daten wird ber SQL oder HQL SQL f r Hibernate durchgef hrt 5 2 E Mail Als E Mail Dienst wurde auf dem produktiven Server POSTFIX vorinstalliert Er wird f r die automatische Einladung der Teilnehmer zu einer Umfrage ben tigt Auf dem Testserver steht uns aus Sicherheits und Spamgr nden kein E Mail Dienst zur Verf gung da dieser die E Mails von und an nicht HSR E Mail Adressen blockiert Daher muss der Absender und der Empf nger eine HSR E Mailadresse haben um an der Firewall vorbeizukommen F r den p
85. Thomas Roy Fielding in seiner Dissertation Architectural Styles and the Design of Network based Software Architectures beschrieben ist Es benutzt Prinzipien die in grossen verteilten Anwendungen wie bspw im World Wide Web eingesetzt werden Ressourcen werden durch URIs Unique Ressource Identifier im Netzwerk eindeutig identifiziert Eine Ressource ist eine Informationsquelle die beispielsweise Text Bilder oder Dateien zur ckliefert Eine Ressource kann aber auch ein abstraktes Konstrukt sein das intern einen Workflow mit Operationen und Funktionen ausl st bspw das Versenden von E Mails Thomas Roy Fielding 2000 S 76 F r die TeachEval Applikation setzen wir eine REST API ein die es den Benutzern erlaubt ihre ben tigten Informationen anzufordern und diese in einer leserlichen Form auf der Webseite angezeigt zu bekommen Vorausgesetzt die Benutzer sind dazu berechtigt 3 1 Richardson Maturity Model Das Richardson Maturity Model beschreibt den Reifegrad der REST Schnittstelle Die REST API wird dabei in vier Stufen unterschieden Level 0 POX e Verwendet XML RPC oder SOAP e Der Service wird ber eine einzelne URI adressiert REST 2014 e Verwendet eine einzelne HTTP Methode POST Level 1 Resources e Verwendet verschiedene URIs und Ressourcen e Verwendet eine einzelne HTTP Methode POST Level 2 HTTP Verbs e Verwendet verschiedene URIs und Ressourcen e Verwendet mehrere HTTP Verben wie bspw GET POST PUT DELETE
86. Tool 51 Umfragevorlagen 15 Fragetypen mit Unternehmenslogo Validieren anfordern von Umfragebeantwortun gen keine druckreife PDF Version Senden Ihrer Umfrage per Weblink E Mail oder Twitter Senden der Umfrage mit einem E Mail Manager Erweiterte Sicherheit SSL Herunterladen von Beantwortungen Benjamin Kehl und Dominique Sorg Gold Unbegrenzte Fragen Unbegrenzte Beantwortungen Benutzerfreundliches webbasiertes Tool 51 Umfragevorlagen 15 Fragetypen mit Unternehmenslogo Validieren anfordern von Umfragebeantwortun gen keine druckreife PDF Version Senden Ihrer Umfrage per Weblink E Mail oder Twitter Senden der Umfrage mit einem E Mail Manager Erweiterte Sicherheit SSL Herunterladen von Beantwortungen Platinum Unbegrenzte Fragen Unbegrenzte Beantwortungen Benutzerfreundliches webbasiertes Tool 51 Umfragevorlagen 15 Fragetypen mit Unternehmenslogo Validieren anfordern von Umfragebeantwortun gen keine druckreife PDF Version Senden Ihrer Umfrage per Weblink E Mail oder Twitter Senden der Umfrage mit einem E Mail Manager Erweiterte Sicherheit SSL Herunterladen von Beantwortungen 13 06 2014 Bachelorarbeit FS14 Seite 20 von 167 EERI Plus Gold Platinum Es k nnen keine Erstellen amp Erstellen amp Erstellen amp benutzerdefinierten Herunterladen von Herunterladen von Herunterladen von Diagramme erstellt amp benutzerdefinierten benutzerdefinier
87. achEval Applikation Anwendung Sicherheit Leiter Leiter muss angemeldet sein Aktoren Aktionen 1 3 3 Benjamin Kehl und Dominique Sorg Der Leiter geht zur Benutzerverwaltung Er kann die Benutzerliste begutachten oder weitere Benutzer ber eine Excel Datei hinzuf gen Ein Benutzer macht eine l ngere Pause und soll deaktiviert werden Der Leiter kann den Hebel aktiv auf inaktiv setzen Ein anderer Benutzer weiss sein Passwort nicht mehr Somit kann der Leiter dem Benutzer ein neues Passwort setzen Ein weiterer Benutzer wird nicht mehr Kurse unterrichten Der Benutzer kann aus der Liste gel scht werden Seite 78 von 167 Systemverantwortlichkeiten 2 4 10 Eine Liste aller Benutzer wie Leiter und Dozenten erscheint Beim Hinzuf gen wird die Excel Datei importiert und nicht existierende Benutzer hinzugef gt Der Benutzer wird ber eine POST Request in der Datenbank ge ndert Passw rter werden gehasht und verglichen Bei bereinstimmung wird das neue Passwort in die DB gespeichert Der Benutzer wird als Instruktor in der Datenbank entfernt und wird von der Liste gestrichen Die Benutzerliste wird nicht angezeigt oder aktualisiert gt Problemen in der DB Abfrage Daten werden im Cache gespeichert keine Aktualisierung mehr m glich Falsche Angaben im Excel Importvorgang wird abgebrochen gt Zuerst alle Angaben berpr fen dann in die DB speichern
88. achelorarbeit FS14 4 2 2 2 Erreichte Test Coverage AllTests Jun 2 2014 4 25 34 PM Seite 137 von 167 A Elem sr main java b EB ch odag teacheval persistence connection EH ch odag teacheval persistence entity b ch odag teacheval persistence query b ch odag teacheval rest b ch odag teacheval service b EB ch odag teacheval service authentication ch odag teacheval service comparator EH ch odag teacheval service cron b EH ch odag teacheval service debug EH ch odag teacheval servicefile exports correlation b EB ch odag teacheval service file exports evaluation EB ch odag teacheval service file exports survey ch odag teacheval servicefile imports gt HB ch odag teacheval service mail gt Y ch odag teacheval service token ES src test java Abbildung 80 Erreichte Test Coverage 01 06 2014 Coverage Covered Instructio EZ 670 BEE 571 82 9 64 2 68 4 0 0 52 5 72 2 100 0 0 0 0 0 88 1 92 0 100 0 61 3 55 5 738 89 1 18 705 11 001 29 1 283 1 960 0 2 965 351 9 0 0 407 1 278 328 2 154 96 141 7 704 Missed Instructions 9 197 8 250 6 714 907 1 969 2 681 135 108 75 111 1 362 947 Total Instructions 27 902 19 251 35 1 997 2 867 1 969 5 646 486 9 108 75 462 1 389 328 3 516 173 191 8 651 Trotz mehr Unit Tests konnte die Test berdeckung nicht markant erh ht we
89. aften des jeweils benutzten Endger ts Der Aufbau der Webseite basiert dann auf den Anforderungen des jeweiligen Ger tes wie Mobile Tablet PC etc Dies betrifft vor allem Elemente wie die Navigation Aufteilung von Seitenspalten und Text wie Anreihungen von Bildern Responsive Webdesign kann mit den Webstandards HTML5 CSS3 und JavaScript realisiert werden Ausserdem gibt es auch diverse Frameworks wie beispielsweise Bootstrap von Twitter die diesem Prinzip nachgehen REST steht f r Representational State Transfer Es bezeichnet einen Programmierstil und Software Architekturstil f r Webanwendungen Im Grunde bezeichnet REST die Idee dass eine URL genau einen Seiteninhalt als Ergebnis einer serverseitigen Aktion darstellt Im HTTP werden die Operationen GET POST PUT DELETE verwendet RESTful wird verwendet um Web Services nach der REST Architektur zu realisieren Abk rzung f r Rational Unified Process RUP ist ein Vorgehensmodell in der Softwareentwicklung Eine serverseitige Anwendung wird auf dem Server ausgef hrt und die Ergebnisse dem Client zugestellt Das Gegenst ck eines Servers ist der Client Bei Web Anwendungen sind es vor allem Sprachen wie PHP Ruby Java C die serverseitig zum Einsatz kommen Als Single page Web Application SPA oder Einzelseiten Webanwendung wird eine Website bezeichnet die aus einem einzigen HTML Dokument besteht und deren Inhalte dynamisch nachgeladen werden Diese Art von Website Design 13 06
90. am Dienstag den 18 02 2014 und endet mit der Abgabe der Bachelorarbeit am Freitag den 13 06 2014 Pro Teammitglied muss mindestens 360 Arbeitsstunden im Sinne der BA investiert werden Daraus rechnen wir mit einem Arbeitsaufwand von 21 2 Stunden 12 ECTS 30 h 17 Wochen pro Teammitglied und pro Woche Wir gehen von einer maximalen Obergrenze an Arbeitsstunden von 20 aus das heisst zus tzliche 144 Stunden Sollte der Projektumfang bis Abgabe schneller als geplant fertiggestellt werden so kann die Applikation durch optionale Funktionen erg nzt werden 4 2 Zeitliche Planung Unsere Bachelorarbeit besteht aus 9 Meilensteinen die zwingend einzuhalten sind Zus tzlich werden wir w chentlich mit unserem Betreuer ein Meeting f hren Mit der Auftraggeberin f hren wir nach Bedarf jede zweite Woche ein Meeting Die Reviews werden immer nach Ende des letzten Meilensteins gef hrt Falls wir als Team fr hzeitig schon realisieren das wir ein Meilenstein nicht einhalten k nnen dann m ssen wir die Arbeit mit Priorit ten abstrahieren Die nicht realisierten Aufgaben werden entweder im n chsten Meilenstein oder in der geplanten Zeitreserve nachgeliefert Falls ein Meilenstein gar nicht eingehalten werden kann muss unmittelbar nach Erkenntnis Kontakt mit unserem Betreuer oder Auftraggeberin aufgenommen werden Die Meilensteine werden in Redmine als Versionen abgebildet und die groben Arbeitspakete als Tickets angegeben Redmine bietet zus
91. arJS AngularJS ist ein modernes clientseitiges MVC Model View Controller Framework das auf JavaScript und JQuery basiert Es l uft daher in einem Webbrowser und hilft uns bei der Entwicklung von dynamischen Single Page Apps die mit AJAX Aufrufe die Daten vom Server holt Die folgende Abbildung beschreibt die Funktionsweise von Angular Entwicklertagebuch AngularJS Structure 2014 Route Factories Services Directives Abbildung 42 AngularJS Architektur Entwicklertagebuch AngularJS Structure 2014 Module Ein Modul ist ein Container f r die unterschiedlichen Bereiche der Web App wie bspw controllers services filters directives etc Configuration Die Module sind in unterschiedlichsten Arten konfigurierbar Wir haben f r unsere App einen Debug Mode der automatisch Logs auf der Konsole ausgibt oder diese vor dem Benutzer verbirgt Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 103 von 167 Route Die Seiten Navigation ist als Route konfiguriert Es werden jeweils die Webseite der dazugeh rende Controller und die Autorisierung angegeben Auf der Client Seite dient die Autorisierung nur f r die Anzeige der richtigen Seiten f r die richtigen Benutzer F r einen Angreifer kann dies leicht umgangen werden Damit aber die Webseite dem Besucher auch einen Mehrwert bringt m ssen die Daten vom Server beantragt werden Diese sind durch einen Token serverseitig gesch tzt
92. arbeit FS14 Seite 80 von 167 4 6 Ubertragbarkeit TeachEval soll betriebssystemunabh ngig betrieben werden k nnen Dabei ist die bertragung der Applikation auf andere Web Server durchaus m glich Ein Installationshandbuch soll dem Administrator beim Einrichten der Applikation behilflich sein 4 7 Schnittstellen 4 7 1 Benutzerschnittstelle Die Schnittstelle zwischen dem Benutzer und den Daten ist das grafische Web Frontend welches auf HTML CSS JavaScript JQuery etc basiert ber das Frontend kann der Benutzer seine Anpassungen und Aktionen in Form eines Excel Sheets hinaufladen Umfragen und Auswertungen k nnen ber das Frontend direkt angesprochen und bedient werden 4 7 2 Hardwareschnittstelle Die Datenbank und die Webapplikation werden auf demselben Web Server in Betrieb genommen 4 7 3 Softwareschnittstelle Es bestehen keine externen Schnittstellen Alle externen Libraries werden lokal in unser Webprojekt hinzugef gt Damit stellen wir sicher dass wir nicht abh ngig sind von Drittanbietern bzw Drittkomponenten Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 81 von 167 5 Abbildungsverzeichnis Abbildung 27 Use Case Diagramm f r OdA G H 70 6 Tabellenverzeichnis Tabelle 16 Benutzer Charakteristik Reken a 66 Tabelle EA RR E La EE 68 Tabelle 18 UC Brief An Abmelden oooooccccnncnonononononoconocananonononoconnnnnnno nono ncnrnnnnnnnn nn nn nn ar onannnnn nn nn nrcncnannnnes 7
93. asse AuthenticationRest ist verantwortlich f r die Ressource und bergibt die Informationen mittels der Methode sLoginSuccessful weiter an den AuthenticationService Dieser erstellt eine Session zur Datenbank und ruft ber die InstructorQuery die Methode getAuthenticatedUser auf welche eine Abfrage in der Datenbank erstellt und die Emailadresse und Passwort abgleicht Falls der Benutzer existiert antwortet der Server mit dem Response Status OK ansonsten mit Status UNAUTHORIZED Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 6 2 6 2 Berechtigungs berpr fung REST API https www teacheval ch rest survey all H H Seite 115 von 167 Client Actor database Actor 1 getAllSurveys 1 lt 2 S 1 1 isUserlnRole Leiter is Leiter e gt SSES ail 1 2 getShrveys gt 2 tObject 121 getObjects0 sl 1211 from gue result VK List lt gt results _ _ E List lt gt tesults q new Response Status OK results e I L AAA 2 T is not Leiter nen Responze Status UNAUTHORIZED v H 1 i H Abbildung 60 Rollenpr fung auf Ressourcen Um unerlaubten Zugriff auf bestimmte Ressourcen zu vermeiden werden in jede nicht ffentliche Ressourcen nach der Rolle berpr ft Diese Rollen sind die Leiter und Dozenten Wenn der Client auf die Ressource rest surve
94. axis W wurde waert f Ze gt Ein Bezug zur FEI perufli mirag student m f r die En entwicklung meine ne sent uren d morbidit t 2 Sem e unterst tzend 10 rolle wur insg vergi vest y ve urr praxis Tagua Ein Bezug zur 8 D R Frage hs d Zeg 10 DK zu 12 imene 2 13 0 90508776 5 inde der nahe von Trifft eher ZU swanl sem y ES2014 081918285 ger Nahe von Deeg 2 0 9375 xM ymliegt in umfrage g A aai mass Y 92075 YI a student E s a KE Rolle t MM en mt unter i a TT Prais TaS ag war ins insgesa 19 oder 100 E 4 Der LL TT oder 0 Frage ais RT gg oder 100 Software Qualit tsmanagement SQM Autor en Dominique Sorg Benjamin Kehl Betreuer Prof Dr Eduard Glatz Projektpartner OdAG Z rich Experte Roberto Pajetta Gegenleser Prof Dr Olaf Zimmermann Bachelorarbeit FS14 Seite 125 von 167 1 Zweck Dieses Dokument gilt als Grundlage f r die einzelnen Testdurchf hrungen und zeigt auf welche Arten von Tests ausgef hrt wurden 2 Einf hrung F r die Webapplikation TeachEval wurden Systemtests Kompatibilit tstests Usability Tests und Unit Tests gemacht um den Einsatz der Use Cases zu berpr fen und deren Qualit t zu messen Diese Tests erstrecken sich vom Backend bis zum Frontend Im Backend wurde vor allem mit JUnit4 und dem Jersey Test Framework getestet damit die REST Schnittstellen auch die Daten liefern die verlangt werden Im Frontend wurden eher Usability Test
95. bersicht TeachEval Die Webapplikation TeachEval wird im Verlaufe dieser Dokumentation als physische und logische Architektur beschrieben Die physische Architektur beschreibt das Zusammenspiel zwischen Client und Server w hrend die logische Architektur das Projekt TeachEval in Frontend und Backend beschreibt Das Projekt TeachEval wurde auf dem Server eingerichtet siehe Abbildung 36 Die logische Architektur wird im Kapitel 6 n her eingegangen In den folgenden Abschnitten werden die einzelnen physischen Schichten genauer beschrieben 2 1 Client Der Client greift mit seinem Webbrowser auf die TeachEval Webapplikation zu Damit der Client die Benutzeroberfl che angezeigt bekommt wird diese beim Frontend welches auf dem Server liegt angefragt und bermittelt Anschliessend kann der Client Interaktionen ber die Benutzeroberfl che t tigen Seine Modifikationen werden anschliessend an das Backend welches sich ebenfalls auf dem Server befindet bertragen Damit die Darstellung der Web App beim Client erfolgreich sein kann ben tigt dieser einen Webbrowser mit der Unterst tzung von HTML 5 CSS 3 und JavaScript Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 94 von 167 2 2 Server W hrend der Entwicklung von TeachEval l uft die Applikation auf einem von der HSR zur Verf gung gestellten virtuellen Testserver welcher mit Java Apache Tomcat 7 und PostgreSQL aufger stet wurde Tomcat 7 ist der Web Contain
96. ch neue Technologien und neue Umsetzungskonzepte im Webbereich kennen Eine Webapplikation zu entwickeln die anschliessend auch produktiv eingesetzt wird motiviert mich sehr Aufgabenbereich Frontend AngularJS Bootstrap Charts Layout Design Login o Backend User Authentication amp Authorization Rest Apache POI Verantwortlichkeiten Koordination des Projektes Zeitmanagement Planung des Projektes wie Arbeitspakete Zeitplan Tabelle 5 Teammitglied Dominique Sorg 3 3 Externe Schnittstellen W hrend unserem Projekt sind nur Eduard Glatz und Brigitte Keller als externe Personen involviert Da Brigitte Keller unsere Auftraggeberin ist kann Sie uns helfen Usability Tests mit Mitarbeiter durchzuf hren von denen wir uns Feedback erhoffen Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 53 von 167 4 Management Abl ufe In der Grobplanung wurden zuerst die Meilensteine definiert und in einem weiteren Schritt in unser Projektmanagement Tool namens Redmine erfasst Die Grobplanung leitet sich von den Bed rfnissen und Priorit ten der OdA G ZH siehe Anforderungsspezifikation ab die von Eduard Glatz und Brigitte Keller repr sentiert werden In der Feinplanung wurden Arbeitspakete zu den jeweiligen Meilensteinen erfasst und an den jeweiligen Teammitgliedern zugeteilt 4 1 Kostenvoranschlag F r die Bachelorarbeit sind 17 Wochen geplant Sie beginnt mit dem Kickoff Meeting
97. cht Y S z 3 1 2 Umfrage CRUD Subtasks Fehler Unsch nheiten Verbesserungen Status Hinzuf gen siehe UC Excel Template importieren Bearbeiten Bis jetzt k nnen Umfrage gestartet und beendet werden Y Nachtr gliches Bearbeiten von Teilnehmer und Fragen k nnte eine w nschenswerte Erweiterung sein L schen Wird in der Datenbank auf ARCHIVIERT gesetzt Y Ansehen siehe UC Export als ye Excel Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 127 von 167 3 1 3 Token generieren Beim Neustart von Apache Tomcat sind alle Tokens weg Benutzer muss sich neu einloggen Subtasks Fehler Unsch nheiten Verbesserungen Status Benutzer mit Email und Passwort Y aus der DB wird gefunden Session Token mit 14 Zeichen Y wird zuf llig generieren Session Tokens wird aufbewahrt Y 3 1 4 Token exportieren Fehler Unsch nheiten Verbesserungen Status Umfrage Token mit 14 Zeichen Y zuf llig generieren Umfrage Token als Excel Y exportieren 3 1 5 Token per Mail versenden Subtasks Fehler Unsch nheiten Verbesserungen Su E Mail wird erfasst Teilnehmer mit Token in Mail wird hinzugef gt E Mail wird versandt Ein Teilnehmer mit ung ltiger E Mail syntaktisch jedoch Y korrekt kann zu einer Fehlermeldung f hren Die restlichen Teilnehmer werden dann
98. den welche die Leiterin im Bereich LTT Praxis Pflege der OdA G ZH bei der Befragung und Auswertung unterst tzt W hrend einer Umfrage soll die Applikation unterschiedlichen Zielgruppen Student Dozent Supervisor unterschiedliche Fragen stellen k nnen Die Personen werden per E Mail oder durch die Verteilung von Tokens zu einer Umfrage eingeladen Neben der Leiterin d rfen auch Dozenten auf die Auswertungen zugreifen Dozenten sollten dies aber erst nach ihrer Teilnahme machen d rfen Schlussendlich muss der jetzige manuelle Workflow soweit wie m glich automatisiert werden damit der Aufwand f r die Beteiligten weniger wird Zudem soll bei der Umsetzung eine kundenahe L sung angeboten werden Instruktor O Teilnehmer exportiert erstellt betrachtet P Auswertung Umfrage Auswertung i Korrelation nimmt an Umfrage teil PostgreSQ SQL HQL nimmt an Umfrage teil nimmt an Umfrage teil y Fragen Antwortm glichkeiten Umfrage automatisch starten AA Umfrage automatisch beenden y E Mail automatisch o Teilnehmer versenden Abbildung 4 SOLL Workflow Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 19 von 167 3 Konkurrenz Produkte Umfragen sind ein effizientes Mittel um systematisch an Informationen ber Meinungen Wissen und Verhaltensweisen der Teilnehmer zu gelangen Denn diese liefern sehr oft die entscheidenden Informationen um auf die
99. den Log Dateien best tigen Da es sich bei den Testpersonen um Studenten im Bereich Medizin handelt testeten wir vor allem die Durchf hrung der Umfrage Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 158 von 167 Zudem wurde die Usability Test parallel zu einer weiteren Umfrage gestartet Die Teilnehmer waren bei beiden Umfragen dieselben Jedoch nahmen bei den Usability Tests nicht so viel Teilnehmer teil wie beim Ethik Kurs Titel Status v Teilgenommen Total Start Datum Usability Test Juni14 BE 04 06 2014 Ethik 2 Sem FS2014 BE 05 06 2014 Abbildung 115 Vergleich Teilnehmer Ethik und Usability Test Aus den Bewertungen konnte die vereinbarte Mindestprozentzahl von 60 erreicht werden damit die Applikation als benutzerfreundlich gilt Jedoch ist die Auswertung mit Vorsicht zu geniessen da sich bei den Testpersonen um eine geringe Anzahl von Studenten handelt Im Nachhinein h tten wir vielleicht bessere Fragen f r die Studierenden ausdenken k nnen um aussagekr ftigere Auswertungen zu erhalten Leider nahm die Leiterin der OdA G ZH trotz mehrerer Aufrufe erst zwei Tage vor Abgabe an den Usability Tests teil Daher reichte die Zeit nicht um das Feedback detailliert zu analysieren und die Problembereiche mit der Auftragsgeberin genauer zu besprechen geschweige davon noch Verbesserungen zu implementieren Das Feedback befindet sich im Anhang Aus dem Feedback ist ersichtlich dass die Leiterin erfolgreic
100. des Backend zu Stande Abbildung 117 Zeitauswertung Meilensteine Meilenstein 4 Da wir Hibernate und Jersey das erste Mal eingesetzt haben nahmen diese mehr Zeit in Anspruch als wir dachten Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 167 von 167 7 Abbildungsverzeichnis Abbildung 116 Zeitauswertung berblick 164 Abbildung 117 Zeitauswertung Meilensteine oococnnnoccccnononcconononcconanonccononon cnn nono nn cn nann nn cn nano nc cn naar anno 164 Abbildung 118 Zeitauswertung Team ooocococcccnononcconononcnnnononononononcnnnnno nn cn nnnn nn nn naar nn rn naar nn nr nnan nr rr naar arcas 165 Abbildung 119 Zeitauswertung Aktivit ten 166 Benjamin Kehl und Dominique Sorg 13 06 2014
101. diesen Use Case sp ter zu realisieren falls daf r Zeit vorhanden ist Tabelle 22 UC Brief Token per Mail versenden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 72 von 167 UC06 Excel Template importieren F r die Erstellung einer Umfrage werden die Fragen Titel Teilnehmer und weitere Kursdaten in einem Excel Template abgelegt Der Leiter kann diese Informationen f r seine neue Umfrage ausf llen und bei der Prozedur zur Erstellung einer neuen Umfrage importieren bzw hochladen Priorit t 1 Grund Geh rt zur Aufgabenstellung Tabelle 23 UC Brief Excel Template importieren UC07 Auswertungen ansehen Auswertungen von erstellten Umfragen d rfen f r die Benutzer Leiter und Dozenten eingesehen werden Dabei darf nur der Leiter alle Umfragen ob abgeschlossen oder nicht einsehen W hrend der Dozent nur die abgeschlossene Umfrage f r seinen Kurs einsehen darf Priorit t 1 Grund Geh rt zur Aufgabenstellung Tabelle 24 UC Brief Auswertungen ansehen UC08 Korrelation von Fragen Um einen m glichen Zusammenhang zwischen zwei Fragen zu finden soll f r angemeldete Benutzer eine Funktion f r die Korrelation bereitstehen Priorit t 1 Grund Geh rt zur Aufgabenstellung Tabelle 25 UC Brief Korrelation von Fragen UC 09 Export als Excel oder PDF Die Auswertungen m ssen mit ihren Diagrammen als Excel oder PDF exportierbar se
102. e 9 evaluationid P eeng A courseid A k surveyid D roleid A p t possibleanswer g GE U gt 2 possibleanswerid 4 P creatorid SE GEESS possibleanswer createdon d P courseid 4 P questiontypeid 4 position 9 userid A coursename questiontype p surveyid A coursedesc Generated using DbSchema Abbildung 65 Datenbankschema TeachEval Das Datenbankschema wurde mit DB Schema DBSchema Offizielle Webseite 2014 gezeichnet und l sst sich in die Bereiche Users und Survey unterteilen Wobei im Bereich Users insbesondere die Benutzerverwaltung und im Bereich Survey die Umfrageverwaltung stattfindet Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 120 von 167 8 1 User Bereich users participant Lei participantid token SO active D userid PO p surveyid Y Jemen r 0 O roleid a gt roleid rolename users A instructor u m LR 2O gt userid y instructorid 9 email password firstname active lastname archive O userid A O surveyid O roleid creator PO 2 creatorid createdon O userid O surveyid Abbildung 66 Bereich User Users Jeder Benutzer in TeachEval wird in der Tabelle Users mit Vorname Nachname und Email Adresse erfasst Participant Zus tzlich bekommt jeder Benutzer mindestens eine bestimmte Funktion zugewiesen Wenn der Benutzer nur an einer Umfrage teilnehmen m chte dann wird er als Teilnehmer Tabelle Participant erfas
103. e Fehlermeldung und wird dazu aufgefordert seine Angaben nochmals zu berpr fen Suche Umfrage Y Kurs Status Ke Bitte ausw hlen x F Bitte ausw hlen x Alles zur cksetzen Umfragen ID Titel Status X Teilgenommen Total Start Datum y End Datum Aktion 10 Infusionen 3 Sem FS2014 15 f 20 25 05 2014 13 06 2014 Do 7 Multimorbidit t 2 Sem FS2014 EJE 12 05 2014 14 05 2014 Seite 1 Anzahl Umfragen 2 Abbildung 16 bersicht aller Umfragen F r eine n Leiter in werden im Auswertungsteil alle Umfragen als Liste angezeigt Als Dozent in nur die Umfragen die er sie auch leitet Der Benutzer kann ber den Zwischenstand wie viele momentan Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 29 von 167 teilgenommen haben entscheiden ob er sie die laufende Umfrage beenden m chte um dann die Auswertungsdetails anzusehen Begleitung Von Menschen In Krisen FS14 xs Excel Export EE bersicht aht Auswertung A DN Pam E 14 19 Studenten Total Studenten Fragen 2 Korrelation Studenten teilgenommen Abbildung 17 bersicht der Auswertung Instruktoren Total Instruktoren teilgenommen Po po A 4 2 Instruktoren Supervisoren Total Supervisoren Fragen Fragen Supervisoren teilgenommen In den Auswertungsdetails soll die Anzahl Teilnahmen genauer aufgezeigt werden Als Export Optionen kann die komplette Auswertung mit Details als Excel heruntergeladen werden oder eine Korrelat
104. e Umfragedaten in das richtige Arbeitsblatt schreibt und am Ende als neue Datei speichert Der FileService holt die Datei vom ExportSurveyService und gibt die Datei an dem DownloadRest zur ck Dieser baut eine Response mit einem Attachment auf und gibt die Datei als Response an dem Client zur ck 6 2 7 Cache Control Der Cache ist eine wichtige Komponente des Webbrowsers um bereits geladene Ressourcen wie z B Bilder oder Text auf den Computer des Besuchers abzuspeichern Sobald eine Ressource wieder ben tigt wird dann ist der Inhalt ber den Cache schneller abrufbar Es traten jedoch Cache Probleme bei Internet Explorer 8 bis 10 auf die das automatische Aktualisieren der Tabellen bspw nach dem hochladen von Umfragen oder Benutzer verhindert Mit einem serverseitigen Cache Control wird im Header der Parameter no cache mitgeschickt Der Internet Explorer erkennt den Cache Controller Header und berspringt das Cachen der beantragten Ressource Aus diesem Grund wurde bei GET Abfragen der no cache Parameter mitgeschickt Der Cache Control wurde mit folgenden Code im REST initialisiert public UserRest this userService new UserService cc new CacheControl cc setNoCache true Abbildung 63 Cache Controller initialisieren Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 117 von 167 Anschliessend kann der Cache Control mit dem Response Objekt am Client zur ckgesendet werden return Respon
105. eanswerid rolename Y gt P surveyid 4 P questionid title question startdate d O questiontypeid 7 enddate j 9 roleid N state O evaluationid courssed 4 possibleanswer E P possibleanswerid 4 possibleanswer P courseid 4 P questiontypeid position coursename questiontype coursedesc Abbildung 67 Bereich Umfrage Survey Jede Umfrage besitzt ein Titel Start und Enddatum und der aktuelle Status Course Um Umfragen nach Kurse zu kategorisieren wird f r die Tabelle Course den Kursnamen und eine Beschreibung ben tigt Question F r jede Umfrage k nnen eine oder mehrere Fragen erstellt werden Die Fragen k nnen in verschiedenen Typen Tabelle QuestionType und in verschiedene Rollen Tabelle Role existieren Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 122 von 167 Question_Position Question_Position ist eine Zwischentabelle und sie dient zur eindeutigen Bestimmung der Fragen zu einer Umfrage und der exakten Position Reihenfolge der Fragen Tabelle Question Questiontype Eine Frage kann in eine der folgenden Fragetypen zugeordnet werden RADIO IST_SOLL_RADIO TEXTBOX CHECKBOX und CHECKBOX_TEXTBOX Role Jede Frage kann in eine der folgenden Rollen zugeordnet werden Student Dozent und Supervisor PossibleAnswer Zu einer Frage k nnen mehrere Antwortm glichkeiten existieren und eine Antwortm glichkeit kann wieder
106. ebapplikation wird in der Construction Phase nach jeder Iteration einem Systemtest unterlaufen damit sichergestellt wird ob alle Requirements der Auftraggeberin implementiert sind und funktionieren 8 4 3 Usability Mit Usability Tests werden Meinungen eingeholt um die Webapplikation zu verbessern Dabei appellieren wir vor allem auf die Kooperation der OdA G ZH Anhand der Usability Tests kann die Effektivit t Effizienz Erwartungskonform Fehlerrobustheit oder Steuerbarkeit der App gemessen werden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 63 von 167 9 Abbildungsverzeichnis Abbildung 24 OdA G Vision amp Leitbild Vision der OdA G ZH 2014 49 Abbildung 25 Organisationsstruktur oooconoccccnononcconononcnnnnnonnnonanonnnnnnnnnnncnnnn nn nnnnnn nn nn naar nn nr naar nnnr naar nnannnns 51 Abbildung 26 bersicht der Phasen und Meilenstelne 55 10 Tabellenverzeichnis Tabelle 4 Teammitglied Benjamin Ke 51 Tabelle 5 Teammitglied Dominique Sorg sssssssssssssssrsssssrrssrterssrtrrsstrtssttrtssttttssttntssttnnssttnnssttnnssteenstt 52 Tabelle 6 Arbeitspakete Projektbeginn nono nononncc nono nn nc nono n rra nnnn nn ca nannnnnnns 58 Tabelle 7 Arbeitspakete Projektplan oooonocccononoccconononcconononnnonononononono nono nononnco nono nnca rra nr rr naar nn cr rann anno 58 Tabelle 8 Arbeitspakete Anforderung amp Analyse oooooonoconococccocanonononononononnnononnnnnonnnonn cnn nn nono rn naa
107. ebbereich die Java Welt mit dem Java Jersey Framework in Kombination mit Maven und Tomcat 7 kennen Mir machte das Arbeiten mit dem Java Jersey Framework richtig Spass Durch die Annotation konnte einfacher und bersichtlicher Code geschrieben werden Die Zusammenarbeit mit der Auftraggeberin erwies sich als Herausforderung da Sie h ufig eine Umfrage kurz vor dem stattfindenden Kurs hinzuf gen wollte Somit gab es keine Reservezeit mehr falls ein Problem auftrat Wir merkten ziemlich schnell dass die Benutzerfreundlichkeit laufend verbessert werden musste da wir Entwickler die Webapplikation anders wahrnehmen Die Besprechungen mit unserem Betreuer waren immer konstruktiv und sehr angenehm Er nahm sich immer die ben tigte Zeit um unsere Fragen zu beantworten und gab uns Verbesserungsvorschl ge 3 1 1 Verlauf W hrend der Bachelorarbeit war ich sehr motiviert da wir eine Webapplikation entwickeln konnten die auch produktiv eingesetzt wird Um die Frageb gen oder die Antworten der Teilnehmer vern nftig abzuspeichern um daraus aussagkr ftige Auswertungen zu machen wurde zu Beginn des Projektes viel Zeit in die Datenbankmodellierung investiert Viele Anforderungen konnten wir erst im Gespr ch mit der Auftraggeberin erkennen Aus diesem Grund setzten wir von Anfang an auf eine skalierbare L sung Anschliessend entwickelten beide Teammitglieder am Backend an der REST Schnittstelle Im Laufe der Entwicklung ging ich immer mehr in den Clienttei
108. ein Prototyp f r die OdA G ZH aufgesetzt damit sie diese f r Testzwecken einsetzen kann 4 3 2 7 M7 Refactoring amp Testing Ein eigener Meilenstein befasst sich mit Refactoring und Testing Die bestehende L sung wird berarbeitet und ausgearbeitet Da sich die OdA G ZH mit dem M6 Meilenstein Anfangs Mai ein funktionst chtiger Prototyp erhofft dient dieser Meilenstein auch f r die realisieren von fehlenden Features Ausserdem wollen wir mit Refactoring und Testing eine bessere Usability und eine zuverl ssige Applikation gew hrleisten 4 3 2 8 M8 Abgabe Kurzfassung AO Poster Ein vordefinierter Meilenstein der HSR ist die Abgabe einer Kurzfassung und einem AO Poster an unserem Betreuer Diese Abgabe findet am 06 06 14 statt 4 3 2 9 M9 Abgabe der Bachelorarbeit amp Pr sentation Fertigstellung der Bachelorarbeit und letzte Anpassungen an Dokumenten bis am 13 06 14 bis 12 00 Uhr Die Abgabe umfasst alle Dokumente auf Papier und CD und wird an unser Betreuer unserer Auftraggeberin und an die HSR Studiengangsekretariat abgegeben Am selben Tag zwischen 16 00 und 20 00 Uhr erhalten wir mit der Pr sentation der Bachelorarbeit die Gelegenheit unser Projekt vorzustellen und unser Betreuer bzw Auftraggeberin von unserer Arbeit Applikation zu berzeugen 4 4 Besprechungen Da beide Teammitglieder denselben Stundenplan bzw die gleichen Module besuchen werden die Besprechungen sehr oft in den Zwischenzeiten durchgef hrt
109. eit FS14 Seite 134 von 167 4 2 1 3 Metriken ch odag teacheval Distance Estimated Lines of Code Cyclomatic Complexity Abbildung 75 Pollution Stand 21 04 2014 Units 59 Classes Class 0 02 Methods Class 9 28 Fields Class 2 26 ELOC Estimated Lines of Code 4097 ELOC Unit 69 44 CC Cyclomatic Complexity 1 57 Fat 19 Tangled 0 00 Tabelle 48 Metriken 4 2 1 4 Violations Metric entity Distance 1 fileimport CC 29 ELOC 85 Tabelle 49 Violation Package fileimport Der hohe Cyclomatic Complexity Wert entstand dadurch dass beim Importieren einer Umfrage mit Excel in jeder Spalte berpr ft werden musste ob die in der Zelle enthaltene Information richtig gesetzt wurde Dabei kann der Zugriff auf eine Zelle vier unterschiedliche Stadien haben e G ltige Zelle enth lt g ltigen Wert e G ltige Zelle enth lt leeren Wert bspw bei Zellenformatierungen e Ung ltige Zelle liefert NULL e Ung ltige Zelle wirft NullPointerException Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 135 von 167 Leider kann nicht vorhergesagt werden in welcher Situation z B die Zelle NULL oder eine Exception zur ckwirft Um die Zelle bestm glich zu berpr fen wurde eine Switch Case Anweisung verwendet siehe Abbildung 76 CC durch Switch Anweisung switch cell getColumnIndex case throwInvalidCellTypeException cell Bitte geben Sie
110. ekturstil REST von TeachEval definiert Die Kapitel Projektstruktur physische und logische Architektur geben Einblicke in die Projektstruktur und in die physische und die logische Abh ngigkeiten zwischen Komponenten Im Kapitel Open Source Software werden alle Technologien und deren Lizenzen aufgelistet Zum Schluss soll im Kapitel Datenbankspeicherung das Datenbankschema n her beschrieben werden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 93 von 167 2 System bersicht TeachEval ist eine REST basierte Webapplikation siehe Kapitel REST welche mit Java Jersey und AngularJS entwickelt worden ist Bei Java Jersey handelt es sich um eine Referenzimplementierung von Java API for RESTful Web Services kurz JAX RS die die Verwendung des Softwarearchitekturstils Representational State Transfer REST im Rahmen von Webservices erm glicht Um die Dynamik des Webbrowsers besser auszunutzen wurde auf der Clientseite AngularJS oder auch einfach Angular verwendet Angular ist ein von Google entwickeltes Open Source Framework welches Single Page Anwendungen sowie das MVC Modell unterst tzt Server Webbrowser Client Apache Tomcat Frontend HTML CSS Javascript Index html Single Page App AngularJS NA Bootstrap css js Be EE o ENNEN Postfix O GET surveys GET JSON 200 OK DBC Hibernate J ax PostgreSQL teachevalapp Authentication Resource Abbildung 36 System
111. elle 11 Arbeitspakete Implementation Frontend Auswertung M7 Refactoring amp Testing Zugeh rige Tickets Backend Feature 83 Jersey Exception Handling Refactoring Baekend Feature 88 Jersey Projectstructure Refactoring better Dependencies Backend Feature 89 Jersey Swagger BackendFeature 4103 Java UnitTest erweitern amp Refactoring Frentend Feature 80 AngularJS Projectstructure Refactoring Frentend Feature 9 AngularJS Detail Auswertung Refactoring Frontend Feature4131 AngularJS Test Refactoring Support OdA G Bug fixes Meeting 84 Sitzung bkeller 07 05 14 Meeting 48 Sitzung bkeller 07 05 14 Meeting 449 Sitzung eglatz 09 05 14 Meeting 120 Sitzung eglatz 16 05 14 Meeting 424 Sitzung eglatz 23 05 14 Documentation 85 JavaDoc Einsatz und Dokumentation mit JavaDoc Beeumentatien 96 REST Spezifikation Administrative 40 Produktiver Server einrichten SSL Tomcat PostgreSQL Tabelle 12 Arbeitspakete Refacotring amp Testing M8 Abgabe Kurzfassung Abstract 8 AO Poster Zugeh rige Tickets Meeting 422 Sitzung eglatz 06 06 14 gt Abstract A0 Poster Beeumentatien 98 Glossar Documentation 99 Quellen Beeumentatien 488 Installationsdokument berarbeitung und Verbessern Benutzerhandbuch Tabelle 13 Arbeitspakete Abgabe 1 M9 Abgabe Bachelorarbeit Pr sentation Zugeh rige Tickets TechnischerBericht Dokument schreiben und berarbeiten Qualit
112. en Einstellung 2 8 D man P E DB M 10 Abbildung 11 Umfrage als Excel importieren Wie in der Abbildung 11 ersichtlich ist besitzt die Excel Vorlage mehrere Arbeitsbl tter Jedes dieser Arbeitsbl tter repr sentiert einen bestimmten Bereich Im Bereich Umfrage wird der Titel und die Dauer der Umfrage eingetragen Das Register Kurs enth lt den Namen f r die Kategorisierung der Umfragen Die Fragen mit dem jeweiligen Fragetyp und zu welchem Benutzer Student Dozent oder Supervisor sie zugewiesen bekommt werden im Register Fragebogen erfasst Im Bereich Instruktor werden die Dozenten die den Kurs leiten und unter Teilnehmer die Studenten mit Vornamen Nachnamen und E Mail eingetragen Die obige Abbildung zeigt eine ausgef llte Excel Vorlage Die Benutzergruppen oder Fragetypen werden mit Dropdown Men s unterst tzt um Fehleingaben schon fr hzeitig zu vermeiden LTT Praxis Allgemein Umfragekennung pehixsATPbTLTL Abbildung 12 An Umfrage teilnehmen Auf der Startseite k nnen Teilnehmer mit einem 14 Stelligen Umfragetoken das sie per Post E Mail oder pers nlich erhalten haben an der Umfrage teilnehmen Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 27 von 167 Home mfrage Umfrage Umfrage zum Kurs Begleitung Von Menschen In Krisen 1 Der LTT Praxis Tag erachte ich insgesamt als unterst tzend f r die Entwicklung von beruflichen Kompetenzen Trifft zu Trifft eher z
113. en die die Befragungen als auch Evaluationen automatisiert 1 3 G ltigkeitsbereich Die Anforderungsspezifikation gilt als Grundlage des Projektes und ist daher ber die gesamte Projektdauer g ltig Damit das Dokument immer auf dem neusten Stand ist wird es laufend angepasst 1 4 bersicht Dieses Dokument gibt eine bersicht ber die Anforderungen f r unsere Bachelorarbeit TeachEval Im ersten Kapitel werden die Anforderungen allgemein beschrieben damit die Aufgabenstellung der Arbeit besser ersichtlich ist Danach werden die Anforderungen als Use Cases erfasst und als grobe bersicht in einem Use Case Diagramm aufgezeigt Die wichtigsten Use Cases werden zus tzlich als UC Fully Dressed detaillierter beschrieben Zum Schluss werden weitere Anforderungen in Form von nichtfunktionalen Anforderungen aufgez hlt und beschrieben Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 66 von 167 2 Allgemeine Beschreibung 2 1 Produkt Perspektive TeachEval ist eine ffentlich zug ngliche Webapplikation f r die prim r Leiter innen Dozenten innen Supervisoren innen oder Studenten innen Zugang erhalten TeachEval automatisiert den bislang manuell ausgef hrten Umfrageprozess f r die Qualit tssicherung der Kurse bei der OdA G Z rich 2 2 Produkt Funktion Der die Leiter in der OdA G Z rich erfasst mit Hilfe eines Excel Sheet die Umfragen in der Webapplikation Mit der Umfrageverwaltung ist er sie in der Lage
114. end des gesamten Projektes gew hrleistet In der Schlussphase auch Transition Phase wurden die Dokumente aktualisiert und f r die Abgabe vorbereitet 6 Ergebnisse 6 1 Erreichte Ziele Als Ergebnis entstand eine erste Version der Web Applikation TeachEval Sie ist in der Lage Umfragen als Excel Datei zu erstellen und zu verwalten Eine Benutzerverwaltung regelt den Zugriff Die Teilnehmer k nnen die Umfrage ausf llen und der Leiter in oder der Dozent in kann die Auswertung im Auswertungsbereich begutachten Das Layout wurde mit Hilfe des Corporate Designs der OdA G ZH erstellt dazu wurde uns ein Richtlinien Dokument bereitgestellt Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 23 von 167 Usability Test Sg Ski F Ep 110 zs EEN o 0 Studenten Studenten Instruktoren Instruktoren Supervisoren Supervisoren Total Fragen Total Fragen Total Fragen Studenten teilgenommen Instruktoren teilgenommen Supervisoren tellgenommen Umfrage je zum Kurs Begleitung Von Menschen In Krisen 1 Der LTT Praxis Tag war Insgesamt unterst tzend f r Se Entwicklu beruflichen Kompetenzen Innen besonders gut an dieser Umfrage jas nicht 1 Mt weichem Ger t greifen Se auf de Web Appikabon TeschEval zu EE Abbildung 5 Endprodukt In den folgenden Schritten werden die Ergebnisse detaillierter erl utert A Anmelden Herzlich Willkommen bei TeachEval Weitere Informatio
115. epresentational_State_Transfer Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 45 von 167 Vision der OdA G ZH 2014 Abgerufen am 25 02 2014 von http www oda g zh ch de ch organisation_1 vision_und_leitbild html Wireframe Tool Balsamig Mockups 2014 Abgerufen am 25 02 2014 von http balsamiq com products mockups Benjamin Kehl und Dominique Sorg 13 06 2014 Anhang TeachEval Web App f r die Unterrichtsevaluation finden weitere informationen rt praxis Projektplan PMP Autor en Dominique Sorg Benjamin Kehl Betreuer Prof Dr Eduard Glatz Projektpartner OdAG Z rich Experte Roberto Pajetta Gegenleser Prof Dr Olaf Zimmermann Bachelorarbeit FS14 Seite 48 von 167 1 Einf hrung 1 1 Zweck Dieses Dokument beschreibt den Projektplan f r die Bachelorarbeit TeachEval Web App 1 2 G ltigkeitsbereich Der Projektplan gilt als Grundlage des Projektes und ist daher ber die gesamte Projektdauer g ltig Damit der Projektplan immer auf dem neusten Stand ist wird er laufend angepasst 1 3 bersicht Im Kapitel Projekt bersicht soll die aktuelle Problematik f r das Thema genauer beschrieben und aufgezeigt werden Zudem werden der Zweck und das Ziel des Projektes beschrieben Anschliessend wird aufgezeigt was der Lieferumfang ist und welche Einschr nkungen es gibt Im Kapitel Projektorganisation werden die Mitarbeiter und deren Motivation f r das Projekt vorgestellt
116. eption Phase dient als Konzeptionsphase in der die Vision die Ziele und die Risiken des Projektes wie auch die wichtigsten Funktionalit ten beschrieben werden Vom Projektbeginn begann die Inception Phase zu Beginn des Kickoff Meetings am 18 02 2014 und endet zwei Woche sp ter am 01 03 2013 4 3 1 2 Elaboration Anschliessend l uft die Elaboration Phase 3 Wochen somit mit 2 Iterationen In der ersten Iteration werden 80 der Anwendungsf lle mittels Artefakten beschrieben und der Projektplan wird endg ltig beim Betreuer vorgelegt In der zweiten Iteration werden mehrere Architekturprototypen erstellt um m gliche Risiken bereits zu bearbeiten 4 3 1 3 Construction Nachdem die Architektur ausgearbeitet worden ist beginnen wir in der Construction Phase mit der Entwicklung und dem Testen Die Construction Phase enth lt 4 Iterationen mit insgesamt 9 Wochen Nach Ende jeder Iteration wird ein Architekturprotoyp implementiert und ausgebaut 4 3 1 4 Transition In der Transition Phase bleiben 3 Wochen brig Hier k nnen parallel letzte Anpassungen und Fehlerbehebungen durchgef hrt werden sowie f r die Abgabe des AO Posters und der Dokumentation vorbereitet werden 4 3 2 Meilensteine Das Projekt wurde in 9 Meilensteine definiert In der folgenden Abbildung eine grobe bersicht aller Meilensteine Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 55 von 167 Phase Inception Elaboration Construction Tra
117. er und f r die Persistierung der Daten wird PostreSQL eingesetzt Bereits vorinstalliert war Redmine welches im Rahmen dieser Arbeit als Projektmanagement Tool eingesetzt wurde Zus tzlich zum Testserver musste auch ein produktiver Server f r die Anwendung installiert werden Da sich die IT Infrastruktur der OdA G ZH momentan in der Restrukturierung befindet wurde entschieden den produktiven Server bei einem externen Anbieter laufen zu lassen In Zukunft k nnte es sein dass die Applikation auf einen internen Webserver der OdA G ZH gewechselt wird F r die produktive Umgebung wurden dieselben Technologien verwendet wie auf dem Testserver Zus tzlich wurde eine Dom ne namens teacheval ch bzw www teacheval ch registriert welche HTTP Request Anfragen entgegen nimmt und diese auf HTTPS umleitet Die Aufsetzung des Servers wird im Kapitel Deployment genauer beschrieben Auf dem Server ist die Webapplikation abgelegt die in zwei Unterprojekte aufgeteilt wurde Einfachheitshalber werden diese als Frontend und Backend bezeichnet Im Frontend befindet sich die Benutzeroberfl che die bei Anfragen bermittelt wird Das Backend ist f r die Verarbeitung der Daten zust ndig Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 95 von 167 3 Representational State Transfer REST Rest ist ein Architekturstil mit dem Webservices realisiert werden k nnen und ist eine Bezeichnung f r ein Programmierparadigma welches von Dr
118. erden die Teilnehmer an den geplanten Usability Tests befragt 2 6 Kompatibilit t Da die Zielgruppe der Webapplikation mit den unterschiedlichsten Smartphones und Computer auf TeachEval zugreifen k nnen muss eine breite Palette von Browser unterst tzt werden F r TeachEval werden fortlaufend die folgenden Browser w hrend der Entwicklung getestet PC Notebook Windows 7 8 Internet Explorer 10 Internet Explorer 8 9 gt Fokus auf Umfrageteilnahme Chrome gt 25 Firefox gt 23 Safari gt 5 1 Opera gt 12 14 Mac OS Safari gt 5 1 Chrome gt 25 Opera gt 12 14 Firefox gt 23 IPhone IOS gt 4 Safari Chrome Android Phone Chrome Windows Phone Internet Explorer Tablet Android Chrome Tablet Windows Internet Explorer Tablet Ipad Safari Chrome 2 7 Einschr nkungen In der ersten Version von TeachEval k nnen Umfragen nur ber ein Excel Template mit den Formaten xls oder xlsx erstellt werden 2 8 Abh ngigkeiten Der Server muss die serverseitigen Technologien Java Postgres unterst tzen Die erste Version von TeachEval erlaubt es eine Umfrage nur ber ein Excel Sheet zu erstellen Der Leiter in ist damit an Excel gebunden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 69 von 167 3 Use Cases In diesem Projekt m ssen folgende funktionale Anforderungen umgesetzt werden ID Use Case Titel
119. erden von Studenten Dozenten und Supervisoren ausgef llt siehe Anforderungsspezifikation Damit TeachEval auch auf kleinen Ger ten bedienbar ist wurde eine mobile Version ausgearbeitet Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 85 von 167 Home y Products gt Xyz Features Page Title Content Display Hide Abbildung 29 Grundger st Mobile 2 3 Umfrage teilnehmen Jeder Teilnehmer siehe Anforderungsspezifikation erh lt eine E Mail oder einen Brief um an einer Umfrage teilzunehmen In dieser E Mail bzw Brief wird dem Teilnehmer eine eindeutige anonyme Umfragekennung zugewiesen und als URI verpackt Damit hat der Teilnehmer zwei M glichkeiten an einer Umfrage teilzunehmen Entweder kann er direkt auf den zugeteilten URI klicken oder er navigiert im Main Menu auf Umfrage teilnehmen und er gibt seine Kennung in die Eingabemaske ein Bitte geben Sie Ihren erhaltene Umtrogekennung em Wird ben tigt um den Benutzer zu Identitizieren Hash sollte auch ber URI direkt eingebunden werden k nnen gt direkter Zugriff Umtrage Starten Abbildung 30 Zugang Umfrage Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 86 von 167 Wenn der Teilnehmer eine g ltige Umfragekennung an TeachEval sendet erh lt er Zugang zu seiner Umfrage Die Fragen der Umfragen werden untereinander aufgelistet Die Antworten auf die Fragen werden je nach Fragetyp als Texteingabe oder als
120. ert werden Einzelne Arbeitspakete k nnen untereinander aufgeteilt werden Benjamin Kehl und Dominique Sorg Bei einer schriftlichen Umfrage zwingt man die Studenten fast diese auszuf llen da diese von der Lehrperson wieder eingesammelt wird Bei der neuen Web Applikation k nnen die Teilnehmer die Befragung im Unterricht unterwegs oder zu Hause ausf llen Durch die physische Pr senz der Lehrperson werden die Studenten fast gezwungen die Umfrage auszuf llen was mit der Applikation verloren gehen kann Dadurch k nnten die Anzahl Teilnahmen abnehmen Als Alternative sind die Tokens als Excel exportierbar und k nnen im Unterricht verteilt werden Die Applikation bezieht sich nur auf die Anforderungen des Arbeitgebers und ist keine Universall sung Erweiterungen oder Anpassungen ben tigen einen Entwickler 13 06 2014 Bachelorarbeit FS14 Seite 22 von 167 In den ersten beiden Wochen wurden die Vorbereitungen f r das bevorstehende Projekt und die Kick Off Meetings mit dem Betreuer und der Auftraggeberin getroffen Ab der zweiten Woche startete die Elaboration Phase welche 3 Wochen lang dauerte In der ersten Woche definierten wir die Risiken und erstellten den Projektmanagementplan Zudem liefen die Einarbeitungen in die Technologien wie AngularJS Java Jersey Hibernate Apache POI usw bereits auf Hochtouren In der zweiten Phase der Elaboration wurde vermehrt Zeit f r die Erstellung der Architektur Prototypen investiert
121. esamten Bachelorarbeit unser Projektbetreuer und die direkte Ansprechperson W hrend Brigitte Keller unsere Auftraggeberin der OdA G ZH ist 3 1 Organisationsstruktur TeachEval Web Application Eduard Glatz Brigitte Keller Auftraggeberin Dominique Benjamin Sorg Kehl Projektleiter Entwickler Projektleiter Entwickler Abbildung 25 Organisationsstruktur 3 2 Team Motivation Ich finde es sehr spannend mich mit neuen Technologien auseinanderzusetzen Ich kann durch dieses Projekt mein Wissen ber das Umsetzen von Internetseiten vertiefen Durch die Webapplikation kann beim Auswerten der Evaluationen viel Zeit gespart werden Das empfinde ich als motivierend Zudem kann ich mir durch das Projekt neues Wissen aneignen und dies gleich umsetzen Mein Ziel ist es eine hilfsbereite und brauchbare Webapplikation anbieten zu k nnen und ich freue mich bereits auf die neuen Herausforderungen in diesem Projekt Aufgabenbereich Datenbank JDBC JPA Hibernate Backend Rest Web Services Hibernate PostgreSQL Verantwortlichkeiten Protokollierung der Meetings berwachung Qualit t der Dokumente und Code Tabelle 4 Teammitglied Benjamin Kehl Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 52 von 167 Motivation Die Entwicklung an einem komplexen Webprojekt stellt mich vor neuen Herausforderungen und erm glicht meiner Kreativit t freien Lauf zu lassen Des Weiteren lerne i
122. estprotokoll 4 1 Angaben zur Durchf hrung F r die Durchf hrung der Tests muss die Datenbank teachevalapp mit Schema siehe Installationsdokumentation bereits installiert sein Eine korrekte Verbindung der Datenbank mit Hibernate wird vorausgesetzt Um alle Tests in den Schichten Persistence und Service zu testen muss der Test Runner A lTests java ausgef hrt werden Er befindet sich im Source Folder src test java unter dem Package ch odag teacheval und er l sst sich mit Rechtsklick gt Run As gt JUnit Test ausf hren siehe Abbildung 71 4 ia Java Resources b EB gt src main java a gt src test java a JH gt ch odag teacheval gt IR AllTests java gt EH ch odag teacheval contract gt EH gt ch odag teacheval persistence entity gt EH gt ch odag teacheval persistence query gt EH gt ch odag teacheval rest gt G sre test resources b gt src main resources Abbildung 71 Test Runner AllTests java 4 2 Protokoll 4 2 1 Stand 21 04 2014 Use Case Titel Priorit t Implementiert Fehler Unsch nheiten Status An Abmelden 1 Ja Y Umfrage CRUD 1 Ja kein nachtr gliches Bearbeiten Y einer Umfrage m glich Token generieren 1 Ja v Token exportieren 1 Ja Ke Token per Mail versenden 2 Nein In Entwicklung x Excel Template importieren 1 Ja Y Auswertungen ansehen 1 Ja Y Korrelation von 2 Fragen 1 Nein Funktion geplant x Export als Excel oder PDF il Nein In Entwicklun
123. ests Finished after 28 119 seconds Runs 258 258 B Errors 0 B Failures 0 4 Ej TestSuite with 258 tests example junit framework TestSuite 105670d2 Runner JUnit 4 28 058 5 a E TestSuite with 53 tests example ch odag teacheval service ImportServiceTest 23 398 s Ei ch odagteacheval service ImportServiceTest 11 661 s Ej ch odag teacheval service ExportServiceTest 5 770 s El ch odagteacheval service UserSemiceTest 0 076 5 gt Ei ch odag teacheval service SurveyServiceTest 0 424 s gt Ei ch odag teacheval service AuthenticationServiceTest 0 047 s Ej ch odag teacheval service EvaluationServiceTest 0 305 s Ei ch odag teacheval service AnswerServiceTest 0 394 s gt Ej ch odag teacheval service MailServiceTest 4 721 s a Ei TestSuite with 89 tests example ch odag teacheval persistence entity SurveyTest 0 786 5 gt Ei ch odag teacheval persistence entity SurveyTest 0 312 s E ch odag teacheval persistence entity UserTest 0 031 s E ch odag teacheval persistence entity CourseTest 0 015 s ig ch odag teacheval persistence entity CreatorTest 0 020 s big ch odag teacheval persistence entity InstructorTest 0 020 s Ei ch odag teacheval persistence entity ParticipantTest 0 039 5 Ei ch odag teacheval persistence entity QuestionAnswerTest 0 011 s Ej ch odag teacheval persistence entity QuestionPossibleAnswerTest 0 016 s E ch odag teacheval persistence entity QuestionTest 0 299 s Ej ch odag teach
124. eval persistence entity QuestionTypeTest 0 011 s E ch odag teacheval persistence entity RoleTest 0 012 s a Ei TestSuite with 109 tests example ch odag teacheval persistence query SurveyQueryTest 3 720 s Ej ch odag teacheval persistence query SurveyQueryTest 0 507 s gt Ej ch odag teacheval persistence query UserQueryTest 0 227 s ig ch odag teacheval persistence query AnswerQueryTest 0 246 s Ei ch odagteacheval persistence query CourseQueryTest 0 226 s Ei ch odag teacheval persistence query ParticipantQueryTest 0 246 s Ei ch odag teacheval persistence query EvaluationQueryTest 0 817 s E ch odag teacheval persistence query InstructorQueryTest 0 250 s gt Ej ch odag teacheval persistence query QuestionTypeQueryTest 0 261 s Ei ch odag teacheval persistence query PossibleAnswerQueryTest 0 204 s bi ch odag teacheval persistence query QuestionQueryTest 0 514 s Ej ch odag teacheval persistence query RoleQueryTest 0 222 5 a Ei TestSuite with 7 tests example ch odag teacheval service authentication AuthTokenManagerTest 0 154 5 Ela ch odag teacheval service authentication AuthTokenManagerTest 0 154 5 Abbildung 79 Stand 02 06 14 Failure Trace ht Insgesamt wurden in den Schichten Persistence und Service 258 Unit Tests durchgef hrt Der gr sste Teil der REST Schnittstellen konnte leider aus Zeitgr nden nicht mehr richtig getestet werden Benjamin Kehl und Dominique Sorg 13 06 2014 B
125. f r Standardisierungen in verschiedensten Bereichen ISO 9126 Das ISO 9126 ist eine empfohlene Richtlinie von ISO die sich speziell auf Qualit tsmerkmale im Bereich Software richtet Jasmine Jasmine ist ein Unit Test Framework f r AngularJS JavaScript JavaScript ist eine Skriptsprache auf der Client Ebene und dient der Entwicklung von dynamischen HTML in Webbrowsern JAX RS JAX RS steht f r Java API for RESTful Web Services Es handelt sich um eine Programmierschnittstelle API in der Programmiersprache JAVA das auf die Prinzipien von REST basiert und das Anbieten von Web Services erm glicht JDBC JDBC steht f r Java Database Connectivity JDBC ist eine Datenbankschnittstelle der JAVA Plattform die eine einheitliche Schnittstelle zu Datenbanken verschiedener Hersteller bietet und speziell auf relationale Datenbanken ausgerichtet ist Jersey Jersey ist ein JAVA Open Source Projekt welches auf JAX RS basiert Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 JPA JQuery JUnit KISS Logische Architektur Modifikationen MVC ODA G OdA G ZH Persistieren Physische Architektur Postgres PostgreSQL Produktions Server Redmine Responsive Webdesign REST RESTful RUP Server Serverseitig Single Page Anwendung Benjamin Kehl und Dominique Sorg Seite 41 von 167 JPA steht f r Java Persistence API JPA ist eine Schnittstelle f r Java Anwendungen die die Zuordnung und die bertragung von
126. g Evaluation Export Y Umfrage teilnehmen 1 Ja Y Benutzer verwalten 1 Ja v Abbildung 72 Stand April einfaches Bearbeiten der Umfrage m glich und alle anderen Operationen wie Umfrage hinzuf gen ansehen oder l schen werden unterst tzt Bearbeiten einer Umfrage mit Fragen und Teilnehmer usw jedoch nicht Zum Zeitpunkt 21 April 2014 wurde TeachEval ausgiebig getestet und diverse Bugfixes unterzogen In Entwicklung waren haupts chlich die E Mail Funktion f r das Versenden von Tokens an die Teilnehmer innen und die Funktion f r das Exportieren der Auswertung Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 133 von 167 4 2 1 1 Durchgef hrte Unit Tests E Markers 4t Servers NB Data Source Explorer E Snippets El Console Progress ErorLog dr JUnit 53 dy GitStaging History Debug m Coverage Dor ajo es Finished after 38 768 seconds j Runs 178 178 B Erors 1 B Failures 0 ES 4 E TestSuite with 178 tests example junit framework TestSuite 5f0f176 Runner JUnit 4 38 77 Failure Trace E biz TestSuite with 25 tests example ch odag teachevalserice ImportSenviceTest 15 6855 3 jaya lang NullPointerfxception Big TestSuite with 81 tests example ch odag teacheval entity SurveyTest 9 200 s at ch odag teacheval hibernate AbstractSurveyQuery getlistOfQuestions AbstractSurveyQueryjava 212 a Bil TestSuite with 72 tests example ch odag teacheval hibernate Survey
127. ge Choose Files No file chosen Datei Dateigr sse Fortschritt Status Aktion Begleitung von Menschen in Krisen FS14 xIsx 0 05 MB A Erfolgreich Y Anzahl Dateien 1 Schliessen Abbildung 10 Umfrage als Excel importieren Eine neue Umfrage wird mittels einer Excel Vorlage welche heruntergeladen werden kann hochgeladen Es kann auch eine existierende Umfrage exportiert werden und die nderungen dann als neue Umfrage hochgeladen werden Die Vorlage stellt die richtige Strukturierung des Imports sicher Es k nnen mehrere Umfragen gleichzeitig hochgeladen werden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 26 von 167 DH H Begleitung Von Menschen In Krisen FS14 1 xlsx Microsoft Excel El en ON HOH start rien SEMENLAYOUT FORMELN DATEN BERPR FEN ANSICHT ENTWICKLERTOOLS LOADTEST TEAM Dominique Sorg cio E f IST_SOLL_RADIO v A B c D E 1 3 Fragebogen 2 In diesem Bereich werden alle Fragen und m gliche Antworten behandelt Beachten Sie bitte die unten aufgef hrten Punkte 3 Jede Frage muss einer Benutzergruppe zugeordnet werden Z B Ich erhielt Antworten auf meine Lernfragen gt Student Falls mehrere Benutzergruppen Frage kopieren und in n chste Zeile einf gen 4 Jede Frage muss zu einem Fragetyp zugeordnet werden F r weitere Details siehe im Register unten unter Einstellung 5 Es k nnen maximal 20 m gliche Antworten f r eine Frage hinzugef gt werden 6 Fragetypen
128. gen zur Verf gung gestellt Um globalen Zugriff auf die Verbindung zu erhalten wurde eine Helper Klasse namens Hibernateutil erstellt Diese Klasse erstellt einmalig ein globales SessionFactory Objekt welches thread safe ist aber w hrend dem Starten relativ viel Zeit ben tigt Dazu instanziiert es single threaded Session Objekte um alle Arbeitseinheiten schnell durchzuf hren JBoss Documentation Hibernate Session Factory 2014 Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 110 von 167 6 2 4 Schnittstellen In TeachEval wurden einige Schnittstellen verwendet um die Skalierbarkeit zu erh hen und um duplizierten Code zu vermeiden 6 2 4 1 AbstractQuery persistence query O QuestionTypeQuery 8 2 gt AbstractinstructorQuery A A o SS E d AbstractUserQuery nn N QuestionQuery AbstractQuery O CourseQuey 7 Lin e 6 ch O SurveyQuery i 6 C PositionQuery O AnswerQuery 8 Abbildung 50 Die AbstractQuery mit Decorator Die AbstractQuery ist die Basis Klasse aller Query Klassen Sie beinhaltet ein Session Objekt und stellt einige CRUD Methoden f r die Implementation zur Verf gung Um noch spezifischere Abfragen erstellen zu k nnen wurden mehrere Decorators wie bspw AbstractinstructorQuery AbstractSurveyQuery oder AbstractEvaluationQuery erstellt Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Sei
129. glichkeiten um die Distanzen zu reduzieren e Zusammenf hren mehrere Packages in ein einziges Package um die Abh ngigkeiten zueinander auszuhebeln e Die Packages f r die Weiterentwicklung so belassen da in Zukunft vielleicht weitere Klassen in diese Packages hinzukommen Die Package Struktur ist nach unserer Meinung her gut aufgebaut und es gibt keinen Anlass aufgrund dieser Metrik alle in ein Package zu verschieben ELOC Der n chstgr sste Bereich ist die Estimated Lines of Code ELOC Dabei haben zwei Klassen mit 352 und mit 343 Zeilen einen leichten bertritt von den empfohlenen 300 Zeilen Diese wurden mit Extract Method neustrukturiert Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 140 von 167 4 3 Verbesserungsm glichkeiten Wie bereits erw hnt konnten aus Zeitgr nden nicht mehr alle REST Schnittstellen mit Jersey Test Framework getestet werden F r die Weiterf hrung oder als Folgearbeit m sste dies nachgef hrt werden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 141 von 167 5 Leistungstests Aus den nichtfunktionalen Anforderungen wurde f r die Ladezeit der Applikation einen Richtwert von 3 Sekunden definiert Die Ladezeiten von TeachEval wurden mit Pingdom Speed gemessen Dabei wird die Antwortzeit aus unterschiedlichen Regionen gemessen Mit Pingdom konnten wir testen wie lange TeachEval aus Amsterdam oder New York f r den Aufruf der Webseite ben tigt Die
130. h an der Umfrage teilnehmen konnte Sie erhielt eine E Mail mit Ihrem Umfragetoken Damit konnte sie schnell auf die Umfrage zugreifen Die Meldungen der Applikation sind f r sie verst ndlich und sie kann diese immer dem ausl senden Vorgang zuordnen Bei der Bedienung der Applikation treten keine Probleme auf und ist f r sie verst ndlich Die Auswertung und Korrelation der Fragen k nnten bersichtlicher gestaltet werden und sollten bearbeitbar sein 9 Verbesserungsm glichkeiten Die Systemtests zeigen unsere kritische Sichtweise und Einsch tzung der umgesetzten Use Cases Wie bereits schon im Kapitel 3 1 Systemtest erw hnt worden ist k nnen folgende Verbesserungen gemacht werden e Statt Umfrage ber eine Excel Datei zu erstellen k nnte die Umfrage auch direkt in der Webapplikation erstellt und verwaltet werden e Die Umfrage wie auch die Auswertung k nnten nachtr glich bearbeitbar sein e Ein anderes Feature k nnte eine Art Vorschau der Umfrage sein e Weitere Dateiformate als Export anbieten Vielleicht kann der Semester Report als Word automatisiert werden e Statt die Session Tokens im Memory zu speichern k nnen dies in der Datenbank abgelegt werden Da wir uns vor allem auf die Kompatibilit tstests und Systemtests konzentrierten kann die Testabdeckung durch Unit Tests verbessert werden indem die REST Schnittstelle besser abgedeckt wird Durch den Usability Test ist ersichtlich geworden dass ein grosser Teil der
131. h automatisch mit Port 443 umgeleitet wird Mittels dem Modul mod _jk l sst sich Apache Tomcat einfach mit Apache verbinden Die Kommunikation untereinander erfolgt mit dem Protokoll ajp13 auf Port 8009 Die Webapplikation wurde als WAR Datei mit dem Namen ROOT im Ordner var lib tomcat7 webapps hinzugef gt Tomcat entpackt automatisch alle nicht Java Ressourcen wie HTML CSS XML usw aus dem ROOT war Datei Eine der entpackten Daten ist die hibernate cfg xml Datei die Verbindungskonfigurationen SQL Dialekts und Mappings zu der Datenbank teachevalapp beinhaltet Eine weitere Datei ist die Datei log4j properties welches Logging Konfigurationen f r Tomcat bereitstellt Mit Postfix als Mail Transfer Agent MTA kann auf Port 25 E Mails nach aussen versendet werden Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 102 von 167 6 Logische Architektur In diesem Kapitel wird die logische Projektstruktur von TeachEval und deren Architektur beschrieben 6 1 Frontend Das Frontend beschreibt die Benutzeroberfl che als AngularJS Applikation unter Einsatz moderner Technologien wie HTML5 und CSS3 die zum Client gesendet wird wenn dieser die Webapplikation ber seinen Webbrowser aufruft Die index html ist der Eingangspunkt in die Single Page App F r die dynamischen Darstellung der Elemente auf verschiedene Displaygr ssen und auf verschiedenen Webbrowsern wurde Bootstrap 3 und Angular Ul Bootstrap verwendet 6 1 1 Angul
132. hten Architektur 107 Abbildung 46 Struktur REST Package nono onnc cnn nn ra rnnn nn nc anar n rra nana nnnans 107 Abbildung 47 Struktur Service Schicht 108 Abbildung 48 Struktur File backage cnc cnn nnnc cono nro nono nn cc aran n rca rnann rca 109 Abbildung 49 Struktur Persistence Schicht 109 Abbildung 50 Die AbstractQuery mit Decorator cccccononocooncnnonononononnnnnnncnnnanononnnnnnnnnnnonononnnnnnncnnnaonos 110 Abbildung 51 Der Collector mit Unterklassen ssssnnssssesssensresssesrennrssssesererrrssssesernennssssrsereennsssseene 111 Abbildung 52 Token Varianten 111 Abbildung 53 AbstractSheet f r Evaluationtvport 111 Abbildung 54 Token Based Authentication ssssssssnnsssseserensresssesererrrssssesrrernrssssesereennssssrsrreesnssssenne 112 Abbildung 55 Security Filter im web vm 112 Abbildung 56 Getieaderyalue ss iiiiscsncesseseiinsicoretsnninecsrriintreccines terine be seinien irent ninae se iiaae iei 113 Abbildung 57 WebApplicationException Unauthortzed 113 Abbildung 58 SecurityContext sllserinbole 113 Abbildung 59 Ablauf Login en endeten nee 114 Abbildung 60 Rollenpr fung auf Ressourcen 115 Abbildung 61 Ablauf Importieren einer Umfrage cocoocccnnncccoconononnnonononcnnnnnonncnnnnnnnnnononnnnnnnonnnnnnnnnnnnnn 115 Abbildung 62 Ablauf Umfrage exportieren ocooooconcnncnonononoonnnnonononanononnnnnnncnnnnnononnnnnnnnnnnnnnonnnnnnnnnananenos 116 Abbildung 63 Cache Controller Imittaltsieren 116 Abbildung
133. ichert 6 Excel mit den Tokens wird als Download angeboten 2a Die Datei konnte nicht hochgeladen werden da das Format nicht unterst tzt wird gt Eine Meldung wird angezeigt dass nur Excel Formate mit der Endung xls und xlsx unterst tzt werden 3a Es konnte nicht der ganze Inhalt herausgelesen werden gt eine Meldung wird angezeigt dass Informationen nur im markierten Bereich gespeichert werden H ufigkeit des Auftretens Bei jedem Upload Tabelle 31 UC Fully Dressed Excel Template importieren UC 07 Auswertungen ansehen Umfang TeachEval Applikation Ebene Anwendung Prim rer Aktor Benutzer Leiter und Dozent Vorbedingungen Der Benutzer muss angemeldet sein Dozent muss f r die Auswertung zu der Umfrage berechtigt sein Umfrage muss abgeschlossen sein Nachbedingung Hauptszenario Aktoren Aktionen Systemverantwortlichkeiten User 1 Der Benutzer navigiert zu 2 Die Daten werden aus der Systemverantwortlickeiten der Auswertung Datenbank herausgelesen 3 Die Daten werden mittels Javascript als Grafiken dargestellt 3a Die Charts werden falsch dargestellt gt Die Datenbankabfragen werden falsch durchgef hrt H ufigkeit des Auftretens Bei jedem Zugriff zur Auswertung Tabelle 32 UC Fully Dressed Auswertung ansehen UC 08 Korrelation von Fragen Umfang TeachEval Applikation Ebene Anwendung Prim rer Aktor Benutzer Leiter
134. ie durchschnittliche 4x Schnell 1 0 5 Ladezeit von TeachEval 2x Durchschnittlich 0 Total 2 100 gt 0 5 2x 50 _ Gesamtresultat auf alle Fragen bezogen 60 Durch das effiziente Ausf llen der Umfragen interpretieren wir die Erwartungskonformit t der Teilnehmer mit 60 als hoch ein Die durchschnittliche Ladezeit mit 50 k nnte besser sein 8 5 5 Erlernbarkeit Fragen Interpretation Gewichtung Mittelwert Ich konnte bereits vorherige Umfragen 5x Trifft zu 2 2 ausf llen und diese auch erfolgreich 1x Meine Erste abschliessen Umfrage enthaltene Stimme Total 2 100 gt 2 00 x 100 Gesamtresultat auf alle Fragen bezogen 100 8 6 Fazit aus den Testergebnissen Als die Usability Tests von der OdA G Z rich online geschaltet worden sind konnten innerhalb von 1 2 Tagen die Feedbacks der Studenten ausgewertet werden Viele gestellte Fragen geben Aufschluss wie die Webapplikation bei der OdA G ZH eingesetzt wird Einzelne Usability Fragen f hren aber wieder zu neuen Fragen Zum Beispiel erhielten alle aufgeforderten Teilnehmer den Zugriff zur Umfrage ber eine E Mail Bei den Teilnehmern welche am Usability Test nicht mitgemacht haben stellt sich schnell die Frage weshalb diese nicht an der Usability Umfrage teilgenommen haben Erhielten sie keine E Mail Wollten sie nicht teilnehmen Jedenfalls konnten wir den erfolgreichen Versand aller E Mails serverseitig in
135. ieren von Daten in die Applikation oder in eine Excel Datei wurde eine Java Library namens Apache POI verwendet Mit dieser Library ist es m glich Microsoft Dateien in Java zu bearbeiten E file imports EB exports correlation exports evaluation HE exports survey Abbildung 48 Struktur File Package Package Funktion file imports Regelt alle Importvorg nge wie das Hinzuf gen einer Umfrage oder e der Instruktoren file exports Regelt alle Exportvorg nge wie das Exportieren von Korrelationen zweier Fragen Auswertung einer Umfrage oder alle Daten f r eine Umfrage 6 2 3 Persistence Schicht Die Persistence Schicht agiert mit der Datenbank und f hrt CRUD Operationen aus Dabei erstellt er eine Verbindung zur Datenbank f hrt eine Abfrage aus und bekommt als Resultat eine Entit t zur ck gt teacheval persistence EY persistence query gt j 204 o H persistence entity e H persistence connection Abbildung 49 Struktur Persistence Schicht Package Funktion persistence entity Im persistence entity wurden alle POJO Klassen definiert Diese Klassen bilden die gesamte TeachEval Datenbank ab persistence query Die Service Schicht greift direkt auf dieses Package zu um bestimmte Abfragen auszuf hren Dasselbe gilt auch f r das Package persistence connection persistence connection Im persistence connection wird die Verbindung zur Datenbank und mit ihren Einstellun
136. in Priorit t 1 Grund Geh rt zur Aufgabenstellung Tabelle 26 UC Brief Export als Excel oder PDF l UC 10 Umfrage teilnehmen Die Teilnehmer Studenten Dozenten Supervisoren und Leiter k nnen anhand Ihres Tokens an der Umfrage teilnehmen und ausf llen Wobei der Student andere Fragen gestellt bekommt als ein Dozent oder Supervisor Priorit t 1 Grund Geh rt zur Aufgabenstellung Tabelle 27 UC Brief Umfrage teilnehmen UC 10 Benutzer verwalten Der Leiter kann die Benutzer von TeachEval Dozenten und Leiter verwalten die ebenfalls erweiterten Zugriff auf der Seite ben tigen Unter erweitertem Zugriff ist gemeint dass Benutzer mit der Funktion als Leiter erfasst werden k nnen die ebenfalls Zugriff auf alle Ressourcen bekommen d rfen oder Dozenten die nur auf Ihre zugewiesenen Umfragen Zugriff auf deren Auswertungen haben Priorit t 1 Grund Geh rt zur Aufgabenstellung Tabelle 28 UC Brief Benutzer verwalten Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 3 5 Beschreibungen Fully Dressed UC 01 An Abmelden Umfang TeachEval Applikation Ebene Security Anwendung Prim rer Aktor Vorbedingungen Benutzer Leiter und Dozent Anmelden Seite 73 von 167 Der Benutzer hat bereits ein Account Der Dozent wurde als Teilnehmer definiert und ein Token wurde f r ihn generiert Abmelden Nachbedingung Anmelden Der Benutzer s
137. ind angemeldet bzw haben eine aktive Session Eine neue Session wird erstellt Die Inhalte werden anhand der Benutzerrolle sichtbar unsichtbar Abmelden Die Session wird gel scht Der Benutzer wird weitergeleitet Aktoren Aktionen Anmelden mit Email amp Passwort 1 Der Benutzer meldet sich mit Emailadresse und Passwort an Hauptszenario User Systemverantwortlickeiten Anmelden mit Token 1 Der Benutzer benutzt f r die Anmeldung ein Token 3a Benutzer gibt sein Passwort und best tigt es in einem zweiten Feld 6 Bei Erfolg wird er direkt zu der Umfrage weitergeleitet Falls Dozent und noch kein Passwort definiert so muss er zuerst ein Passwort erstellen Benjamin Kehl und Dominique Sorg Systemverantwortlichkeiten Anmelden mit Email amp Passwort 2 Die angegebene Emailadresse wird anhand des Formats berpr ft 3 Die Emailadresse wird in der Datenbank gesucht 4 Das Passwort wird verschl sselt und mit dem verschl sseltem Passwort in der DB verglichen 5 Session wird erstellt und der Benutzer wird zur Startseite weitergeleitet Der Dozent sieht nur seine berechtigten Umfragen Der Leiter sieht alle Anmelden mit Token 2 Das Token wird in der Datenbank gesucht 3 Bei bereinstimmung wird der Benutzer in der DB berpr ft ob das Passwort Feld nicht null ist Falls null siehe Punkt 3a Sonst gehe zu Punkt 6 4 Passworteingabe wird verschl sselt und vergliche
138. ingetragenen Benutzern suchen und diese verwalten Neue Benutzer k nnen mittels einer Excel Vorlage hochgeladen werden und bereits existierende Benutzer werden aktualisiert Durch den Excel Import werden keine Benutzer gel scht Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 25 von 167 Home Umfragen verwalten Suche Umfrage Y Begleitung Kurs Status i Bitte ausw hlen x d Bitte ausw hlen x x Alles zur cksetzen Umfragen 1D Titel Status y Start Datum End Datum Export Aktion 12 Begleitung Von Menschen In Krisen FS14 CZ 13 06 2014 13 06 2014 x DER 4 Begleitung Von Menschen In Krisen FS2014 08 05 2014 08 05 2014 x gt Seite 1 Anzahl Umfragen 14 Abbildung 9 Umfrageverwaltung Im Bereich Umfrage verwalten k nnen wie bei der Benutzerverwaltung neue Umfragen ber eine Excel Datei hochgeladen und erstellt werden Dabei muss eine Umfrage einen eindeutigen Umfragetitel haben Erstellte Umfragen werden entweder durch die Leiterin oder durch den CronJob automatisch gestartet und beendet Der Status informiert ob die jeweilige Umfrage erstellt l uft oder abgeschlossen wurde Die Umfragetokens werden nach dem Hinzuf gen einer Umfrage den Teilnehmern zugewiesen und werden f r den Excel Export hinzugef gt Erfolgreich Umfragen wurden erfolgreich hinzugef gt Neue Umfrage erstellen Bitte laden Sie Ihre Umfragen als Excel Datei hoch Dabei muss folgende Vorlage verwendet werden x Excel Vorla
139. ion zwischen zwei Fragen generiert werden Detaillierte Fragenauswertung Teilnehmer Instruktoren Supervisoren Alle Verbergen naan Aug Ale Teiinenmer 1 Der LTT Praxis Tag war insgesamt unterst tzend f r meinen Lernprozess Legende Trifft eher nicht zu Tam nicht zu So war es 25 25 50 So sollte es sein 50 25 25 2 Ich erhielt Antworten auf meine Lernfragen Legende Trifft eher nicht zu So war es 75 25 So sollte es sein 100 Abbildung 18 Detaillierte Auswertung auf Fragen 17 Was hat Ihnen am LTT Praxis am meisten Spass gemacht Spannende bungen a gt 2 a Guter Unterricht 18 Was k nnte ver ndert werden Welche Anregungen m chte ich weitergeben i Antworten anzeigen 19 Den LTT Praxis Tag erachte ich insgesamt als gelungen2 Wie in Abbildung 18 ersichtlich ist wird die detaillierte Fragenauswertung in zwei H lften geteilt In der linken H lfte werden die Einzel und Mehrfachauswahl Fragen mit gestapelte Balken und mit Balkendiagrammen ausgewertet In der rechten H lfte werden die Kommentare untereinander aufgelistet Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 30 von 167 u s Auswertung _Begleitung Von Menschen In Krisen FS14 xlsm Microsoft Excel 2 0x START EINF GEN SEITENLAYOUT FORMELN DATEN BERPR FEN ANSICHT ENTWICKLERTOOLS LOAD TEST TEAM Dominique Sorg gt E H w la x e WE f v A B c D E F G H 1 J K L M N o P Q R s
140. kflow besser illustriert werden Dozent in Studierende verteilt diese Dozierende Leiter in Leiter in nach dem und Dozent in bekommt erstellt Kurs an die Suprvisoren sammelt alle Frageb gen Dozent in bekommt Einsicht auf die Auswertung Frageb gen Studierende f llen Frageb gen und wertet und Fragebogen diese aus Dozierende aus Abbildung 1 IST Situation Die Qualit t wird in Form von gedruckten Frageb gen von Studenten Dozenten und Supervisoren nach jedem Kurs berpr ft die in manueller Arbeit aufw ndig gelber Kasten ausgewertet werden muss Vorgehen Technologien In einer ersten Phase wurde mit Hilfe eines Fragebogens die Anforderungen der OdA G ZH abgekl rt Daraus entstand die Projektplanung nach dem Arbeitsprozess RUP Rational Unified Process welche sich durch Iterationen von der Realisierung bis hin zur Abgabe erstreckte Bei der Realisierung wurde grossen Wert auf Open Source Produkte gelegt Daher setzten wir clientseitig JavaScript und serverseitig Java ein F r die Verwaltung der Daten wurde eine Datenbank eingesetzt Durch die enge Integration von Microsoft Excel mit TeachEval hat der die Leiter in die M glichkeit die Umfragen und Auswertungen mit Excel zu importierten oder zu exportieren Ein eingebundener Job berpr ft laufend ob Umfragen gestartet beendet oder ob die Teilnehmer durch eine E Mail automatisch benachrichtigt werden m ssen Ein selbstentwickeltes Makro generiert dynamisch in der
141. l Datei erstellt Die Excel Datei enth lt mehrere Arbeitsmappen wie Fragen Teilnehmern Benutzerrollen z B Dozent Student Supervisor oder Leiter usw o Auswertung in Form von Diagrammen anzeigen o Auswertung als Excel Word oder als PDF Export angeboten gt Weiterverarbeitungsm glichkeit wird durch Excel Word bereitgestellt Diagramme nicht als Bilder exportieren o Korrelation einzelner Fragen oder Umfragen Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 50 von 167 o vern nftige Kompatibilit t gew hrleisten o gute Benutzerfreundlichkeit gew hrleisten Benutzerhandbuch zur Installation und Verwendung der Webapplikation Technischer Bericht f r die Beurteilung der eingesetzten Technologien Vollst ndige Software Engineering Dokumente siehe Anforderungsspezifikation f r genauere Definition 2 4 Annahmen und Einschr nkungen F r den Zugang zu der Benutzer und Umfrageverwaltung ist ein Login notwendig um die verschiedenen Benutzer auseinander zu halten Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 51 von 167 3 Projektorganisation Die Bachelorarbeit wird von Dominique Sorg und Benjamin Kehl durchgef hrt Jedes Mitglied hat seinen eigenen Verantwortlichkeits und Aufgabenbereich Die Arbeitspakete werden je nach Aufgabenbereich und Verantwortlichkeit zugeteilt Dabei k nnen auch nicht zugewiesene Arbeitspakete bearbeitet werden Eduard Glatz ist ber der g
142. l mit AngularJS ber was auch mein Zust ndigkeitsbereich wurde Als Erstes entwickelte ich eine Token basierte Authentisierung f r den Login Bereich Der Token wird bei jedem Request im HTTP Header mitgeschickt Zus tzlich wird das Passwort clientseitig mit einem SHA256 gehashed und bertragen In einem zweiten Schritt wurde die ganze Benutzerverwaltung Umfrageverwaltung sowie die Teilnahme an Umfragen realisiert Der weitere Verlauf der Arbeit bestand darin die Evaluation mit Diagrammen zu visualisieren Die Auswertung einzelner Umfragen kann auf einer Detailansicht betrachtet werden Nebst dem Frontend gab es immer wieder auch Eins tze im Backend wie z B f r das Exportieren von Excel Dateien mit Apache POI 3 1 2 Probleme Die Kompatibilit t mit dem Internet Explorer erwies sich im Laufe des Projektes als eine echte Herausforderung Im Frontend traten immer wieder Cache Probleme oder Probleme mit der Anzeige von CSS Style auf Diese konnten wir mit den richtigen Kompatibilit tsbibliotheken und einem serverseitigen Cache Control l sen Da die Bachelorarbeit mein erstes Projekt mit AngularJS war musste viel Zeit f r Einarbeitung aufgewendet werden Zudem entschieden wir uns f r den Einsatz von requireJS f r die Verwaltung von Abh ngigkeiten um eine bessere Projektstruktur zu erhalten Von der Auftragsgeberin erhielten wir ab Mitte Mai keine Antwort oder Feedback mehr bis wir erfahren hatten dass sie drei Wochen krank und in den Ferie
143. ldung 119 Zeitauswertung Aktivit ten verbucht wurde da sich in manchen Situationen das Vorgehensmodell Test Driven Development TDD sehr gut eignete Das Frontend nahm im Vergleich zum Backend viel weniger Zeit in Anspruch weil wir im Frontend die Daten entweder vom Server holen oder die Benutzereingaben an den Server direkt weiterleiten Die Dokumentation nahm vor allem die letzten zwei bis drei Wochen viel Zeit in Anspruch Unter Management wird das Aufsetzen der Server oder die Planung verstanden Dabei wurde die Dokumentation der Planung berwiegend als Dokumentation erfasst Die Meetings zeigen den Zeitaufwand f r die Sitzungen mit unserem Betreuer oder der Auftraggeberin auf 6 Fazit F r diese Bachelorarbeit wurde insgesamt 761 6 h aufgewendet Durch die gesetzte Reservezeit kamen wir mit der Arbeit nicht in Verzug und konnten bei jedem Meilenstein ein funktionst chtiges Ergebnis liefern Die Reservezeit wurde vor allem f r das Testen und f r Verbesserungen ben tigt Leider wurde unsere Webapplikation von der OdA G ZH nie richtig durchgetestet Somit erhielten wir wenig Feedback was dazu f hrte dass wir laufend mehr Integrationstests Kompatibilit tstests und Systemtests unsererseits durchf hrten was zus tzliche Zeit kostete Gefundene Fehler wurden direkt behoben und unmittelbar aufgeschaltet Die Differenz zwischen den geleisteten Aufw nden Abbildung 116 Zeitauswertung berblick kamen im Vergleich zur Planung aufgrund
144. logging apache org log4j 1 2 license html Licence Apache Math 01 2014 Abgerufen am 11 06 2014 von http www apache org licenses LICENSE 2 0 Licence Apache POI 01 2014 Abgerufen am 11 06 2014 von http www apache org licenses LICENSE 2 0 Licence Apache Quartz 01 2014 Abgerufen am 11 06 2014 von http www apache org licenses LICENSE 2 0 Licence Apache Tomcat 2014 Abgerufen am 11 06 2014 von http www apache org licenses LICENSE 2 0 Manual Question Types in Lime Survey 2014 Abgerufen am 04 06 2014 von http manual limesurvey org Question_types de Messen von Usability 2007 Uni Bremen Abgerufen am 11 03 2014 von http www informatik uni bremen de st lehre Re Architect Seminar Praesentationen 04_Messen_von_Usability pdf MSDN HTTP Verbs 2014 Abgerufen am 06 06 2014 von http msdn microsoft com en us library dd541471 aspx OdA G ZH Offizielle Webseite 2014 Abgerufen am 07 06 2014 von http oda g zh ch Pingdom Website Speed Test 2014 Abgerufen am 30 05 2014 von http tools pingdom com fpt Pricing LimeService 2014 Abgerufen am 04 06 2014 von http www limeservice com de preise Pricing SurveyMonkey 2014 Abgerufen am 01 06 2014 von https de surveymonkey com pricing details t sm_g_p amp ut_source header RequireJS Offizielle Webseite 2014 Abgerufen am 31 05 2014 von http requirejs org REST Wikipedia 26 05 2014 Abgerufen am 09 06 2014 von https de wikipedia org wiki R
145. mit Textboxen brauchen keine Antwortm glichkeiten 7 Bitte keine leere Zeilen erstellen 8 Halten Sie sich stets an die Reihenfolge der Antworten 9 Frage Benutzergruppe getyp Antwortm glichkeit 1 Antwortm glichkeit 2 10 Der LTT Praxis Tag war insgesamt unterst tzend f r meinen Lernprozess Student gt ft zu2 Trifft eher zu 11 Ich erhielt Antworten auf meine Lernfragen Student fft zu Trifft eher zu 12 Der LTT Praxis Tag erm glichte mir meine Erfahrungen aus dem Pflegealltag zu reflektieren Student hr gut gut 13 Auf den LTT Praxis Tag habe ich mich inhaltlich vorbereitet Student ft zu Trifft eher zu 14 Ich konnte neue Erkenntnisse erwerben um meinen Praxisalltag kompetenter zu meistern Student Soe rifft zu Trifft eher zu 15 Ich konnte mein Fachwissen vertiefen bzw aktualisieren Student IST_SOLL_RADIO Trifft zu Trifft eher zu 16 Die erworbenen Kenntnisse und oder Fertigkeiten werde ich im beruflichen Alltag nutzen und umsetzen k nnen Student IST_SOLL_RADIO Trifft zu Trifft eher zu 17 Die Lehrperson orientierte sich an den Lernbed rfnissen der Teilnehmenden Student IST_SOLL_RADIO Trifft zu Trifft eher zu 18 Es herrschte ein angenehmes anregendes Arbeits und Lernklima Student IST_SOLL_RADIO Trifft zu Trifft eher zu 19 Ein gegenseitiger Austausch wurde erm glicht Student IST_SOLL_RADIO Trifft zu Trifft eher zu 20 Die eingesetzten Hilfsmittel und abgegebenen Unterlagen waren unterst tzend Student IST_SOLL_RADIO Trifft
146. mtrage q q site ausw x umfrage Kurs y site ausw hlen x Ales zur cksetzen start patum men Total teigen omme 2014 0 97 cet eg aseructori 05 06 eiid O S an i Ga jins a uctor APPLIC CAT BA 2014 De 1d 04 06 aran pe pe stru uctorBy structori0 x roduces Ins ins D id public P Ze 2 PP S LEITER tostringO zeg 23 05 2014 logger Si pr gote Roke proles DT text er use erin 1d jsLazy 2 ortd 2 if ne ren em E eg struct solec build 5 str igerservico a cacnecont 20 05 2014 tor 3 E 2 Software Architektur Dokument SDD Autor en Betreuer Projektpartner Experte Gegenleser gyl nstructer Dominique Sorg Benjamin Kehl Prof Dr Eduard Glatz OdA G Z rich Roberto Pajetta Prof Dr Olaf Zimmermann Aktion End Datum 06 06 2014 13 06 2014 23 05 2014 23 05 2014 20 05 2014 Bachelorarbeit FS14 Seite 92 von 167 1 Einf hrung 1 1 Zweck Dieses Dokument ist ein Teil des Designs und beschreibt die Webarchitektur von TeachEval Hier werden die wichtigsten architektonischen Entscheidungen und Abl ufe beschrieben 1 2 G ltigkeitsbereich Das Softwarearchitektur Dokument gilt f r die gesamte Projektdauer 1 3 bersicht Dieses Dokument gibt eine bersicht ber die Softwarearchitektur von TeachEval Im Kapitel System bersicht wird die physische und logische Architektur und deren Unterschiede vorgestellt Als N chstes wird der Archit
147. n 5 Session wird erstellt und der Benutzer wird zu der Umfrage weitergeleitet 13 06 2014 Bachelorarbeit FS14 Seite 74 von 167 Abmelden 1 Der Benutzer meldet sich ab Abmelden 3 Der Benutzer wird anhand der Emailadresse Token identifiziert 4 Session wird zerst rt Anmelden mit Email 8 Passwort 2a Das Emailformat stimmt nicht vergessen Domain falsch oder Punkt vergessen gt Eine Meldung wird angezeigt dass das Format falsch sei 3a Die Emailadresse konnte in der Datenbank nicht gefunden werden gt Eine Meldung wird angezeigt dass die Emailadresse nicht gefunden wurde 5a Das Passwort stimmt nicht mit dem Passwort in der Datenbank berein gt Eine Meldung wird angezeigt dass das Passwort nicht korrekt ist Anmelden mit Token 2a Das Token existiert in der DB nicht gt Eine Meldung wird angezeigt dass das Token nicht gefunden wurde 2b Das Token ist ung ltig gt Eine Meldung wird angezeigt dass das Token nicht mehr g ltig ist Umfrage abgelaufen 4a Passw rter stimmen nicht berein gt Eine Meldung wird angezeigt dass die Passworteingabe nicht bereinstimmt Abmelden 2a Der Benutzer konnte nicht identifiziert werden gt Die Session des Benutzers ist abgelaufen ist somit bereits abgemeldet gt Er wird zur Startseite weitergeleitet H ufigkeit des Auftretens An Abmeldungsprozedur Tabelle 29 UC Fully Dressed An Abmelden UC 02 Umfrage CRUD Umfang TeachEval Applikation Ebene Anwendung Prim
148. n Auswertung automatisiert Die Webapplikation soll Frageb gen und Auswertungen mit Hilfe eines Webbrowsers in benutzerfreundlicher Art auf PCs Tablets als auch auf Smartphones anzeigen k nnen Der Auswertungsteil sollmit ansprechenden und verschiedenen Diagrammen visualisiert und als Excel oder Word Export bereitgestellt werden Zudem soll sie auf ausgew hlte Fragen korrelieren das heisst die Kovarianz numerischer Auswertungsresultate berechnen Abbildung 24 OdA G Vision amp Leitbild Vision der OdA G ZH 2014 2 1 Zweck und Ziel Mit Hilfe von TeachEval soll der momentane Zeitaufwand des bestehenden Arbeitsprozesses stark vermindert werden indem die Webapplikation die Befragung als auch deren Auswertung automatisiert Zudem soll die Evaluation auf den heute g ngigen Ger ten wie Smartphone Tablets oder PCs zug nglich sein und benutzerfreundlich siehe Anforderungsspezifikation angezeigt werden 2 2 Einsatz TeachEval wird an der Hochschule f r Technik Rapperswil HSR entwickelt OdA G ZH erneuert zurzeit Ihre Server Infrastruktur Wenn der ben tigte Server bei OdA G ZH verf gbar ist wird die Webapplikation migriert Bis dahin wird die Applikation auf einem HSR oder externen Server laufen 2 3 Lieferumfang Folgende Punkte werden am Schluss der Bachelorarbeit abgeliefert Webapplikation TeachEval zur Verwaltung und Ausf hrung von Umfragen und Auswertungen o Sprache Deutsch o Die Umfrage wird automatisch ber eine Exce
149. n http www dbschema com Documentation Jersey Test Framework 2014 Abgerufen am 26 05 2014 von https jersey java net documentation latest test framework html Entwicklertagebuch AngularJS Structure 2014 Abgerufen am 08 04 2014 von http entwicklertagebuch com blog 2013 10 how to structure large angularjs applications Fielding R T 2000 ICS University of Science Abgerufen am 27 05 2014 von https www ics uci edu fielding pubs dissertation fielding_dissertation pdf Hanselman S 2014 Hanselmann HTTP PUT DELETE Abgerufen am 22 05 2014 von http www hanselman com blog HTTPPUTOrDELETENotAllowedUseXHTTPMethodOverride ForYourRESTServiceWithASPNETWebAPl aspx HelpCenter for creating Charts SurveyMonkey 2014 Abgerufen am 04 06 2014 von http help surveymonkey com articles en_US kb Can I create custom charts HelpCenter for Questoin Types SurveyMonkey 2014 Abgerufen am 01 06 2014 von http help surveymonkey com articles en_US kb Available question types and formatting options Java RESTful Web Service with AngularJS 13 07 2013 Abgerufen am 05 03 2014 von http draptik github io blog 2013 07 13 angularjs example using a java restful web service JBoss Documentation Hibernate Session Factory 2014 Abgerufen am 23 05 2014 von http docs jboss org hibernate orm 3 3 reference en html session configuration html configuration sessionfactory Licence Apache Log4 J 2014 Abgerufen am 11 06 2014 von https
150. n neues Excel File mit den dem gew nschten Format Grafiken erzeugt und zum klicken sie auf das richtige Download angeboten Icon z B Excel Icon 4a Die Grafiken werden nicht richtig erzeugt H ufigkeit des Auftretens Bei jedem Export Tabelle 34 UC Fully Dressed Export als Excel oder PDF UC 10 Umfrage teilnehmen Umfang TeachEval Applikation Ebene Anwendung Prim rer Aktor Teilnehmer gt Leiter Dozenten Supervisoren oder Studenten Vorbedingungen Ein Token ist f r jeden Teilnehmer zugewiesen Nachbedingung Die Teilnehmer haben die Umfrage abgeschlossen Die Daten wurden gespeichert Hauptszenario Aktoren Aktionen Systemverantwortlichkeiten User 1 Die Teilnehmer greifen 4 Die Daten werden in die DB Systemverantwortlickeiten mit ihrem Token oder mit gespeichert ihrer Emailadresse und Passwort gilt nur f r Dozenten und Leiter auf die Umfrage zu 2 Die Teilnehmer f llen die Umfrage aus 3 Die Umfrage wird am Schluss beendet Aa Die Daten werden falsch in die DB gespeichert gt Auf die Reihenfolge der Datenpersistierung achten H ufigkeit des Auftretens Bei jeder Umfrage Tabelle 35 UC Fully Dressed Umfrage teilnehmen Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 uc11 Umfang Ebene Prim rer Aktor Vorbedingungen Nachbedingung Hauptszenario User Systemverantwortlickeiten H ufigkeit des Auftretens Benutzer verwalten Te
151. n war Dies erschwerte unsere Arbeit sehr da wir zum Auswertungsteil nie einsch tzen konnten ob es den Bed rfnissen der OdA G ZH wirklich entspricht Zwei Tage vor der Abgabe erhielten wir ihr Feedback 3 1 3 Fazit Ich pers nlich bin sehr zufrieden mit dem Ergebnis Nat rlich k nnen immer noch Verbesserungen und Erweiterungen implementiert werden die auch die Benutzerfreundlichkeit verbessern Ich arbeite gerne an Projekten welche auch im realen Umfeld eingesetzt werden k nnen Ich w re auch bereit f r die OdA G ZH das Projekt TeachEval weiterzuf hren Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 38 von 167 4 Pers nliche Erfahrungen 4 1 Benjamin Kehl F r meine Laufbahn als Informatiker suchte ich nach einer Bachelorarbeit bei der ich mich in den Bereich Webapplikation vertiefen kann Durch die erfolgreiche Studienarbeit bei der auch eine Webapplikation entwickelt werden musste wollte ich unbedingt wieder etwas hnliches durchf hren Deshalb erf llte TeachEval Webapp f r die Unterrichtsevaluation meine Anspr che als Thema f r die Bachelorarbeit In der Studienarbeit machte ich gute Erfahrungen mit Zend Framework 2 welches ein objektorientiertes MVC Framework f r PHP darstellt Dennoch fand ich anhand der Anforderungen f r die Bachelorarbeit dieses Framework nicht als gut geeignet da f r die Webapplikation anhand verst rkter Integration von JavaScript mehr Interaktion seitens des
152. nce Apache Quartz 2014 log4j Apache License Version 2 0 Licence Apache Log4J 2014 Tabelle 45 Open Source Software Backend Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 119 von 167 8 Datenspeicherung TeachEval verwendet f r die Datenspeicherung die Open Source Datenbank PostgreSQL 9 3 PostgreSQL ist ein objektrelationales Datenbankmanagementsystem ORDBMS Das Datenbankschema von TeachEval sieht wie folgt aus Legende gt Prim rschl ssel Spalte mit Prim rschl ssel Serial Datentyp PA Spalte mit Fremdschl ssel Spalte das auf ein Fremdschl ssel von einer anderen Tabelle zeigt D Spalte mit Index po Spalte mit Unique Index 04 Kardinalit t 1 zu n po Kardinalit t n zu 1 Kardinalit t n zu 1 01 Boolean Wert Tabelle 46 Legende DbSchema users survey participant question_position pe Ve 2 participantid 3P positionid ei Li surveyid A P answerid active questionid A too pesones answer D userid IPPO erg position 3P question_possibleanswer_id answertype D surveyid A 9 auestionid A positionid A 8 P roleid A PF roleid vi rolename Oe O possibleanswerid A possibleanswerid 7 survey question Be en P surveyid fl P questionid ei EE title question Lo userid 7 gt instructorid startdate auestiontypeid 7 J email password enddate 9 roleid A firstname active state lastname archiv
153. nde Eingabem glichkeit in benutzerfreundlicher Art sowohl auf PCs Tablets als auch Smartphones anbietet Zudem besteht ein zweites Hauptziel der Arbeit darin ansprechende Auswertungen zu realisieren die auch Diagramme enthalten und als Excel oder MS Word Dateien bereitgestellt werden Der Auswertungsteil der Applikation soll zudem die M glichkeit bieten die Antworten auf ausgew hlte Fragen zu korrelieren d h die Kovarianz numerischer Auswertungsresultate zu berechnen Die Webanwendung soll in JavaScript HTML 5 und CSS erstellt werden Benutzte Drittkomponenten z B Datenbank und Tools sollen als OSS vorliegen Dieses Thema bietet die vielversprechende M glichkeit eine praktische L sung f r den Einsatz beim Kunden zu erarbeiten Die Aufgabe wird parallel in zwei Gruppen in Konkurrenz erarbeitet Allgemeine Vorgaben Die Arbeit ist gem ss den allgemeinen Vorgaben 1 durchzuf hren Dies beinhaltet auch Vorgaben zur Berichtsgestaltung Termine 17 Feb 2014 Arbeitsbeginn 13 Juni 2014 Abgabe des Berichts an den Betreuer bis 12 00 Bachelorarbeit FS14 Seite 4 von 167 Weitere Termine siehe Terminangaben auf dem HSR Web intern bzw nach Absprache insbesondere Zwischenbesprechungen mit Experte und Gegenleser sowie f r m ndliche BASchlusspr fung Betreuung Betreuer Prof Dr Eduard Glatz Email eglatz hsr ch W hrend der Durchf hrung der Arbeit findet nach M glichkeit regelm ssig jede Woche eine
154. nen fin LTT Praxis Allgemein LTT Praxis Psychiatrie Copyright 2014 by TeachEval All rights reserved Abbildung 6 Startseite TeachEval Die Startseite enth lt zwei Fachbereiche Die LTT Praxis Allgemein und die LTT Praxis Psychiatrie Da TeachEval von zwei Bachelorarbeitsgruppen in Konkurrenz entwickelt wurde und jede Gruppe einen Fachbereich zugewiesen bekam musste als Einstiegspunkt eine Startseite erstellt werden Da wir bereits von Anfang an eine Startseite hatten haben sich beide Gruppen auf unsere Startseite geeinigt F r die Verwaltung von Umfragen oder Instruktoren wird ein Login Zugriff ben tigt welcher im Abbild 4 oben rechts zu finden ist Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 24 von 167 Home Benutzerprofil Hans Muster support teacheval ch Leiter E Mail bearbeiten Passwort zur cksetzen Copyright 2014 by TeachEval All rights reserved Abbildung 7 Profil Jeder eingeloggte Instruktor hat ein Benutzerprofil In diesem kann er seine E Mail Adresse ndern oder sein Passwort zur cksetzen Home Benutzerverwaltung Suche Name Email Y Hans hsr ch Status Role d Bitte ausw hlen MS E Bitte ausw hlen x Zur cksetzen Benutzer Status Name a Email Role Aktion av aaki Hans Muster hmuster hsr ch Dozent DE 10 25 50 100 Seite 1 Anzahl Benutzer 31 Abbildung 8 Benutzerverwaltung Die Leiterin kann ber die Benutzerverwaltung nach e
155. ngssuche Zus tzlich appellieren wir an unsere Eigeninitiative dass bei Problemen sofort die anderen Teammitglieder informiert werden damit wir als Team die Risiken und Probleme in Griff bekommen Zudem m ssen laufend neue Risiken protokolliert werden Zus tzlich werden in der Elaboration Phase kleine Technologieprototypen entwickelt um allf llige Risiken die aufgrund unbekannter Technologien auftauchen k nnten zu minimieren Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 58 von 167 6 Arbeitspakete Alle Arbeitspakete werden in Redmine definiert und abgearbeitet Hier werden die Arbeitspakete pro Meilenstein als Screenshot gezeigt M1 Projektbeginn Zugeh rige Tickets Baekend Feature 5 Pre Study Java Restful Jersey Pre Study Postgres DB Baekend Feature 47 Pre Study JDBC JPA Hibernate Backend Feature422 Prestudy Excel CRUD with Java Frentend Feature 4 Pre Study AngularJS Meeting 2 Sitzung eglatz 18 02 14 Meeting 3 Sitzung bkeller 26 02 14 Meeting 10 Sitzung eglatz 28 02 14 Beeumentation 6 Requirements Fragen mit Fragebogen Anwortbogen vorbereiten Administrative41 Mail Kontaktaufnahme Frau Keller von Oda G Z rich Tabelle 6 Arbeitspakete Projektbeginn M2 Projektplan Zugeh rige Tickets Meeting 26 Sitzung eglatz 07 13 14 Projektplan Einleitung Projekt bersicht Projektplan Projekorganisation amp Management Abl ufe Beeumentatien 12 Pr
156. nicht mehr benachrichtigt 3 1 6 Excel Template importieren Subtasks Fehler Unsch nheiten Verbesserungen E Excel wird hochgeladen Informationen werden gesammelt und berpr ft Umfrage wird in der DB erstellt Y 3 1 7 Auswertungen ansehen Subtacks Fehler Unsch nheiten Verbesserungen Status Informationen werden aus der DB SS gesammelt Informationen werden als Y Diagramme angezeigt 3 1 8 Korrelation mit 2 Fragen Subtasks Fehler Unsch nheiten Verbesserungen Status Ausw hlen von zwei Fragen ber Y verschiedene Umfragen Beide Fragen werden exportiert S Fragen werden im Excel korreliert Y Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 128 von 167 3 1 9 Export als Excel oder PDF Subtasks Umfrage exportieren Fehler Unsch nheiten Verbesserungen Auswertung exportieren mit Rohdaten mit Diagrammen Korrelation exportieren Subtasks Umfrage Token berpr fen 3 1 10 Umfrage teilnehmen Fehler Unsch nheiten Verbesserungen Status Umfrage teilnehmen Fragen validieren Antworten speichern lt E SES 3 1 11 Benutzer CRUD Subtasks Hinzuf gen siehe Template Import UC Excel Fehler Unsch nheiten Verbesserungen Hinzuf gen nicht nur Formulardaten als Excel sondern auch mit Status Bearbeiten Email bearbeiten Passwort zur cksetzen inaktiv aktiv setzen L schen
157. nsition Woche g la s le 78 go uf 14 15 16 EY Inception Projektbeginn ao Projektplan Anforderung amp Analyse plementation Construction 1 Backend Services Implementation ela NR Frontend Services plementation Auswertung Construction 3 Refactoring amp Testing Construction 4 Transition 1 Transition 2 L veilensteine Prototyp f r Oda G Z rich Abbildung 26 bersicht der Phasen und Meilensteine Beachten Sie unser Meilenstein Dokument im Anhang oder Redmine f r die detailliertere Planung 4 3 2 1 M1 Projektbeginn In den ersten zwei Wochen werden mit den Kick Off Meetings die Vorabkl rungen und die Aufgabenstellung mit unserem Betreuer Eduard Glatz und der Auftraggeberin der OdA G Brigitte Keller besprochen Ausserdem wird eine erste Grobplanung erstellt 4 3 2 2 M2 Projektplan Die technischen Risiken werden im TechnischeRisiken Dokument analysiert und abgearbeitet Die Meilensteine werden definiert und eine Detailplanung in Redmine mit Arbeitspakete ausgearbeitet die fortlaufend abgearbeitet und angepasst wird 4 3 2 3 M3 Anforderung amp Analyse Die Anforderungsspezifikationen werden abgearbeitet und ein Datenbank Modell wird erstellt Ein Use Case Diagramm zeigt die Requirements der Auftraggeberin f r die Webapplikation auf Zudem werden die nicht funktionalen Anforderungen beschrieben und ein Design bzw Architektur ausgearbeitet Kleine P
158. o test your internal web server or design files setup local testing Start local testing or Use binaries 23 25 browsers selected x D OS v5 Pad 2 v5 1 iPhone 45 Pad 3 v6 iPhone 45 iPhone 5 Pad 3 Pad Mini v7 iPhone ES Pad 2rd Ii neg Amazon Samsung Motorola Sony LG u S Kindle Fire 2 Galaxy S Razr Droid Razr Xperia Tipo Nexus 4 Kindle Fire HD Galaxy S II Droid4 Razr MaxHD Google Optimus 3D 8 9 Galaxy S Ill Atrix HD Nexus 7 HTC Galaxy Tab 2 One X Galaxy Note Wildfire Galaxy Note II Evo 2D Galaxy Note 10 1 Galaxy Nexus BR Wesens ve er 284587891011 O sore O 119 1210 O EA 12 13 14 15 16 17 18 20 21 22 23 24 25 12 14 12 15 19 20 21 22 23 24 25 26 27 28 29 20 21 12 16 Qeoin 264567891011 41516171819 Q 1181210 eu H Windows 7 ech 3 2 12 13 14 15 16 17 18 20 21 2223 24 EEZZ 2 19 20 21 22 24 25 26 27 28 29 20 31 12 16 S A menger Gersesaz2 fpzererBer 2 Bo ed u g 23 24 25 28 29 20 31 12 15 12 16 TL HE 11 Destop QU 1817 18 19 2021 22 22 24252827 O 12 1210 1214 51 ws 8 zw 23 24 25 28 29 20 21 12 15 12 18 ge Mer OS X Snow 456789101112 41817181920 Q 11612 1212 eu Lanp 13 14 15 18 17 18 19 GEERT EI 12 14 FERE 20 21 22 pp 24 25 27 28 29 31 3645678910 11 12 13 14 15 16 17 18 19 20 2 u O 115 12 1212 en Z MacOSX 2384567 6 17 92 f 11 8 12 12 12 R voten tion Q 204567891011 14 16 17 18 19 20 O 11 6 12 12 1 ea e D a Mac OS X Lion 12 13 14 15 16 17 18 GEERT
159. ochwertiges Schulungsangebot anbieten kann ist das Qualit tsmanagement ein wichtiger Bestandteil Die Qualit t wird mit schriftlichen Feedbacks von Studierenden Dozenten und Supervisoren fortlaufend berpr ft was in manueller Arbeit aufw ndig ausgewertet werden muss In dieser Bachelorarbeit wurde eine Webapplikation namens TeachEval entwickelt die sich vor allem darauf konzentriert die Qualit t der angebotenen Kurse der Oda G Z rich sicherzustellen Der momentane Workflow f r die Befragung und deren Auswertung wurde in die Applikation integriert und automatisiert Die Teilnahme an einer Befragung ist mit Hilfe eines Web Browser m glich dessen Bedienung sowohl auf PCs Tablets als auch auf Smartphones benutzerfreundlich ist Aus den Befragungen k nnen ansprechende Auswertungen in Form von Diagrammen realisiert und anschliessend als Excel Download bereitgestellt werden Zudem k nnen die Antworten auf ausgew hlte Fragen miteinander korrelieren d h die Kovarianz numerischer Auswertungsresultate berechnet werden Als Ergebnis entstand eine Web Applikation mit Java Jersey und AngularJS Mit dem Open Source Framework Jersey l sst sich eine serviceorientierte Architektur basierend auf den REST Prinzipien entwickeln F r die Persistierung der Daten wurde Hibernate als ORM Framework f r Java eingesetzt Auf der Client Seite konnte mit AngularJS eine moderne dynamische und einfach zu bedienende Web Applikation realisiert werden TeachEval wu
160. ojektplan Risikomanagement amp Technische Risiken Beeumentatien 13 Projektplan Infrastruktur Beeumentatien 46 Projektplan Qualit tsmassnahmen amp Testen Administrative 44 Zeitplanung Meilensteine und Arbeitspakete in Redmine erfassen nt Meilensteine Grobplanung erstellen Tabelle 7 Arbeitspakete Projektplan M3 Anforderung amp Analyse Zugeh rige Tickets Rest UserRest Rest SurveyRest Baekend Feature 36 Rest LoginRest Baekend Feature 58 Persistence Entities erstellen Meeting 28 Sitzung bkeller 12 03 14 Meeting 29 Sitzung eglatz 14 03 14 Meeting 30 Sitzung eglatz 21 03 14 Beeumentatien 9 Anforderungsspezifikation Nicht Funktionale Anforderungen Beeumentatien 48 Anforderungsspezifikation Use Case beschreiben Beeumentatien 49 Anforderungsspezifikation Use Case Diagramm Beeumentatien 28 Wireframes Decumentation 21 Datenbank Modell Beeumentatien 22 Software Architektur Dokument Einleitung amp System bersicht Beeumentatien 23 Software Architektur Dokument Logische Architektur Beeumentatien 24 Software Architektur Dokument Projektstruktur amp Funktionen Beeumentatien 25 Software Architektur Dokument REST amp Datenspeicherung DB Beeumentatien 32 Projektplan berarbeitung Beeumentatien 33 Anforderungsspezifikation Einf hrung Kompatibilit t Benutzerfreundlichkeit etc Tabelle 8 Arbeitspakete Anforderung amp Analyse M4 Implementati
161. on Backend Service Zugeh rige Tickets Persistence UserQuery erstellen Persistence SurveyQuery erstellen Authentication SecurityFilter TokenManager Token Backend Feature 41 Persistence LoginQuery erstellen Baekend Feature 5 Import Excel Benutzer Dozenten amp Leiter Baekend Feature 52 Import Excel Umfrage Baekend Feature 6 Junit Test Framework Entity Schicht Baekend Feature 64 Persistence Session Handling Backend Feature 4105 Persistence Lazy Loading for Entities Frentend Feature 42 AngularJS Authentication Frentend Feature 43 AngularJS Frontend Layout Frontend Feature 44 AngularJS Seiten Struktur Frentend Feature 45 AngularJS Error Handling Frentend Feature 48 AngularJS Profile Frentend Feature 49 AngularJS UserManagement Meeting 3 Sitzung eglatz 28 03 14 Meeting 445 Sitzung bkeller 26 03 14 Tabelle 9 Arbeitspakete Implementation Backend Service Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 59 von 167 M5 Implementation Frontend Umfrage Zugeh rige Tickets Backend Feature 63 Rest downloadSurvey Baekend Feature 64 Umfrage exportieren Baekend Feature 65 Rest Umfrage teilnehmen mittels Token BackendFeature 66 Rest Umfrage teilnehmen Antworten parsen und speichern Baekend Feature 67 Hibernate Umfrage teilnehmen Antworten speichern amp Benutzer deaktivieren Baekend Feature 78 Umfrage starten Baekend Feature 74
162. petenzen 11 Rolle Y Student 12 13 14 15 Korrelationskoeffizient R 0 90508776 R 16 Bestimmtheitsmass R 0 819183853 R 17 Mittelwert X xm 0 9375 xm xm liegt in der N he von Trifft eher zu 18 Mittelwert Y ym 1 1875 ym ym liegt in der N he von Trifft eher zu 19 20 21 Interpretation Korrelationskoeffizient 22 negativer Zusammenhang R 1 oder 100 23 keim Zusammenhang R 0 oder 0 24 positiver Zusammenhang R 1 oder 100 25 26 27 kein linearer Zusammenhang DN oder 0 28 perfekt linearer Zusammenhang R 1 oder 100 Abbildung 21 Korrelation als Excel Die generierte Excel Datei berechnet mit Hilfe eines selbstgeschriebenen VBA Makros die Korrelation aus den Rohdaten und zeigt diese als Diagramm an 6 2 Optimierungen In diesem Kapitel wollen wir die Ideen und Optimierungen aus unserer Sicht festhalten f r deren Umsetzung die Zeit fehlte Die entwickelte Applikation deckt alle definierten Anforderungen der OdA G ZH Nichts desto trotz sehen wir Verbesserungspotenzial in den folgenden Bereichen Umfrage bearbeiten Die Umfragen k nnen erstellt und durchgef hrt werden Bearbeitungen der erstellten Umfragen werden in diesem Release nicht unterst tzt Umfrage Titel eindeutig Der Titel der Umfrage muss eindeutig sein Da wir uns entschieden haben Umfragen zu archivieren statt diese endg ltig zu l schen bleiben die Titel vorhanden und k nnen nicht doppelt hinzugef gt werden Momentan erh lt die Umfrage von
163. plorer 10 IE10 l uft stabil Mit einem Cache Control wird serverseitig das Cachen von dynamischen Inhalte bei GET Abfragen unterbunden GI Ra 20 Studenten Fragen Geolocation late GPS a 1 Instruktoren Total em OOn Ka 19 Instruktoren Fragen OOn but no signal i 0 Supervisoren Total A A Willkommen Support TeachEval D 32 Supervisoren Fragen 2058 x x Google A x O ES gp nn teacheval ch app dashboard report l pad B rescnival ch da CS 2 Search Z Share More Signin X OdA G ZH ORGANISATION DER ARBEITSWELT GESUNDHEIT ZORICH M stanseite Home Auswertung LS Umfrage E Auswertung a Impressum x3 Excel Export ali Auswertung Je Korrelation Emulation Via F12 developer toolbar Browser profile Desktop v User agent string Default E Display tation Infusionen FS 2014 55 bersicht A 11 Studenten Total Landscape Default Abbildung 94 TeachEval mit IE10 Support KIK de 20 Studenten Fragen Geolocation a 1 Instruktoren Total de 19 Instruktoren Fragen E 0 Supervisoren Total A Willkommen Support TeachEval Ra 32 Supervisoren Fragen a Dax Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 146 von 167 6 8 Firefox Innerhalb von Firefox l uft TeachEval problemlos nik Lesezeichen Extras Hilfe
164. r der die Dozent in die Umfrage auch manuell beenden um als N chstes die Auswertungen anzusehen Da die Auftraggeberin viel mit Microsoft Office darunter Word und Excel arbeitet k nnen die Auswertungen per Mausklick direkt als Excel exportiert werden Mittels selbst entwickelten Makros werden die Diagramme beim ffnen der Excel Datei automatisch generiert und k nnen f r den weiteren Gebrauch verwendet werden Auch kann sie Korrelationen auf zwei Fragen durchf hren und diese ebenfalls als Excel exportieren Neue Umfragen k nnen durch bestehende Umfragen als Excel einfach berschrieben und wieder hochgeladen werden Mit der Integration von Apache POI konnte eine kundennahe L sung mit Excel realisiert werden Jedoch muss auch erw hnt werden dass Apache POI eventuell nicht das beste Excel Framework ist da es viel Memory f r die Generierung der Excel Dateien ben tigt was wir erst w hrend der Entwicklung erkannten Mit Hilfe von Memory Analysis Programme wie Visual VM konnte eine stabile Applikation realisiert werden F r die Realisierung war Java Jersey und AngularJS eine gute Wahl Da dies unser erstes Projekt mit den gew hlten Technologien ist k nnen sicherlich noch Optimierungen im Programmcode durchgef hrt werden Nichts desto trotz sind wir mit dem Endergebnis sehr zufrieden und w rden diese Technologien f r weitere Projekte nochmals w hlen Serverseitig besteht auch ein grosser Reitz bei einem weiteren Projekt das Java Spring
165. r ennnnnnenn 58 Tabelle 9 Arbeitspakete Implementation Backend Service ococococcccnononcconononcccnononcnonano nono nononc cc non nnnonns 58 Tabelle 10 Arbeitspakete Implementation Frontend Umfrage nono nccnnos 59 Tabelle 11 Arbeitspakete Implementation Frontend Auswertung ccoooccccnononnconononcnanononocananonccanannnncnnns 59 Tabelle 12 Arbeitspakete Refacotring amp Testing nn nnnn nenne ennnnnnenn 59 Tabelle 13 Arbeitspakete Abgabe 1 59 Tabelle 14 Arbeitspakete Abgabe 2 59 Tabelle 15 eingesetzte Tools eiccrorooconoroconanocicinnne serge sbeVESeEE EENS ENER anna ann sandra ann ana anne 60 Benjamin Kehl und Dominique Sorg 13 06 2014 TeachEval Web App f r die Unterrichtsevaluation Anforderungsspezifikation SAS Autor en Dominique Sorg Benjamin Kehl Betreuer Prof Dr Eduard Glatz Projektpartner OdAG Z rich Experte Roberto Pajetta Gegenleser Prof Dr Olaf Zimmermann Bachelorarbeit FS14 Seite 65 von 167 1 Einf hrung 1 1 Zweck Dieses Dokument beschreibt die Anforderungen f r die Webapplikation TeachEval 1 2 Beschreibung Die Organisation der Arbeitswelt Gesundheit OdA G ZH bietet diverse Kurse im Bereich Gesundheit an F r diese Kurse werden Evaluationen durchgef hrt um die Qualit t des Unterrichts zu messen Da im jetzigen Standpunkt alle Evaluationen von Hand durchgef hrt werden ben tigt dies ein grosser Mehraufwand Aus diesem Grund soll eine Webapplikation f r die OdA G entwickelt werd
166. rde bereits Anfang Mai von der Oda G Z rich produktiv eingesetzt Durch die enge Integration von Microsoft Excel mit Apache POI hat die Bereichsleiterin die M glichkeit ihre Umfragen und Auswertungen mit Excel zu importierten oder zu exportieren Ein eingebundener CronJob berpr ft laufend ob Umfragen gestartet beendet oder ob die Teilnehmer durch eine E Mail benachrichtigt werden m ssen Ein selbstentwickeltes VBA Makro generiert dynamisch in Excel die Diagramme und Korrelation zu den vorhandenen Rohdaten TeachEval Web App f r die Unterrichtsevaluation in Tr Praxis Allgeme Management Summary MAS Autor en Dominique Sorg Benjamin Kehl Betreuer Prof Dr Eduard Glatz Projektpartner OdAG Z rich Experte Roberto Pajetta Gegenleser Prof Dr Olaf Zimmermann Bachelorarbeit FS14 Seite 8 von 167 Ausgangslage Problemstellung Die Organisation der Arbeitswelt Gesundheit OdA G ist der Branchenverband f r Berufsbildung im Gesundheitswesen des Kantons Z rich Die OdA G ZH ist der Ansprechpartner und aktive Mitgestalter in allen berufspolitischen Bildungsfragen Sie f hrt unter anderem Kurse im Lernbereich Training und Transfer Praxis LTT Praxis f r die diplomierte Pflegefachfrauen und Pflegefachm nner durch Damit die OdA G ZH ein qualitativ hochwertiges Schulungsangebot anbieten kann ist das Qualit tsmanagement ein wichtiger Bestandteil OdA G ZH Offizielle Webseite 2014 In der folgenden Abbildung soll der Wor
167. rden Der Grund daf r liegt darin dass wir haupts chlich Tests mit Anweisungs berdeckung durchf hrten und nicht jeden Zweig und Pfad ber cksichtigten 4 2 2 3 Metriken Distance Fat Abbildung 81 Pollution Stand 01 06 2014 Metrics WEN Estimated Lines of Code Units 78 Classes Class 0 01 Methods Class 910 79 Fields Class 3 34 ELOC Estimated Lines of Code 7692 ELOC Unit 98 62 CC Cyclomatic Complexity 1 84 Fat 3 Tangled 0 00 Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 138 von 167 Abbildung 82 Metriken im src main java Diese Metriken stammen aus dem Source Verzeicnis src main java Im Test Verzeichnis src test java entsprechen die Werte wie folgt Metrics Value Units 44 _ Classes Class 0 Methods Class 9 57 Fields Class 2 25 ELOC Estimated Lines of Code 3246 ELOC Unit 73 71 CC Cyclomatic Complexity 1 17 Fat 0 Tangled 0 00 Tabelle 50 Metriken im src test java 4 2 2 4 Violations In diesem Kapitel werden die Violations im Main Verzeichnis src main java aufgezeigt EEN A E ES Metric WEN persistence entity Distance 1 persistence connection service mail service debug service comparator 0 6667 rest SurveyRest Fat 66 service SurveyService ELOC 343 service file exports evaluation AbstractSheet ELOC 352 Tabelle 51 Violations src main java Dis
168. ren Hibernate als ORM Framework f r die Persistierung OR Mapping TeachEval wurde in drei Schichten unterteilt In der obersten Schicht befinden sich alle Ressourcen die f r den Client ber URIs ansprechbar sind gt teacheval EY teacheval rest Die Service Schicht repr sentiert die gesamte Business Logik wie die Daten zu verstehen und zu interpretieren sind Dieser leitet REST Anfragen in weitere Subpackages f r spezifischere Aufgaben weiter und greift direkt auf die Persistence Schicht zu um die Verbindungen zur Datenbank zu er ffnen oder zu schliessen 153 L teacheval service 943 Die unterste Schicht ist die Persistence Layer und sie beinhaltet teacheval persistence die Verbindung zur Datenbank alle Abfrage und alle POJO Plain Old Java Object Klassen In den Abfrage Klassen wurden prepared Statements mit Hibernate Query Language kurz HOL geschrieben um so CRUD Operationen auszuf hren Die POJO Klassen werden mit der Annotation Entity auf der Klassenebene deklariert Diese POJO Klassen werden auch als Entit ten bezeichnet welche die gesamte Datenbank repr sentieren Abbildung 45 3 Schichten Architektur 6 2 1 REST Schicht Die REST Schicht besteht aus einem Package mit allen Ressourcen die f r die Webapplikation TeachEval ben tigt werden EN teacheval rest O AuthenticationRest DownloadRest Gi EvaluationRest SurveyRest A SystemRest UploadRest UserRest
169. rg 13 06 2014 Bachelorarbeit FS14 Seite 98 von 167 Anpassungen oder Neuerungen am CSS sollten in dieser Datei vorgenommen werden Dabei bleibt Bootstrap selbst unber hrt und kann sp ter durch neuere Versionen ersetzt werden mg Alle Bilder sind im Verzeichnis img abgelegt js Das JS Verzeichnis enth lt die Logik der Webapplikation Darunter befinden sich die Angular Controller Direktiven Filter und Services Die require js Datei l dt das App Modul das Controller Modul und das Direktive Modul Die Navigation auf der Web App wird im routes js konfiguriert partials Im partials Ordner werden die HTML Seiten und die HTML Templates abgelegt 4 2 Backend Durch Maven ist der Backend Bereich in folgende vier Hauptverzeichnisse unterteilt src main java A he Java Resources Der gesamte Source Code von TeachEval gt src main jawa src test java gt src test java Der gesamte Test Code von TeachEval Es cft et gt STC LESU Tesdurces src test resources gt Gi src main resources Wurde im Rahmen des Projektes nicht ben tigt Abbildung 39 Projektstruktur im Backend src main resources Darin befinden sich Dateien wie Datenbank Skript Datenbank Schema und Templates 4 3 Verwendete Libraries Library Version Verwendung Jersey 1 18 1 F r die Verwendung des Software Architekturstils REST im Rahmen von Webservices Hibernate 4 3 1 Objekt Relationales Mapping zwischen Java und Datenbank
170. roduktiven Einsatz von TeachEval ist der Testserver der HSR daher ungeeignet 5 3 Deployment Der produktive Server wird von der Firma Serverbase gehostet Es handelt sich um einen virtuellen Server auf dem Debian 3 2 0 mit Intel Xeon 1 8 GHz und mit 2 GB Arbeitsspeicher l uft Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 101 von 167 lt lt device gt gt vm0284 vps serverbase ch lt lt 08 gt gt connect to teacheval Debian 3 2 0 with Port 80 or 443 2 lt lt web server gt gt Apache 2 2 lt lt device gt gt lt lt protocol gt gt K lt lt sites enabled gt gt Client Computer http www teacheval ch or teacheval lt lt web browser gt gt E Firefox https mww teacheval ch automatically redirect p from Port 80 to 443 lt lt JSP server gt gt Apache Tomcat 7 si E mod E 4redirect to Tomcat N lt lt protocol gt gt ajp13 8009 EL EE lt lt lt WAR gt 8 smtp 25 Kos gen ROOT lt lt protocol gt gt 127 0 0 1 5433 lt lt database system gt gt PostgreSQL 9 3 lt lt database gt gt E teachevalapp Abbildung 41 Deployment Diagramm In Abbildung 41 wird die detaillierten Abh ngigkeiten f r einen erfolgreichen Zugriff aufgezeigt Der Client greift mit seinem Webbrowser auf die TeachEval App ber die Dom ne teacheval ch zu In Apache wurde SSL so konfiguriert so dass der Zugriff auf die Dom ne teacheval c
171. rototypen stellen die Machbarkeit der Applikation in Bezug zu den technischen Risiken sicher Mit den Anforderungsspezifikationen und den Wireframes wird ein L sungsvorschlag ausgearbeitet 4 3 2 4 M4 Implementation Backend Service Das ausgearbeitete Datenbank Modell wird in einer Datenbank aufgesetzt und realisiert Mit Hilfe der Prototypen und der ausgearbeiteten Architektur wird serverseitig eine RESTful API implementiert und gesch tzt durch User Authentication Ein weiteres Feature wird der Import Export von Excel Word Dokumente sein Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 56 von 167 4 3 2 5 M5 Implementation Frontend Umfrage Im Frontend wird die Umfrage realisiert Die Umfrage bezieht ihre Daten abh ngig der User Tokens von unserem Webserver per Ajax In diesem Meilenstein werden folgende Bereiche abgedeckt e Frontend Architektur e Erstellen von Umfragen Import von Excel Datei e Bereitstellung und Teilnahme an Umfragen Einsatz von anonyme eindeutige Tokens e Verwaltung von Umfragen bersicht Archivierung Liste aller Tokens 4 3 2 6 M6 Implementation Frontend Auswertung Als zweiter Teil der Applikation wird das Dashboard entwickelt Dieser enth lt die Daten und Diagramme zu den jeweiligen Umfragen Hier wird der Export der Auswertung als Excel Datei realisiert Zudem wird in diesem Meilenstein die Korrelation mit unterschiedlichen Fragen entwickelt Am Ende von Meilenstein 6 wird
172. rstehen k nnen erstellten wir Wireframes Mit den Wireframes wollen wir bereits einen fr hen konzeptuellen Papier Prototyp erstellen um eine gemeinsame Diskussionsbasis zu schaffen Dabei zeigt der Papier Prototyp vor allem die wichtigsten Inhaltselemente die Seitenstruktur wie auch die Struktur der Informationen auf Zudem visualisiert es die Benutzerschnittstellen mit denen der Benutzer darauf agieren kann Wireframes beschreiben nicht nur das visuelle Design sondern sie helfen uns wichtige Funktionen von den Unwichtigen zu trennen Damit wollen wir mit allen Beteiligten das ungef hre Layout f r die Web Applikation TeachEval festlegen und erhoffen uns so dass die meisten nderungen bereits fr hzeitig gekl rt sind 2 1 Grundger st Bei der Realisierung von TeachEval entschieden wir uns f r eine Single Page Applikation Das Grundger st ist bei jedem Seitenaufruf vorhanden HEADER Der Header beinhaltet das Logo der OdA G Z rich und stellt ein Login zu Verf gung MAIN MENU Das Menu ist f r die Navigation zust ndig CONTENT Im Content Bereich wird dynamisch der jeweilige Inhalt geladen Die einzelnen Inhalte werden in den folgenden Kapiteln detaillierter beschrieben FOOTER Der Footer beinhaltet einen Copyright Text Gel gt x e http www teaocheval ch ar SL Home Products gt Xyz Features Page Title Content Footer Abbildung 28 Grundger st Desktop 2 2 Mobile Die Umfragen w
173. rungen sammeln sowie neue Technologien kennen lernen Grunds tzlich konnten wir unsere Ziele alle erreichen Das Endprodukt kann produktiv eingesetzt und betrieben werden Da wir in der Studienarbeit mit einer reinen serverseitigen Technologie namens ZF2 Zend Framework 2 gearbeitet haben wollten wir in der Bachelorarbeit eine eher Client orientierte Technologie einsetzen Die Inhalte sollten dynamisch geladen werden Dies w re bei einer serverseitigen Technologie nicht m glich da bei jeder Aktion des Besuchers die Seite neu geladen wird Trotz der Erfahrungen aus der Studienarbeit konnten wir als Team viele neue Kenntnisse und Erfahrungen mitnehmen Zudem waren die eingesetzten Technologien f r uns Neuland und wir mussten uns erst einarbeiten Wir sind zudem sehr zuversichtlich dass die n chsten Projekte mit den gew hlten Technologien wie AngularJS und Java Jersey besser werden Zudem sehen wir einen grossen Reiz f r das n chste Projekt mit Spring statt mit Jersey zu arbeiten Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 37 von 167 3 Pers nliche Erfahrungen 3 1 Dominique Sorg In meiner diesj hrigen Bachelorarbeit ging es darum f r die OdA G ZH eine Webapplikation namens TeachEval zu implementieren Ich konnte w hrend der Bachelorarbeit neue Projekt und Programmiererfahrungen sammeln aber auch neue Technologien wie das AngularJS Jersey Apache POI oder Hibernate kennenlernen Zudem lernte ich im W
174. s 76 Tabelle 33 UC Fully Dressed Korrelation von Fragen 77 Tabelle 34 UC Fully Dressed Export als Excel oder PD 77 Tabelle 35 UC Fully Dressed Umfrage teilnehmen nono nno nn conan nn nennen 77 Tabelle 36 UC Fully Dressed Benutzer verwalten 78 Benjamin Kehl und Dominique Sorg 13 06 2014 TeachEval Web App f r die Unterrichtsevaluation n yerwal en Umfrage x Se e ege ausw hlen SST x x umfrage u kee qA enk x anes zur cksetzen aktion p S Export A End Dauf z goa start Datum status 06 062014 a a 14 umiragen e 05 06 20 ES Titel 05 2014 al a an e 00 m 2014 _ 50 d ACEN 20 05 0 1 25 nik 2 sem FS201 K EN aga User Interface UI Autor en Dominique Sorg Benjamin Kehl Betreuer Prof Dr Eduard Glatz Projektpartner OdAG Z rich Experte Roberto Pajetta Gegenleser Prof Dr Olaf Zimmermann Bachelorarbeit FS14 Seite 83 von 167 1 Einf hrung 1 1 Zweck Dieses Dokument beschreibt das User Interface f r die TeachEval Web Applikation mit Hilfe von Wireframes Die Wireframes wurden mit dem Wireframe Tool Balsamiq Mockups erstellt Wireframe Tool Balsamig Mockups 2014 1 2 G ltigkeitsbereich Das UserInterface Dokument dient als Grundlage f r das Frontend siehe Glossar und ist ber die gesamte Projektdauer g ltig Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 84 von 167 2 Wireframes Damit wir unsere Auftraggeberin besser ve
175. s und Kompatibilit tstests durchgef hrt Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 126 von 167 3 Systemtestspezifikation 3 1 Systemtest Jede Funktion muss nach seiner Funktionsweise getestet und bewertet werden Dabei wird bewertet ob die Funktion die definierte Anforderung erf llt Die folgende Tabelle zeigt alle Systemtests als bersicht auf Use Case Titel Priorit t implementiert Fehler Unsch nheiten Status An Abmelden 1 Ja y Umfrage CRUD 1 Ja kein nachtr gliches Y Bearbeiten einer Umfrage m glich Token generieren 1 Ja Y Token exportieren 1 Ja Y Token per Mail versenden 2 Ja Y Excel Template importieren 1 Ja Y Auswertungen ansehen al Ja L Korrelation von 2 Fragen 1 Ja Y Export als Excel oder PDF 1 Ja Y Umfrage teilnehmen 1 Ja Y Benutzer verwalten 1 Ja L einfaches Bearbeiten der Umfrage m glich und alle anderen Operationen wie Umfrage hinzuf gen ansehen oder l schen werden unterst tzt Bearbeiten einer Umfrage mit Fragen und Teilnehmer usw konnte jedoch aus Zeitgr nden nicht realisiert werden Die implementierten Use Cases wurden mit der Webapplikation getestet und werden im Folgenden tabellarisch dargestellt 3 1 1 An Abmelden Subtasks Fehler Unsch nheiten Verbesserungen Status Login Formular und Validierung Passwort Hash Vergleich Session Token wird erstellt Logout Session Token wird gel s
176. se status Status OK entity instructor cacheControl cc build Abbildung 64 Cache Control im Response Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 118 von 167 7 Open Source Software TeachEval muss als Anforderung mit Open Source Software OSS realisiert werden Damit man sich einen berblick ber die eingesetzten Open Source Komponenten oder auch Fremdkomponenten verschaffen kann werden diese in der folgenden Tabelle aufgelistet 7 1 Frontend angularjs MIT license bootstrap MIT license bootstrap Ul MIT license font awesome MIT License jquery MIT license metisMenu MIT license requirejs new BSD or MIT licensed domReady Dual licensed new BSD or MIT passwordmeter MIT license sha256 BSD license es5 shim MIT license html5shiv MIT license respond MIT license placeholder MIT license flaticon Autor wurde im Impressum vermerkt CC BY 3 0 Tabelle 44 Open Source Software Frontend In der require config js werden die einzelnen Fremdbibliotheken beschrieben 7 2 Backend Tomcat Apache License Version 2 0 Licence Apache Tomcat 2014 Jersey Dual licensed CDDL or GPL Hibernate Dual licensed LGPL 2 1 or ASL 2 0 Apache POI Apache License Version 2 0 Licence Apache POI 2014 Java Mail CDDL or GPLv2 CE Apache Math Apache License Version 2 0 Licence Apache Math 2014 Quartz Apache License Version 2 0 Lice
177. ssen Dabei ist der maximale Richtwert 7 Sekunden Antwortzeiten einer Webapplikation die ber 3 bis 4 Sekunden gehen werden schon als st rend empfunden Bei Antwortzeiten ber 8 bis 10 Sekunden versagt nicht nur die Geduld der Besucher es bricht auch deren roten Faden welche T tigkeit er gerade nachgehen wollte Damit wir anst ndige Antwortzeiten erreichen k nnen werden w hrend der Implementierung Refactorings vorgenommen Grosse Datenmengen werden nicht auf einem Mal geladen und werden wenn notwendig komprimiert Wir setzen uns daher selber den Richtwert von 3 Sekunden die eine Seite beim Laden maximal brauchen darf 4 5 Wartbarkeit Die Wartbarkeit der TeachEval Applikation ist ein wichtiger Bestandteil da die Endversion in den Arbeitsprozess der Qualit tssicherung f r Kurse ihren Einsatz findet Dies bedeutet dass eine Weiterf hrung sehr wahrscheinlich ist Aus diesem Grund sind auch die Modifizierbarkeit und die Skalierbarkeit wichtig Dies betrifft einerseits die Programmierung der Applikation selber jedoch auch die dahinterliegende Datenbank die wir mit dem Einsatz unserer Technologien weit m glichst sicherstellen Ausserdem sollte die Architektur der Applikation so konzipiert sein dass unerwartete Wirkungen von nderungen keinen Einfluss auf andere Teilkomponenten haben Dadurch soll Instabilit t vermieden werden und Fehler in ihrem Problembereich isoliert bleiben Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelor
178. st und erh lt ein Token Um gew hrleisten zu k nnen dass jeder Teilnehmer nur einmal an der Umfrage teilnehmen kann wird das Feld active standardm ssig nach der Teilnahme auf false gesetzt Instructor Falls es sich aber um ein Benutzer handelt der Login Zugriff auf die Webapplikation ben tigt dann wird der Benutzer als Instruktor Tabelle Instructor erfasst Der Instruktor hat entweder die Rolle als Dozent oder als Leiter Der Dozent darf nur auf die Webapplikation zugreifen um Umfragen ber sein Kurs zu beenden und um auf die Auswertung zuzugreifen Der Leiter ist im wesentlichen Sinne der Administrator der die Benutzer verwaltet und Umfragen verwaltet Ein Benutzer kann als Umfrageteilnehmer oder als Instruktor agieren Das heisst jeder Umfrageteilnehmer Instruktor oder Ersteller einer Umfrage wird erfasst Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 121 von 167 Creator Der Creator ist der Ersteller einer Umfrage Der Ersteller ist immer ein Instruktor mit der Rolle als Leiter Role Jeder Benutzer kann eine Rolle haben Ein Teilnehmer kann die Rolle Student Dozent Supervisor oder Leiter haben Ein Instruktor nur Dozent oder Leiter 8 2 Umfrage Bereich survey y lt answer zP positionid e surveyid P e P answerid questionid P z GE answer position xP question_possibleanswer_id answertype O questionid 7 positionid ra P roleid 7 9 possibleanswerid P 9 possibl
179. t o 0 10 20 30 40 50 60 70 80 90 100 Abbildung 106 Resultate von Frage 2 F r den Zugriff auf die Umfragen wurden haupts chlich der Internet Explorer oder der Chrome Browser verwendet Eine Testperson enthielt sich bei dieser Frage Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 152 von 167 Frage 3 Wie empfinden sie die Navigation E Sehr gut E Gut E Nichts besonderes E Schlecht E Sehr schlecht m au u a vu vu vu vu S A A A S O vv ya m m m m m m 4 0 10 20 30 40 50 60 70 80 90 100 Abbildung 107 Resultate von Frage 3 Die Navigation kam bis auf eine Stimme mehrheitlich gut an Frage 4 Wie empfinden sie die durchschnittliche Ladezeit von TeachEval E Sehr schnell E Schnell E Durchschnittlich E Langsam E Sehr langsam Eder 0 10 20 30 40 50 60 70 80 90 100 Abbildung 108 Resultate von Frage 4 Die meisten Teilnehmer empfinden die Ladezeit als schnell und 2 haben es als durchschnittlich bewertet Warum sie es nur als durchschnittlich empfanden k nnen wir nur darauf spekulieren dass entweder alte Hardware die meisten haben mit Smartphone zugegriffen oder eine alte Version eines Webbrowser verwendet wurde Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 153 von 167 Frage 5 Ich konnte ohne weitere Probleme auf die Umfrage zugreifen E Trifft zu E Trifft eher zu E Trifft eher nicht zu
180. t Die Teilnahme an der Umfrage ben tigt keine Authentisierung Priorit t 1 Grund Geh rt zur Aufgabenstellung Tabelle 18 uc Brief An Abmelden UCO2 Umfrage CRUD Der angemeldete Leiter hat das Recht die Umfrage zu verwalten Das heisst er kann neue Umfragen erstellen noch nicht ver ffentlichte Umfragen bearbeiten oder l schen oder bereits abgeschlossene Umfragen l schen Priorit t 1 Grund Geh rt zur Aufgabenstellung Tabelle 19 UC Brief Umfrage CRUD UCO3 Token generieren F r jeden Teilnehmer muss eine eindeutige URL oder Token erzeugt werden Dieser Token gew hrt dem Teilnehmer zu der Umfrage eine Session mit der er die Umfrage abschliessen kann Der Teilnehmer kann jedoch nicht zweimal an der Umfrage teilnehmen Priorit t 1 Grund Geh rt zur Aufgabenstellung Tabelle 20 UC Brief Token generieren UCO4 Token exportieren Die zuf llig generierten Tokens m ssen als Liste in einer Excel Word oder PDF exportiert werden k nnen Priorit t 1 Grund Geh rt zur Aufgabenstellung Tabelle 21 UC Brief Token exportieren UC05 Token per Mail versenden Neu erstellte Tokens werden automatisch an die Teilnehmer per Mail versendet Priorit t 2 Grund Da die Server Infrastruktur der HSR keinen automatisierten Emailversand aus Sicherheitsgr nden zul sst kann diese Funktion bis zur Aufschaltung der Webapplikation nicht verwendet werden Aus diesem Grund entschieden wir uns
181. t Explorer Bus ide 144 Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 15 von 167 6 6 Internet EXpl rer 9 2 22 22 ne ee ana m ine a 144 6 7 Internet Explorer TO a A tt tds 145 6 8 Firefox Laila 146 6 9 CIOM ir Ai dee 146 CLOS MMM AA AA a 147 O 147 E Me ee 148 MAP AA A AAA AAA AAA AAA AA AAA A 149 8 Usability Test a Ad e ee ee ee edd eege ege 150 e NENT EE 150 8 2 TOTES a re Ben A AA AAA 150 8 3 Durchf hrung A ken le ii eb 150 8 4 St tistiken un A Aint ee 150 gl TEE 156 8 6 Fazit aus den Testergebnissen ooocccccconononoonnnnnnnnononononnnnnnnnnnnnnnnnnnnnnnanonnnnnnnnnnnnnnnanannnonanoss 157 9 Verbesserungsm glichkeiten ssnssassesssrenrssssreerrsarssesreesrennssesreeersasssesreeensanssesrreenssnsseeereensenne 158 10 Abbildungzverzeichnis 160 11 Tabellenverze iii Ada 161 SES AO AAA hessen dee ee EE NNee dE eege 162 LL WO A A E T T 163 Selen ee eege 164 3 Ist Soll Vergleich ooooncccnonoconocononacnnonacononnnonnnnnnnnanonnnnron nn nono nnonnn nr cnnn nono nn nn naar rana nr on nn nora a nananncnnnno 164 ASTON Te E 165 5 Aktivitaten A ergeet ia a a Rau allen 166 E E 166 7 Abbildungsverzeichnts iaa a S EE A A EA E AEE E A A EE 167 Benjamin Kehl und Dominique Sorg 13 06 2014 TeachEval Web App f r die Unterrichtsevaluation Umfrage X status umfrage e q ame are px x e umirage ken qA enk x Alles zur ck e Aktion ea open a
182. t die n tigen Daten aus dem Survey Service WrapperController Der Wrapper Controller ist ber die gesamte Applikation g ltig und stellt die Verlinkung zu einzelnen HTML Templates zu Verf gung Tabelle 38 Controllers Es werden folgende Services geladen Service Beschreibung AdminService Im Adminservice befindet sich die Logik f r die Verwaltung der einzelnen Benutzerprofile AuthenticationService Der AuthenticationService ist die clientseitige Schnittstelle zum Server Dieser meldet einen Benutzer beim Server an oder ab EvaluationService ber den EvaluationService werden die einzelnen Evaluationen vom Server beantragt SessionService Der SessionService verwaltet den angemeldeten Benutzer und speichert diesen mit einem Cookie ab Dadurch bleibt dieser bei einem Neustart oder einer Aktualisierung ber die Taste F5 des Webbrowsers angemeldet Zudem wird der empfangene Login Token f r weitere Anfragen auf serverseitigen Ressourcen im Session Service abgespeichert SurveyService ber den SurveyService werden Umfragen geladen und verwaltet Ein CookieStore stellt sicher das w hrend einer Umfrage die ausgef llten Antworten zwischengespeichert werden damit ein Neustart oder eine Aktualisierung des Webbrowser kein Verlust der bereits ausgef llten Fragen mit sich bringt SystemService Der SystemService liefert spezifisch Informationen ber das Projekt wie bspw die aktuelle TeachEval Version oder das aktuelle Datum UserService
183. tance Im Mai haben wir die Packages auf das 3 Schichten Modell umstrukturiert Dies f hrte jedoch dazu dass sich die Distance Metrik auf weitere Packages ausgeweitet hat Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 139 von 167 Instablity CH in e 0 0 1 02 03 04 05 06 07 08 09 1 Abstractness Abbildung 83 Distance Verteilung der Packages Die Abbildung 83 zeigt wie die Verteilung der Packages zur Haupt Sequenz diagonale Linie liegt Der Ordinatenabschnitt ist die Instability I und beschreibt wie viele Packages auf das Package P abh ngen und wie viele Packages P selber verwendet Der auszugebende Wert I liegt zwischen O und 1 wobei 0 f r nur einkommende Abh ngigkeiten und 1 f r nur auskommende Abh ngigkeiten steht Die Abszissenachse ist die Abstractness und z hlt die Anzahl abstrakte Typen in einem Package P Der Wert O bedeutet dass nur konkrete Klassen im Package P liegen und 1 nur abstrakte Klassen oder Interface Durch beide Werte l sst sich aussagen wie weit entfernt die Distance ein Package von der Hauptsequenz liegt Die Distance Wert liegt zwischen 1 und 1 und l sst sich mit der Formel wie folgt berechnen D A I 1 Die Violations aus Tabelle 51 Violations haben alle mit Ausnahme des Comparators einen Distance Wert von 1 Diese entsprechen aus Abbildung 83 den grossen gelben Punkt 0 0 Der Comparator liegt ungef hr bei 0 3 3 Als L sung sehen wir momentan nur 2 M
184. tatements 135 Abbildung 78 Stand Junia se s 222 een Henn 136 Abbildung 79 Stand 02 06 14 ze a een send einge gandia 136 Abbildung 80 Erreichte Test Coverage OI Op 2014 137 Abbildung 81 Pollution Stand Oo Op 2014 137 Abbildung 82 Metriken im Jercimain iava nn conc no rnnn nono nnnnnaancnnnnnons 138 Abbildung 83 Distance Verteilung der Package 139 Abbildung 84 Ladezeit Startseite Amsterdam Holland 141 Abbildung 85 Ladezeit Startseite New York Us 141 Abbildung 86 Ladezeit Umfrage Amsterdam Holland 141 Abbildung 87 Ladezeit Umfrage New York USA 142 Abbildung 88 berblick der Kompatibilit tstests aunssseesenseeennnnnennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnennnnenen 143 Abbildung 89 TeachEval mit IER Support cccconoccoccncnncnnnonononnnnnononnnanononnnnnnnnnnnnnnnnnnnnnnnnnnnnn no nnnnnnnnnnnnnonos 144 Abbildung 90 IE10 Placeholder Support 144 Abbildung 91 IE8 IE9 ohne Placeholder Bibliothek nsssnssnnnesssesnsennnssssssereerrssssesernennssssnsereesnsssseene 144 Abbildung 92 IE8 IE9 mit JQuery Placeholder Bibliothek ssssnsssnnssssssssensrssssesenrenrssssssereernssssesne 144 Abbildung 93 TeachEval mit IE9 Support sscsirinseeiionosrenninessennnnssesioceuentinnes kasine iiet oiek ennnnoessa rinnakkain 145 Abbildung 94 TeachEval mit IE1O Support 145 Abbildung 95 TeachEval mit Firefox 29 0 1 Support 146 Abbildung 96 TeachEval Chrome 35 0 Support 146 Abbildung 97 TeachEval Safari 5 1 7 Support
185. te 111 von 167 6 2 4 2 Collector file imports 2 Collector Abbildung 51 Der Collector mit Unterklassen Der Collector wird w hrend eines Importvorganges verwendet und sammelt alle Informationen in einer Excel Datei Der Collector ist eine abstrakte Klasse die Felder und Methoden f r die Unterklassen zur Verf gung stellt 6 2 4 3 Token EH service token AuthenticationToken D SurveyToken d y dy Y Token Abbildung 52 Token Varianten Das Token Objekt ist ebenfalls eine abstrakte Klasse die bereits Felder und Methoden f r die verschiedenen Token Varianten zur Verf gung stellt 6 2 4 4 AbstractSheet HH exports evaluation Gi InstructorSheet Gi OverviewSheet SupervisorSheet StudentSheet 8 KOR 3 7 17 Saa dar G AbstractSheet Abbildung 53 AbstractSheet f r EvaluationExport Das AbstractSheet wird f r den Export der Evaluationen ben tigt Da die Daten in Student Dozent und Supervisor unterteilt werden und diese je ein eigenes Arbeitsblatt im Excel erhalten wurde f r jedes Arbeitsblatt ein eigenes Sheet Objekt erstellt Das AbstractSheet gew hrt den Subklassen Format Styles und einige definierte Implementationen die f r alle Subklassen verwendet werden k nnen Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 112 von 167 6 2 5 Token Authentication Um einen angemeldeten Benutzer identifizieren zu k nnen muss der Server den Benutzer kennen
186. ten benutzerdefinierten heruntergeladen Diagrammen Diagrammen Diagrammen werden kostenlos 35 CHF pro Monat 449 CHF pro Jahr 1 169 CHF pro Jahr Tabelle 1 Produktevergleich von SurveyMonkey Pricing SurveyMonkey 2014 Die SurveyMonkey Basic Variante ist sehr limitiert in der m glichen Anzahl Fragen und Beantwortungen Zudem bietet sie keine M glichkeit die Auswertungsresultate als Datei herunterzuladen Die Gold oder Platinum Varianten w rden die Bed rfnisse der OdA G ZH nur bedingt besser erf llen da in den 15 Fragetypen kein Fragetyp wie IST Soll Einzelauswahl vorhanden ist HelpCenter for Questoin Types SurveyMonkey 2014 Der Auswertungsteil ist frei konfigurierbar und es ist m glich die Daten als Excel PDF oder als CSV Datei zu exportieren Diagramme werden jedoch nur als Bilder angeboten HelpCenter for creating Charts SurveyMonkey 2014 was f r die Weiterverarbeitung der Daten nicht erw nscht ist Ein weiterer Nachteil ist dass f r jeden Kurs drei Umfragen n mlich f r Studenten Dozenten und f r Supervisoren erstellt werden muss 3 2 Lime Survey Der Funktionsumfang von Lime Survey kann etwa mit SurveyMonkey gleichgestellt werden Jedoch bietet auch Lime Survey keine Fragetypen mit IST Soll Einzelauswahl an Manual Question Types in Lime Survey 2014 Der Auswertungsteil ist ebenfalls als Excel exportierbar jedoch sind diese nur Rohdaten Produkt Preis Antworten Monat in CHF 25 Kostenlos 100 E 250
187. terprogramm f r die Darstellung von Webseiten aus dem World Wide Web WWW Die Darstellung von Webseiten wird mit HTML CSS JavaScript Bilder etc realisiert Bekannte Webbrowsers sind Internet Explorer Chrome Firefox Safari Opera und viele mehr Ein Web Service oder Webdienst ist eine Softwareanwendung die ber ein Netzwerk f r die direkte Maschine zu Maschine Interaktion bereitgestellt wird Jeder Webservice besitzt einen Uniform Resource Identifier URI ber den er eindeutig identifizierbar ist Die Kommunikation kann ber Protokolle wie HTTP HTTPS laufen basierend auf bertragungsformate wie XML oder JSON 13 06 2014 TeachEval Web App f r die Unterrichtsevaluation x umfrage A a FFA emp mmm x Alles zur c Aktion Export mnga oo pa a aomi S e en status 5 06 2014 Umfrag e 05 E Titel racs 20 05 2014 aih o 20 052014 Ela 2 sem FS2014 Ab Ethik mmm Quellenverzeichnis QUV Autor en Dominique Sorg Benjamin Kehl Betreuer Prof Dr Eduard Glatz Projektpartner OdAG Z rich Experte Roberto Pajetta Gegenleser Prof Dr Olaf Zimmermann Bachelorarbeit FS14 Seite 44 von 167 Quellen Benutzerfreundlichkeit Wikipedia 08 05 2014 Abgerufen am 04 03 2014 von http de wikipedia org wiki Benutzerfreundlichkeit Browserstack Webbased Browser Testing 2014 Abgerufen am 19 05 2014 von http www browserstack com DBSchema Offizielle Webseite 2014 Abgerufen am 14 05 2014 vo
188. tmanagement Usabilitytest Qualit tmanagement Unittest Beeumentatien 93 Qualit tmanagement Kompatibilit tstest Beeumentatien 94 Titelblatt Dokument Layout amp Struktur Beetmentatien 95 Wireframe berarbeitung amp Verbesserungen Beeumentatien 97 Management Summary Decumentation 104 Fertigstellung Dokumentation Beeumentatien 423 berarbeitung Software Architektur Beeumentatien 424 berarbeitung Software Qualit tsmanagement Beeumentatien 126 berarbeitung Benutzerhandbuch Administrative 443 Plakat drucken Administrative 4114 Dokumentation drucken Administrative 425 CD erstellen Administrative 127 berarbeitung Benutzerhandbuch Tabelle 14 Arbeitspakete Abgabe 2 Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 7 Infrastruktur Seite 60 von 167 Eine Anforderung unseres Projektes ist es wenn m glich Open Source Software OSS zu verwenden Dabei haben wir folgende Tools im Einsatz Software Systeme OS Entwicklungsumgebung OS Webserver Eclipse Keppler Webstorm Aptana Studio Postgres Java Jersey Restful JDBC JPA Hibernate AngularJS HTML CSS Twitter Bootstrap Java Javascript Git Redmine MS Office Dropbox Astah Community DBSchema Tabelle 15 eingesetzte Tools Benjamin Kehl und Dominique Sorg Beschreibung Einsatzbereich Entwicklungsumgebung Windows 7 8 amp Ubuntu Linux Ubuntu Linux der HSR Backend Entwicklung
189. tzlich ein integriertes Zeitplan Diagramm Gantt Diagramm Dies liefert uns immer einen direkten IST SOLL Vergleich zu unserer Zeitplanung Die Arbeitspakete werden im Kapitel 6 Arbeitspakete6 detaillierter beschrieben 4 3 Vorgehensmodell Unsere Bachelorarbeit wird nach dem Vorgehensmodell Rational Unified Process RUP entwickelt RUP beinhaltet verschiedene Disziplinen wie z B Business Modeling Requirements Analyse amp Design Implementation usw die in jeder Phase und in eine oder mehrere Iterationen vorkommen Dadurch ist auch ein projektbegleitendes Qualit tsmanagement m glich Zudem werden die Komponenten isoliert entwickelt als auch getestet was zur Wiederverwendbarkeit und der Qualit tssteigerung des Produktes beitr gt Zum besseren Problemverst ndnis nutzen wir f r die visuelle Modellierung die Notationssprache UML Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 54 von 167 4 3 1 Phasen Iterationen TeachEval wird in den Phasen Inception Elaboration Construction und Transition unterteilt Jede Phase enth lt eine oder mehrere Iterationen mit einer Gr ssenordnung von etwa 2 Wochen Dazu beachten Sie unsere Zeitplanung in Redmine oder in unserem Meilenstein Dokument Die Bachelorarbeit beginnt mit der Inception Phase und endet dann nach dem Durchlauf aller RUP Phasen mit der Transition Phase Die Iterationen sind ebenfalls in Redmine als Meilensteine definiert 4 3 1 1 Inception Die Inc
190. u Trifft eher nicht zu Trifft nicht zu keine Aussage m glich 2 Die bergeordneten Lern Ziele des Tages werden bekannt gegeben Trifft zu Trifft ener zu Trifft eher nicht zu Trifft nicht zu keine Aussage m glich Y Abschicken Abbrechen Abbildung 13 Umfrage ausf llen Nachdem das Token erfolgreich einer Umfrage zugeordnet worden ist gelangt der Teilnehmer auf seine Umfrage TeachEval unterst tzt folgende Fragetypen Eine Einzelauswahl RADIO Typ gut geeignet f r numerische Fragen IST SOLL Einzelauswahl RADIO Typ mit IST SOLL Situationen Kommentar Textboxes f r offene Fragen Mehrfachauswahl Checkboxes gut geeignet f r kategorische Fragen Mehrfachauswahl mit Kommentar gut geeignet f r kategorische Fragen mit Kommentar Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 28 von 167 Umfrage abgeschlossen Wir m chten uns f r Ihre Teilnahme an unserer Umfrage bedanken Abbildung 14 Umfrage beendet Der Teilnehmer hat die Umfrage erfolgreich abgeschlossen Umfrage geschlossen Die Umfrage zu der angegebenen Umfragekennung konnte nicht geladen werden Entweder existiert die Umfrage mit Ihrer Umfragekennung nicht mehr oder Sie haben bereits daran teilgenommen berpr fen sie Ihre Eingaben Abbildung 15 Umfrage bereits geschlossen Falls der Teilnehmer mit der gleichen Umfragekennung oder ber die Dauer der Umfrage zugreifen m chte dann erh lt der Benutzer ein
191. ue Sorg 13 06 2014 TeachEval Web App f r die Unterrichtsevaluation Umfrage x Se e ege ausw hlen SST x x umfrage u kee qA enk x anes zur cksetzen aktion p S Export A End Dauf z goa start Datum status 06 062014 a el 14 umiragen e 05 06 20 ES Titel 05 2014 al a an e SS 00 m 2014 eem 50 d ACEN 20 05 0 1 25 nik 2 sem FS201 K EN aga Glossar GLO Autor en Dominique Sorg Benjamin Kehl Betreuer Prof Dr Eduard Glatz Projektpartner OdAG Z rich Experte Roberto Pajetta Gegenleser Prof Dr Olaf Zimmermann Bachelorarbeit FS14 Seite 40 von 167 Begriff Beschreibung AngularJS AngularJS ist ein Open Source Framework von Google welches die Erstellung von browserbasierten Single Page Anwendungen mit einem MVC Modell unterst tzt API Als API wird eine Programmierschnittstelle verstanden der von einem Softwaresystem anderen externen Programmen zur Anbindung an das System zur Verf gung stellt In unserem Fall handelt es sich um die REST Ressourcen die f r die Kommunikation mit dem Frontend zur Verf gung gestellt werden Backend Das Backend ist n her am System und somit auch n her an der Verarbeitung oder Ausgabe Bei TeachEval wird hier der Web Service verstanden der auf dem Server l uft Benutzeroberfl che Synonym GUI Client Clientseitig Eine clientseitige Anwendung wird auf dem Rechner des Nutzers ausgef hrt Das Gegenst ck eines Clients ist der Server
192. uft bevor er Zugriff auf eine Ressource erh lt den SecurityFilter Dieser berpr ft ob der mitgelieferte Token g ltig ist und gew hrt bzw verhindert den Zugang zur Ressource Der folgende Code demonstriert die Implementation des Security Filter Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 113 von 167 public class SecurityFilter implements ContainerRequestFilter Override public ContainerRequest filter ContainerRequest request throws WebApplicationException Code return request Tabelle 43 Security Filter als Code Anschliessend kann mit folgenden Befehl der Token aus dem Header gelesen werden Get the authentication data passed in HTTP headers parameters String stringToken request getHeaderValue Authorization Abbildung 56 GetHeaderValue Falls der Token nicht g ltig sein sollte wird eine WebApplicationException geworfen die automatisch eine HTTP Response mit dem Status Code UNAUTHORIZED an den Client schickt throw new WebApplicationException Status UNAUTHORIZED D Abbildung 57 WebApplicationException Unauthorized Um am Ende den Zugriff nach der Benutzerrolle zu unterscheiden kommt eine RoleAuthenticator Klasse die vom SecuirtyContext abgeleitet wird zum Einsatz Dieser SecurityContext kann anschliessend im REST folgendermassen verwendet werden Wir verweisen hier f r den vollst ndigen Code auf unser JavaDoc und auf den Source Code GET Path participant all
193. um in mehreren Fragen vorkommen siehe Tabelle Question_PossibleAnswer Jede Antwortm glichkeit besitzt ebenfalls eine Position zur Bestimmung der Reihenfolge Answer Die Antworten der Teilnehmer werden je nach Fragetyp in der Spalte Typ IST SOLL RADIO CHECKBOX oder TEXTBOX gespeichert 8 3 L schoperationen In der Datenbank werden laufend neue Daten hinzugef gt und bestehende Daten ge ndert L schoperationen werden selten genutzt Wenn dann nur beim Instruktor Die Umfragen werden nicht gel scht sondern mit dem Feld State auf Archiviert gesetzt So wird verhindert dass die Daten bei einem versehentlichen L schen unwiderruflich weg sind Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 123 von 167 9 Abbildungsverzeichnis Abbildung 36 System bersicht Teachtval nn EEEN 93 Abbildung 37 Projektstruktur TeachEval nn nnnnnnnnnnnnnnnnnnnns 96 Abbildung 38 Projektstruktur Cent ii a a 97 Abbildung 39 Projektstruktur im Backend ooooccccncnononoooncnnnnononononnnnnnnonanonnnnnnnnnnnnnnnnnnnnnnnncnnnnannnnnnnons 98 Abbildung 40 Physiche Architektur 100 Abbildung 41 Deployment Diagramm 101 Abbildung 42 AngularJS Architektur Entwicklertagebuch AngularJS Structure 2014 102 Abbildung 43 TeachEval Start Prozess 104 Abbildung 44 ng enter Direktive ooooccncccnononoonnncnncnnnanononnnncnncnnnnnononnonnnncnnnnn no nnnnnnnnnnnnn non nnnnnnccnnnnnnns 105 Abbildung 45 2 Schic
194. und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 14 von 167 3 Representational State Transfer BEST 95 3 1 Richardson Maturity Model 95 A Oe d TEE 96 A DEE 97 ADAC diia 98 4 3Verwendete Libraries iii Rn Rain ann 98 5 Physische Architekt r cian A tt aa na Ibn 100 5 1 DatenBanku ern Ren ia ini 100 ET 100 DEI MEN A LaS 100 6 Logische Architektur 252 ee na en ange AAA A a AAA 102 A A NN 102 LI EE 107 R I 118 7 1 Et doi aca 118 TB ii A AA 118 8 Datenspeicherung eaaa aare a eean a reaa e ea Rara n aeaa E esaat ao eE RA derasa i a ihais 119 NET EE 120 8 2 Umfrage Berelch egen Seeerei dee et deed ge 121 SS L schoperatlo Den ds 122 9 Abbildungsverzeichnis 2 2 senken anna Ri 123 10 Tabellenverzeichnis 2 2 2 amp 2522 Rense esse dida d Sege 123 Software Qualit tsmanagement SQM e2sesssn0nsnunnnnnnnnonnonsnnnnnnnnnnonnnnsnunnnnnnenonnansnunnnnnnnnen 124 T Zweck EEN 125 A NN 125 KE TI e EE 126 SE O 126 3 2 UNIT TOS Ni a an adela ds 129 4 Systemtestprotokoll eege des S ch E eeh hide 132 4 1 Angaben zur Durchf brung 132 4 2 Protokoll 234 Aaa 132 A 3Verbesserungsmoglichkeiten 140 e E D LTE EE 141 6 KompatibilitaTStOs Sii A eege dee 143 CL EMB A ie 143 6 2 Angaben zur Durchtf hrung ococoooocncncnocononononnnononononononononnnnnnnnnnnonnnnnnnnonannnnnnnonnnnnnnnnannnonannss 143 6 3 Einschrank np ua id siii 143 6 4 berblick aller Teste en east 143 6 5 Interne
195. ware Qualit tsmanagment Dokument wird ersichtlich dass f r die Messung der Benutzerfreundlichkeit Usability Tests in Form von Online Umfragen durchgef hrt wurden Mit den gestellten Fragen versuchten wir den Einsatz von TeachEval aus unterschiedlichen Blickwinkel nachzuvollziehen Die Studenten nahmen mehrheitlich mit dem Smartphone teil und konnten diese effizient innerhalb max 10min ausf llen Die Auswertungen wurden mit den ISO 9241 110 Kriterien wie Verf gbarkeit Aufgabenangemessenheit bersichtlichkeit Selbstbeschreibungsf higkeit Erwartungskonformit t Fehlertoleranz Erlernbarkeit Individualisierbarkeit oder Steuerbarkeit bewertet Mit den vorhandenen Daten konnten wir die vereinbarte Benutzerfreundlichkeit aus der Anforderungsspezifikation von 60 erf llen 8 Schlussfolgerungen Entstanden ist eine moderne und dynamische Web Applikation namens TeachEval die trotz der aus dem Kapitel 6 2 Optimierungen aufgelisteten Verbesserungsm glichkeiten eine gute Basis schafft um das Qualit tsmanagement der OdA G ZH zu vereinfachen Der gesamte manuelle Workflow wurde automatisiert Nur die Umfragen m ssen noch von Hand in einer Excel Vorlage erstellt und hochgeladen werden Anschliessend berpr ft TeachEval automatisch ob die Umfrage gestartet beendet oder ob E Mail Einladungen zu einer Umfrage als Link an die Teilnehmer verschickt werden m ssen Nachdem die meisten Teilnehmer die Frageb gen ausgef llt haben kann die Leiterin ode
196. y all zugreifen m chte um eine Liste aller Umfragen zu bekommen dann wird immer zuerst nach der Rolle berpr ft Das heisst wenn der Client die Rolle als Leiter besitzt dann wird als N chstes die gew nschte Operation durchgef hrt sonst erh lt der Client eine UNAUTHORIZED Meldung 6 2 6 3 Umfrage importieren sd ImportSurveyifile J REST Ap https www teacheval ch rest uploadhisx survey UploadRest Client Actor 1 uploadSurveyFileifile dh D IsExtension I sx L Response Status BAD_REQUEST T t 2 uploadSurveyFile file N l Luef 2 2 saveUploadedFileluploadedinputStream fileLocation pH lt lt create gt gt 23 importSurveySenviceffileLocation creator gt 23 1 1 collectSurveyObjects 23111 insertinDb K Response Status OK___ _ T t Abbildung 61 Ablauf Importieren einer Umfrage Der Importvorgang besteht aus zwei Vorg ngen Der erste Vorgang ist das Hochladen der Datei und die Datei tempor r auf dem Server abspeichern Als Zweites werden die Informationen in der Datei Benjamin Kehl und Dominique Sorg 13 06 2014 Bachelorarbeit FS14 Seite 116 von 167 gesammelt und berpr ft Beim ersten Versuch hat der Client in Abbildung 61 Ablauf Importieren einer Umfrage eine Datei hochgeladen bei der die Dateiendung nicht stimmt Der Client erh lt dann eine Fehlermeldung Beim
197. zu Trifft eher zu 21 Theorie Inhalte wurden in Bezug auf die praktische Umsetzung angeboten Student IST_SOLL_RADIO Trifft zu Trifft eher zu 22 Ich erlebte die Lehrperson in Bezug auf das Thema als fachlich kompetent Student IST_SOLL_RADIO Trifft zu Trifft eher zu 23 Die usseren Arbeitsbedingungen am Veranstaltungsort erlebte ich als lernf rderlich Student IST_SOLL_RADIO Trifft zu Trifft eher zu 24 Der LTT Praxis Tag war gut organisiert R umlichkeiten Infrastruktur zeitliche Organisation Pausen Einladung Informationen etc Student IST_SOLL_RADIO Trifft zu Trifft eherzu 25 Ich erhielt Raum f r eine individuelle Lernergebnis berpr fung bzw zur Selbstreflektion Student IST_SOLL_RADIO Trifft zu Trifft eher zu 26 Was hat Ihnen am LTT Praxis am meisten Spass gemacht Student TEXTBOX 27 Was k nnte ver ndert werden Welche Anregungen m chte ich weitergeben Student TEXTBOX 28 Den LTT Praxis Tag erachte ich insgesamt als gelungen2 Student TEXTBOX 29 Den LTT Praxis Tag erachte ich insgesamt als gelungen Dozent RADIO Trifft zu Trifft eher zu 30 Ich f hlte mich gen gend kompetent die Studierenden in ihrem Lernprozess zu unterst tzen Dozent RADIO Trifft zu Trifft eher zu 31 Ich erm glichte den Studierenden ihre Erfahrungen zu reflektieren Dozent RADIO Trifft zu Trifft eher zu 32 Ich verf gte ber die notwendigen Informationen um einen guten Unterricht durchzuf hren Dozent RADIO Trifft zu Trifft eher zu BEN _ 3 Fragebogen 4 Instrultor
198. zweiten Versuch l dt der Client eine Datei anhand der Vorlage hoch Der UploadRest berpr ft wieder nach der Dateierweiterung und gibt bei Erfolg den Importvorgang weiter hinunter zum FileService Dieser speichert als Erstes die Datei lokal ab Als N chstes werden die Informationen gesammelt und nach Korrektheit und Vollst ndigkeit gepr ft Falls alles in Ordnung ist dann speichert ImportSurveyService die Informationen in die Datenbank und der Client erh lt eine Erfolgsmeldung 6 2 6 4 Umfrage exportieren REST API htps Ihmww teacheval ch rest download xIsx surveyl1 2 DownloadRest ExportSuveySenice ent Actor T 1 loadSurveyE d t N downloadSurveyExcel survayid token gt 1 1 exportSurveySemice PATH TEMPLATE surveyld ei 1 1 1 new ExportSurveySerice PATH TEMPLATE surveyldi 11 11 createSuveyFiletsuvey y 1 1 1 1 1 writeData f 11 112 saveFile 12 gatSurvayFile PATHNAME surveyld ARA TE A en mith file scher l E JJ Abbildung 62 Ablauf Umfrage exportieren Der Client m chte eine Umfrage exportieren damit er sie die Tokens f r die Teilnehmer erh lt ber die Ressource rest download xIsx survey fid 0 9 kann der Client eine Umfrage herunterladen Die ID kann eine beliebige ganze Zahl sein Der DownloadRest nimmt die Anfrage ber die URI entgegen und gibt die Anfrage an den FileService Dieser erstellt ein neues ExportSurveyService Objekt welches dann das Template einliest di

Download Pdf Manuals

image

Related Search

Related Contents

Black & Decker LPP120 User's Manual  NOTIONS DE BASE - Jacques Cellier  STEVAL-IFS001V1 evaluation kit with MEMS  住宅用消火器(強化液) 取扱説明書  Citizen Systems iDP-3210 User's Manual    University of Hertfordshire  

Copyright © All rights reserved.
Failed to retrieve file