Home

Kopie - Institut für Wirtschaftsinformatik

image

Contents

1. und dieselbe Velocity Engine wird f r mehrere Oberfl chen konfiguriert Abbildung 36 Dependency Injection bei Spring Das Spring Framework unterst tzt das Programmieren mithilfe von Interfaces Anstatt konkrete Klassendefinitionen als Abh ngigkeiten anzugeben wird ben tigte Funktionalit t mittels Interfaces festgelegt Dadurch kann eine referenzierte Klasse ohne Quelltext nderung durch eine andere Klasse ausgetauscht werden vorausgesetzt diese implementiert das geforderte Interface Die Definition von Abh ngigkeiten mittels Interfaces und die lose Kopplung ber Konfigurationsdateien erm glicht das Bereitstellen klarer Schnittstellen f r Lernmodule Neue Expertenmodule die diese Schnittstellen mplementieren k nnen daraufhin ohne Quelltext Modifikation nur durch Anpassung der Spring Konfiguration in die eTutor Dispatcher Komponente eingebunden werden Das Hinzuf gen neuer Expertenmodule wird m Administrationshandbuch Anhang C beschrieben Zudem erleichtert die Abh ngiskeitsdefinition mittels Interfaces das isolierte Testen da in der Testumgebung referenzierte Komponenten durch Platzhalter sogenannte Mock Objekte ausgetauscht werden k nnen 4 3 5 3 Webservice Zugriff Die Kommunikation zwischen eTutor Dispatcher und Moodle wird mittels Webservice Technologie realisiert welche eine Daten bertragung im XML Format gem dem SOAP Standard vorsieht Java Frameworks wie Axis und deren Nachfolger Axis2 vereinfachen di
2. 79 Abbildung 9 Hinzuf gen von bungsaufgaben zum Test 83 Abbildung 10 Abgabeformular f r manuell gepr fte bungsabgabe anlegen ne 84 Abbildung 11 Abgabefrist f r manuell korrigiertes bungsbeispiel festegen 84 Abbildung 12 bungsbeispiel zum Decompose Algorithmus ausarbeiten ocononononnoninninnnninnicincnnnnss 85 Abbildung 13 R ckmeldung des elutor Rxvpertenmoduls 86 Abbildung 14 Ausarbeitung f r manuell korrigiertes bungsbeispiel abeehben 86 Abbildung 15 bersicht zu bungsbewertungen uuuneneneesessessennenennnnnnnnnnnnnennennnnnnnnnnnennnnnnnnnnennnnnnn 87 Abbildung 16 zu bewertende bungsabgaben anzeigen 87 Abbildung 17 Punktebewertung und R ckmeldung f r Ubungsabeaben 88 Codeausschnittverzeichnis Codeausschnitt 1 Backup von Aufoabenstellungen 81 Kapitel 1 Uberblick A Benutzerhandbuch 73 1 berblick Der Hauptbildschirm von Moodle ist nach dem Login dreigeteilt In der Mitte werden Kursinhalte angezeigt wie eine bersichtsliste ber Lehrmaterialen eines Kurses oder der Inhalt eines Lehrmaterials w hrend sich links und rechts davon sogenannte Kursbl cke befinden Dabei handelt es sich um Zusatzinformationen zum Kurs wie Informationen ber neueste Diskussionsforumsbeitr ge oder eine Liste von festgelegten Weblinks Die Reihenfolge der Darstellung von Kursbl cken kann angepasst werden 2 Kurs Datenmodellierung WS2009 2010 Windows Internet Explo
3. 20 48 37 http 169 254 218 201 8080 etutor services ETutorService Complete 20 48 47 http 169 254 218 201 8080 etutor services ETutorService Complete 20 48 52 ttp 169 254 218 201 8080 etutor services ETutorService Complete 20 48 56 http 169 254 218 201 8080 etutor services ETutorService Complete Target Service http 169 254 218 201 8080 etutor services ETutorService _ SOAP Request SOAPR lt soapencstring gt B lt soapencstring gt A lt soapencstring gt 1 2 lt soapencstring gt lt soapencstring gt C lt soapencstring gt lt soapencstring gt ADD DEPENDENCY lt soapencstring gt lt soapencstring gt C lt soapencstring gt lt soapencstring gt 1 2 lt soapencstring gt lt soapencstring gt D lt soapencstring gt lt XHTML gt lt progressInfo gt ok lt progressInfo gt lt questionEnd gt false lt questionEnd gt lt resources gt lt results gt lt attempts gt 8 lt attempts gt lt customResults xmlns xsi http lt soapencstring gt B lt soapencstring gt lt score gt 0 lt score gt lt soapencstring gt ADD KEY lt soapencstring gt lt 3cores gt lt soapencstring gt 1 2 lt soapencstring gt lt score gt lt soapencstring gt submit lt soapencstring gt lt axis gt lt soapencstring gt 1 lt soapencstring gt lt axis gt lt soapencstring gt 7 lt soapencstring gt lt marks gt 0 lt marks gt lt soapencstring gt 2 lt soapencstring gt lt score gt lt value
4. 4 3 5 2 Komponenten Integration Um die vorhandenen Expertenmodule mit der neu entwickelten eTutor Dispatcher Komponente lose zu koppeln kommt das Java Framework Spring zum Einsatz Spring basiert auf dem sogenannten Inversion of Control loC bzw Dependency Injection DI Ansatz Spring Dokumentation 2010 Dabei werden ben tigte Ressourcen nicht direkt im Programmcode geladen beispielsweise ber einen JNDI Lookup sondern die Konfiguration der Abh ngigkeiten findet au erhalb des Quelltexts statt 7 limplementation etutor_dispatcher src resources rdbd printreportview rdbdPrintReportView vm 8 limplementation etutor_fd src etutor modules rdbd ui RDBDPrintReportView java Kapitel 4 Integration des eTutors in Moodle 60 Spring ORM Spring Web Spring Web Spring AOP MVC Spring Context Spring DAO Spring Core Abbildung 35 Spring Framework Komponenten in Anlehnung an Spring Dokumentation 2010 Das Spring Framework ist eine Sammlung von Java Bibliotheken die zu mehreren Paketen zusammengefasst sind Diese sind in Abbildung 35 dargestellt wobei die grau hinterlegten Pakete mit im eTutor Dispatcher Projekt verwendet werden Spring Core beinhaltet den sogenannten Container der f r die Verwaltung und die Kopplung von Anwendungskomponenten zust ndig ist Er stellt Anwendungskomponenten in Form von Plain Old Java Objects POJOs zur Verf gung wobei unter POJOs klassische Java Klassen ohne externe Abh ngigkeiten verstanden we
5. Filter matched 7 of 7 items Abbildung 13 Debugging Einstellungen 2 Kapitel 2 Moodle B Installationshandbuch 107 2 3 Installation des e Tutor Plugins An dieser Stelle wird erkl rt wie das im Rahmen der Diplomarbeit entwickelte Plugin installiert wird Die Installation f r eine neue Moodle Instanz behandelt Kapitel 2 3 1 die Integration des Plugins in eine vorhandene Moodle Instanz wird in Kapitel 2 3 2 beschrieben 2 3 1 Installation in neuer Moodle Instanz Die Moodle Installation kann als Gesamtpaket innerhalb von Eclipse aus dem SVN Repository ausgecheckt werden Nach M glichkeit sollte als Zielverzeichnis der htdocs Ordner von XAMPP gew hlt werden Wenn das Projekt in einem anderen Ordner liegt muss sein Inhalt in den htdocs Ordner kopiert werden F r die Installation von Moodle sollte zun chst die Datei config php im Hauptverzeichnis gel scht werden Anschlie end w rd beim Aufruf von Moodle m Webbrowser der Installationsassistent gestartet um Moodle einzurichten Um die vorbereiteten Testdaten einspielen zu k nnen kann als Tabellenpr fix die Standardeinstellung mdl_ beibehalten werden 2 3 2 Installation in vorhandener Moodle Instanz Bei einer bereits vorhandenen Moodle Installation m ssen die entwickelten Moodle Plugins an mehrere Stellen aus der Versionsverwaltung in den Moodle Server kopiert werden Der m Folgenden kursiv angegebene Pfad entspricht dabei dem relativen Pfad unter implementati
6. Abbildung 5 Best tigung zum Ablegen in der Beispieldatenbank Erst wenn die korrekte Speicherung der Beispiel Musterl sung von eTutor Seite best tigt wurde kann das bungsbeispiel ber die Schaltfl che Abschlie en in der Moodle Datenbank abgelegt werden Diese Ma nahme stellt bei der verteilten Transaktion sicher dass jedes in Moodle abgelegte bungsbeispiel erfolgreich im eTutor System gespeichert wurde Das bedeutet dass nur jene Beispiele verwendet werden k nnen die auch tats chlich funktionsf hig s nd 2 1 1 Beispielgruppe erstellen editieren Kursblock E Tutor Admin Beispielgruppen Mehrere bungsbeispiele des selben Themenbereichs k nnen in Beispielgruppen zusammengefasst werden Eine Beispielgruppe enth lt eine textuelle Einf hrung des jeweiligen Themas diese Themenbeschreibung wird ber der Angabe jedes Beispiels angezeigt das sich in dieser Gruppe Kapitel 2 Beispieldatenbank administrieren Kursleiter A Benutzerhandbuch 77 befindet Beispielsweise existieren mehrere bungsaufgaben zum Thema Universit tskurse Das Konzept der Beispielgruppen erm glicht es die Beschreibung dieser Kurse an zentraler Stelle n der Beispielgruppe zu verwalten in der bungsbeispiel Angabe muss nur die tats chliche textuelle Aufgabenstellung gespeichert werden Das Anlegen und Editieren einer Beispielgruppe kann mit dem Vorgehen beim Verwalten von bungsbeispielen verglichen werden In der Beispielgruppen bersic
7. bereinstimmen XDebug DBGp Settings General Settings Debug Port Show super globals in variable view Max array depth 3 Max children 31 _ Use Multisession Accept remote session JIT Output Capture Settings capture sc Capture stderr DEGp Proxy Support d Use Proxy IDE Key ECI IPZSF MBEP Le Sen ben e Sclll O Proxy Address host port Abbildung 10 PHP Debugger Port konfigurieren Kapitel 2 Moodle B Installationshandbuch 105 Der Moodle Webserver kann in den Eclipse Einstellungen unter PHP PHP Servers gesetzt werden E Preferences PHP Servers General PHP Servers Management Dynamic Languages Help Note that removing a server definition will also remove any launch configuration that is using it Install Update Mame URL Neu Java PHP Default PHP Web Server W http localhost Oe El E EEE Appearance H Code Style H Debug E Editor Set Default Mew Project Layout PHP Executables PHP Interpreter PAP Libraries PHF Manual PAP Servers H Remote Systems H Run Debug Di Server H Tasks H Team Fa Abbildung 11 PHP Debugger Serververbindung einrichten Zum Starten des Debugvorgangs dient der unter Run Debug Configurations erreichbare Eclipse Dialog Die Einstellungen sollten dabei wie auf den Screenshots dargestellt vorgenommen werden Als Debugger wird XDebug und als Webserver der im letzten Schritt konfigurierte Default PHP Webserver ausgew hlt
8. eine automatisierte Beispielausarbeitung eignen s ch Beispieltypen bei denen eine algor thmische Kapitel 1 Aufgabenstellung 11 Probleml sung m glich ist Als Beispiel kann das Decompose Verfahren zum Normalisieren von Relationen genannt werden eTutor unterst tzt auch die manuelle bungskorrektur durch studentische Mitarbeiter im Lehrbetrieb im Folgenden als Tutoren bezeichnet Tutoren kontrollieren dabei jene bungstypen f r die im eTutor kein Expertenmodul zur Aufgabenkorrektur implementiert wurde Kernfunktionalit t des eTutor Systems ist die automatische Korrektur von bungsbeispielen Da zum Zeitpunkt der eTutor Erstellung keine geeigneten LMS vorhanden waren musste die Verwaltungsfunktionalit t f r Kurse Teilnehmer und Bewertungen vom Entwicklerteam am DKE Institut selbst programmiert werden Diese Funktionalit t war notwendig um Korrekturergebnisse Studenten zuordnen zu k nnen Da bei der Erstellung des eTutors die Entwicklung von Expertenmodulen im Vordergrund stand wurde sie jedoch nur rudiment r umgesetzt Daraus ergibt sich eine Reihe von Problemen wie eine fehlende Unterst tzung von Mehrsprachigkeit in der Benutzerschnittstelle Weitere Verbesserungspotentiale des derzeitigen Systems werden in Kapitel 4 2 1 4 Zielsystem Funktionalit t beschrieben 1 2 Zielsetzung Das eTutor System des DKE Instituts unterst tzt die automatische Ubungskorrektur komplexer Beispieltypen und kann daher als intelligentes tu
9. 9 zum Einsatz l uft auf einem Apache 2 Webserver mit PHP Erweiterung und greift auf eine MySOL Datenbank zu eTutor setzt einen Java Application Server wie Tomcat 6 voraus und verwendet die Java Bibliotheken Spring 2 5 Axis 2 und Velocity 1 6 Die meisten eTutor Expertenmodule legen die Beispiel Musterl sung n einer Oracle Datenbank ab Die Einrichtung dieser Komponenten wird m Installationshandbuch Anhang B n her beschrieben Die in Klammer angef hrten Moodle Tabellen sind in Kapitel 4 2 3 n her beschrieben Kapitel 4 Integration des eTutors in Moodle 51 Client lt lt artifacte gt Webbrowser A 5 HTTP DKE Institutsserwer 1 execution environment gt gt JAVA 1 6 VM zentraler Universit tsserver lt lt execution envirorment gt gt lt lt execution environment gt gt Apache Tomcat 6 Apache 2 Webserver Euros E eTutor Dispatcher execution environment gt gt ifac lt lt artifact gt gt Fi PHP 5 Erweiterung lt lt artifact gt e Moodle 1 9 Installation lt lt antifact gt gt Expertenmodul lt lt artifact gt gt Moodle Erweiterung lt lt antifact gt gt Velocity 1 6 execution environment gt MySQL 5 Datenbank execution environment gt y Oracle Oo Datenbank Moodle Datenbanktabellen lt lt artifact gt gt EN eTutor Datenbanktabellen Abbildung 28 Verteilungsdiagramm des integrierten Lernsystems 4 3 2 Entwicklungsumgebung Das eTutor Altsystem ist als Java Pr
10. Codeausschnitt 7 konfigurierte Sprachen in applicationContext xml Dem Konstruktor der Klasse WsUtils wird in der Spring Konfigurationsdatei eine Liste der konfigurierten Sprachen bergeben Der Key Wert gibt das Sprachk rzel im Moodle System an Zudem muss f r jede in der Spring Konfigurationsdatei angef hrte Sprache eine Properties Datei mit den lokalisierten Texten existieren Die Sprachdateien sind im Ordner implementation etutor_dispatcher src abgelegt der Dateiname hat die Form messages_ SPRACHCODE properties beispielsweise messages_de properties 1 4 Ubungsaufgaben an Tutoren zuteilen 5 http ocalhost moodleetu G F http localhost moodleetutor admin cron php Server Time Mon 01 Mar 2010 16 49 24 0100 Starting activity modules Finished activity modules Starting blocks Processing cron function for dke tutor submissions per tutor for taski 0 DEE Tutor assignment 1 tasks created 1 submissions assigned to 3 tutors took 0 015703 seconds done Processing cron function for search Global searching is not enabled Nothing performed by search done Finished blocks Starting admin reports Finished admin reports Updating languages cache Removing expired enrolments none found Starting main gradebook job done Running backups if required Checking backup status INACTIVE Backup tasks finished Running auth crons if required Cron script completed correctly Execution took 0 472719 s
11. Dabei handelt es sich um bew hrte Expertenl sungen um eine genau definierte Problemstellung zu l sen Ein Systems Re Engineering Pattern besteht somit aus einer Problembeschreibung dem L sungsvorschlag und einer Auflistung der Vor und Nachteile dieses Vorgehens Die Problembeschreibung enth lt neben den formalen Anforderungen weitere Vorgaben wie Budgetbeschr nkungen W nsche der k nftigen Systemanwender und den geforderten Fertigstellungstermin Cato Entwicklungsprozess gt Ge Analyse Unterst tzung durch Systems Reeingeering Patterns Abbildung 9 Systems Re Engineering Patterns in Anlehnung an Stevens amp Pooley 1998 8 20 Im Zuge eines Migrationsprojekts k nnen mithilfe der Analyse des Altsystems mehrere Teilaufgabenstellungen identifiziert werden F r diese werden im n chsten Schritt geeignete Systems Re Engineering Patterns gesucht deren Empfehlungen gefolgt werden kann Da diese im Gegensatz zu vollst ndigen Vorgehensmodellen klein und somit berschaubar sind kann die Eignung f r ein konkretes Projekt auch von Entwicklern mit fehlender Migrationserfahrung ermittelt werden 3 2 6 Gegen berstellung der Vorgehensweisen Wie in Abbildung 10 ersichtlich ist nehmen bei den Umstellungsprozessen Cold Turkey und Chicken Little sowohl Daten als auch Funktionen eine wichtige Rolle ein Im Gegensatz dazu stellt die Butterfly Methode das berspielen der Daten vom Alt in das Zielsystem in den Vordergrund und
12. E SA SO EE EELER lt EXERCISEGROUPSHORTDESCRIPTION gt uni lt EXERCISEGROUPSHORTDESCRIPTION gt A Benutzerhandbuch 80 lt QUESTION gt SE BEE lt PARENT gt O lt PARENT gt lt NAME gt uni ra frage lt NAME gt lt ETUTOR gt lt REMOTE1D gt 13113 lt REMOTEID gt lt FEEDBACKLEVEL gt 3 lt FEEDBACKLEVEL gt lt TASKTYPE gt lt SHORTDESCRIPTION gt ra lt SHORTDESCRIPTION gt lt LONGDESCRIPTION gt relationale Algebra lt LONGDESCRIPTION gt lt VERSION gt 5 lt VERSION gt lt GENERATEASSIGNMENTTEXT gt n lt GENERATEASSIGNMENTTEXT gt lt MAXFEEDBACKLEVEL gt 4 lt MAXFEEDBACKLEVEL gt lt INTERNATIONS gt INTERNZTTIOND nel A sE es Cela richtigen relationalen Algebra Scan den MESE lt LANGUAGE gt lt LANGUAGECODE gt de _utf3 lt LANGUAGECODE gt ES DEA y lt T O DEFAULT lt LANGUAGE gt lt INTERNATION gt lt INTERNATION gt lt TEXT gt Create the correct rear nales Reinas ja lt LANGUAGE gt lt LANGUAGECODE gt en ut ER lt LANGUAGECODE gt lt ISDEFAULT gt n MS DEE A lt LANGUAGE gt lt INTERNATION gt lt INTERNATIONS gt lt TASKTYPE gt lt EXERCISEGROUP gt lt SHORTDESCRIPTION gt da lt SHORTDESCRIPTION gt lt LONGDESCRIPTION gt Universit t lt LONGDESCRIPTION gt lt INTERNATIONS gt lt INTERNATION gt lt TEXT gt Es geht um Maine satan EDEN Kapitel 2 Beispieldatenbank administrieren Kursleiter lt INTERNATIONS gt lt INTERNATION gt s
13. Zielsystem berf hren Ende Abbildung 5 Chicken Little Iterationsphase sinngem nach Brodie amp Stonebraker 1995 S 59 Auf die genannten Schritte wird an dieser Stelle im Detail eingegangen Altsystem analysieren Im Zuge einer Migration wird das Altsystem untersucht und es werden dabei jene Komponenten identifiziert die in das Zielsystem berf hrt werden m ssen F r diesen Zweck werden die im Altsystem vorhandenen Funktionen Daten und Schnittstellen mit den Systemanforderungen des Zielsystems verglichen Unn tige Bestandteile werden im weiteren Kapitel 3 Migrationstechniken zur Systemintegration 20 Migrationsprozess nicht weiter beachtet Das Ergebnis der Analysephase hat daher gro en Einfluss auf den Gesamtaufwand eines Migrationsprojekts Altsystem Struktur bestimmen In diesem Schritt wird die Struktur des Altsystems ermittelt Dabei soll festgestellt werden inwieweit sich das Altsystem in einzelne Bestandteile mit definierten Schnittstellen zerlegen l sst Je klarer sich das System aufgliedern l sst desto eher wird eine schrittweise Migration gelingen Dabei muss jedoch beachtet werden dass zwischen Systemteilen undokumentierte Abh ngigkeiten bestehen k nnen Zielsystem Schnittstellen entwickeln Sind die Schnittstellen des Altsystems bekannt kann untersucht werden welche Ankn pfungspunkte f r umgestellte Komponenten zum Altsystem bestehen Je nach Umstellungsart einer Komponente siehe Abschnitt 3 3
14. an den eTutor geschickt 4 Da Beispieldialoge im eTutor System verwaltet werden m ssen diese im Zuge der L sungsbearbeitung mittels Webservice zur Moodle Webschnittstelle bertragen werden 5 Im Dialog eingebundene Dateien beispielsweise Bilder werden bei der ersten Dialogverwendung im Moodle System zwischengespeichert damit diese nicht bei jedem Dialog Aufruf erneut mittels Webservice zum Moodle System bertragen werden m ssen eTutor seitig wird zu Beginn jedes Bearbeitungsprozesses eine Benutzersession angelegt 6 Abh ngig vom Beispieltyp wird daraufhin in einem oder mehreren Benutzerdialogen die Musterl sung des neuen bungsbeispiels erfasst Der daf r notwendige Kommunikationsablauf 7 10 wird daher so lange wiederholt bis alle Beispieldaten erfasst wurden im Diagramm durch das Schl sselwort loop gekennzeichnet Nachdem das bungsbeispiel erfolgreich in der Expertenmodul Datenbank abgelegt wurde werden nach einer Best tigung des Benutzers 11 die neu erstellte bung n der Moodle Beispieldatenbank gespeichert und die eTutor Benutzersession geschlossen 12 Kapitel 4 Integration des eTutors in Moodle 42 1 GET moodle jku at questiontypeletutorsetutof _admin question_edit php Stylesheet HTML Formular version sessionid Bild und Javacript Dateien Anzahl der Durchl ufe abh ngig vom Beispieltyp 7 POST moodle jku at questiontypeletutor etutor_acdminiquestion_edit php Navigati
15. bergabeparameter aufgerufen und der R ckgabewert im Benutzerdialog angezeigt Kapitel 4 Integration des eTutors in Moodle 59 lt g a o Soma Report report null EE ie pre pomo ae Oda IS So A 0 2 Si leeale ESO Report request getAttribute trend RDBDCONsS tantes EE EE ER OR MEERN Cer EELER POr E Tepot lees a Jsp printReport jsp Altsystem b Velocity Template rdbdPrintReportView vm Codeausschnitt 1 Gegeniiberstellung Benutzeroberfl che mit Jsp und Velocity In der JSP Wariante werden die anzuzeigenden Daten aus der Benutzersession geladen und an der gleichen Stelle im Quelltext ausgegeben Im Gegensatz dazu werden bei der Velocity Umsetzung die anzuzeigenden Objekte zun chst wie in Codeausschnitt 2 dargestellt innerhalb des Java Codes einer HashMap Datenstruktur abgelegt und daraufhin dem entsprechenden Velocity Template zur Anzeige bergeben Bei Velocity wird daher die Datenaufbereitung von der Datenanzeige getrennt durchgef hrt wodurch sich die bersichtlichkeit erh ht private String generateXhtml Report report Locale locale Map lt String Object gt model new HashMap lt String Object gt model put inte N Fer MER an eee Model pu report EE Ee model put locale locale return VelocityEngineUtils mergeTemplatelntostring getVelocityEngine resources rdbd printreportview rdbdPrintReportView vm model IER Codeausschnitt 2 RDBDPrintReportView java
16. lt map gt SE IU EE EE E lt bean gt lt bean 1d showEditorViewList class java util HashMap gt SE OS ALSO EE E lt map gt lt entry key sql value ref sqlShowEditorView gt lt map gt SOS ISO arg lt bean gt bean ld print Report Viewer rela ss EE CO MS PUC O OS lt map gt lt entry key sql value ref sqlPrintReportView gt lt map gt SOS or See e lt bean gt lt bean id exercisesettingViewList class java util HashMap gt Sseonsterlerorzarg lt map gt lt entry key sql value ref sqlExerciseSettingView gt 7 Idocumentation projektdokumentation architektur doc 28 http docs moodle org Kapitel 1 eTutor C Administrationshandbuch 113 lt map gt lt ReoneerueLor rg lt bean gt speametd_necdTeorkrser release El DER SE OS A O eOr ar lt map gt lt entry key sql value ref sqlEditor gt lt map gt OMS Ue Eo a lt bean gt lt bean id exerciseManagerList class java util HashMap gt SS EE arg gt lt map gt lt entry key sql value ref sqlExerciseManager gt lt map gt SOS O E Ol are lt bean gt Codeausschnitt 1 applicationContext xml Die SOLEvaluator Klasse realisiert das Interface etutor core evaluation Evaluator und implementiert die automatische Korrektur von bungsaufgaben die Erstellung einer R ckmeldung an den Kursteilnehmer und die Vergabe der erreichten Punkte publre Inter ace Evaluator public Analysis analyz
17. 1 Funktionsmigration resultieren unterschiedliche Schnittstellen zu anderen Systemen Auf dieser Information des Altsystems aufbauend k nnen Systemschnittstellen und Benutzeroberfl chen des Zielsystems definiert werden Anwendungen des Zielsystems entwickeln F r die zuvor definierten Schnittstellen werden nun die entsprechenden Anwendungen entwickelt siehe Kapitel 3 3 2 Funktionsmigration Um das Risiko meist komplexer Migrationen nicht zu erh hen sollte auf neue Funktionalit t verzichtet werden Dies ist jedoch nach der Praxiserfahrung der Buchautoren Michael Brodie und Michael Stonebraker meist nicht m glich da eine aufwendige und somit kostenintensive Systemumstellung vor dem Management h ufig mit Zusatzfunktionalit t gerechtfertigt werden muss Brodie amp Stonebraker 1995 S 9 Datenbank des Zielsystems entwickeln Bei der Entwicklung der Datenbankstruktur des Zielsystems wird das Datenbankschema des Altsystems in die Zieldatenbank bergef hrt Dabei sollten die Anforderungen nicht bererf llt werden und bei der Schemadefinition nur ben tigte Datenfelder ber cksichtigt werden Ziel dieser Ma nahme ist es die Systemkomplexit t m glichst gering zu halten Zielsystem Umgebung einrichten Anschlie end wird f r die entwickelten Zielsystemkomponenten eine Testumgebung eingerichtet Diese stellt nach der Systemumstellung die Produktivumgebung dar Gateway erstellen und einrichten Werden nur einzelne Komponenten
18. 2 1 Startparameter setzen Das Einstellen der korrekten Startparameter wird in Kapitel 1 3 1 Startparameter setzen beschrieben 2 2 2 Plugins installieren Folgende Plugins werden zur Entwicklung des etutor dispatchers und der Expertenmodule ben tigt e Galileo http download eclipse org releases galileo o Web Tools Platform WTP f r PHP Unterst tzung o Subversion Unterst tzung e Subversive Connector http www polarion org projects subversive download eclipse 2 0 update site http sourceforge net projects xampp files XAMPP 20Windows 1 7 1 xampp win32 1 7 1 installer exe download Kapitel 2 Moodle B Installationshandbuch 102 o stellt die Verbindung zum SVN Repository her 2 2 3 PHP Debugger einrichten Um das Verhalten des Moodle Codes zu untersuchen bietet sich die Einrichtung eines PHP Compilers an Dazu m ssen einige Einstellungen in der PHP Konfigurationsdatei php ini im XAMPP Verzeichnis unter php php ini vorgenommen werden Der in der XAMPP Installation standardm ig aktive Zend Debugger wird durch die XDebug Erweiterung ersetzt Im ersten Schritt werden daher der Zend Debugger und die php_xdebug Erweiterung durch Voranstellen eines Strichpunkts auskommentiert extension php_xdebug dll Zend zend extension to D EigeneDateien Uni DA xampp php zendOptimizer lib ZendExtensionManager d Kal zend_extension_manager optimizer_ts UD NBigemebare ien EE php zendopr fimizer IB EE zend_opti
19. Beispiel Korrektur durch Tutor Kurs administrieren Eingabeformular Ee E Beispieldatenbank ungsbeispiel erstellen administrieren Zuteilung von Ubungsausarbeitungen an Tutoren Beispieldatenbank Kursteilnehmer Bewertungen bungsbeispiel Musterl sung Abbildung 17 Analyse des Altsystems eTutor Das eTutor System bietet daher folgende Funktionalit t Funktion Anmerkung Beispieldatenbank administrieren Beispielibergreifende Administrationsfunktionalit t liegt im eTutor Core w hrend beispielbezogene Ubungsdialoge Teil der Expertenmodule sind Kurs anlegen Das Anlegen eines Kurses stellt eine Beispiel bergreifende Funktionalit t dar und geh rt daher zum eTutor Core bungszettel erstellen bungszettel k nnen im eTutor Core erstellt werden Kapitel 4 Integration des eTutors in Moodle 36 Ubungsbeispiel ausarbeiten Der Eingabedialog zum Bearbeiten von Ubungsaufgaben wird je nach Beispieltyp unterschiedlich gestaltet Die Funktionalit t zur Ausarbeitung von bungsbeispielen ist daher n den Expertenmodulen implementiert bungsbewertung ansehen Alle bungsabgaben und deren Bewertungen sind im eTutor Core abgelegt Soll eine Ubungsabgabe angezeigt werden wird diese von einem Dialog innerhalb des Expertenmoduls dargestellt Beispiel Korrektur durch Tutor Die Ausarbeitung und Bewertung manuell korrigierter bungsaufgaben findet ausschlie lich im eTutor Core statt automatische Beispielkorrektur Die
20. Core System und mehreren Erweiterungen Plugins zusammensetzt Das Plugin Tutoren Bewertung unterst tzt die manuelle Korrektur von bungsabgaben durch Tutoren Mithilfe der Moodle Erweiterungen eTutor Aufgabentyp und Beispiel Administration wird das Quiz Modul dahingehend erweitert dass bungsbeispiele aus dem intelligenten tutoriellen System eTutor mithilfe des Webservice Protokolls SOAP n Moodle eingebunden werden k nnen eTutor seitig stellt eTutor Dispatcher einen Webservice Zugriff zur Verf gung und erm glicht dadurch die Nutzung von Expertenmodul Funktionalit t Expertenmodule k nnen dazu entweder direkt oder wenn sich diese auf einem anderen Computer befinden mittels RMI Schnittstelle in den eTutor Dispatcher eingebunden werden Kapitel 4 Integration des eTutors in Moodle lt lt component gt gt E Webbrowser lt component gt gt LMS Moodle lt component gt gt Moodle Core lt lt component gt gt l Kurs Modul lt als5BE gt d e e lt lt component gt E Ubungsabgabe Feedback 2Usa gt gt lt lt Use gt gt lt lt component gt gt Moodle Plugins j component gt gt A lt component gt gt Tutoren Beispiel Bewertung Administration lt component gt gt ITS eTutor lt lt component gt gt eTutor Dispatcher lt suse gt s Hp a a lt comporent gt gt component gt gt 5 Expertenmodul Stub Expertenmodul lt component gt gt Experte
21. Danach muss die kompilierte Java Klasse MyETutorService class in das Unterverzeichnis etutor core ws service des Archivs kopiert werden 1 5 5 Installation in Webanwendung Das Webservice Archiv eTutorService aar wird zur Installation in den Unterordner WebContenAWEB INE services der eTutor Dispatcher Webanwendung kopiert Au erdem m ssen aus dem Build Ordner folgende Klassen in die Webanwendung kopiert werden e Alle Klassen im Package etutor core ws types e etutor core ws service ETutorFaultMessage java e etutor core ws service ETutorServiceSkeleton java 1 6 SOAP Debugging In der Axis 2 Distribution ist mit dem SOAP Monitor ein Werkzeug enthalten mit dem die Kommunikation zwischen Moodle und dem eTutor Dispatcher betrachtet werden kann Der SOAP Monitor listet dazu chronologisch alle Nachrichten und deren Antworten im XML Format auf TT C GeneratedClient build classes etutor core ws service MyETutorService class 42 implementation etutor_dispatcher WebContent WEB INFiservices 3 C GeneratedClient build classes etutor core ws types Y http localhost 8080 etutor SOAPMonitor Kapitel 1 eTutor C Administrationshandbuch 124 SOAP Monitor Mozilla Firefox lt v Datei Bearbeiten Ansicht Chronik Lesezeichen Extras Hilfe F http Nocalhost 8080 etutor SOAPMonitor datenmod0910 uebung SOAP Monitor B localhost Time Target Service Status Most Recent
22. Datenbank eingetragen werden question_etutor_language n denen die Benutzerdialoge angezeigt werden k nnen Erst m letzten Schritt kann das eigentliche Beispiel angelegt werden question und question_etutor In der folgenden bersicht wird die Reihenfolge und das Mapping der einzuspielenden Daten angegeben Dazu werden die Tabellen des eTutor Altsystems und des Moodle Zielsystems durch einen Folgepfeil getrennt angegeben bungsgruppen migrieren exercisegroup gt question_etutor_exerc_group Beispieltypen migrieren tasktype gt question_etutor_tasktype unterst tzte Sprachen f r Angabetexte in question_etutor_language eintragen Angabetexte bertragen und bersetzen exercisepool gt question_etutor_internation ee e bungsbeispiel anlegen exercisepool gt question question_etutor 4 3 Implementierung Im Zuge der Migrationsbeschreibung in Kapitel 4 2 1 1 Funktionalit t wurden die Zielsystem Komponenten in einer grafischen bersicht Abbildung 25 dargestellt An dieser Stelle wird bas erend auf dieser Grafik die Entwicklung der Zielsystem Komponenten n her beschrieben F r weiterf hrende Umgebungsbeschreibung wird auf die Anh nge Benutzerhandbuch Anhang A Installationshandbuch Anhang B und Administrationshandbuch Anhang C verwiesen 4 3 1 Lernumgebung Setup Wie in Abbildung 28 dargestellt st die Zielsystem Installation auf einen Moodle und einen eTutor Server aufgeteilt Moodle kommt n Version
23. Java Compiler H Java Editor Select the utility project JAR or classpath entry to add as a Web Library dependency Java EE Module Dependendes JAR Module Project IRA JSP Fragment Fj I etutor_rmi etutor_rmi Project Facets O Getutor_dig etutor_dlg Project References O etutor_sdl etutor_sql Refactoring History O etutor_ra etutor_ra Select All Run Debug Settings i etutor_fd etutor_fd Server O etutor_upld etutor_upld Deselect All Service Policies E O etutor_xq etutor_xq D Spring E VELOCITY 162 etutor_dispatcher SVN Info EA ETUTOR_JARS etutor_dispatcher Add External JARs Targeted Runtimes A AXIS2_15 etutor_dispatcher H Task Repository B DISPLAYTAG 12 Pikir dispatcher Add Variable ee S JUnit 4 etutor_dispatcher H Validation l EM SPRING 2 5 6 etutor dispatcher Web Content Settings M lt Web Page Editor Web Project Settings WikiText E XDoclet Restore Defaults Apply Add JARs Lea Abbildung 2 Deployment von Expertenmodulen und Libraries festlegen Damit referenzierte Projekte und Bibliotheken beim Erstellen der Webanwendung mit auf den Webserver kopiert werden m ssen diese in den eTutor Dispatcher Projekteinstellungen siehe Abbildung 2 unter dem Men punkt Java EE Module Dependencies selektiert werden 1 2 Ausgabetext ndern Soll ein Ausgabetext ge ndert werden beispielsweise eine fehlerhafte bersetzung muss die Konfigurationsdatei der jeweiligen Sprache beispielsweise messages_de p
24. Learning Kursen LMS werden daher meist unterst tzend zu bestehenden Lernangeboten eingesetzt Neben kommerziellen L sungen wie der Blackboard Learn Platform Blackboard 2010 existieren frei verf gbare LMS wie Moodle Moodle 2010 oder Sakai Sakai 2010 die unter einer Open Source Lizenz verf gbar sind und von einer Community weiterentwickelt werden Demgegen ber werden unter dem Begriff Intelligent Tutoring Systems wissensbasierte Lernsysteme verstanden die das Ziel verfolgen fachliche und p dagogische Kompetenz eines idealen menschlichen Lehrers am Computer nachzubilden Lusti 1992 ITS sollen vor allem die Probleml sungsf higkeiten des Lernenden verbessern Brooks u a 2006 Aus diesem Grund erm glichen derartige E Learning Systeme die Bearbeitung komplexer bungsaufgaben Diese werden durch sogenannte Expertenmodule unterst tzt welche die Korrekturfunktionalit t zu einem Themengebiet abbilden Idealerweise sind ITS n der Lage alternative L sungen des Lerners zu beurteilen und bieten Erkl rungsschritte und Hilfen an 1 1 Ausgangssituation Das Institut f r Wirtschaftsinformatik Data and Knowledge Engineering an der JKU entwickelte zur Unterst tzung der Lehrveranstaltungen bung Datenmodellierung und bung Data amp Knowledge Engineering das webbasierte E Learning System eTutor Hofer 2005 Es verwaltet Kursteilnehmer samt deren Bewertungen und wird zur automatisierten Korrektur von Haus bungen eingesetzt F r
25. S Kette 26 3 3 1 DIA di 26 30 2 PUROS TUMOR 28 3 4 Mistationszetpunkt a 2 ee 29 4 Intesration dese utorsin Moodle nn a an 31 4 1 EEN 31 4 2 Mistationsdurchf hr ne za ee ee as 31 42 1 SYStIEHAna ER 32 4 2 2 Anwendungen des Zielsystem entwickeln a rra 40 4 2 3 Datenbank des Zielsystems entwickeln mes a deeg 4 4 2 4 Datenbank des Altsystems mistieten ara Dee 49 4 3 oli rr 50 4 3 1 EE buns Se Deere re en 50 4 3 2 Eitwicklunesumsebuns dls 51 4 3 3 Kommunikation zwischen Moodle und elutor nono nacncnonocnccnono 52 4 3 4 Moodi er nto odio cosido 57 4 3 5 e Tuto Komponenten EE 57 4 3 6 Werlt te Funktionalit ten EE 64 4 3 7 Eeer 65 S RT EE iii ici 66 A 71 As Benutzerhandbuch 2 reset 71 B Installationshandbuchu se sea ren 89 Es AMST rafe ENEE 110 Abk rzungen AOP CORBA CSCW DAO DI DKE FIFO GPL HTML IDE IoC IS ITS JDBC JKU JNDI JSP LMS MVC ORB ORM PDF PHP POJO SOAP SQL UML WSDL XML XQuery XSLT Aspect oriented programming Common Object Request Broker Architecture Computer Supported Cooperative Work Data Access Object Dependency Injection Institut f r Wirtschaftsinformatik Data and Knowledge Engineering First In First Out GNU General Public License Hypertext Markup Language Integrated Development Environment Inversion of Control Informationssystem Intelligent Tutoring System deutsch intelligentes tutorielles System Java Database Connectivity Johannes Kepler U
26. Studentenabgaben ber den Kursblock DKE Tutoren Abgaben bewerten abrufen Wie in Abbildung 16 dargestellt kann die bungsausarbeitung des Studenten durch einen Klick auf den Aufgabennamen Abgabe von frifle ge ffnet werden Da es sich dabei um eine pdf Datei handeln sollte kann zur R ckmeldung an den Studenten vom Tutor kommentiert werden Moodle etutor moodleetutor gt Abgaben der Kursteilnehmer anzeigen Abgaben der Kursteilnehmer anzeigen Aufgabenstellung w hlen PL SQL Trigger Aufgabenstellung suchen Abgabe von frifle e Korrekturfrist 08 0 A Sie sind angemeldet als Martin lbinger Logout Startseite Abbildung 16 zu bewertende bungsabgaben anzeigen Kapitel 5 Beispiel Korrektur Tutor A Benutzerhandbuch 88 Der ber das Bearbeiten Symbol n der Abgabenliste erreichbare Dialog dient dem Tutor zur Bewertung von Ubungsabgaben Neben einer erreichten Punktzahl die beim Anlegen des bungsbeispiels konfiguriert wurde in Abbildung 17 zwischen O und 100 Punkte und ganzzahlig sein muss kann die kommentierte bungs Abgabedatei hochgeladen werden die dem Studenten als R ckmeldung dient Abgabe bewerten amp erreichte Punktzahl Anhang Maximale Gr e 64MB Datei ausw hlen UE 0755 iert pdf Anderungen speichern Abbrechen Abbildung 17 Punktebewertung und R ckmeldung f r bungsabgaben B Installationshandbuch Inhaltsverzeichnis A RO 91 1 1 NS AA A A E OS 9
27. Zugriff auf eine gemeinsame Session w re nur ber Umwege m glich Zudem ist die Verwendung von Frames nicht mehr zeitgem weshalb diese Integrationsart als ungeeignet einzustufen 1st Rabin amp McCathieNevile 2008 Mittels Webservices k nnen in verschiedenen Technologien beispielsweise PHP und Java implementierte Komponenten miteinander kommunizieren und somit gem dem Prinzip der gesch ftsprozessorientierten Migration siehe Kapitel 3 2 4 in einen Gesamtablauf integriert werden F r die lose Kopplung von Lernmodulen unterschiedlicher Lernumgebungen werden Webservices als Kapitel 4 Integration des eTutors in Moodle 4 besonders geeignet erachtet Brooks u a 2006 weshalb sie auch zur Integration des eTutor in Moodle eingesetzt wurden Die Webservice Technologie wird in Kapitel 4 3 3 1 Webservice Technologie n her beschrieben 4 2 2 1 Beispielerstellung Der Erstellungs und Bearbeitungsprozess von bungsbeispielen ist in Abbildung 23 in Form eines Sequenzdiagramms dargestellt Im ersten Bearbeitungsschritt 1 werden vom Benutzer Beispieltyp bergreifende Einstellungen vorgenommen Eine Daten bertragung findet dabei ausschlie lich zwischen Webbrowser und Moodle 2 statt da diese Einstellungen im Moodle System verwaltet werden Im Gegensatz dazu sind die Beispieltyp bezogene Musterl sung samt deren Benutzerdialogen Teil des eTutor Expertenmoduls Sobald der Benutzer die Bearbeitung fortsetzt 3 wird eine Anfrage
28. aus 214 Tabellen deren Name aus einem frei w hlbaren Pr fix und einer Bezeichnung des Inhalts zusammengesetzt ist In den folgenden Beschreibungen wird zur Steigerung der bersichtlichkeit auf die Nennung des Pr fixes verzichtet Innerhalb des Datenbankschemas die Moodle Installation der Diplomarbeit verwendet die Datenbank MySQL bestehen Verkn pfungen zwischen Tabellen nur implizit Das bedeutet dass in der Datenbank keine Foreign Keys angelegt werden sondern diese ausschlie lich in der XML Beschreibung der Tabellenstruktur definiert werden Diese Beschreibung ist unabh ngig von der konkreten Datenbankimplementierung wodurch die Austauschbarkeit des DBMS sichergestellt werden soll Um die Zugriffe einzuschr nken ist in Moodle ein umfangreiches Rollenkonzept implementiert In Abbildung 20 sind jene Moodle Funktionen angef hrt die f r den Aspekt der eTutor Integration relevant s nd Kapitel 4 Integration des eTutors in Moodle 38 Funktion Beschreibung Beispieldatenbank administrieren Moodle unterst tzt das Anlegen ndern und L schen nur einfache Beispieltypen einfacher Ubungsbeispiele wie Multiple Choice Aufgaben Kurs anlegen F r jede Lehrveranstaltung ist ein Kurs notwendig um Studenten Skripten und bungszettel zur Verf gung stellen zu k nnen Die Bewertungen der Kursteilnehmer sind ebenfalls Teil des jeweiligen Kurses bungszettel erstellen Ein Ubungszettel umfasst die von Kursteilnehmern zu bearb
29. ausgeklammert Diese Problemstellung wird beispielsweise von Schneidewind Schneidewind 1998 er rtert 3 1 Aufbau eines Informationssystems Ein Informationssystem besteht aus Funktionen Daten und Schnittstellen wobei letztere entweder Benutzerschnittstellen oder Systemschnittstellen zugeordnet werden k nnen Informationssysteme IS k nnen je nach Kapselung ihrer Bestandteile klassifiziert werden in Brodie amp Stonebraker 1995 zerlegbare IS siehe Abbildung 2 teilweise zerlegbare IS Abbildung 3 und nicht zerlegbare IS Abbildung 4 Zerlegbare Informationssysteme haben die Eigenschaft dass Schnittstellen Systemschnittstellen und Benutzeroberfl chen Anwendungsmodule und Datenbankzugriff voneinander abgegrenzt sind Beispielsweise k nnen Daten die in den Tabellen einer relationalen Datenbank abgelegt sind besser vom Rest des Informationssystems abgegrenzt werden als der Inhalt einer objektorientierten Datenbank weil die darin gespeicherten Objekte neben Daten auch Funktionen bereitstellen k nnen Im Zuge der Diplomarbeit werden ausschlie lich Systeme mit relationalen Datenbanken behandelt Aus diesem Grund ist die Datenbanksicht f r d e Migration von gro er Bedeutung Kapitel 3 Migrationstechniken zur Systemintegration 16 Systemschnittstellen Benutzeroberfl chen Anwendungsmodul Datenbankzugriff Datenbank Abbildung 2 zerlegbares IS in Anlehnung an Brodie amp Stonebraker 1995 S 16 Bei teilweise
30. dass folders on the build path D Java Code Style s E Java Compiler mm cos jar etutor_sgljl Add JARS ZHAO f Java Editor ua ojdbc14 jar etutor_saljlib LE E E a 1 ial JAR Saana Java EE Module Dependencies S servlet jar etutor_sql ib os Javadoc Location DG S Apache Tomcat v6 0 Apache Tomcat v6 0 Add Variable Project Facets H EAR Libraries Project References ER JRE System Library jdk1 6 0_10 Add Library Refactoring History Gs SPRING_2 56 gt Run Debug Settings E VELOCITY_1 62 Add Class Folder GEES Add External Class Folder Targeted Runtimes l Task Repository Task Tags 8 Validation WikText E X Docet Abbildung 1 Einbindung der vom Expertenmodul ben tigten Bibliotheken Da Expertenmodule auf Klassen und Interfaces des eTutor Dispatchers zugreifen muss sich dieses Projekt ebenfalls im Klassenpfad des Expertenmodul Projekts befinden was im Karteireiter Projects konfiguriert werden kann Kapitel 1 eTutor C Administrationshandbuch 118 E Properties for etutor_dispatcher type filter text Java EE Module Dependencies Resource Builders This property page lets you add a Web Library dependency to utility projects JAR files or Java Build Path dasspath entries Archive dependencies will be resolved into the WEB IMF lib folder of the web Java Code Style module at deployment time Class folder dependendes will be resolved into the X SS WEB INF dasses folder H
31. entkoppelt die Funktionsmigration vollst ndig vom Rest des Umstellungsprozesses Wird eine gesch ftsprozessbasierte Migration durchgef hrt liegt der Fokus auf den Funktionen eines Altsystems die als isolierte Komponenten in das Zielsystem integriert werden sollen Bing u a 1997 Migrationsprozesse k nnen nach dem Risiko eines Systemausfalls klassifiziert werden So kommt bei der Cold Turkey Systemumstellung Big Bang Migration ein zuvor nicht in der Praxis erprobtes Z elsystem zum Einsatz Eine schrittweise Migration hat demgegen ber den Vorteil dass durch Kapitel 3 Migrationstechniken zur Systemintegration 26 vereinzelte Schwierigkeiten nicht das gesamte Zielsystem unbrauchbar wird sondern schlimmstenfalls die nderungen einer Migrationsphase fehlschlagen Beim Chicken Litte Ansatz sind demgegen ber alle Migrationsschritte reversibel weshalb das Risiko eines l ngeren Systemausfalls minimal ist Das gleiche gilt f r die Butterfly Methode da die Datenmigrationsphase jederzeit gestoppt beziehungsweise die folgende Funktionsmigration zur ckgenommen werden kann Bei einem verteilten Zielsystem das aus einer gesch ftsprozessbasierten Migration hervorgeht k nnen Fehler n voneinander gekapselten Komponenten einem bestimmten Teil des Systems zugeordnet und somit einfacher als bei einer Cold Turkey Umstellung korrigiert werden Im beschriebenen Ansatz Bing u a 1997 sind jedoch keine Ma nahmen zur Risikominimierung der Sys
32. ist m glich die hochgeladene Datei innerhalb der Abgabefrist beliebig oft zu berschreiben datenmod0910_1 Aufgabe PL SQL Trigger Mozilla Firefox Y Datei Bearbeiten Ansicht Chronik Lesezeichen Extras Hilfe M http localhost moodleetutor mod assignment view php id 5 fr datenmod0910_1 Aufgabe PL SQL Datenmodellierung WS2009 2010 moodleetutor gt datenmod0910_1 gt Aufgaben gt PL SQL Trigger Uebung PL SQL Trigger Verf gbar ab Montag 1 M rz 2010 16 40 Abgabetermin Montag 8 M rz 2010 16 40 E UE2 0755186 pdf Datei hochladen Maximale Gr e 1MB Durchsuchen Diese Datei hochladen Abbildung 14 Ausarbeitung f r manuell korrigiertes bungsbeispiel abgeben Kapitel 5 Beispiel Korrektur Tutor A Benutzerhandbuch 87 Im Kursblock Administration k nnen Kursteilnehmer eine bersicht ber ihre bungs Bewertungen ansehen Bei bungsbeispielen die von Tutoren korrigiert wurden verweist das Sprechblasen Symbol der Feedback Spalte auf die R ckmeldung des Tutors Teilnehmer bersicht Friedrich Fleissig Bewertungsaspekt Bewertung Bereich Prozentsatz Feedback e Datenmodellierung VS200 2010 e uebung 10 00 0 00 10 00 1100 00 Ce 100 00 0 00 100 00100 00 SCH x Summe f r den Kurs 100 00 0 00 100 00 100 00 Abbildung 15 bersicht zu bungsbewertungen 5 Beispiel Korrektur Tutor Tutoren k nnen eine Liste der ihnen zur Korrektur zugewiesenen
33. k nnen in der erstellten Lernumgebung sowohl auf Deutsch als auch auf Englisch ausgearbeitet und administriert werden Dies erleichtert vor allem nicht deutschsprachigen Austauschstudenten die Teilnahme an Lehrveranstaltungen Die Verwaltung der Texte erfolgt mittels Konfigurationsdateien weshalb neue Sprachen ohne Quelltext nderung flexibel hinzugef gt werden k nnen hnlich funktioniert die Einbindung von Expertenmodulen in den eTutor Zum Hinzuf gen neuer Expertenmodule gen gt es eine Konfigurationsdatei im eTutor Projekt anzupassen Zudem wurde darauf geachtet die Einbindung des eTutors in Moodle mittels Webservices derart allgemein zu Kapitel 5 Zusammenfassung 67 halten dass die eTutor Korrekturfunktionalit t prinzipiell auch mit anderen LMS als Moodle verwendet werden kann Erweiterungspotential bietet vor allem die ITS Architektur Derzeit implementiert eTutor die Funktionalit t eines Expertenmoduls und Moodle dient als Kommunikationsmodul Moodle erfasst zwar Bewertungen von Kursteilnehmern nutzt diese Information jedoch nicht um Kursinhalte individualisiert zur Verf gung zu stellen Ein idealtypisches ITS w rde f r die Erfassung des Lernfortschritts ein Studentenmodul und zur Auswahl ad quater Kursinhalte wie bungsbeispiele und Lernskripten ein gekapseltes Unterrichtsmodul vorsehen Derartige Module k nnten auch f r die Moodle eTutor Lernumgebung entwickelt und mittels Webservice Schnittstelle in das bestehende L
34. serverseitiger Webservice Code generiert werden soll gibt an ob existierende Dateien im Zielverzeichnis berschrieben werden sollen Mit dieser Option werden XML Namespaces die angegebenen Packages der generierten Java Klassen zugewiesen zus tzlich zum Quelltext des Webservice wird die Konfigurationsdatei services xml erstellt dieser Parameter kann nur in Kombination mit ss verwendet werden Abbildung 4 Parameterbeschreibung der Datei wsdl2java bat 1 5 3 Anpassung des generierten Codes An dieser Stelle muss die Webservice Konfigurationsdatei angepasst werden damit der Webservice Listener mit der Service Methode des eTutor Dispatchers eTutorService kommunizieren kann Dazu werden wie in Codeausschnitt 9 dargestellt die Eintr ge ServiceObjectSupplier und SpringBeanName erg nzt 36 GeneratedServer resources services xml Kapitel 1 eTutor C Administrationshandbuch 122 lt q Ae sion LOSE OA O MS gt lt gt ts Tile was auto genetared Exxon WeDI gt SiS ERE n Apa CNS Ax s2z vebsiom or EE GE A LODOS EE EU gt lt serviceGroup gt lt service name ETutorService gt lt messageReceivers gt lt messageReceiver mep http www w3 org ns wsdl in out class etutor core ws service ETutorServiceMessageReceiverInOut gt lt messageReceivers gt Por ame 2 name ServiceClass gt etutor core ws service MyETutorService lt parameter gt lt parameter name ServiceObjectSupplier locked false gt org
35. und die erstellte L sung beurteilt Kapitel 2 Aufbau eines intelligenten tutoriellen Systems 13 2 Aufbau eines intelligenten tutoriellen Systems Ziel von intelligenten tutoriellen Systemen ITS ist es dem Lernfortschritt angepasste Lerninhalte bereitzustellen Brusilovsky 2003 8 2 Skripten dienen dazu Wissensl cken zu schlie en und bungsbeispiele sollen Defizite ausmerzen Durch die gezielte Auswahl von Skripten und bungsbeispielen kann der Lernprozess an die individuellen Bed rfnisse der Studierenden angepasst werden Learning Management Systems LMS eignen sich vor allem f r das Bereitstellen und Verwalten von Skripten Der Schwerpunkt von ITS liegt auf der Bearbeitung komplexer bungsbeispiele wobei bungsabgaben automatisiert ausgewertet werden k nnen Sie bieten Hilfestellungen die sich schrittweise dem Wissensstand des Studenten angleichen Dazu werden vom ITS dynamisch R ckmeldungen erstellt die nicht vom bungsautor vorbereitet wurden Um derart komplexe Aufgaben erf llen zu k nnen sind die Komponenten eines ITS meist eng miteinander verzahnt Brusilovsky 2003 Im Folgenden wird dargestellt wie ein idealtypisches ITS in der Literatur beschrieben wird Lusti 1992 S 26 Das ITS wird dazu wie in Abbildung 1 ersichtlich in vier Module aufgeteilt wobei ein Modul als ein m glichst selbst ndiger Systembaustein definiert ist Antwort Problem Therapie Therapie Kommunikationsmodul Prob
36. zwischen Alt und Zielsystem sicherzustellen Weichen die Schemata der migrierten Systeme stark voneinander ab so steigt der Aufwand zur Koordination des Datenzugriffs rapide an Gateways sind daher komplizierte Komponenten deren Aufbau und Betrieb schwierig ist Die Butterfly Migration Abbildung 13 setzt mehrere Komponenten ein um den Datenbestand im laufenden Betrieb in die Zieldatenbank berspielen zu k nnen Aufgabe des data access allocator st es bei Abfragen die Daten vom richtigen Speicherort zu lesen Au erdem f ngt er w hrend der Migration schreibende Zugriffe ab und h lt die vorgenommenen nderungen in Kapitel 3 Migrationstechniken zur Systemintegration 28 Behelfsdatenstrukturen sogenannten tempstores fest Gleichzeitig wird der vorhandene Datenbestand berspielt Der Chrysaliser verpackt dazu w hrend des Betriebs m Altsystem befindliche Daten n tempstores Diese werden anschlie end nach dem first in first out FIFO Warteschlangenprinzip in die Zieldatenbank eingespielt Gem dem FIFO Prinzip werden vergleichbar mit einer Supermarktkasse die ltesten tempstores zuerst abgearbeitet Altsystem Zielsystem Se 5 al Schnittstellen S Schnittstellen o g Funktionalit t D lt Funktionalit t S Datenbankzugrifi E Datenbankzugriff K I N Data access allocator Zielsystem Schreibzugriff Datenbank E re temp temp Altsy
37. 1 1 2 A ed a en ES Re aa 91 1 3 EE 91 1 3 1 GEES ee 91 1 3 2 Pleasant 91 1 3 3 Java SDK infestieren 2 92 1 3 4 User Libranes erste len aus a u IAEA 93 1 3 5 Application Server hinzuf gen ussssssossssseesssennnnnnnneesnnnnnnnnnnnnennnnnnnnnnnnnnnnennnennssssnnn 94 1 3 6 Projekte Importieren 2 en ai REM II u DEE 94 1 347 Dateizuordnungen f r Velocity anpassen 99 1 3 8 Unit Less aus UNTE M aussen een 100 2 MOS E a a Rare enefrenseenseeekee 101 2 1 KEE EE 101 2 2 EE 101 22 1 EE 101 2 22 Huasteca 101 2 2 3 KEIER sense ee bla 102 2 3 Iastallaton des Tutor P los e 107 Seel Installation in neuer Moodle MstanZ ronssar E N 107 232 Installation in vorhandener Moodle Instanz 107 2 4 Rollen dieras 107 2 5 an A A A 108 Abbildungsverzeichnis Abbildung 1 korrekt eingebunde Java Laufzeitumgebung ooocccnnccnnnnnnocnnnnnnnnnnnnnnnnonnnnnnnnnnnnonaninnnnnss 92 Abbildung 2 Buildfehler wechselseitig eingebundener Projekte oooccccccccnnncnnccnnonnnnononnnnnnnnnnos 94 Abbildung 3 Buildfehler auf Warning umstellen 95 Abbildung Projekt ber Server DIZE ana a I 96 Abbildung 5 Servereinstellungen offnen ersctimiiisradacione aee ia i a aa eaea 98 Abbildung 6 Servoroinste lunt sion A a A N 98 Abbildung 7 Startparameter bei Tomcat emstellen 99 Abbildung 8 berpr fen der Debug Einstellungen mithilfe des Befehls phpinfoO 103 Abbildung 9 PHP Debugger Port einstellen
38. 3 Alle Texte sind als Zeichenketten in einem Array abgelegt Dementsprechend muss beim Modifizieren der Ausgabetexte auf die korrekte PHP Syntax geachtet werden Ss seascheles ion e a ea Sser eng seanchaues ons Search suchen questions SS tdo ome ee SiS cto iones ie palote Einschr nkung BESES 4 4 a Deutsch b Englisch Codeausschnitt 12 Ausgabetexte editieren
39. Beurteilung Die Integration der Lernsysteme eTutor und Moodle wurde mittels Webservices gel st Dank klar definierter Schnittstellen kann die Kommunikation zwischen den Lernsystemen nachvollzogen werden nderungen am Moodle Kernsystem waren f r die Systemumstellung nicht notwendig Die in Kapitel 4 2 1 4 Zielsystem Funktionalit t definierten technischen Vorgaben zur Updatef higkeit von Moodle konnten durch die ausschlie liche Verwendung vorgegebener Erweiterungsschnittstellen weitgehend erf llt werden Lediglich f r den Fall dass s ch n einer zuk nftigen Moodle Version der Aufbau der Erweiterungsschnittstelle ndern sollte k nnte im Zuge einer Lernsystem Aktualisierung eine Anpassung von Moodle Plugins erforderlich sein Das erstellte Lernsystem kann an mehreren Stellen erweitert werden Im Zielsystem m ssen zum Einbinden neuer Korrekturfunktionalit t nur Konfigurationsdateien und keine Quelltexte ge ndert werden Nach dem gleichen Prinzip k nnen lokalisierte Ausgabetexte in Benutzerdialogen um weitere Sprachen erg nzt werden bungsbeispiele k nnten zudem nicht nur f r bewertete bungsbeispiele sondern auch f r freiwillige bungen zur Wiederholung des Lernstoffs verwendet werden Das Lernsystem k nnte auch um eine Lernfortschrittskontrolle erweitert werden Teufl 2008 Dabei w rde die Auswahl der bungsbeispiele dem Kenntnisstand eines Kursteilnehmers angepasst werden Da alle Bewertungen im Moodle System verwaltet
40. Dateien bild jpg und skript jss im eTutor Expertenmodul Um die Dateien als ge ndert zu markieren muss der Administrator zudem die Modulversion manuell von Wert auf 2 erh hen Das Setzen dieser Einstellung ist im Administrationshandbuch Anhang C beschrieben Der Versions Parameter wird dazu ben tigt dass veraltete Dateien im Moodle Zwischenspeicher identifiziert und aktualisiert werden k nnen und somit dem Lernenden immer die aktuelle Datei angezeigt wird Mittels einer Moodle Anfrage erkennt eTutor die abweichende Dateiversion und bertr gt die ge nderten Dateien erneut Nachdem der Moodle Zwischenspeicher auf den neuesten Stand gebracht wurde wird vom Moodle System das dort gespeicherte Versionsattribut ebenfalls auf den Wert 2 gesetzt Bei einer Kapitel 4 Integration des eTutors in Moodle 57 h heren Versionsnummer wird der gesamte Datenbestand des Expertenmoduls gel scht und neu geladen 4 3 4 Moodle Komponenten Moodle stellt eine Plugin Schnittstelle zum Einbau neuer Funktionen bereit die im Dokument Introduction to Moodle Programming Humboldt State University 2007 n her beschrieben wird Derartige Erweiterungen haben auf die gesamte Moodle Umgebung Zugriff Datenbank Tabellen Session Informationen Benutzer und Rollen Dabei ist es Aufgabe des Modul Entwicklers die Inhalte korrekt und entsprechend der Semantik von Moodle zu ver ndern da Moodle keine Zugriffsrechte auf Modul Ebene zur Verhinderung fehlerhafter Zugri
41. Die Einstellung File gibt an welche Seite beim Starten des Debug Vorgangs ausgef hrt werden soll Das PHP Skript moodleetutor question type etutor etutor_admin engine_list php listet Informationen zur eTutor Verbindung auf Kapitel 2 Moodle B Installationshandbuch 106 E Debug Configurations Create manage and run configurations Y E Name New_configuration Server Advanced E Common Java Applet E l 5 Java Application Server FE PHP Script Els PHP Web Page aE New_configuration e PHP Server Default PHP Web Server v Configure E Remote Java Application Bu G i N XSL J Server Debugger XDebug vi File moodleetutor question type etutor fetutor_admin engine_list php Breakpoint _ Break at First Line URL Auto Generate Filter matched 7 of 7 items Abbildung 12 Debugging Einstellungen 1 Im Karteireiter Advanced sollte die Einstellung Debug All Pages gesetzt sein damit auf Breakpoints aller PHP Skripten im Moodle Verzeichnis reagiert wird E Debug Configurations Create manage and run configurations gt e Name New_configuration EI Java Applet ion Session Settings 3 Java Application FF PHP Script Open in Browser PHP Web Page Debug All Pages D New_configuration O Debug First Page Only Remote Java Application X XSL Server Advanced Common O Start Debug from
42. FT 98 FSE 6 the 6th ACM SIGSOFT international symposium Lake Buena Vista Florida United States De 17 23 Available at http portal acm org citation cfm doid 288195 288210 Zugegriffen April 4 2010 Teufl M 2008 Individualisierte Ablaufsteuerung in einem Intelligenten Tutoriellen System Konzeption und Umsetzung am Beispiel des ITS eTutor Johannes Kepler Universit t T m H 2010 Moodle org Modules and plugins Available at http moodle org mod data view php d 13 amp r d 798 Zugegriffen Juni 16 2010 Vasudevan V 2001 A Web Services Primer webservices xml com Available at http www xml com pub a ws 200 1 04 04 webservices Zugegriffen April 18 2010 Velocity Dokumentation 2010 Apache Velocity Velocity User Guide Available at http velocity apache org engine devel user guide html Zugegriffen Apr l 3 2010 WS I Bas c Profile 2006 Bas c Profile Version 1 1 Final Available at http www ws 1 org Profiles BasicProfile 1 1 html Zugegriffen April 15 2010 XSLT Dokumentation 1999 XSL Transformations XSLT Available at http www w3 org TR xslt Zugegriffen April 3 2010 Zhang D u a 2004 Can e learning replace classroom learning Commun ACM 41 5 75 79 Anhang A Benutzerhandbuch Inhaltsverzeichnis IN 73 2 Beispieldatenbank administrieren Kursletert isinne 74 2 1 bungsbeispiel erstellen 74 2 1 1 Beispieleruppeserstellen editierenn aaa a 76 2 1 2 E
43. Identifier Diese ID ergibt sich durch Inkrementieren der in der Datenbank maximal vorhandenen ID Mittels modifyExercise werden vorhandene bungsbeispiele angepasst die deleteExercise Methode dient zum L schen von bungsbeispielen Die beiden fetch Methoden des ModuleExerciseManager Interface unterscheiden s ch dahingehend dass die fetchExercise Methode Beispieldaten einer vorhandenen bung zur ckgibt w hrend fetchExerciselnfo ein Beispielobjekt zum Erstellen einer neuen bung liefert Die Implementierung der Methode generateHtml ist optional und h ngt von der F higkeit des jeweiligen Expertenmoduls ab den Angabetext eines bungsbeispiels automatisch generieren zu k nnen Da beispielsweise bas erend auf dem SQL Statement der Musterl sung nicht automatisch eine aussagekr ftige textuelle Kapitel 1 eTutor C Administrationshandbuch 115 Beispielangabe generiert werden kann ist diese Methode im SOLExerciseManager nicht implementiert Jedes Expertenmodul beinhaltet folgende Benutzerdialoge e ShowEditorView Dieses Formular ist je nach Beispieltyp unterschiedlich gestaltet Beispielsweise enth lt es beim SQL Modul ein Textfeld zum Absetzen der Datenbankabfrage e PrintReportView Im Report Dialog wird eine R ckmeldung zur Studentenabgabe angezeigt diese wird automatisch vom Expertenmodul erstellt e ExerciseSettingView Mit diesem Dialog k nnen neue bungen erstellt und existierende bungsbeispiele ge ndert
44. Integration des intelligenten tutoriellen Systems eTutor in die Lernumgebung Moodle Diplomarbeit Zur Erlangung des akademischen Grades Magister der Sozial und Wirtschaftswissenschaften Mag rec soc oec im Diplomstudium Wirtschaftsinformatik Eingereicht an der Johannes Kepler Universit t Linz Institut f r Wirtschaftsinformatik Data amp Knowledge Engineering Betreuer o Univ Prof Dr Michael Schrefl Mitbetreuender Assistent Mag Christian Eichinger Verfasst von Christian Fischer Linz m Juni 2010 Eidesstattliche Erkl rung Ich erkl re hiermit an Eides statt dass ich die vorliegende Diplomarbeit selbst ndig und ohne fremde Hilfe verfasst andere als die angegebenen Quellen und Hilfsmittel nicht benutzt und die den benutzten Quellen w rtlich oder inhaltlich entnommenen Stellen als solche kenntlich gemacht habe Diese Diplomarbeit wurde von mir weder m Inland noch m Ausland in irgendeiner Form als Pr fungsarbeit vorgelegt Linz Ort Datum Unterschrift Kurzfassung Unter dem Begriff E Learning wird der Einsatz von Computersystemen zur Unterst tzung von Lernprozessen verstanden Die dabei verwendeten Lernsysteme werden in zwei Kategorien eingeteilt Learning Management Systeme unterst tzen die Verwaltung von Lernmaterialien in Kursen w hrend sich intelligente tutorielle Systeme auf die automatische Korrektur umfangreicher Aufgabenstellungen konzentrieren Im Zuge dieser Diplomarbeit sollen mittel
45. Korrekturfunktionalit t st in den Expertenmodulen abgelegt Abbildung 18 eTutor Funktionalit t des Altsystems 4 2 1 3 Moodle Das Learning Management System Moodle verwendet sogenannte Kurse als eine Art Container f r Lerninhalte Kurse k nnen neben multimedial unterst tzten Skripten auch simple bungsaufgaben enthalten Die Interaktion zwischen Studenten wird durch Diskussionsforen erm glicht Den Zugriff von Kursteilnehmern Kursleiter und Tutoren reglementiert Moodle ber ein umfangreiches Rollenmodell das es erm glicht Zugriffsrechte feingranular zu vergeben Derzeit sind knapp 50 000 Moodle Installationen weltweit namentlich registriert Moodle Statistics 2010 Aufgrund unterschiedlichster Benutzeranforderungen s nd die Moodle Entwickler um hohe Interoperabilit t mit anderen Systemen und um gute Erweiterbarkeit bem ht Demgem kann der Moodle Login beispielsweise auf Active Directory Benutzerkonten zugreifen um existierende Logindaten nutzen zu k nnen Die Erweiterbarkeit von Moodle wird mittels Plugin Schnittstelle sichergestellt Kapitel 4 Integration des eTutors in Moodle 37 fnoodle Kursmaterialien Skripten Tests Diskussionsforen Beispieldatenbank administrieren Multiple Choice Bewertung Feedback Ubungsbeispiel bearbeiten Ubungsausarbeitung Upload Kursteilnehmer Kursteilnehmer Bewertungen Abbildung 19 Analyse des Altsystems Moodle Die Datenbank von Moodle in Version 1 95 besteht
46. Lehrmaterialien hinausgehen werden unter dem Begriff Lernaktivit t zusammengefasst Beispiele f r Lernaktivit ten sind Formulare zum Hochladen von bungsausarbeitungen oder Frageb gen mit Multiple Choice Fragen zur berpr fung des vermittelten Kursinhalts Die Kursansicht stellt die bersichtsseite eines Kurses dar In dieser Ansicht werden alle Arbeitsmaterialen und Lernaktivit ten eines bestimmten Kurses aufgelistet Diese Kursinhalte k nnen unterschiedlich angeordnet werden beispielsweise nach Wochen oder Themengebieten sortiert Im Rahmen der Diplomarbeit wurden die zwei Kursbl cke DKE Tutoren und E Tutor Admin entwickelt Sind Funktionen direkt ber einen Kursblock verlinkt wird die entsprechende Verkn pfung zu Beginn der Funktionsbeschreibung angef hrt Kapitel 2 Beispieldatenbank administrieren Kursleiter A Benutzerhandbuch 74 DKE Tutoren B Abgaben bewerten E Tutor Admin rs E Tutor Aufgaben m Neue Aufgabe ER Beispielgruppen Expertenmodule e Backup Einstellungen l E Tutor Verbindung Abbildung 2 neu erstellte Kursbl cke 2 Beispieldatenbank administrieren Kursleiter nderungen an der Beispieldatenbank d rfen nur von Kursleitern und Systemadministratoren durchgef hrt werden 2 1 bungsbeispiel erstellen Kursblock E Tutor Admin Neue Aufgabe Zum Erstellen einer bungsaufgabe werden Daten in mehreren Schritten erhoben Der erste Dialog enth lt Einstellungen die f r Beispiel
47. Logout moodleetutor gt konfigurierte E Tutor Server gt Bearbeiten der E Tutor Server Konfiguration Bearbeiten der E Tutor Server Konfiguration Servername etutor local E Tutor Servver URL nete l1ocalhost 8080 etutor services ETutorService Soll dieser E Tutor Server ausgew hlt werden nderungen speichern Abbrechen Die markierten Pflichtfelder m ssen ausgef llt werden Abbildung 8 Verbindung zum eTutor Dispatcher konfigurieren Nach der Erstellung einer eTutor Verbindung scheint diese in der bersichtsliste auf http docs moodle org en Main_Page Kapitel 2 Moodle C Administrationshandbuch 127 Moodle etutor Sie sind angemeldet als Christian Eichinger Logout moodleetutor gt konfigurierte E Tutor Server konfigurierte E Tutor Server SELECTED etutor local amp ex E Tutor Server hinzuf gen Abbildung 9 Auflistung von eTutor Verbindungen Das bei jeder aufgelisteten Verbindung angegebene Lupensymbol dient dazu die Konnektivit t zum eTutor Dispatcher zu berpr fen Ist der Verbindungsaufbau erfolgreich werden Systeminformationen wie die aktuelle Speicherauslastung des eTutor Dispatchers angezeigt 2 2 Expertenmodul konfigurieren Unter dem Men punkt Expertenmodule des eTutor Dispatcher Blocks k nnen Beispieltypen administriert werden Zun chst werden die aktuell konfigurierten Expertenmodule aufgelistet wobei diese aus der Ansicht heraus gel scht oder editiert werden k
48. Rolle eines Lehrveranstaltungsleiters und war in der Lage mir zielf hrende Hinweise hinsichtlich dieses Anwendungsbereichs zu geben Zur Analyse des exakten Aufbaus der Moodle Administrationskomponente diente eine lokale Testinstallation 4 2 1 1 Funktionalit t Im Folgenden wird das Altsystem aus Anwendersicht beschrieben Mehrere Personengruppen verwenden Funktionalit t des Zielsystems Studenten benutzen die Lernumgebung zum Wissenserwerb w hrend s ch Kursleiter und Tutoren um die Bereitstellung der Lerninhalte so w e die Korrektur von bungsbeispielen k mmern Administrationsdialoge erm glichen dabei das Anlegen ndern und L schen der Beispiele wobei der Kursleiter f r die Bereitstellung von Tests zust ndig ist die ein oder mehrere bungsbeispiele umfassen Zudem werden Funktionen zur Sicherung und Wiederherstellung der Beispieldatenbank ben tigt bungsbeispiele k nnen in automatisch oder von Hand korrigierte Beispiele kategorisiert werden F r automatisch korrigierte Beispiele kann das Lernsystem eine R ckmeldung erstellen w hrend manuell bewertete bungsbeispiele von Tutoren beurteilt werden Jede der Ubungsabgaben wird einem Tutor zugeteilt der sich die Studentenabgabe zur Beurteilung auf seinen Computer herunterladen kann Am DKE Institut wird der Gro teil der bungsausarbeitungen im PDF Format abgegeben die mit Softwareprodukten wie Adobe Acrobat mit Kommentaren versehen werden k nnen Die erbrachte Leistu
49. T EE tablecourse from lecturer IMA TES gt lt LANGUAGECODE gt en_utf8 lt LANGUAGECODE gt lt INTERNATION gt lt INTERNATION gt lt TEXT gt Coursecode Tabelle course von Lecturer Miller ausgeben lt TEXT gt lt LANGUAGECODE gt de_ut f8 lt LANGUAGECODE gt lt INTERNATION gt lt INTERNATIONS gt lt ETUTOR SLOUESTTON gt A Benutzerhandbuch 81 lt LANGUAGE gt lt LANGUAGECODE gt de utis lt LANGUAGECODE gt lt ISDEFAULT gt y lt ISDEFAULT gt lt LANGUAGE gt lt INTERNATION gt lt INTERNATION gt SE RS o ie le lt LANGUAGE gt lt LANGUAGECODE gt en ut ER lt LANGUAGECODE gt Toral n SADSBEFAULT gt lt LANGUAGE gt lt INTERNATION gt lt INTERNATIONS gt lt EXERCISEGROUP gt lt INTERNATIONS gt lt INTERNATION gt SIDAD eour se eoge tablecourse from lecturer Ma allen lt a lt LANGUAGE gt lt LANGUAGECODE gt en_utf3 lt LANGUAGECODE gt MS Ai n EE EE lt LANGUAGE gt INTERNADO NS lt INTERNATTON gt lt TEXT gt Coursecode Tabelle course von lecturer Miller ausgeben lt TEXT gt lt LANGUAGE gt lt LANGUAGECODE gt de _utf8 lt LANGUAGECODE gt SRA y SSC lt LANGUAGE gt lt INTERNATION gt lt INTERNATIONS gt Ey ER lt OUESTTON gt a reiner Export von Fragedaten b Export aller abh ngiger Daten Codeausschnitt 1 Backup von Aufgabenstellungen Kursblock Administration Wiederherstellung Kapitel 3 Kurs administrier
50. Velocity anpassen Das Plugin Veloeclipse stellt einen f r Velocity Templates angepassten Editor bereit Damit dieser beim ffnen einer Velocity Datei gestartet wird muss die Zuordnung des Dateityps angepasst werden Unter Window Preferences General Editors File Association kann diese Einstellung f r die Dateieendung vm vorgenommen werden indem in der Liste Associated editors der Eintrag Veloeclipse als Standardeintrag default gesetzt wird Kapitel 1 eTutor E Preferences B General B Editors File Association Structured Tex E Text Editors Accessibility Annotations Hyperlinkinc Linked Mode Quick Diff Spelling Ant Editor Data Management E SOL Development Schema Object SQL Editor Java B Editor Content Assist Advanced Favorites Folding Hovers Mark Occurrenc Save Actions Syntax Coloring Templates Codeausschnitt 7 Dateityp vm soll mit dem Plugin Veloeclipse ge ffnet werden File Associations B Installationshandbuch 100 See Content Types for content type based file associations File types sq bo solpage tag tagf tagx MS ME VI vs Ey xhtmi VI xml Ei sample properties Associated editors VI Veloedipse default JSP Editor Jacked by JSP content type Text Editor locked by JSP content type 1 3 8 Uhnit Tests ausf hren Cancel Um einige Funktionalit ten der konfigurierten Projekte zu testen sollten die Tests des Pro
51. View vm e etutor_dispatcher scr resources sql printreportview o report css o report js o sqlPrintReportView vm e etutor_dispatcher scr resources sql showeditorview Kapitel 1 eTutor C Administrationshandbuch 116 o taskEditor css o taskEditor js o sqlShowEditorView vm 1 1 2 2 Spring Konfiguration anpassen Die Klassen des SQL Expertenmoduls werden in der Spring Konfigurationsdatei eingetragen lt bean id sqlEvaluator class etutor modules sql SQLEvaluator gt lt bean 1d sqlPrintReportView class e Ut oO modules sg rn Ur ERr Ine ROPOT EV Tewe lt property name velocityEngine gt lt ref bean velocityEngine gt MIOS Sl lt property name filenames gt ene lt value gt resources sql printreportview report js lt value gt E OSI lt bean gt lt bean 1d sqlShowEditorView class etutor modules sql ui SQLShowEditorView gt lt property name velocityEngine gt lt ref bean velocityEngine gt MIO SI gt lt property name filenames gt lt LI gt lt value gt resources sql showeditorview taskEditor 7js lt value gt Si EE lt property name cssFilenames gt Large gt lt value gt resources sql showeditorview taskEditor css lt value gt asien gt IO SI lt bean gt lt bean 1d sqlExerciseSettingView class etutor modules sql u1l SQLExerciseSettingView gt lt property name velocityEngine gt lt ref bean velocityEngine gt ATOPE rE lt property name filenames
52. a a 129 Kapitel 1 eTutor C Administrationshandbuch 112 1 eTutor In diesem Dokument werden Anpassungsm glichkeiten hinsichtlich der Integration der Lernsysteme Moodle und eTutor beschrieben als Zielgruppe k nnen daher Systemadministratoren genannt werden Kapitel 1 beschreibt Einstellungen der eTutor Installation und Kapitel 2 jene der Moodle Installation Weitere Informationen zum eTutor System finden sich in der eTutor Architekturbeschreibung Einstellungsm glichkeiten des Moodle Kernsystems sind Teil des Moodle Handbuchs 1 1 Expertenmodul hinzuf gen Bevor ein neues Expertenmodul installiert werden kann m ssen die vorgegebenen Methoden der standardisierten Modulschnittstelle implementiert werden Kapitel 1 1 1 beschreibt welche Anpassungen an einem Expertenmodul durchgef hrt werden m ssen damit dieses mit dem im Rahmen der Diplomarbeit entwickelten eTutor Dispatcher kompatibel ist 1 1 1 Anforderungen an Expertenmodule Die ben tigten Klassen eines Expertenmoduls k nnen aus den Eintr gen der Spring Konfigurationsdatei abgeleitet werden In dieser XML Datei wird festgelegt welche Komponenten voneinander abh ngen Diese Konfiguration au erhalb des Quellcodes wird auch als lose Kopplung bezeichnet Im Folgenden ist die Konfiguration des SQL Expertenmoduls angef hrt lt bean id evaluatorList class java util HashMap gt zeonseruelorzandg lt map gt lt entry key sql value ref sqlEvaluator gt
53. allationshandbuch 98 gt Some EE 4 Codeausschnitt 5 server xml anpassen An dieser Stelle werden einige serverspezifische Einstellungen vorgenommen En Markers l Properties db Servers 53 EB Snippets El Console ZS Spr Es Syn chron en Apache Tomcat v6 0 1 modules Mess F for Focus Abbildung 5 Servereinstellungen ffnen Ein Doppelklick auf den Server in der Serverliste ffnet den Einstellungsdialog Die Aufrufparameter k nnen im Dialog im Einstellungsfeld Open Launch Configuration editiert werden E Overview General Information t Publishing Specify the host name and other common settings d a AAN Timeouts server name etutor Host name localhost Ports Modify the server ports EN odify the server ports Runtime Environment Apache Tomcat v 6 0 Port Name Configuration path Servers fetutor confa a 2 Tomcat admin port Open launch configuration ES HTTP 1 1 ES AJP 1 3 Y Server Locations Specify the server path e catalina base and deploy path Server must be published with no modules present to make changes t MIME Mappings Server path gina t Deploy path wtpwebapps O O Server Options Enter settings for the server Ll serve modules without publishing Publish module contexts to separate XML files C Enable security Abbildung 6 Servereinstellungen Wenn Tomcat mit den e
54. anwendung eingetragen werden 1 5 2 Generierung des AXIS2 Codes Im Folgenden wird beschrieben wie aus einer WSDL Date der Quelltext eines Axis 2 Webservers erstellt wird Diese Vorgehensweise entspricht dem Contract First Ansatz Im Gegensatz dazu w rde bei Verfolgung eines Code First Ansatzes ausgehend von der Servicefunktionalit t eine WSDL Date1 erzeugt werden bin wsdl2java bat zur D DR syn implenmentaelon websernsieerdeering ron iso sch 0 C GeneratedServer ss SE TSAR mero Sito no keria a ae te E SN e e MOS OS o Sie Mi Siro Oe Manz EE BEE EE EE cores pes sol Codeausschnitt 8 Contract First Erstellung des eTutor Webservice mittels wsdl2java bat Idocumentation DA docx IXAMPP Installationsverzeichnis php php ini limplementation webservice_definition ETutor wsdl gt implementation etutor_dispatcher sre etutor core ws service MyETutorService java Kapitel 1 eTutor C Administrationshandbuch 121 Der in Codeausschnitt 8 dargestellte Aufruf des Skripts wsdl2java erzeugt aus der eTutor Schnittstellenbeschreibung ETutor wsdl den Webservice Code des eTutor Dispatchers Diese Vorgehensweise entspricht dem Contract First Ansatz Vor der Codegenerierung sollte sichergestellt sein dass das Zielverzeichnis leer ist Die daf r verwendeten Parameter sind in Abbildung 4 beschrieben uri Dateisystem Pfad der WSDL Datei Zielspeicherort der generierten Java Klassen und Konfigurationsdateien gibt an ob
55. apache axis2 extensions spring receivers SpringServletContextObjectSupplier lt parameter gt lt parameter name SpringBeanName locked false gt etutorService lt parameter gt lt lt serv eaa gt lt serviceGroup gt pales Codeausschnitt 9 services xml 1 5 4 Archivdatei erstellen An dieser Stelle sind alle Vorbereitungen getroffen dass der Webservice Quelltext mit dem Werkzeug Ant kompiliert und in ein aar Archiv konvertiert werden kann Dazu gibt man ber die Kommandozeile im Quellcode Zielverzeichnis hier CAGeneratedClient den Befehl ant ein wodurch die in der Make Datei angegebenen Befehle ausgef hrt werden YE Codeausschnitt 10 Compilierung des Webservices Ergebnis der ant Skript Ausf hrung ist unter anderem eine Webservice Archivdatei Dabei handelt es sich um eine komprimierte Dateisammlung die mit einem Datenkompressionsprogramm wie beispielsweise WinRar ge ffnet werden kann Mit Ausnahme der m Folgenden aufgelisteten Dateien k nnen aus dem Webservice Archiv alle Ordner und Dateien entfernt werden e etutor core ws service o ETutorServiceMessageReceiverlnOut class o ETutorServiceSkeleton class e META INF 7 http ant apache org 38 C GeneratedClient build xml 2 C GeneratedClient build lib ETutorService aar http www winrar de Kapitel 1 eTutor C Administrationshandbuch 123 o ETutor xsd o ETutorService wsdl o MANIFEST MF o services xml
56. assedParsmeters Resource resources Serializable exerciselnfo throws Exception Codeausschnitt 3 Editor Interface Die initPerformTask Methode gibt eine Liste von Initialisierungsparametern zur bungsausarbeitung zur ck d e n der Benutzersession abgelegt werden Beim SQL Expertenmodul s nd diese Parameter jedoch nicht vorgesehen weshalb die Implementierung dieser Methode bei der Klasse SOLEditor den Wert null zur ckgibt PreparePerformTask verarbeitet die Eingaben des Benutzers und legt diese in der Benutzersession ab So liefert diese Methode im SOLEditor die vom Studenten eingegebene Abfrage als String zur ck Ihr Pedant im Rahmen der Beispielerstellung ist die Methode prepareAuthorTask public interface ModulekxerciseManager public int createExercise Serializable exercise Map attributes Map parameters throws Exception public boolean modifyExerci se int exerciseld Serializable exercise Map attributes Map parameters throws Exception public boolean deleteExercise int exerciselD throws Exception public Serializable fetchExercise int exerciselD throws Exception public Serializable fetchExerciselnfo throws Exception public String generateHtml Serializable exercise Locale locale throws Exception Codeausschnitt 4 ModuleExerciseManager Interface Die Methode createExercise der Klasse etutor modules sql SOLExerciseManager erstellt eine neue bung und liefert als R ckgabewert deren
57. ateien 4 Eingabeformular S GET file phptasktypeid 3 amp tasktypeversion 5 fllenamesstyle css D style css u T GET file php tasktypeid 3 amp tasktypeversion 5 flenamesimg jpg D imgjpg ll D POST GET moodle ku atimod quiz attempt php q 104query SELECT FROM course sessionid Korrekturmadus Ubergabeparameter SQOL Statement 10 processPerformTaskRequest 123 diagnose SELECT FROM course 11 XHTML 255 Dateien 12 Eingabeformular R ckmeldung 13 POST GET moodle jku atimodiquiz sttenpt php g 10 amp query SELECT name FROM course 14 processPerformTaskRequest 123 submit SELECT name FROM course letzter Parameter vom Expertenmodul vergebene Punktzahl i 15 XHTML CSS Dateien 6 16 Eingabeformular Bewertung T e e e _ _ EE o N Sessionid 17 bung beenden 18 stopRequest 123 19 void 20 void Abbildung 24 Kommunikationsablauf bei der Beispielbearbeitung Kapitel 4 Integration des eTutors in Moodle 45 Sobald die Schnittstellen von Moodle und eTutor feststehen k nnen die daf r ben tigten Systemkomponenten entwickelt werden Abbildung 25 stellt eine bersicht aller beteiligten Komponenten dar die auf Bas s der festgelegten Schnittstellen in Kapitel 4 3 Implementierung n her beschrieben werden Benutzer greifen mittels http Schnittstelle auf das Learning Management System Moodle zu welches sich wiederum aus dem
58. auf das lock Objekt hat implementation etutor_dispatcher sre etutor core ws session SessionManager java Kapitel 4 Integration des eTutors in Moodle 63 public Session getSession String key throws InvalidSessionException Sessions session mude synchronized lockSessionObject session sessions get key if session null session new Session sessions put key session long timestampNow new Date getTime session setTimestamp timestampNow CECE Ooo public void removeSession String key throws InvalidSessionException synchronized lockSessionObject sessions remove key Codeausschnitt 4 SessionManagerImpl java 4 3 5 5 Mehrsprachigkeit Sowohl Moodle als auch der eTutor Dispatcher unterst tzen mehrsprachige Benutzerdialoge Dazu befinden sich im Programmcode anstatt konkreter Texte Verweise auf Konfigurationsdateien welche Benutzerausgaben an zentraler Stelle verwalten Wie in Codeausschnitt 5 dargestellt k nnen diese Konfigurationen f r mehrere Sprachen angelegt werden Im Rahmen der Diplomarbeit wurde die gesamte Benutzeroberfl che Deutsch b und Englisch sprachig a zur Verf gung gestellt decomposereporter first First decomposereporter first Erste decomposereporter second Second decomposereporter second Zweite decomposereporter third Third decomposereporter third Dritte a messages _en properties b messages_de properties Codeaus
59. datenbank sinngem nach Brodie 8 Stoncb KE E iia loli 27 Abbildung 12 Reverse Gateway zur Aufrufumleitung auf Altsystemdatenbank sinngem nach Brodie amp Stonebraker 1999 8 EE 21 Abbildung 13 Datenmigration bei der Butterfly Methode in Anlehnung an Bing u a 1997 S 317 28 Abbildung 14 Umstellungsstrategien von Altsystemen adaptiert von Bisbal u a 1999 S 3 29 Abbildung 15 Abl uf Tote erte ne an I a A da 32 Abbildung 16 Anwendungsf lle des Zielgwvstemg 33 Abbildune 17 Analysedes Altsystems CIU e A a 35 Abbildung 18 eTutor Funktionalit t des Altsystems eeesseenneneessssoeeesssssssseerrssssssscerrsssssssserrsssssses 36 Abbildung 19 Analyse des Altsystems Moodle iii ea a a ENNEN 37 Abbildung 20 Moodle Funktionalit t des Altsystems ooooooooncccncnnnnnnonononnnnnnnnnnnnnnnnnncnnnnnnonnnannnnnnnnos 38 Abbildung 2 ZielsystemsRUnK Ona ei eier 40 Abbildung 22 Zielsystem Schnittstellen oooooccnonnccnnncnnoccnnnccnnononnccnonccnnnonnnncnnncnnnnnnnnnccnnnnncnnns 40 Abbildung 23 Kommunikationsablauf bei der Beispielerstellung esnsooseoeennssssssseenesssssssserrsssssse 42 Abbildung 24 Kommunikationsablauf bei der Beispielbearbeitung een 44 Abb1 ldunS 25 Zielsystem rchitekt r 3223352 Meine rien 46 Abbildung 26 Moodle Datenbanktabellen zur Integration des eTutor Beispieltyps 48 Abbildung 27 Moodle Datenbanktabellen f r die manuel
60. debug remote enable on xdebug remote_handler xdebug remote_ host xdebug remote_log xdebug remote mode men o xdebug remote port ETT xdebug show_ exception trace xdebug show_local_vars xdebug show_mem_delta O d r xdebug trace_ options xdebug trace output dur xdebug trace _output_name race Mc xdebug var_display_max_children 3 xdebug var_display_max_depth E O O 12 ff b a ff ff ff m 1 Abbildung 8 berpr fen der Debug Einstellungen mithilfe des Befehls phpinfo Im n chsten Schritt m ssen die Eclipse Debugger Einstellungen mit den im letzten Schritt vorgenommenen XAMPP Einstellungen abgestimmt werden Unter Window Preferences PHP Debug Installed Debuggers werden die von der Eclipse Installation unterst tzten Debugger aufgelistet Nach der Auswahl des Eintrags XDebug kann der Einstellungsdialog ber den Button Configure ge ffnet werden Kapitel 2 Moodle B Installationshandbuch 104 E Preferences Installed Debuggers General Dynamic Languages Installed Debuggers Help Debugger Type Install Update Zend Debugger Gei XDebug PHP Appearance D Code Style Debug f installed Debuggers Step Filtering Workbench Options t Editor Mew Project Layout PHP Executables PHF Interpreter PHP Libraries PHP Manual PHP Servers E Remote Systems we 9 Abbildung 9 PHP Debugger Port einstellen Der gew hlte Port muss dabei mit der Option xdebug remote_port der Datei php ini
61. derungen und sollte daher so weit wie m glich beibehalten werden Es wurde darauf geachtet Komponenten des resultierenden Lernsystems lose zu koppeln So waren zum Einbinden von Expertenmodulen nur Adaptionen der Benutzerdialoge notwendig die restlichen Funktionen zur automatischen Aufgabenkorrektur konnten ohne nderung des Quelltexts bernommen werden Im Zuge der Integration mussten einige Rahmenbedingungen eingehalten werden Am Moodle Kernsystem durften keine Anpassungen vorgenommen werden da diese andernfalls vor jeder Aktualisierung von Moodle in die neue Programmversion eingebaut werden m ssten Moodle bietet zur Umgehung dieses Problems eine Erweiterungsschnittstelle deren Struktur auch bei neuen Programmversionen beibehalten wird Da sowohl f r den Einbau neuer Funktionalit t als auch f r die Integration des eTutors ausschlie lich d e daf r vorgesehenen Schnittstellen genutzt wurden kam es zu keiner Einschr nkung der Updatef higkeit von Moodle Eine weitere Anforderung war vorhandene Beispieldaten in die neu erstellte Lernumgebung bernehmen zu k nnen Da die Korrekturfunktionalit t und damit auch die Speicherung der Musterl sung in den Expertenmodulen vollst ndig beibehalten wurde mussten lediglich die Angabetexte und Daten zur Kategorisierung von bungen in das Zielsystem eingespielt werden ber die Basisanforderungen hinaus wurden neue Funktionen wie mehrsprachige Benutzeroberfl chen umgesetzt bungsbeispiele
62. des Altsystems in das Z elsystem umgestellt find sowohl Zugriffe auf die Datenbank des Alt als auch des Zielsystems statt Ein Gateway ist eine zus tzliche Komponente die daf r sorgt dass Datenzugriffe entweder ausschlie lich m Alt oder im Zielsystem erfolgen Dazu werden Zugriffe von speziellen Anwendungskomponenten den sogenannten Gateways abgefangen und umgeleitet Diese werden in Kapitel 3 3 1 Datenmigration n her erl utert Kapitel 3 Migrationstechniken zur Systemintegration 21 Datenbank des Altsystems migrieren Bevor Daten des Altsystems migriert werden k nnen m ssen sie in das Format der Zieldatenbank umgewandelt werden ung ltige Daten werden dabei berichtigt Zuvor sollte allerdings gepr ft werden ob der gesamte Datenbestand bernommen werden muss oder Teile davon nach einer etwaigen Archivierung verworfen werden k nnen Anwendungen des Altsystems migrieren Die entwickelten Anwendungen werden nun auf die Z elsystemumgebung migriert Der Gateway erm glicht es dass neue und im Altsystem belassene Anwendungen auf dieselbe Datenbank zugreifen k nnen siehe Kapitel 3 3 1 Datenmigration Schnittstellen des Altsystems migrieren Benutzeroberfl chen und Systemschnittstellen deren zugeh rige Anwendungen bereits auf das Zielsystem umgestellt wurden werden in diesem Schritt ebenfalls migriert Altsystem in das Zielsystem berf hren Den Abschluss einer Migrationsphase bildet das Umschalten des installi
63. des Single Sign on nur noch auf einem Lernsystem einloggen da Kursdaten zentral im Moodle System administriert werden Dar ber hinaus wurde eine Unterst tzung mehrsprachiger Benutzerdialoge implementiert welche die bungsausarbeitung speziell f r fremdsprachige Austauschstudenten erleichtert Abstract E learning 1s defined as the usage of computer systems to support learning processes The learning systems that are used for this purpose are classified into two categories Learning Management Systems focus on functionality for the administration of instruction material during courses Intelligent Tutoring Systems concentrate on the automatic correction of comprehensive task assignments The goal of this diploma thesis is to combine the advantages of both types of e learning systems by integrating the Intelligent Tutoring System eTutor into the Learning Management System Moodle The integration had to be performed considering multiple constraints At the Johannes Kepler University Moodle is used for several faculties and it is administrated centrally Therefore the Moodle core system should not be modified as changes therein would require regular adaptions to subsequently Moodle versions Whenever a new Moodle release is installed implemented changes would get lost otherwise The learning system eTutor was developed at the Department of Business Informatics Data and Knowledge Engineering and has been used successfully in the courses for a
64. dle setzt eine geeignete Vorgehensweise zur Umstellung voraus Daf r werden unterschiedliche Aspekte der n Kapitel 3 beschriebenen Migrationskonzepte zu einem individuellen Migrationsprozess kombiniert Da die Umstellung auf die neue Lernumgebung w hrend der vorlesungsfreien Zeit erfolgen kann muss das System nicht durchgehend verf gbar sein Ein vor bergehender Systemausfall stellt kein Problem dar Aus diesem Grund ist eine Systemumstellung auf einen Schlag wie sie die Cold Turkey Migration beschreibt praktikabel Aufw ndige Ma nahmen zur Sicherung eines laufenden Systembetriebs wie sie bei der Butterfly Migration vorgesehen sind werden nicht ben tigt Eine Neuentwicklung des Zielsystems von Grund auf wird nicht angestrebt Vielmehr soll ein m glichst gro er Teil der existierenden Expertenmodulfunktionalit t in das Zielsystem bernommen werden F r diesen Zweck eignet sich der im Chicken Litte Migrationsprozess beschriebene Ablauf zur schrittweisen Migration von Systemteilen Dieser allgemein beschriebene Migrationsprozess wurde auf die speziellen Erfordernisse der eTutor Migration angepasst woraus folgendes Vorgehen resultiert l Systemanalyse 2 Anwendungen des Zielsystems entwickeln 3 Datenbank des Zielsystems entwickeln 4 Datenbank des Altsystems migrieren Die Chicken Little Migration sieht vor diese Prozessschritte wiederholt zu durchlaufen um mit jeder Migrationsphase weitere Komponenten zu migrieren Da bei der eT
65. e bertragen und im Zwischenspeicher abgelegt Cache bild pg Moodle cl 1 cache bild jpg skript js Modulversion 1 Modulversior 1 3 Dateien Modulversion 1 Modulversion 1 A Modulversionen vergleichen Abbildung 33 Zwischenspeicher Szenario 2 nachgefragte Dateien in aktueller Version vorhanden Abbildung 33 stellt den Idealfall dar bei dem aufgrund des Moodle Zwischenspeichers keine Datei bertragung notwendig ist Moodle ben tigt die Dateien bild jpg und skript js die sich bereits im Zwischenspeicher befinden und sendet zur Pr fung der Datei Aktualit t eine Webservice Anfrage an Kapitel 4 Integration des eTutors in Moodle 56 den eTutor Da beide Versions Parameter bereinstimmen erkennt Moodle dass die angeforderten Dateien nicht erneut bertragen werden m ssen Cache bild pg z i Modulversion 1 Modulversion 1 1 Dateien modifizieren Modulversion manuell auf den Wert 2 setzen 2 cache hild jpg skript je Modulversion 1 2 Modulversionen vergleichen 4 Dateien baseb4 kodiert bild jpg skript je j Modulversion 2 ersionen stimmen nicht berein gt Dateien werden neu bertragen sel Modulversion 2 Dateien im Cache ablegen Abbildung 34 Zwischenspeicher Szenario 3 veraltete Dateien vorhanden Im dargestellten Szenario von Abbildung 34 modifiziert der Kursadministrator die
66. e int exerciseID int userID Map passedAttributes Map passedParameters throws Exception public Grading grade Analysis analysis int maxPoints Map passedAttributes Map passedParameters throws Exception public Report report Analysis analysis Grading grading Map passedAttributes Map passedParameters Locale locale throws Exception Codeausschnitt 2 Evaluator Interface Im Evaluator Interface ist die Methode analyze vorgegeben die eine zum bungsbeispiel hinterlegte Musterl sung mit der Abgabe des Studenten vergleicht d e daraus resultierenden Erkenntnisse werden in einem Analyse Objekt etutor core evaluation Analysis abgelegt Aus dieser Analyse berechnet die grade Methode eine Punktzahl etutor core evaluation Grading und die report Methode erstellt daraus eine individuelle R ckmeldung an den Studenten etutor core evaluation Report pus lite nee race car Oia public HashMap lt String Object gt initPerformTask int exerciseld throws Exeepr ion public HashMap lt String Object gt preparePerformTask HashMap lt String 2 limplementation etutor_dispatcher WebContent WEB INF conf applicationContext xml Kapitel 1 eTutor C Administrationshandbuch 114 Object gt passedAttributes HashMap lt String Object gt passedParameters Resource resources throws Exception public HashMap lt String Object gt prepareAuthorTask HashMap lt String opec paso oc daAt Eeri Dukes HeehNap String Objeet p
67. e Entwicklung von Webservice Anwendungen insofern als sich bei deren Einsatz Anwendungsentwickler nicht um den konkreten Aufbau der Webservice Nachrichten k mmern m ssen F r den Einsatz von Axisl w rde sprechen dass mit dem quelloffenen Lernsystem OpenMark bereits ein Java System auf diese Schnittstelle setzt OpenMark 2010 und somit eine Implementierungsvorlage existieren w rde Allerdings liegt die Ver ffentlichung der letzten Axis1 Version bereits einige Jahre zur ck und die Apache Foundation Kapitel 4 Integration des eTutors in Moodle 62 unter deren Aufsicht Axis entwickelt wird Apache Ax s 2010 konzentriert sich auf die Verbesserung von Ax s2 das laut Herstellerangaben wesentlich schneller sein soll als sein Vorg nger Aus diesem Grund wurde im eTutor Dispatcher Axis2 integriert Im Auslieferungsumfang von Axis2 ist das Programm wsdl2java enthalten Dieses erm glicht es den Quelltext des Webservice Servers ausgehend von der Schnittstellendefinition automatisch zu erstellen Diese Vorgehensweise entspricht dem Contract First Prinzip Demgegen ber w rde das Contract Last Prinzip vorsehen zuerst einen Webservice Server zu entwickeln und auf diesen abgestimmt eine Schnittstellenbeschreibung zu erstellen Smith u a 2005 Bei der Entwicklung des eTutor Core wurde gem Contract First vorgegangen wobei die genaue Vorgehensweise im Administrationshandbuch Anhang C beschrieben ist 4 3 5 4 Sessionverwaltung Das B
68. e jedes Beispieltyps gleich sind w hrend die Gestaltung der folgenden Dialoge je nach Beispieltyp variiert Kapitel 2 Beispieldatenbank administrieren Kursleiter A Benutzerhandbuch 75 Aufgabenstellung editieren Fragentitel maximal erreichbare Punktzahl zur Frage decompose Beispiel Fragenkategorie E Tutor Expertenmodul Decompose Algoritimus hi Ubungsgruppe Soll der Angabetext automatisch vom Expertenmodul erzeugt werden Detaillierungsgrad f r R ckmeldungen je h her desto detaillierter ist der Bericht Die h chste Stufe beinhaltet die L sung diese Stufe ist nicht immer implementiert Aufgabenstellung bearbeiten Deutsch Trebuchet mlfitsoy all m sedhe a BZ S E a oo Hi EI GG EA he ss D I cOoaag o Pfad Abbildung 3 beispieltyp bergreifende Einstellungen F r jedes bungsbeispiel m ssen ein Titel und die zu erreichende Punktzahl angegeben werden Dabei sollte beachtet werden dass die maximale Punktzahl nur eine Vorgabe darstellt die beim Anlegen eines Tests abge ndert werden kann Mittels Auswahllisten werden die Fragenkategorie der Beispieltyp bestimmt das zu verwendende eTutor Expertenmodul und die bungsgruppe festgelegt bungsgruppen kategorisieren Beispiele in Themenbereiche siehe dazu auch Abschnitt 2 1 1 Damit kann die Themenbeschreibung zentral abgelegt werden siehe Kapitel 2 3 Dadurch erspart man sich bei jeder textuellen Beispielangabe erneut eine Einf hr
69. earbeiten eines bungsbeispiels erfordert in den meisten F llen mehrere Dialog Interaktionen Dabei ist es erforderlich den aktuellen Bearbeitungsstatus einem Benutzer zuordnen zu k nnen Innerhalb der Moodle Webanwendung wird der aktuelle Zustand in einer Benutzersession verwaltet Da bei verteilten Systemen mit Webservice Kommunikation kein System bergreifender Zustand existiert musste wie in Codeausschnitt 3 dargestellt die Verwaltung von Sitzungsinformation eTutor seitig nachgebildet werden public interface SessionManager public Session getSession String key throws InvalidSessionException public void removeSession String key throws InvalidSessionException loe as OS ias s LOCO ias 11 ole ses omo slds vals vale Veas EE e Sino ro public static Object lockSessionObject new Object Codeausschnitt 3 SessionManager Klasse zur Verwaltung von Zustandsinformationen Damit mehrere Lernende zur gleichen Zeit Ubungsbeispiele ausarbeiten k nnen muss der SessionManager Zugriffe von mehreren parallelen Threads koordinieren Dazu wird beim Erstellen des SessionManagers ein lockSessionObject angelegt Das Problem konkurrierender Zugriffe wird dadurch gel st dass immer nur ein Thread exklusiv auf das lock Objekt zugreifen kann Oaks amp Wong 2004 Ein Thread kann daher nur dann die Anweisungen der in Codeausschnitt 4 mit dem synchronized Befehl begrenzten Bereiche ausf hren wenn dieser zu diesem Zeitpunkt Zugriff
70. ebug getSession Sion e En logger debug methodname O ui nee Arrays toString pJp getArgs if logger isDebugEnabled Object returnValue pjp proceed logger debug getSession SERIEN e Nn e logger debug methodname E AS a des EE ee EE a Beispiel f r Logausgaben direkt im Funktionscode b AOP zentraler ActivityLoggingAspect java Codeausschnitt 6 Logausgaben im Funktionscode versus Aspect oriented Programming AOP Im eTutor Dispatcher Projekt wurde daher eine L sung mittels Aspekt orientierter Programmierung gew hlt Dabei sind wiederkehrende Kommandos zu Beginn oder am Ende einer Funktion an zentraler Stelle dem sogenannten Aspekt Codeausschnitt 6 b gespeichert Eine weiterf hrende Erkl rung zur Konfiguration des Aspekts befindet sich im Administrationshandbuch Anhang C 4 3 6 Weitere Funktionalit ten In diesem Abschnitt wurde ausf hrlich auf die Entwicklung des eTutor Dispatchers und dessen Kommunikation mit Moodle eingegangen Um die geforderte Zielsystemfunktionalit t siehe Auflistung n Abbildung 21 vollst ndig zu implementieren wurde au erdem jeweils ein Moodle 7 implementation etutor_dispatcher src test etutor core ws ActivityLoggingAspect java Kapitel 4 Integration des eTutors in Moodle 65 Plugin zum Administrieren der Beispieldatenbank und zur Beispiel Korrektur durch Tutoren entwickelt Deren Funktionsweise ist im Benutzerhandbuch Anhang A n her erkl rt 4 3 7
71. econds Abbildung 3 Zuteilung von bungsausarbeitungen an Tutoren mittels Cron Job Kapitel 1 eTutor C Administrationshandbuch 120 Bei manuell korrigierten bungsbeispielen werden zur bungsausarbeitung Tutoren zugeteilt Diese Tutoren Zuordnung wird nach bungs Abgabeschluss mittels Cron Job vorgenommen Benutzer mit Administratoren Rolle k nnen diesen Prozess ber die URL http localhost moodleetutor admin cron php auch manuell ansto en 1 5 SOAP Kommunikation anpassen An dieser Stelle werden Anpassungsm glichkeiten der Webservice Schnittstelle des eTutor Dispatchers beschrieben Eine Architekturbeschreibung des eTutor Webservice findet sich m Diplomarbeitsdokument Damit nderungen der SOAP Funktionsschnittstellen des eTutor Dispatchers sofort wirksam werden sollte am Moodle Server die Einstellung soap wsdl_cache_enabled der PHP Konfigurationsdatei auf den Wert O gesetzt werden In der Standardeinstellung Wert wird die Web Service Description Language WSDL Konfiguration zwischengespeichert und somit w rde bei einer nderung der Schnittstellenbeschreibung der Zugriff auf eine veraltete Version der WSDL Datei stattfinden 1 5 1 Webservice Funktionen hinzuf gen Soll das Webservice um weitere Funktionalit t erweitert werden m ssen die neuen Methoden sowohl in der Webservice Beschreibungsdatei ETutor wsd als auch in der Klasse etutor core ws service MyETutorService der eTutor Dispatcher Web
72. ef hrt Nur wenn beide Versionen eines Expertenmoduls bereinstimmen sind die Dateien im Zwischenspeicher g ltig Soll nun beispielsweise ein Bild im SQL Expertenmodul ge ndert werden wird der Version Parameter auf eTutor Seite erh ht Da sich dieses daraufhin vom Moodle seitigen Version Attribut unterscheidet verlieren die zwischengespeicherten Dateien des SQL Expertenmoduls ihre G ltigkeit und m ssen erneut bertragen werden Im Folgenden soll die Zwischenspeicherung von Dateien anhand von drei Szenarien demonstriert werden Szenario 1 zeigt wie ein Zwischenspeicher aufgebaut wird Dieser wird in Szenario 2 f r den Zugriff auf eine ben tigte Datei genutzt Szenario 3 l st das Problem unterschiedlicher Dateiversionen und veranschaulicht die Aktualisierung zwischengespeicherter Dateien Kapitel 4 Integration des eTutors in Moodle Cache ist leer Modulversior 1 1 cache Modulversion 1 w N d Dateien im Cache ablegen fehlende Dateien y werden bertragen Abbildung 32 Zwischenspeicher Szenario 1 keine Dateien vorhanden 55 Dateien bild jpg skript js Macdulversior 1 2 Modulversionen vergleichen In Abbildung 32 werden von einem Benutzerdialog die Dateien bild mg und skript js referenziert Da der Moodle Zwischenspeicher zu Beginn keine Eintr ge enth lt werden alle vom Expertenmodul Dialog referenzierten Dateien Bilder Skripten mittels Webservice von eTutor zu Moodl
73. einer anderen Diplomarbeit ein Bewertungsmodul f r UML Klassendiagramme in Entwicklung Koenings 2010 Die eTutor Core Komponente integriert Expertenmodule und implementiert Themengebiet bergreifende Funktionalit t So besitzen Angaben aller Beispieltypen dasselbe Format und werden aus diesem Grund zentral in der eTutor Core Datenbank abgelegt Dasselbe gilt f r Kursteilnehmer Zuteilungen und deren Bewertungen Obwohl bungsbearbeitungs Dialoge zum Expertenmodul Umfang geh ren stellt der eTutor Core die Web Benutzerschnittstelle zur Verf gung Von Tutoren zu Diese befindet sich auf der beiliegenden CD im Verzeichnis documentation projektdokumentation benutzerhandbuch_etutor doc Kapitel 4 Integration des eTutors in Moodle 35 kontrollierende bungsaufgaben werden ber ein Dateiupload Formular hochgeladen Tutoren werden bei bungsbewertungen von einem speziellen Administrationsinterface unterst tzt Ein ideales ITS das in Kapitel 2 beschrieben wird besteht aus den Komponenten Kommunikationsmodul Studentenmodul Unterrichtsmodul und Expertenmodul Im eTutor wird der aktuelle Lernfortschritt des Studenten nicht daf r genutzt um speziell angepasste Skripten und Ubungsbeispiele vorzuschlagen Stattdessen kommuniziert das Unterrichtsmodul direkt mit dem Kommunikationsmodul dem eTutor Core Electronic Tutor Expertenmodule eTutor Core Automatische Beispielkorrektur Benutzeroberfl che Analyse Bewertung ER Feedback
74. eitenden bungen bungsbeispiel ausarbeiten Moodle stellt Korrekturfunktionalit t f r einfache nur einfache Beispieltypen Ubungsbeispiele bereit bungsbewertung ansehen Die bei der bungsausarbeitung erreichten Punktest nde k nnen tabellarisch angezeigt werden automatische Beispielkorrektur Einfache bungsbeispiele f r die nur ein Vergleich der bungsabgabe des Studenten mit der Musterl sung notwendig ist kann Moodle automatisch korrigieren Weicht die bungsabgabe von der voreingestellten L sung ab kann Moodle keine Hinweise zur Verbesserung geben nur einfache Beispieltypen Abbildung 20 Moodle Funktionalit t des Altsystems 4 2 1 4 Zielsystem Funktionalit t Die Schw chen des eTutor Altsystems s nd nicht n seiner Beispielkorrektur Funktionalit t sondern m Bereich der Verwaltung von Kurs und Teilnehmerdaten zu finden So m ssen s ch Studenten zur Nutzung des eTutors selbst ndig beim System registrieren und zum entsprechenden Kurs einschreiben Da keine Funktion zur Entfernung und zur Archivierung alter Kursdaten aus der Datenbank implementiert ist w chst der Datenbestand fortlaufend an Die mit hohem Aufwand entwickelten eTutor Expertenmodule entsprechen demgegen ber voll den Anforderungen an eine automatisierte Korrektur von bungen Aus diesem Grund sollen diese mit m glichst wenigen Anpassungen in das Zielsystem bernommen werden k nnen Einen weiteren Kritikpunkt am bisherigen eTutor Sys
75. en Y Abmelden aus datenmod0910 B Profil Abbildung 8 Schaltfl che Sicherung im Administrationsblock zum Kurs Backup A Benutzerhandbuch 79 Der Kursblock Administration erm glicht ber die Funktion Sicherung das Backup von Kursen Beim Erstellen einer Kurs Sicherung wird festgelegt ob Kursteilnehmer und Lernmaterialien wie bungszettel mitgespeichert werden sollen ber den Kursblock E Tutor Admin siehe Abbildung 2 kann zudem mithilfe des Men punkts Backup Einstellungen eingestellt werden ob bei einem Backup von bungsaufgaben abh ngige Daten wie Beispielgruppen mit gesichert werden sollen In Codeausschnitt 1 ist das ausschlie liche Sichern von bungsbeispielen a dem Speichern aller beispielabh ngigen Informationen b gegen bergestellt Die Auswahl letzterer Option hat den Vorteil dass beim Einspielen von Beispieldaten nicht auf Abh ngigkeiten geachtet werden muss Nachteilig ist die Tatsache dass Zusatzinformationen wie Beispielgruppen redundant zu jedem bungsbeispiel gespeichert werden und dadurch die Menge der Sicherungsdaten vergleichsweise gro ist 14 http docs moodle org en Course_backup Kapitel 2 Beispieldatenbank administrieren Kursleiter lt QUESTION gt MS An lt PARENT gt 0 lt PARENT gt lt NAME gt uni ra frage lt NAME gt lt ETUTOR gt lt REMOTEID gt 13113 lt REMOTEID gt lt FEEDBACKLEVEL gt 3 lt FEEDBACKLEVEL gt lt TASKTYPESHORTDESCRIPTION gt de
76. en Kursleiter A Benutzerhandbuch 82 Das Wiederherstellen von Kurselementen wird im Moodle Benutzerhandbuch beschrieben Beim Einspielen bereits im System vorhandener bungsbeispiele werden Duplikate angelegt 3 Kurs administrieren Kursleiter Die Administration des Kurses f llt in den Zust ndigkeitsbereich des Kursleiters 3 1 Kurs anlegen Das Anlegen eines Kurses ist f r Administratoren unter dem Men punkt Kurse Verwaltung m glich Kurse k nnen in sogenannten Kursbereichen kategorisiert und somit beispielsweise Instituten zugeordnet werden Im n chsten Schritt k nnen ber den Administrations Block siehe Abbildung 8 mittels der Funktion Rollen zuweisen Studenten in den Kurs eingeschrieben werden Zudem kann der Administrator den Lehrveranstaltungsleitern d e Kurs Trainer Rolle zuweisen Diese Kurs Trainer haben daraufhin die M glichkeit Tutoren Rolle dke Tutor zur manuellen Beispiel Korrektur zu ernennen Im n chsten Schritt k nnen Administrationsbl cke hinzugef gt werden Dazu werden innerhalb des Kurshauptmen s mit der Schaltfl che Bearbeiten einschalten Bl cke Hinzuf gen die Bl cke DKE Tutoren und E Tutor Admin ausgew hlt 3 2 Ubungszettel erstellen Moodle Kernfunktionalit t wie das Anlegen eines bungszettels werden detailliert in der Moodle Benutzeranleitung beschrieben In den folgenden Unterpunkten wird auf die Besonderheit beim Erstellen von eTutor bungsbeispielen eingegan
77. en und daraufhin eine Fehlerdiagnose zu geben Die in Abbildung 1 vom Expertenmodul ausgearbeitete Diagnose beschreibt die Schw chen eines Studenten und wird vom Unterrichtsmodul dazu verwendet eine sogenannte Therapie vorzuschlagen Dabei handelt es sich entweder um weitere bungsbeispiele oder Lernskripten die vom Studenten bearbeitet werden sollen um seine Fehlerwahrscheinlichkeit zu reduzieren Das Unterrichtsmodul legt somit fest welche Kursinhalte Aufgaben und Informationen dem Studenten in welcher Reihenfolge angeboten werden Sobald die Interaktionsinhalte festgelegt sind wird vom Kommunikationsmodul eine ad quate Interaktionsform gew hlt Die zu vermittelnden Inhalte sind in einem idealtypischen ITS rhetorisch und p dagogisch wirksam aufbereitet Zum Themengebiet Data and Knowledge Engineering existiert bereits eine Reihe von ITS Faeskorn Woyke u a 2009 von denen jedoch kein System alle Kriterien eines idealen ITS erf llt F r eine detaillierte Funktions bersicht dieser Systeme wird auf die Diplomarbeit von Anita Hofer verwiesen Hofer 2005 S 52 im Zuge derer das eTutor Altsystem entwickelt wurde Kapitel 3 Migrationstechniken zur Systemintegration 15 3 Migrationstechniken zur Systemintegration Ziel des Migrationsprozesses ist es Software und Hardware eines unzureichenden und schlecht zu wartenden Altsystems in ein geeignetes und robustes Zielsystem berzuf hren ohne dabei den Systembetrieb zu beeint
78. en vergangener Semester aus dem Altsystem zu bernehmen Dazu geh ren Informationen ber Kursteilnehmer euser und bungszettel taskassignment die rein historische Zustandsdaten darstellen und im Anschluss an eine Archivierung verworfen werden k nnen In den letzten Jahren wurde am DKE Institut eine Vielzahl an bungsbeispielen erstellt die zur Vertiefung des vermittelten Lernstoffs genutzt wurden Der aufwendig gepflegte Beispielbestand des eTutor Altsystems sollte in die integrierte Ziel Lernumgebung bernommen werden L sungen der bungsbeispiele sind Teil der Expertenmodule w hrend Beispielinformationen wie Angabe und bungsgruppe im eTutor Core abgelegt waren Die Expertenmodule wurden im Zuge der Migration beinahe unver ndert gemeinsam mit den Beispiell sungen in das Zielsystem eingebaut Da die eTutor Core Komponente nicht Teil des Zielsystems ist mussten die verbleibenden Beispielinformationen in die Tabellenstruktur des Moodle Systems migriert werden Tabellenname im eTutor Altsystem Kapitel 4 Integration des eTutors in Moodle 50 Zur bernahme von Beispielangaben in das Moodle System ergibt sich folgende Vorgehensweise Im ersten Schritt werden Daten zur Beispielkategorisierung wie die Ubungsgruppe question_etutor_exerc_group und der Beispieltyp question_etutor_tasktype ben tigt Bevor die textuellen Beispielangaben eingespielt werden k nnen question_etutor_internation m ssen alle Sprachen in die
79. erhalb des JDBC Expertenmoduls kompiliert und ausgef hrt werden Eichinger 2006 8 7 4 3 5 eTutor Komponenten Um das Altsystem um eine Webservice Schnittstelle zu erweitern konnte entweder die existierende eTutor Core Webanwendung angepasst oder eine neue eTutor Komponente mit Webservice Funktionalit t entwickelt werden Da im Zielsystem ein gro er Teil der Funktionalit t des vorhandenen eTutors wegf llt beispielsweise die Benutzerverwaltung w rde eine Modifikation des eTutor Core des Altsystems zum Herausl sen nicht ben tigter Funktionalit ten einen erheblichen Aufwand verursachen Aus diesem Grund fiel die Entscheidung auf die Erstellung einer neuen http www open ac uk Kapitel 4 Integration des eTutors in Moodle 58 Komponente den eTutor Dispatcher Dieser bernimmt Aspekte des Altsystems f r eine bersicht der bernommenen Komponenten siehe Abbildung 21 verwendet jedoch eine vollst ndig neue Architektur und nutzt verschiedene Java Bibliotheken Abbildung 28 Diese Bibliotheken werden im Folgenden beschrieben Au erdem werden Implementierungsalternativen genannt Die Auswahl der Frameworks basierte jedoch auf keiner an bestimmten Kriterien festmachbaren Evaluierung sondern fand nur aufgrund der Produktbeschreibungen statt 4 3 5 1 Benutzeroberfl che Die eTutor Webanwendung des Altsystems setzt zur Darstellung der Benutzeroberfl che auf die Web Technologien Java Servlet und JSP Da der eTutor Dispatche
80. ernsystem eingebunden werden Literaturverzeichnis Apache Axis 2010 Apache Web Services Project Available at http ws apache org Zugegriffen April 5 2010 Arnold J T 2007 Learning on the Fly HRMagazine 52 9 127 131 Bing W u a 1997 Legacy systems migration a method and its tool k1t framework In Proceedings of Joint 4th International Computer Science Conference and 4th Asia Pacific Software Engineering Conference Joint 4th International Computer Science Conference and 4th Asia Pacific Software Engineering Conference Hong Kong 312 320 Bisbal J u a 1999 Legacy Information Systems Issues and Directions IEEE Software 16 103 111 Blackboard 2010 Blackboard Learn Platform Available at http www blackboard com Teaching Learning Learn Platform aspx Zugegriffen Juni 12 2010 Brodie M amp Stonebraker M 1995 Migrating Legacy Systems Gateways Interfaces amp the Incremental Approach Gateways Interfaces and the Incremental Approach Morgan Kaufmann Publishers In Brooks C u a 2006 Combining ITS and eLearning Technologies Opportunities and Challenges In Intelligent Tutoring Systems S 278 287 Brusilovsky P 2003 A component based distributed architecture for adaptive webbased education In Artificial intelligence in education 1OS Press Eichinger C 2006 Moduldokumentation JDBC Faeskorn Woyke H u a 2009 Tools f r die Lehre im Fach Datenbanken Datenbank S
81. erten Testsystems auf ein Produktivsystem Dabei werden zun chst Funktionalit t und Daten identifiziert die von den Anforderungen nicht erfasst sind und somit verworfen werden k nnen Daraufhin werden die geplante Struktur und die Umgebung des Z elsystems bestimmt die zur Ausarbeitung eines Migrationsplans ben tigt wird In Abbildung 5 werden die Abh ngigkeiten der Vorgehensschritte untereinander veranschaulicht Obwohl manche Schritte als parallelisierbar dargestellt sind k nnen diese nicht zu 100 Prozent abgegrenzt werden S e k nnen daher nicht vollst ndig unabh ngig voneinander ausgef hrt werden So basiert die Entwicklung der Anwendungen des Zielsystems teilweise auf dem Ergebnis des Vorgangs Analyse des Altsystems diese sind jedoch als gleichzeitig durchf hrbar dargestellt 3 2 3 Butterfly Methode Die Entwickler der Butterfly Methode sehen d e Datenmigration als Schl ssel zum Migrationserfolg Bisbal u a 1999 Die Entwicklung der Zielsystemfunktionalit t ist bei dieser Vorgehensweise vom restlichen Migrationsprozess abgekoppelt und kann unabh ngig von der Datenmigration erfolgen Mehrere Softwarekomponenten erm glichen bei der Butterfly Methode den gesamten Datenbestand im laufenden Betrieb in das Zielsystem zu bertragen Die Vorgehensweise ist in Abbildung 6 skizziert wobei die einzelnen Schritte in Kapitel 3 3 1 Datenmigration n her beschrieben werden Sobald sich der Gro teil der Daten in der Zieldatenbank bef
82. ertenmodule beschrieben 1 1 Voraussetzungen F r den Zugriff auf die Projektdateien ist ein Subversion Client notwendig Zum Ausf hren des Application Servers wird JDK Version 6 ben tigt 1 2 Tomcat Bei der Installation von Tomcat in Version 6 k nnen die vorgegebenen Einstellungen belassen werden Es muss jedoch darauf geachtet werden dass Tomcat nicht als Windows Dienst l uft wenn der Servlet Container aus Eclipse heraus gestartet werden soll Andernfalls w rden zwe Tomcat Instanzen zur selben Zeit laufen und es w rde zu einem Port Konflikt kommen Anschlie end muss der Oracle JDBC Treiber ojdbc14 jar in den Ordner lib des Tomcat Hauptverzeichnisses kopiert werden 1 3 Eclipse Als Entwicklungsumgebung sollte Eclipse in einer aktuellen Version ab 3 6 eingesetzt werden 1 3 1 Startparameter setzen Die Datei eclipse ini im Eclipse Installationsverzeichnis muss dahingehend ge ndert werden dass Eclipse mittels Startparameter mehr verwendbarer Hauptspeicher zugewiesen wird Durch die gro e Anzahl ben tigter Plugins reicht der standardm ig zugewiesene Speicher nicht aus launcher XXMaxPermSize 256m Re Dosgi requiredJavaVersion 1 5 ANS DCm a8 XX PermSize 128m XX MaxPermSize 256m DAS lo Us here Codeausschnitt 1 Startparameter in eclipse ini 1 3 2 Plugins installieren Folgende Eclipse Plugins werden zur Entwicklung des eTutor Dispatchers und der Expertenmodule ben tigt e Galileo ht
83. ewertungen im Moodle System gespeichert Da die automatische Beispielpr fung durch den eTutor erfolgt muss die vom System vergebene Punktzahl zu Moodle bertragen werden Diese Funktionalit t soll mittels Moodle Erweiterung vollst ndig neu umgesetzt werden Im Altsystem wurde pro bungszettel jedem Kursteilnehmer ein Tutor zugewiesen Da nicht von allen Studenten bungen ausgearbeitet wurden konnte es zu einer unfairen Verteilung des Korrekturaufwands f r d e Tutoren kommen Aus diesem Grund wird im Zielsystem die Tutoren Zuteilung erst nach Abgabeschluss vorgenommen wodurch bungsabgaben auf alle Tutoren gleichm ig verteilt werden k nnen Im Zielsystem stellt Moodle die Benutzerschnittstelle zur Verf gung Um die Korrekturfunktionalit t in den eTutor Expertenmodulen beibehalten zu k nnen m ssen die daf r Kapitel 4 Integration des eTutors in Moodle 40 ben tigten Benutzerdialoge zum Moodle System bertragen werden Abbildung 21 Zielsystem Funktionalit t 4 2 2 Anwendungen des Zielsystem entwickeln Die Schnittstellen des Zielsystems sind n Abbildung 22 ersichtlich Studenten und Kursleiter greifen mittels Webbrowser auf die Moodle Webseite zu Sobald ein eTutor bungsbeispiel aufgerufen wird sendet Moodle eine Webservice Anfrage an das eTutor System wo die Anfrage vom dem Beispieltyp entsprechenden Expertenmodul verarbeitet wird Client Server Web Benutzer System Browser Schnittstelle Schnittste
84. ffe implementiert Die Moodle Erweiterung Opaque Tim 2010 wurde von der Open University einer Universit t f r Fernstudien zur Einbindung von bungsbeispielen ihres Lernsystems in Moodle entwickelt Die Integration erfolgt mittels Webservice Moodle Wiki 2010 wodurch beteiligte Komponenten lose gekoppelt werden k nnen siehe Beschreibung der Webservice Technologie in Kapitel 4 3 3 1 Da Opaque unter der GNU General Public License ver ffentlicht wurde darf das Plugin ohne Einschr nkung genutzt werden Es st daher erlaubt die Funktionsweise der Erweiterung zu studieren und f r eigene Zwecke anzupassen Aus diesem Grund wurde die Einbindung des eTutor in Moodle in Anlehnung an Opaque realisiert Um Opaque f r das Zielsystem nutzen zu k nnen mussten einige Korrekturen und Erg nzungen vorgenommen werden Als Beispiel kann die veraltete Webservice Schnittstellenbeschreibung genannt werden die angepasst werden musste um dem WS I Standard WS I Basic Profile 2006 zu entsprechen WS I spezifiziert den Aufbau einer WSDL Datei um Kompatibilit t zwischen unterschiedlichen Webservice Servern und Clients sicherzustellen Dar ber hinaus musste die Funktionalit t des bertragungsprotokolls dahingehend erweitert werden dass Dateien nicht nur in Richtung Moodle sondern beidseitig bertragen werden konnten Diese Funktionalit t wird beispielsweise vom JDBC Expertenmodul ben tigt bei dem Kursteilnehmer JAVA Quelltexte hochladen die inn
85. gen 3 2 1 Automatisch korrigierte bungsaufgabe bereitstellen Um neue Testfragen zu erstellen sollte der Dialog Neue Aufgabe des Blocks E Tutor Admin verwendet werden Wichtig ist die Auswahl des korrekten E Tutor Expertenmoduls da abh ngig von diesen unterschiedliche Eingabemasken f r den Beispielinhalt angezeigt werden Um die Testfragen nutzen zu k nnen wird die Aktivit t Test ber Bearbeiten einschalten Aktivit t anlegen Test hinzugef gt Im Erstellungsdialog m ssen die Einstellungen Zahl der Fragen pro Seite auf 7 und Max Zahl der Versuche auf gesetzt werden Diese Einstellungs nderung ist deswegen notwendig da ansonsten aus einem Beispielpool zugeteilte bungsbeispiele bei jedem Testversuch erneut zuf llig zugewiesen werden w rden Das eTutor System l sst trotz dieser Einstellung eine beliebige Anzahl an Versuchen zu Im Reiter Bearbeiten k nnen aus der Fragenliste Fragen 15 http docs moodle org en Course_backup 6 http docs moodle org en Adding updating_a_quiz Kapitel 3 Kurs administrieren Kursleiter A Benutzerhandbuch 85 ausgew hlt und mithilfe des Doppelpfeil Icons einem Test zugewiesen werden Dabei sollte man auf die Auswahl der korrekten Fragenkategorie achten da nur die Fragen der aktuell ausgew hlten Kategorie aufgelistet werden Die gew hlten bungsbeispiele k nnen im Reiter Vorschau vom Trainer oder Admin Nutzer ausprobiert und von den Kursteilnehmern bearbeitet werden Datenm
86. gen im Altsystem Einfluss auf das System System Evolution System Revolution Abbildung 14 Umstellungsstrategien von Altsystemen adaptiert von Bisbal u a 1999 S 3 Wrapping bezeichnet das Verpacken einer Komponente in eine neue Komponente die mehr Schnittstellen zur Au enwelt zur Verf gung stellt Vorhandene Funktionen und Daten der Altkomponente werden beibehalten und um Zugriffsm glichkeiten erg nzt wodurch sich nur wenige nderungen am Altsystem ergeben Die erweiterte Komponente kann als Server betrachtet werden dessen Funktionalit t f r die von ihm abh ngigen Systemteile den Clients ber standardisierte Systemschnittstellen wie beispielsweise Webservices abrufbar ist Bei einer Migration wird vorhandene Funktionalit t in eine neue Systemumgebung bertragen Voraussetzung daf r st den Systemaufbau zu kennen da meist der Quelltext des Altsystems angepasst werden muss um in der Zielumgebung lauff hig zu sein Ein typisches Migrationsbeispiel 1st die Portierung einer Anwendung auf ein anderes Betriebssystem Eine Neuentwicklung setzt vorhandene Funktionalit t unter Zuhilfenahme aktueller Technologie von Grund auf neu um Das bedeutet dass bestehende Algor thmen adaptiert und n eine neue Systemumgebung bernommen werden Diese Methode erm glicht es zwar das System den Anforderungen optimal anzupassen s e versursacht jedoch den meisten Aufwand Die Entscheidung f r eine Umstellungsstrategie mu
87. genannten User Libraries die im Projekt als Gesamtpaket eingebunden werden k nnen Um die f r das eTutor Projekt ben tigten User Libraries zu importieren m ssen zun chst in der Datei lib userlibraries alle absoluten Pfade zum Ordner in dem die libraries liegen Repository angepasst werden lt archive patri Eden arena Una DA Posi ory da a 15 pan liba ton ie gene gt Codeausschnitt 2 Repository Pfad bei lib userlibraries anpassen Die eingetragenen Libraries k nnen im n chsten Schritt unter Window Preferences Java Build Path User Libraries Import durch Auswahl der editierten Datei hinzugef gt werden E Preferences User Libraries Ei Java E dd Path User libraries can be added to a Java Build path and bundle a number of external E Build Pa archives System libraries will be added to the boot class path when launched E Defined user libraries E Web Indude Path D Bl DISPLAYTAG_1_2 User Libraries H ETUTOR_COMPILE_OMLY_JARS S ETUTOR_JARS H SPRIMG_2_5 DS VELOCITY_1 D D A Import Cancel Codeausschnitt 3 User Libraries importieren 2 implementation Projekteinstellungen etutor lib userlibraries Kapitel 1 eTutor B Installationshandbuch 94 1 3 5 Application Server hinzuf gen Die Tomcat Installation kann unter den Eclipse Einstellungen Window Preferences unter Server Runtime Environment Add hinzugef gt werden Aus der Liste der Server muss Apache T
88. gorithmus ausarbeiten Sobald alle Eingaben zur Erstellung einer Beispielausarbeitung vorgenommen wurden kann ber die Schaltfl che Untersuchen eine R ckmeldung vom eTutor System angefordert werden Bei der Funktion Abgeben wird zus tzlich zur automatischen Korrektur eine Punktzahl zur bungsbewertung vergeben Diese ist jedoch nicht endg ltig sondern kann innerhalb des Abgabezeitraums beliebig oft neu vergeben werden Kapitel 4 bungsbeispiel ausarbeiten Teilnehmer A Benutzerhandbuch 86 y Ri ABCD Abh ngigkeiten A E BC C Schl ssel A Y Ri 1 AB Abh ngigkeiten A EB PS Schl ssel A L e R12 BCD Abh ngigkeiten BE C C D Schl ssel B 4 Relationen O pi ERGEBNIS Die Dekomposition ist leider nicht korrekt BERICHTE Auswertungen ber die Zerlegung von R 1inR1 1UndR1 2 Berichte ber R 1 1 Info Relation R 1 1 istin Boyce Codd Normalform Berichte ber R 1 2 Error Unzureichender Normalform Level Ervartet Boyce Codd MF Gefunden Zweite MF Description Funktionale Abh ngigkeit 0 verletzt die third Normalform Die rechte Seite dieses funktionale Abh ngigkeit beinhaltet 1 Attribut das ist nicht prim ist Die linke Seite dieser funktionalen Abh ngigkeit ist kein Superschl ssel Abbildung 13 R ckmeldung des eTutor Expertenmoduls Bei bungsbeispielen die manuell von Tutoren kontrolliert werden k nnen Kursteilnehmer ihre bungsausarbeitung vorzugsweise im pdf Format hochladen Es
89. gt Se lt value gt resources sql exercisesettingview create_exercise js lt value gt e lis e lt IO y Sy lt bean gt lt bean id sqlEditor class etutor modules sql ui SQLEditor gt lt bean 1d sqlExerciseManager elass eturer nodules sql SOLkxzereiseManager gt lt bean id sqlVersion class java lang String gt cons loan grade lt bean gt Kapitel 1 eTutor C Administrationshandbuch 117 lt bean id sqlImplementedFeedbacklevel class java lang String gt lt eonsrruetor arg value Sus lt bean gt Codeausschnitt 5 SQL Expertenmodul relevanter Ausschnitt der applicationContext xml Der Parameter sq Version wird bei jeder nderung einer Dialog Datei inkrementiert er wird f r das Zwischenspeichern der Dateien in Moodle ben tigt Bei einer Erh hung des Version Parameters werden alle in Moodle zwischengespeicherten Dateien verworfen und erneut vom eTutor bertragen siehe Beschreibung auf Seite 53 1 1 2 3 BuildPath In den Projekteinstellungen des Expertenmoduls k nnen unter dem Unterpunkt Java Build Path im Karteireiter Libraries die ben tigten Velocity und Spring Libraries Bibliotheken eingebunden werden Wie derartige Bibliotheken erstellt werden k nnen ist im Installationshandbuch Anhang B beschrieben E Properties for etutor_sql ER Java Build Path v Resource Builders 3 Source 2 Projects S Libraries Order and Export Java Build Path JARs and
90. ht k nnen im Lernsystem verwaltete Beispielgruppen ge ndert oder gel scht werden der Dialog zum Erstellen neuer Beispielgruppen ist ber die Verlinkung Neue Beispielgruppe erstellen erreichbar 2 1 2 Expertenmodul Bezeichnung anpassen Kursblock E Tutor Admin Expertenmodule Das Einbinden zus tzlicher Expertenmodule wird im Administrationshandbuch Anhang C beschrieben 2 2 bungsbeispiele auflisten Kursblock E Tutor Admin E Tutor Aufgaben Die aufgelisteten bungsbeispiele k nnen nach verschiedenen Kriterien gefiltert werden Nach dem Aufruf des Beispieldialogs sind keine Einschr nkungen aktiv Mittels Auswahlboxen k nnen nur jene Beispiele angezeigt werden die zu einem bestimmten Expertenmodul oder einer bungsgruppe geh ren Idealerweise sind f r jedes bungsbeispiel die Angabetexte in allen unterst tzten Sprachen verf gbar Um nun all jene Beispiele mit fehlendem englischsprachigen Angabetext anzuzeigen muss die Option fehlender Angabetext in Sprache auf Englisch gesetzt werden Neben jeder bungsaufgabe sind Verkn pfungen zum Editieren und L schen von bungsbeispielen angef hrt Kapitel 2 Beispieldatenbank administrieren Kursleiter A Benutzerhandbuch 78 Moodle etutor moodleetutor gt Fragen suchen Fragen suchen E Tutor Expertenmodul keine Einschr nkung w bungsgruppe keine Einschr nkung w fehlender Angabetext in Sprache keine Einschr nkung Fragenliste filtern Kurse einfach
91. ht und ber die Schaltfl che Add Library die JRE System Library Workspace default JRE ausw hlt und dadurch hinzuf gt E Properties for etutor_dispatcher Java Build Path Resource Builders 68 Source Projects El Libraries Da Order and Export Java Build Path JARs and dass folders on the build path H Java Code Style H Java Compiler D C etutor_dispatcher WebContent WEB IMF conf de Add JARs Java Editor H S Apache Tomcat v6 0 Apache Tomcat v6 0 Java EE Module Dependende BS AXIS2_15 as Javadoc Location DS DISPLAYTAG_1_2 JavaScript H 4 EAR Libraries JSF Fragment H S ETUTOR_JARS Add Library Project Facets 0 2 JRE System Library jdk1 6 0_10 Project References H Unit 4 Add Class Folder Refactoring History DS SPRING_2 56 Run Debug Settings Give 16 2 server a S Web App Libraries Service Policies Edit l Spring SVN Info Targeted Runtimes H Task Repository Task Tags 4 validation Web Content Settings Web Page Editor Web Project Settings WikiText El XDoclet Add Variable Add External Class Folder Remove Cancel Abbildung 1 korrekt eingebunde Java Laufzeitumgebung Kapitel 1 eTutor B Installationshandbuch 93 1 3 4 User Libraries erstellen Um das eTutor Java Projekt compilieren und ausf hren zu k nnen wird eine Reihe von Programmbibliotheken ben tigt unter anderem Axis Spring und Velocity Eclipse unterst tzt das Zusammenfassen von jar Dateien zu so
92. iented Programming AOP 64 Kapitel 1 Aufgabenstellung 10 1 Aufgabenstellung Der Einsatz von Computertechnologie erm glicht kosteng nstiges und bedarfsgerechtes Lernen Im Gegensatz zu Lehrern m klassischen Unterricht k nnen Lernsysteme zur Unterst tzung des Lernprozesses rtlich und zeitlich flexibel verwendet werden Zhang u a 2004 S 76 Es 1st somit m glich Lehrende von Routineaufgaben zu entlasten Kursteilnehmer abh ngig von ihrem Lernfortschritt individuell zu betreuen und bungsaufgaben automatisch vom Lernsystem korrigieren zu lassen Lusti 1992 Der Einsatz von Computern als Lehrmedium mit der Ber cksichtigung technischer und didaktischer Erkenntnisse wird als E Learning bezeichnet Zhang u a 2004 S 76 E Learning Systeme werden sowohl in Bildungseinrichtungen als auch in Unternehmen eingesetzt An der Johannes Kepler Universit t JKU kann zum Beispiel das Multimediastudium Rechtswissenschaften vollkommen ohne physische Anwesenheit an der Universit t absolviert werden Das Unternehmen IBM nutzt E Learning um Mitarbeiter im Verkauf die an verschiedenen Standorten t tig sind ber neue Produkte zu informieren Arnold 2007 E Learning Systeme k nnen unter anderem in Learning Management Systems LMS und Intelligent Tutoring Systems ITS auf Deutsch intelligente tutorielle Systeme eingeteilt werden Learning Management Systems dienen zur Verwaltung von Kursmaterialien und Kursteilnehmern in E
93. igrationstechniken zur Systemintegration 18 desto geringer ist die Anzahl der Verbesserungen und desto berschaubarer ist das Risiko Schl gt eine Phase fehl kann auf die vorherige Umstellungsstufe zur ckgewechselt werden vorangehende Schritte bleiben erhalten Im Gegensatz zur Cold Turkey Strategie gef hrden daher einzelne Probleme bei der Umstellung nicht das gesamte Projekt sondern nur die aktuelle Iteration Zudem ist aufgrund der Teilerfolge n den einzelnen Umstellungsphasen der Projektabschluss besser planbar als bei einer Big Bang Umstellung Bei letzterer Kann eine Migration erst nach dem Umschalten auf das Zielsystem als Gesamterfolg oder als Misserfolg klassifiziert werden In Abbildung 5 sind die Schritte einer Iterationsphase der Chicken Little Migration angef hrt Abh ngigkeiten zwischen den Migrationsschritten werden mittels Pfeilen dargestellt Solange keine Abh ngigkeiten verletzt werden erlaubt es der Chicken Litte Ansatz Schritte zu vertauschen oder zusammenzulegen Kapitel 3 Migrationstechniken zur Systemintegration 19 Beginn y Altsystem Zielsystem Anwendungen des Datenbank des Zielsystem analyisieren Schnittstellen Zielsystems Zielsystems Umgebung entwickeln entwickeln entwickeln einrichten Altsystem Struktur bestimmen Y y Datenbank des Anwendungen des Schnittstellen des Gateway erstellen Altsystems migrieren Altsystems migrieren Altsystems migrieren und einrichten Altsystem in das
94. indet werden nach Abschalten des Altsystems die verbleibenden Daten umkopiert Nach Abschluss des Kopiervorgangs wird das parallel zur restlichen Migration entwickelte Zielsystem akt v geschaltet Kapitel 3 Migrationstechniken zur Systemintegration 22 Beginn tempor re Speicher einrichten Datenbank mit Schreibschutz Entwicklung des Zielsystems versehen in einer Testumgebung Daten nderungen in tempor re tempor re Speicher in Speicher schreiben Zieldatenbank einspielen Gesamtsystem abschalten Verbleibende Daten nderungen in Zieldatenbank einspielen Zielsystem aktiv setzen Ende Abbildung 6 Ablauf der Butterfly Migration 3 2 4 Geschaftsprozessbasierte Migrationsmethode Als Basis einer Migration k nnen auch Gesch ftsprozesse dienen auf deren Basis Anwendungen entwickelt werden Da das Zielsystem die Struktur eines verteilten Systems besitzt k nnen Komponenten lose miteinander gekoppelt werden Bing u a 1997 Kapitel 3 Migrationstechniken zur Systemintegration Szenarien entwickeln Gesch ftsprozesse entwerfen Systemstruktur Altsystem festlegen analysieren best Datenbank des Zielsystems entwickeln Schnittstellen Implementierungstechnologie definieren ausw hlen Wrapping von Altsystemkomponenten Abbildung 7 Ablauf gesch ftsprozessbasierte Migration in Anlehnung an Juric u a 2000 S 35 23 Basierend auf den definierten Abl ufen wird die Struktur de
95. ingestellten Projekten auch extern also au erhalb der Eclipse Instanz lauff hig sein soll muss unter der Einstellungskategorie Server Options die Option Publish module contexts to seperate XML files aktiviert werden 2 limplementation Servers etutor config server xml Kapitel 1 eTutor B Installationshandbuch 99 Um stabil zu laufen sollte Tomcat mehr Hauptspeicher zugewiesen werden als ihm standardm ig zur Verf gung steht Der zugewiesene Speicher wird ber die Aufrufparameter von Tomcat angepasst Im Textfeld VM arguments wird folgender bergabeparameter unten angef gt Codeausschnitt 6 Tomcat Startparameter Edit Configuration Edit launch configuration properties server ds Arguments D Classpath Es Source DS Environment ES Common Program arguments Etart Variables YM arguments Dcatalina base D EigeneDateien Uni DA Wworkspace da metadata plugins org eclipse wst server corelimpl Dcatalina home D EigeneDateien Uni DA tomcat 6 0 20 Dwtp deploy D EigeneDateien uUni DA Wwvorkspace da metadata plugins org eclipse wst server core tmp i ntpwebapps Djava endorsed dirs D EigeneDateien Uni DA tomcat 6 0 20 endarsed Amx5 12m Variables Working directory e Default O Other Abbildung 7 Startparameter bei Tomcat einstellen 1 3 7 Dateizuordnungen f r
96. istics Available at http moodle org stats Zugegriffen April 15 2010 Moodle Wiki 2010 Open protocol for accessing question engines Available at http docs moodle org en Development Opaque Zugegriffen Mai 14 2010 Oaks S amp Wong H 2004 Java Threads 3 Aufl O Reilly Media OpenMark 2010 OpenMark Dokumentation Available at https openmark dev java net nonav javadoc Zugegriffen Mai 5 2010 Papazoglou M amp Georgakopoulos D hrsg 2003 Service oriented computing Communications of the ACM Rabin J amp McCathieNevile C 2008 Mobile Web Best Practices 1 0 Mobile Web Best Practices Available at http www w3 org TR mobile bp d0e1321 Zugegriffen April 5 2010 Sakai 2010 Sakai Project an Open Source suite of learning portfolio library and project tools Sakai Project Available at http sakaiproject org Zugegriffen M rz 31 2010 Schneidewind N 1998 How to evaluate legacy system maintenance IEEE Software 15 4 34 42 Smith E u a 2005 Rethinking the Java SOAP Stack EEE International Conference on Web Services ICWS 12 15 Spring Dokumentation 2010 Spring Reference Available at http static springsource org spring docs 2 5 x reference introduction html Zugegriffen April 18 2010 Stevens P amp Pooley R 1998 Systems reengineering patterns In Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering SIGSO
97. istrieren Kurs anlegen Ubungszettel erstellen bungsbeispiel ausarbeiten bungsbewertung ansehen Beispiel Korrektur durch Tutor automatische Beispielkorrektur Umstellungs strategie Migration Migration Migration Migration Neuentwicklung Wrapping Anmerkung Die Aufgabe der Verwaltung von bungsbeispielen soll vom eTutor Core in das Moodle System bertragen werden Die Moodle Funktionalit t zum Hinzuf gen Editieren und L schen einfacher bungsbeispiele sollte um eine Unterst tzung f r eTutor Beispiele erweitert werden Diese wird mittels Plugin realisiert Kurse werden im Zielsystem von Moodle angelegt Die in Moodle eingebaute Funktion zum Erstellen von Kursen entspricht jener des eTutor Core Diese eTutor Funktionalit t kann daher ohne nderungen durch jene von Moodle ersetzt werden bungsbeispiele die per Zufallsgenerator aus einem Beispielpool ausgew hlt werden weist Moodle bei jedem Abgabeversuch neu zu Damit ein Student seine einmal erhaltenen bungsbeispiele beh lt muss beim Erstellen eines bungszettels darauf geachtet werden die Einstellung Anzahl Abgabeversuche auf den Wert Eins zu setzen Das eTutor System l sst trotz dieser Einstellung eine beliebige Anzahl an bungsbewertungen zu Moodle stellt die zur Ubungsausarbeitung ben tigte Benutzeroberfl che bereit eTutor bernimmt die automatische Korrektur von bungsabgaben Im Zielsystem sind bungsb
98. jdbc properties Kapitel 1 eTutor B Installationshandbuch 97 lt Resource gt auth Container driverClassName oracle jdbc driver OracleDriver logAbandoned true maxActive 30 maxIdle 30 maxWait 15000 name 3dbc etutor coreDS password removeAbandoned true removeAbandonedTimeout 60 type javax sql DataSource EE Ee username lt Resource gt auch Container driverClassName oracle jdbc driver OracleDriver logAbandoned true maxAcet ve To maxIdle 10 maxWait 15000 name 3dbc etutor modules rdbd rdbdDs password removeAbandoned true removeAbandonedTimeout 60 type javax sql DataSource Gr ESADE oran le himscleocalhoser EES username MO O E lt Resource gt auth Container driverClassName oracle jdbc driver OracleDriver logAbandoned true maxActive 10 maxIdle 10 maxWait 15000 name 3Jdbc etutor modules xquery xqDS password removeAbandoned true removeAbandonedTimeout 60 type javax sql DataSource del cdbenoraealer him EE username SS oe colo oe il gt gt lt Resource auth Container driverClassName oracle jdbc driver OracleDriver logAbandoned true maxActive 10 maxIdle 10 maxWait 15000 name 3Jdbc etutor modules datalog datalogDS password removeAbandoned true removeAbandonedTimeout 60 type javax sql DataSource EG cbesorac len chemek localhose Ee username Kapitel 1 eTutor B Inst
99. jekts etutor_dispatcher ausgef hrt werden ber die Testklasse test etutor core ws TestSuite werden alle Unit Tests gestartet Kapitel 2 Moodle B Installationshandbuch 101 2 Moodle F r den Betrieb von Moodle werden der Apache Webserver mit PHP Modul in Kombination mit einer MySQL Datenbank eingesetzt 2 1 XAMPP Die Installation von XAMPP wird f r Moodle in der Moodle Anleitung http docs moodle org en Windows_installation_using_XAMPP beschrieben Dabei sollte XAMPP 12 in Version 1 7 eingesetzt werden da bei einer Moodle Installation mit der neueren XAMPP Version 1 7 3 nicht n her untersuchte PHP Fehlermeldungen aufgetreten sind Im Besonderen sollte darauf geachtet werden dass in der PHP Konfigurationsdatei php ini im Ordner XAMPP Installationsverzeichnis php folgende Zeilen aktiviert sind also kein Strichpunkt am Zeilenbeginn steht extension php_curl dll extension php_openssl dll Codeausschnitt php ini Module curl und openssl aktivieren Die Standardkonfiguration der MySQL Datenbank sollte dahingehend ge ndert werden dass ein neuer Datenbankbenutzer mit Passwort eingerichtet wird Dieser wird f r die Installation der Moodle Datenbank verwendet 2 2 Eclipse F r die Entwicklung von Moodle Erweiterungen eignet sich Eclipse in Kombination mit dem Web Tools Platform Plugin Falls Moodle nur installiert werden soll kann man diesen Abschnitt berspringen und mit Kapitel 2 3 fortsetzen 2
100. le bungskorrektur durch Tutoren 49 Abbildung 28 Verteilungsdiagramm des integrierten Lernsystems sooeeeeesssssseoerrsssssssserrsesssssees 51 Abbildung 29 Architektur eines Webservice in Anlehnung an Vasudevan 2001 oooonnncnnn 52 Abbildung 30 Benutzerdialog zur Ausarbeitung einer Decompose bung eeeeseeeee 53 Abbildung 31 Benutzerdialog zur Ausarbeitung einer SOL Ubung s seeseeereresieerererererisrerererreen 54 Abbildung 32 Zwischenspeicher Szenario 1 keine Dateien vorhanden 55 Abbildung 33 Zwischenspeicher Szenario 2 nachgefragte Dateien in aktueller Version vorhanden 55 Abbildung 34 Zwischenspeicher Szenario 3 veraltete Dateien vorhanden 56 Abbildung 35 Spring Framework Komponenten in Anlehnung an Spring Dokumentation 2010 60 Abbildung 36 Dependency Injection bel Spring oooccccnccccnnonncnnnnnnnnnnnnonocnncnnnonononnnnnnnnnnnnnnnnnannnnnnnnnos 61 Codeausschnittverzeichnis Codeausschnitt 1 Gegen berstellung Benutzeroberfl che mit Jsp und Velocity 59 Codeausschnitt 2 RbBiDbonbRepnort View 19 59 Codeausschnitt 3 SessionManager Klasse zur Verwaltung von Zustandsinformationen 62 Codeausschnitt 4 Sesegionhanaeerlmpml java 63 Codeausschnitt 5 Definition mehrsprachiger Ausgabetexte cccccccccncccononoooncccncnonnnnnnnonononononananannnnnos 63 Codeausschnitt 6 Logausgaben im Funktionscode versus Aspect or
101. lem Studentenmodul Diagnose Unterrichtsmodul L sung Expertenmodul Problem Abbildung 1 idealtypisches ITS in Anlehnung an Lusti 1992 Das Expertenmodul versucht die Fachkompetenz eines Lehrers nachzubilden Es versetzt ein dealtypisches ITS in die Lage Ausarbeitungen automatisch zu korrigieren Mit der vom Kapitel 2 Aufbau eines intelligenten tutoriellen Systems 14 Expertenmodul bereitgestellten Musterl sung ist das Studentenmodul in der Lage eine dem Lernenden angepasste Diagnose zur ckzuliefern die vom Unterrichtsmodul und vom Kommunikationsmodul aufbereitet und angezeigt wird Die gefundenen Fehler werden schrittweise erkl rt damit der Student im Lernprozess Fortschritte machen kann Aus diesem Grund hneln Expertenmodule Expertensystemen Lusti 1992 S 17 die ebenfalls aus einer Probleml sungs und einer Erkl rungskomponente bestehen Expertenmodule k nnen Aufgabengeneratoren enthalten die Aufgabenstellungen mittels Parameter an den Kenntnisstand des aktuellen Benutzers anpassen Angaben komplexerer bungsaufgaben beispielsweise Textaufgaben von Fallstudien sind hingegen vorgegeben und werden in einer Aufgabenbank verwaltet Im Studentenmodul wird der aktuelle Lernfortschritt des Studenten festgehalten Neben dem F higkeitsstand wird auch der Motivationsstand erfasst L st ein Student ein Beispiel versucht das Studentenmodul systematische Fehler des Lernenden festzustell
102. lgenden wird zun chst die zur Kommunikation zwischen Moodle und eTutor eingesetzte Webservice Technologie beschrieben Daraufhin wird auf die Zwischenspeicherung von Dialog Dateien n her eingegangen 4 3 3 1 Webservice Technologie Webservice Server beantworten Anfragen von Webservice Clients und kommunizieren dabei im XML Format XML ist selbstbeschreibend wodurch eine hohe Interoperabilit t erreicht wird Dadurch ist es m glich dass Komponenten basierend auf unterschiedlichen Plattformen und Technologien miteinander kommunizieren Ein Nachteil von XML st sein Overhead also der hohe Anteil an Steuerdaten im Bezug zur gesamten Nachricht Die zus tzlichen Daten fallen bei der eTutor Integration jedoch aufgrund des geringen Gesamt bertragungsvolumens w hrend einer bungsausarbeitung oder erstellung kaum ins Gewicht Abbildung 29 stellt den Aufbau eines Webservice Servers dar Die Listener Komponente reagiert auf Client Anfragen und leitet diese an das Business Interface weiter das nach Verarbeiten der XML Struktur die darin enthaltenen Parameter an die Business Logic weiterreicht Die R ckgabeparameter der Business Logic werden vom Business Interface w ederum n das XML Format gebracht und vom Listener an den Client zur ckgegeben XML Request XML Response Listener NY A Business Interface N Br Business Logic d gt Abbildung 29 Architektur eines Webservice in Anlehnung an Vasudevan 2001 Der Aufbau v
103. lle gt Abbildung 22 Zielsystem Schnittstellen Im Altsystem sind Benutzerdialoge zum Erstellen und Bearbeiten von bungsbeispielen in den jeweiligen eTutor Expertenmodulen abgelegt Da Lernende im Zielsystem nicht mehr direkt auf den eTutor sondern auf das zwischengeschaltete Moodle System zugreifen siehe Abbildung 22 m ssen die Administratordialoge und Eingabemasken aus den Expertenmodulen im Moodle System verf gbar gemacht werden F r diesen Zweck werden bei jedem Beispielzugriff bungsbeispiel bezogene Benutzerdialoge von eTutor zum Moodle System bertragen Es w re auch m glich gewesen diese Benutzerdialoge fest im Moodle System abzulegen was jedoch einen gr eren nderungsaufwand verursacht h tte Au erdem verbleibt durch die Dialog bertragung die Erstellung und Ausarbeitung der bungsbeispiele im Expertenmodul und somit innerhalb der Kontrolle des DKE Instituts Die Kapselung von Funktionen und Dialogen im Expertenmodul wurde daher einer festen Dialogeinbindung in Moodle vorgezogen Um die im eTutor System liegenden Beispieldialoge in Moodle verf gbar zu machen k nnen diese entweder mittels Frame in die Moodle Oberfl che eingebunden oder per Webservice bertragen werden F r die Frame Variante spricht der geringe Umstellungsaufwand da die Benutzeroberfl che des Altsystems bereits Frame basiert st Demgegen ber ist jedoch die Daten bertragung zwischen Frames des eTutor und des Moodle Systems problematisch der
104. mizer enable_loader 0 zend_optimizer optimization_level 1J zend_optimizer license_path Codeausschnitt 9 php ini Zend Debugger deaktivieren Um das XDebug Modul zu aktivieren muss wiederum die Datei php ini editiert werden Dazu werden die Kommentarzeichen am Zeilenbeginn der vorbereiteten Einstellungsdatei entfernt Die Einstellung xdebug remote_host gibt dabei die IP Adresse des Moodle Webservers an w hrend f r den Wert xdebug remote_port ein beliebiger freier Port festgelegt werden kann ber den mit dem Debugger kommuniziert werden kann XDebug a Only Zend OR 1 Deba zend e Censo tones IDAE Ee DEEN DAS ampe PP exe E e xdebug remote_enable true xdebug remote_host 127 0 0 1 xdebug remote_port 9000 xdebug remote_handler dbgp xdebug profiler_enable 1 Aden protector EE Unas DAN app Codeausschnitt 10 php ini XDebug Erweiterung konfigurieren Um zu pr fen ob die Einstellungen korrekt bernommen wurden kann man die PHP Funktion phpinfo verwenden Diese ist bei der XAMPP Installation bereits eingerichtet und bei einem lokalen Webserver auf Port 80 unter http localhost xampp phpinfo php erreichbar Kapitel 2 Moodle B Installationshandbuch 103 1 phpinfo Mozilla Firefox Datei Bearbeiten Ansicht Chronik Lesezeichen Extras Hilfe E phpinfo e xdebug profiler_enable_ trigger xdebug profiler_output_dir xdebug profiler_output_name cachegrind out p xdebug remote_ autostart ES x
105. modulversion 1 Kann das Expertenmodul automatisch Ja se Angabetexte generieren W hlen Sie den h chsten umgesetzten 3 e Detaillierungsgrad f r R ckmeldungen Aufgabenstellung bearbeiten Deutsch Trebuchet w 1 8p Y v sache w B Z U SS sg Mm 9 IEEE ki Jesse Dong o A Bestimmen Sie alle Schl ssel der Relation Pfad body Aufgabenstellung bearbeiten Englisch Trebuchet vw 1 8p vw v Spahe w B Z US RI Rica MM 2 EE Bd Jess OSA o A Determine all keys of the relation Abbildung 10 Dialog zum Hinzuf gen eines Beispieltyps 2 3 Sprache hinzuf gen GG etutor 75 db 36 E etutor_admin 70 GEES GG de_utfa 75 ei otype_etutor php G en_utfa 69 y gtype_etutor php Abbildung 11 Die Sprache von qtype_etutor php ist ber den Ordnernamen ersichtlich Moodle erm glicht es Ausgabetexte aus dem Code herauszul sen und in Konfigurationsdateien mehrsprachig bereitzustellen Dazu befindet sich im Unterordner lang des jeweiligen Erweiterungsmoduls f r alle unterst tzten Sprachen eine Datei mit den jeweils lokalisierten Texten implementation moodleetutor question type etutor lang implementation moodleetutor blocks etutor_admin lang implementation moodleetutor blocks dke_tutor lang Kapitel 2 Moodle C Administrationshandbuch 129 2 4 Text andern Um einen Ausgabetext zu editieren muss die entsprechende Sprachdatei ge ffnet werden zur Beschreibung des Ablageorts der Sprachdateien siehe Kapitel 2
106. ng lose gekoppelt werden sollen Kapitel 1 Aufgabenstellung 12 e Es sollen mehrsprachige bungsaufgaben unterst tzt werden e Bestehende Daten im eTutor System sollen bei Bedarf bernommen werden k nnen e nderungen am Moodle Kernsystem sollen vermieden werden Rahmenbedingungen wie die organisatorische Gestaltung der Lehrveranstaltungen oder der Einsatz von Moodle als fakult ts bergreifendes LMS sind vorgegeben Gegenstand der Diplomarbeit ist daher nicht die Abstimmung des computergest tzten Lernens mit dem herk mmlichen Lernen beispielsweise physische Anwesenheit bei sogenannten Pr senzphasen Derartige Aufgaben sind Teil des Fachgebiets Blended Learning Garrison amp Kanuka 2004 Zudem bestehen Einschr nkungen bei der Gestaltung der Integration So d rfen am Moodle Kernsystem keine nderungen durchgef hrt werden da ein Versionsupdate von Moodle ohne Anpassung des eTutor Integrationsmoduls durchf hrbar bleiben muss In Kapitel 2 st dargestellt wie ein ideales ITS in der Literatur beschrieben wird Der vorgestellte modulare Ansatz soll f r das eTutor System bernommen werden Dazu wird das derzeitige eTutor System auch als Altsystem bezeichnet in eine Moodle Umgebung das sogenannte Zielsystem bergef hrt Dieser als Migration bezeichnete Umstellungsvorgang wird in Kapitel 3 allgemein beschrieben w hrend Kapitel 4 die konkrete eTutor Migration behandelt In Kapitel 5 wird die Diplomarbeit zusammengefasst
107. ng wird mittels einer Punktzahl bewertet und dem Student wird seine kommentierte Abgabe bereitgestellt Der Ablauf einer manuellen bungskorrektur ist in Abbildung 15 dargestellt Abgabe Zuteilung an Feedback Abbildung 15 Ablauf Tutorenkorrektur Kapitel 4 Integration des eTutors in Moodle 33 Im Folgenden werden ben tigte Anwendungsf lle des Altsystems aufgezeigt die im Zielsystem ebenfalls verf gbar sein m ssen Diese sind in einem Use Case Diagramm in Abbildung 16 dargestellt lt component gt gt SI Zielsystem bungsbeispiel erstellen Se bungsbeispiel Se Be andern rn _ lt lt include e p e fs Be AA bungsbeispiel af SES lt lt include gt gt suchen Beispieldatenbank u E mg SE E administrieren Kursleiter I Ubungsbeispiel Kess l schen Ubungsbeispiel i sichern u u Ubungsbeispiel laden Kurs anlegen SE lt lt include gt _ gt 8 Kurs ER A administrieren A Ubungszettel erstellen Ubungsbewertung 7 ansehen l F B _ lt lt include gt gt py E lt include gt gt d Student _ Be _ nn f A AAAANNAj gt BS mg Ubungsbeispiel ausarbeiten un a extension points kein automatisch kortrolliertes Ubungsbeispiel Es lt lt axtend gt gt kein automatisch kontrolliertes bungsbeispiel Fu y ege ng Beispiel Korrektur Tutor Abbildung 16 An
108. niversit t Java Naming and Directory Interface JavaServer Pages Learning Management System Model View Controller Object Request Broker Object Relational Mapping Portable Document Format PHP Hypertext Preprocessor Plain Old Java Object Simple Object Access Protocol Structured Query Language Unified Modelling Language Web Service Description Language Extensible Markup Language XML Query Language Extensible Stylesheet Language Transformation Abbildungsverzeichnis Abbildung 1 idealtypisches ITS in Anlehnung an Lusti I007 13 Abbildung 2 zerlegbares IS in Anlehnung an Brodie amp Stonebraker 1995 SIoi 16 Abbildung 3 teilweise zerlegbares IS in Anlehnung an Brodie amp Stonebraker 1995 S 17 16 Abbildung 4 nicht zerlegbares IS in Anlehnung an Brodie amp Stonebraker 1995 S 18 17 Abbildung 5 Chicken Little Iterationsphase sinngem nach Brodie Stonebraker 1995 S 59 19 Abbildung 6 Ablauf der Buttertlv Mieratpon EEN 22 Abbildung 7 Ablauf gesch ftsprozessbasierte Migration in Anlehnung an Juric u a 2000 S 35 23 Abbildung 8 Aufbau eines verteilten Systems EEN 24 Abbildung 9 Systems Re Engineering Patterns in Anlehnung an Stevens amp Pooley 1998 S 20 25 Abbildung 10 Gegen berstellung der Migrationsarten nnessessssseeresssssssoerrssssssseerrssssssssererssssssees 26 Abbildung 11 Forward Gateway zur Aufrufumleitung auf Zielsystem
109. nm dul Implementierung Abbildung 25 Zielsystemarchitektur k 46 lt lt component gt EX Quiz Modul lt lt SP gt gt lt lt component gt gt E eTutor Aufgabentyp Kapitel 4 Integration des eTutors in Moodle 47 4 2 3 Datenbank des Zielsystems entwickeln In Abbildung 26 ist die Tabellenstruktur des Moodle Plugins eTutor Aufgabentyp zur Integration des eTutors dargestellt Die Verbindungsdaten zum eTutor Dispatcher werden in der Tabelle question_etutor_server abgelegt Ubungsbeispiele sind im Kernsystem gespeichert question diese werden jedoch ber das D Fragenattribut um eTutor spezifische Informationen erweitert question_etutor Angabetexte zu bungsbeispielen question_etutor und question k nnen in verschiedenen Sprachen question_etutor_internation und question_etutor_language bereitgestellt werden Die Tabelle question_etutor_tasktype dient zur Kategorisierung von bungsbeispielen nach Themengebieten Question_etutor_exerc_group verweist pro bungsbeispiel auf das entsprechende Expertenmodul m eTutor System Kapitel 4 Integration des eTutors in Moodle 48 subsets tasktypeid subsets questionid subsets exercisegroupid subsets recordid subsets recordid subsets languageid subsets recordid Abbildung 26 Moodle Datenbanktabellen zur Integration des eTutor Beispieltyps Das Moodle Plugin Tutoren Bewertung Abbildung 27 wurde zur Unter
110. nnen Anschlie end k nnen sich Teilnehmer einloggen und ihre Abgaben als pdf hochladen Sobald die Deadline verstrichen ist werden die Abgaben ber das Cron Skript von Moodle manuell unter der URL Attp localhost moodleetutor admin cron php ausf hrbar die im Admin Interface verlinkt ist an die Tutoren verteilt Wenn sich diese Einloggen k nnen sie ber den Block DKE Tutoren Abgaben bewerten f r ihre zugewiesenen Abgaben Punkte vergeben und eine R ckmeldung hochladen Diese kann anschlie end von den Kursteilnehmern eingesehen werden Kapitel 3 Kurs administrieren Kursleiter A Benutzerhandbuch 84 Themen f r jede Woche S uebung Jose SE Nachrichtentorum gt e x A OO Arbeitsmaterial anlegen FT Aktivit t anlegen Y Aktivit t anlegen J Abstimmung Aufgaben a Online mehrere Dateien hochladen Online Texteingabe 7 Arbeitsmaterial anlegen wi Ge Online eine Datei hochladen 3 Dezember 29 Dezember Offline Aktivit t mT ZE E CT AL deit Hie ie a Datenbank SN Forum Glossar F Arbeitsmaterial anlegen ze Lektion Lernpaket D Januar 12 Januar Wiki F Arbeitsmaterial anlegen v 2 Aktivit t anlegen w 13 Januar 19 Januar SG Cen ek zs o een ob Aa eh n zapen ln et n en Tl Can Debut Sk mosla nz rs e Abbildung 10 Abgabeformular f r manuell gepr fte bungsabgabe anlegen Im Erstellungsprozess kann eine Abgabefrist f r die b
111. nnen Die Verkn pfung Beispieltyp hinzuf gen f hrt zu einem Dialog zum Konfigurieren eines neuen Beispieltyps Zun chst muss ein neuer Beispieltyp im eTutor System eingebunden werden siehe Kapitel 1 1 2 bevor im Moodle Einstellungsdialog mittels des Kurzbezeichnung Attributs auf den in eTutor konfigurierten Beispieltyp verwiesen werden kann Die Einstellung Expertenmodulversion wird f r den Zwischenspeicher von Expertenmoduldateien auf Moodle Seite ben tigt Wenn dieses Versionsattribut nicht mit der auf eTutor Dispatcher Seite eingestellten Version bereinstimmt werden alle zwischengespeicherten Dateien neu bertragen siehe f r eine umfassendere Erkl rung des Zwischenspeichers das Diplomarbeitsdokument Im Zuge einer Expertenmodul Erstellung muss angegeben werden ob beim jeweiligen Beispieltyp eine Funktion zur automatischen Generierung der textuellen Angabe implementiert ist So besitzt das Expertenmodul bei Schl sselbestimmungs bungen alle ben tigten Informationen um die textuelle Beschreibung der Aufgabenstellung ber die Relationsattribute zu bestimmen siehe zum Anlegen eines bungsbeispiels das Benutzerhandbuch Anhang A 41 documentation DA docx Kapitel 2 Moodle C Administrationshandbuch 128 Moodle etutor moodleetutor Konfigurierte Expertenmodule Expertenmodulkonfiguration ndern Expertenmodulkonfiguration andern vollst ndiger Name schl ssel bestimmen Kurzbeschreibung keys Experten
112. nononocnnnnnnnnnonononnnonnnononnonanoccnnnnnos 124 Abbildung 7 Kursblock E Tutor Admin ooocccnnnnnccnnnnnnonnnnnnnnononononncnnnnnnnnnnnncnncnnnonnnnnnnnnnnnnnnnnnnnnaninioos 126 Abbildung 8 Verbindung zum eTutor Dispatcher Konfeurteren 126 Abbildung 9 Auflistung von efutor Nerbundungen 127 Abbildung 10 Dialog zum Hinzuf gen eines Beispieltyps esesssseoenessssssseeersssssssseeressssssseerrssssss 128 Abbildung 11 Die Sprache von qtype_etutor php ist ber den Ordnernamen ersichtlich 128 Codeausschnittverzeichnis CodeausschnittL applcationc ontexta eek 113 Codeausschnitt 2 Evalualor Intertate ee 113 Codeausschnitt Fz Editor ue aussen 114 Codeausschnitt 4 ModuleExerciseManager Interface occccccoonononnnnnnnnnnonononnnnnnnnnnononannnccnnnnnnnnnnanoss 114 Codeausschnitt 5 SOL Expertenmodul relevanter Ausschnitt der applicationContext xml 117 C deausschnitt 6 Ausgabetext anpassen anne ka 118 Codeausschnitt 7 konfigurierte Sprachen in applicationContext xml ooooonncnnnnncnononocnncnnnnnnnonaninoss 119 Codeausschnitt 8 Contract First Erstellung des eTutor Webservice mittels wsdl2java bat 120 Code ausschnitt SEI VL ec Same 122 Codeausschnitt 10 Compilierung des Webservices oiii r o A Aa E EE 122 Codeausschnitt 11 Einstellungen des Session Managers in applicationContext xml 125 Codeausschnite 12 Alssabelexte editieren e
113. ntegration 27 aufwendigen Datenverwaltung Werden Funktionen in Etappen migriert m ssen entweder neue Funktionen auf die alte Datenbas s oder Funktionen des Altsystems auf die neue Datenbas s zugreifen Wenn bei einer iterativen Migration zuerst die Datenbank auf das Zielsystem umgestellt wird m ssen sowohl Altsystem als auch Zielsystemfunktionen eine gemeinsame Zielsystemdatenbasis verwenden Der in Abbildung 11 dargestellte und f r diese Aufgabe zust ndige Forward Gateway leitet dazu Datenzugriffe der noch nicht migrierten Komponenten des Altsystems auf die Datenbank des Z elsystems um Forward Gateway Altsystem Komponente Zieldatenbank Abbildung 11 Forward Gateway zur Aufrufumleitung auf Zielsystemdatenbank sinngem nach Brodie amp Stonebraker 1995 S 24 Werden hingegen zun chst einzelne Funktionen in das Zielsystem berf hrt und die Datenbank im Altsystem belassen kommt ein Reverse Gateway siehe Abbildung 12 zum Einsatz Dieser erm glicht Datenzugriffe von Funktionen des Zielsystems auf die Datenbasis des Altsystems Reverse Gateway Zielsystem Altsystem Komponente datenbank Abbildung 12 Reverse Gateway zur Aufrufumleitung auf Altsystemdatenbank sinngem nach Brodie amp Stonebraker 1995 S 24 Gateways sind vor allem in Hinblick auf Transaktionen stark eingeschr nkt So st es bel abgebrochenen Transaktionen schwierig die Datenkonsistenz
114. number of years The goal is to reuse existing exercises and expert correction functionality in order to minimise time and effort of the system migration The components of the integrated Moodle e Tutor system are loosely coupled Consequently the effort to modify parts of the system is minimised For example an adaptation of configuration files is sufficient in order to include new expert correction modules into the learning system Course participants and administrators benefit from the integration of Moodle and eTutor Students just need to log n to one learning system single sign on because the course data s administrated centrally in the Moodle system Furthermore the support of multilingual user dialogues allows exchange students who only speak foreign languages to participate in Moodle eTutor courses Inhaltsverzeichnis O o lUn oe eiserne 10 1 1 AUSSANSSSINAH ON ee EE EEN 10 1 2 Zielsetzung nee MEER DER 11 2 Aha epes intelligenten tutoriellen Systems nannte 13 3 Migrationstechniken zur Svsgtemntegratnon nininini i anini ieia 15 3 1 Age EE ee EE nungen 15 32 Vorsenensweisender Vista Zei Bei a 17 321 Umstellung auf einen Schlag Cold Turkey aussen 17 322 Schruftweise Umstellung ChickenlAtlle Snake 17 3 2 3 ER dE een er 21 3 24 Gesch ftsprozessbasierte Mioratonsmetbode 22 3 2 5 Individueller D E Tee 24 3 2 6 Gegen berstellung der Vorgehensweisen ccccccccconoonncnnnnnnnnnnnonnnnnnnnnonnnnnnnncnnnnnnnnananoss 25
115. odellierung WS2009 2010 moodleetutor datenmod0910 Tests uebung Bearbeite Test Info Ergebnisse Sie sind angemelc Vorschau Bearbeiten Test Fragen Kategorien Import Export Fragen f r diesen Test Fragenliste Reihenfolge Titel der Frage Typ Bewertung Aktion Kategorie SQL einfach 2 v y 1 uni decompose Beispiel del la a en en einbeziehen i u uch alte Fragen anzeigen a das H Sa OFragetext in G Got mit anzeigen 4 3 Zufallsfrage SQL einfach 2 sz Eine neue Frage anlegen Auswahl CH Insgesamt 6 Sortieren nach Typ Name Beste Bewertung 10 Aktion Titel der Frage Four Kas x O Kurse einfach sql 1 Kas x I uni SQL count L Seitenumbr che anzeigen Alle ausw hlen Alle abw hlen Neuanordnung anzeigen 3 Ausgew hlt SQL einfach 2 v 1 Zufallsfrage n Hinzuf gen Moodle Dokumentation f r diese Seite Sie sind angemeldet als Christian Eichinger Logout datenmod0910 Abbildung 9 Hinzuf gen von bungsaufgaben zum Test 3 2 2 Manuell gepr fte bungsabgabe anlegen F r bungen mit Dateiupload wird zun chst eine neue Aktivit t Online eine Datei hochladen hinzugef gt In der derzeitigen Implementierung des Moodle Plugins zur Tutoren Korrektur ist es nicht m glich bungsabgaben hoch zu laden die aus mehreren Dateien bestehen Dabei sollte ein Abgabetermin angegeben werden ab dem die Abgabemaske gesperrt wird und Tutoren Bewertungen vornehmen k
116. ojekt f r die Entwicklungsumgebung Eclipse realisiert und wird durch Ausf hren eines Ant Skripts in eine Webanwendung exportiert Im Zuge der Neuentwicklung des eTutor Dispatchers wurde ein spezielles Webanwendungs Projekt verwendet Ein Vorteil davon ist dass die Webanwendung von der Entwicklungsumgebung automatisch erstellt werden kann und dazu keine Skripte mehr erforderlich sind Durch die Verwendung des in der Entwicklungsumgebung integrierten Webservers kann der Eclipse Debugger zur Fehlersuche eingesetzt werden Dadurch ist es beispielsweise m glich die Variablenbelegung bei zuvor definierten Haltepunkten einzusehen Sowohl zur Erstellung der Moodle Plugins als auch des eTutor Dispatchers kam das Eclipse Plugin Web Tools Platform zum Einsatz Um die Moodle Entwicklung zu unterst tzen wurde zudem der PHP Debugger XDebug eingerichtet Eclipse Plugins f r Java Frameworks wie Spring IDE und Veloeclipse erleichterten die eTutor seitige Implementierung des Zielsystems da diese unter anderem nicht mit dem Java Quelltext bereinstimmende Konfigurationsdateien erkennen k nnen Das Installationshandbuch Anhang B beschreibt die Konfiguration der Entwicklungsumgebung im http ant apache org Kapitel 4 Integration des eTutors in Moodle 32 Detail Im Rahmen der Diplomarbeit erstellter Programmcode wird in der DKE institutsinternen 5 Versionsverwaltung Subversion verwaltet 4 3 3 Kommunikation zwischen Moodle und eTutor Im Fo
117. omcat v6 0 gew hlt werden Im n chsten Schritt wird das Installationsverzeichnis abgefragt Au erdem muss darauf geachtet werden unter JRE d e manuell hinzugef gte JDK Installation auszuw hlen Den Server kann man anschlie end als Projekt einbinden indem man in der View Servers erreichbar unter dem Men eintrag Window Show View Servers mit der rechten Maustaste n den wei en Bereich klickt Im dann erscheinenden Kontextmen w hlt man den Eintrag New Server und in der daraufhin erscheinenden Liste m glicher Servertypen den Eintrag Tomcat v6 0 Server 1 3 6 Projekte importieren Folgende Projekte aus dem svn Repository implementation Verzeichnis werden ben tigt e etutor_dispatcher e etutor_dlg e etutor_fd e etutor_jdbc e etutor_ra e etutor_sql e etutor_Xxq Diese k nnen innerhalb der SVN Repository Exploring Perspective ausgecheckt werden Anschlie end werden Fehlermeldungen angezeigt wonach sich Projekte wechselseitig importieren Der eTutor Dispatcher muss die Expertenmodule einbinden da ihre Class Dateien mitdeployed und in der Spring Config referenziert werden Expertenmodule ben tigen wiederum mehrere Klassen aus dem Dispatcher Aus diesem Grund werden vom Compiler Buildfehler ausgegeben H Markers 35 El Properties Mh Servers Es Snippets El console 42 Spring Explorer Error Log A Search Ju JUnit Javadoc m 224 errors 2 336 warnings 72 others Filter matched 420 of 2632 items Descri
118. on Webservice Nachrichten folgt dem SOAP Standard Kann eine Anfrage aufgrund eines Fehlers nicht korrekt beantwortet werden schreibt SOAP ein bestimmtes Format vor in dem die Fehlermeldung erfolgen muss unter anderem ist die Angabe eines Fehlercodes obligatorisch Die im eTutor System verwendeten Fehlercodes finden sich im Administrationshandbuch Anhang C gt erreichbar unter der Adresse https subversion dke uni linz ac at etutor Kapitel 4 Integration des eTutors in Moodle 53 4 3 3 2 Zwischenspeichern von Dialog Dateien Beispieldialoge sind im HTML Format realisiert wobei ihr Aussehen je nach Beispieltyp stark variieren kann vergleiche dazu Abbildung 30 und Abbildung 31 Diese k nnen auf externe Ressourcen wie Bilder oder JavaScript Dateien referenzieren Da diese Dateien innerhalb des jeweiligen Expertenmoduls eTutor seitig verwaltet werden m ssen s e mittels Webservice zu Moodle bertragen werden bevor sie dem Benutzer angezeigt werden k nnen siehe Abbildung 24 Kommunikationsablauf bei der Beispielbearbeitung Punkte 8 Aufgabenstellung Decompose Algorithmus Ihre Aufgabenstellung zerlegen Sie folgende Relation nach dem Decompose Algorithmus Es geht um Universit ten Wenden Sie den Decompose Algorithmus an um eine verlusftfreie Zerlegung der Relation R mit den Funktionalen Abh ngigkeiten F in Boyce Ca Teilrelation die Schl ssel und die von F ableitbaren Funktionalen Abh ngigkeiten an Sie d rfen bei der Ze
119. on im Erstellungsprozess beispielabh ngige Einstellungen 8 proceedAuthorTaskRequest next select name from coursg Stylesheet HIM Formular im letzten Schritt zudem D des gespeicherten Beispiels 10 anzuzeigendes Eingabeformular 11 POST moodle ku at questiontype etutor efutor_admin question_edit php Sessionld 12 stopRequest a3 13 void Abbildung 23 Kommunikationsablauf bei der Beispielerstellung Kapitel 4 Integration des eTutors in Moodle 43 4 2 2 2 Beispielbearbeitung Die Bearbeitung eines bungsbeispiels durch Kursteilnehmer ist dem Beispielerstellungsprozess siehe Kapitel 4 2 2 1 Beispielerstellung sehr hnlich Die Dialoge zur bungsausarbeitung sind ebenfalls im eTutor Expertenmodul abgelegt wobei diese je nach Beispieltyp unterschiedlich gestaltet sind So enthalten SOL Ubungsbeispiele ein Textfeld zum Absetzen einer Datenbankabfrage w hrend bei einer relationalen Algebra Operatoren beispielsweise f r Projektion mithilfe eines Auswahldialogs eingef gt werden k nnen Kapitel 4 Integration des eTutors in Moodle Browser Moodle 4 GET die iku atimod quiz att ho 10 Tasktype Exerciseid maximal erreichbare Punkte IRRE dle sl al version Userid Sprache Feedbacklevel Liste der zwischengespeicherten Dateien 2 startPerformTaskReqguest sql 144 6 5 3 de_utfa 3 sessionid HTML Formular Stylesheets Bild und Javascript Datelen H 2 123 XHTML CS5 D
120. on moodleetutor in der Versionsverwaltung und dem hrdocs moodle Verzeichnis am Webserver der Moodle Installation e e Tutor Fragentyp question type etutor e e Tutor Administrationsblock blocks etutor_admin e Tutorenbewertungsblock blocks dke_tutor Damit die neuen Datenbanktabellen angelegt werden und die DKE Tutor Rolle eingerichtet wird muss der cron job durchlaufen werden Dieser kann manuell ber die URL http localhost moodleetutor admin cron php angesto en werden 2 4 Rollen editieren Nach der Installation m ssen unter dem Men punkt Nutzer Zugriffsrechte Rollen verwalten der Moodle Administrationsansicht folgende Rolleneinstellungen angepasst werden e nderungen bei der Rolle Administrator o block dke_tutor tutorassignment unterbinden e Eigene Rolle DKE Tutor erstellen abgeleitet von der Rolle Trainer ohne Bearbeitungsrecht e nderungen bei der Rolle DKE Tutor o block dke_tutor tutorassignment erlauben http localhost moodleetutor admin roles manage php Kapitel 2 Moodle B Installationshandbuch 108 o block dke_tutor gradestudentsubmission erlauben o moodle course view erlauben damit sich der Tutor nicht im Kurs inskribieren muss Eine weitere nderung betrifft die Rollenzuweisungen Unter dem Men punkt Rechte zur Rollenzuweisung sollte n der Zeile Trainer die Spalte DKE Tutor angekreuzt werden Somit k nnen Kursleiter n hren Kursen die Rolle DKE Tu
121. ors occur e Build path problems El Compiler Building Errors WMWarnings Circular dependencies J Javadoc Task Tags H Debug No strictly compatible JRE for execution environment available Warning D Editor D Installed IRES Output folder JUnit Properties Files Editor Jawa EE JOT Weaving tl Log4E Plug in Development Run Debug Hl Server H Spring Tasks lt Restore Defaults Apply Zaean Incomplete build path Error wi Incompatible required binaries Ignore Abbildung 3 Buildfehler auf Warning umstellen Im n chsten Schritt m ssen die im Quellcode angegebenen Datenbankverbindungen angepasst werden Diese befinden sich in den Dateien e etutor_dispatcher erutor resources modules jdbc jdbc properties e etutor_dlg ooc jndi xml e etutor_fd etutor modules rdbd RDBDConstants java e etutor_jdbc resources modules jdbc jdbc properties e etutor_ra etutor modules ra2sql RAConstants java e etutor_sql etutor modules sql SOLConstants java e etutor_xq ooc jndi xml In der Datei etutor_dispatcher etutor resources modules jdbc jdbc properties m ssen zudem die Pfade zu den Logdateien angepasst werden umfh pattern D EigeneDateien Uni DA tomcat da webapps etutor log UserMessages u log Kapitel 1 eTutor B Installationshandbuch 96 cmfh pattern D EigeneDateien Uni DA tomcat da webapps etutor log CoreMessages u log Codeausschnitt 4 jdbc properties Da
122. pektrum 929 5 13 FreeMarker Dokumentation 2010 FreeMarker Manual Available at http freemarker sourceforge net docs index html Zugegriffen April 3 2010 Garrison R amp Kanuka H 2004 Blended learning Uncovering its transformative potential in higher education The Internet and Higher Education 1 2 95 105 Hofer A 2005 E Exercises in Data amp Knowledge Engineering Konzeption und Entwicklung eines intelligenten tutoriellen Systems Johannes Kepler Universit t Humboldt State University 2007 Kurs Introduction to Moodle Programming Available at http dev moodle org course view php id 2 Zugegriffen Juni 16 2010 Juric M u a 2000 Integrating legacy systems in distributed object architecture SIGSOFT Softw Eng Notes 25 2 35 39 Koenings B 2010 UML Tutor Konzeption und Entwicklung eines halbautomatisierten Systems zur Bewertung und Beurteilung von konzeptuellen Datenbankschemata im Rahmen des intelligenten tutoriellen Systems eTutor Johannes Kepler Universit t Lusti M 1992 Intelligente tutorielle Systeme Einf hrung in wissensbasierte Lernsysteme M nchen Wien Oldenbourg Martin Ez 2010 MF Bliki POJO Available at http www martinfowler com bliki POJO html Zugegriffen Mai 19 2010 Moodle 2010 Moodle org open source community based tools for learning Available at http moodle org Zugegriffen M rz 31 2010 Moodle Statistics 2010 Moodle org Moodle Stat
123. ption Res Path Location Type e D Java Build Path Problems 7 items E D A cyde was detected in the build path of project etutor_upld etutor_upld Build path Build Path Problem OD A cyde was detected in the build path of project etutor_ra etutor_ra Build path Guild Path Problem D A cyde was detected in the build path of project etutor_jdbc etutor_jdbc Build path Guild Path Problem D A cyde was detected in the build path of project etutor_fd etutor_fd Build path Build Path Problem D A cyde was detected in the build path of project etutor_dig etutor_dlg Guild path Guild Path Problem OD A cyde was detected in the build path of project etutor_core etutor_core Build path Build Path Problem e Da cycle was detected in the build path of project etutor_xg etutor_xq Build path Build Path Problem Abbildung 2 Buildfehler wechselseitig eingebundener Projekte Um diese Fehler auf Warnings umzustellen muss in den Eclipse Einstellungen unter Java Compiler Building der Wert Circular dependencies auf Warning gesetzt werden Kapitel 1 eTutor B Installationshandbuch 95 E Preferences a Building D General A H Ant A Aspect Compiler General Kg ige Maximum number of problems reported per compilation unit 100 D Help H Install Update a Java Enable use of multiple output locations for source folders Enable use of exclusion patterns in source folders D Appearance Build Path H Code Style Abort build when build path err
124. r chtigen Ein Zielsystem zeichnet sich dadurch aus dass es aktuellen Anspr chen gen gt und aufgrund seiner flexiblen Gestaltung schnell und ohne gro en Aufwand an zuk nftige Anforderungen angepasst werden kann Es kann noch Teile des Altsystems beinhalten und muss daher nicht von Grund auf neu entwickelt werden Bisbal u a 1999 S 3 Ein Altsystem ist wie folgt definiert A legacy information system is any information system that significantly resists modification and evolution to meet new and constantly changing business requirements Brodie amp Stonebraker 1995 S 3 Als Altsysteme werden daher gesch ftskritische Informationssysteme bezeichnet die laut Stonebrakers Definition aktuellen Anforderungen nicht mehr entsprechen und sich nur m hsam anpassen lassen Sie laufen meist in einer unzeitgem en Systemumgebung und sind nur mit gro em Aufwand instand zu halten Ein Grund f r eine aufwendige Erweiterbarkeit kann mangelhafte Dokumentation sein Zudem fehlen oft klare Schnittstellen zu anderen Informationssystemen weshalb sich die Einarbeitung in den Systemaufbau meist als kosten und zeitintensiv erweist Es ist somit schwierig aber n cht unm glich Altsysteme zu erweitern In dieser Arbeit werden Migrationstechniken nur unter dem Gesichtspunkt der Integration der Lernsysteme Moodle und eTutor betrachtet Kontinuierliche und f r den laufenden Betrieb notwendige Wartung eines Altsystems wird im Rahmen dieser Arbeit
125. r nicht als Webanwendung realisiert ist sondern Benutzerdialoge via Webservice bertragen werden m ssen die Dialoge als Zeichenkette darstellbar sein Dies war mit den Web Technologien des Altsystems nur mit grobem Aufwand zu erreichen da JSP nicht unabh ngig von der Servlet Webanwendungs Architektur betrieben werden kann F r die Benutzeroberfl che des Zielsystems boten sich mehrere alternative Technologien wie Velocity Velocity Dokumentation 2010 XSLT XSLT Dokumentation 1999 und FreeMarker FreeMarker Dokumentation 2010 an Wie innerhalb von JSP Seiten k nnen Velocity und FreeMarker Oberfl chendefinitionen auch Templates genannt direkt auf Java Klassen zugreifen bei XSLT muss im Gegensatz dazu vor der Dialog Anzeige die Oberfl chendefinition zun chst in das XML Format umgewandelt werden Die Technologien FreeMarker und Velocity sind einander sehr hnlich jedoch existiert f r Velocity eine gr ere Unterst tzung durch Entwicklungswerkzeuge Beispielsweise werden f r die Entwicklungsumgebung Eclipse Erweiterungen zur Bearbeitung von Velocity Templates angeboten Velocity stellt somit die geradlinigste Umsetzung der JSP Prinzipien dar und erm glichte dadurch eine einfache Umstellung vorhandener JSP Benutzerdialoge In Codeausschnitt 1 wird die bisher verwendete JSP a Technologie der Templating Bibliothek Velocity b des Zielsystems gegen bergestellt In beiden Varianten wird die Methode printReport mit dem Report Objekt als
126. rden Martin 2010 die in unterschiedlichen Systemumgebungen lauff hig sind Die Pakete Spring Web und Spring Web MVC enthalten Funktionen die vor allem f r Webanwendungen interessant sind Spring Context erm glicht Benutzerausgaben in unterschiedlichen Sprachen dieser Mechanismus wird auch als Lokalisierung bezeichnet Spring DAO und Spring ORM erlauben eine unkomplizierte Integration von objektrelationen Mappern und unterst tzen Datenbank Transaktionen und Exception Handling Mit Spring AOP wird sogenanntes Aspekt orientiertes Programmieren erm glicht Damit k nnen modul bergreifende Funktionalit ten an zentraler Stelle dem sogenannten Aspekt gekapselt und mehreren Modulen zugeordnet werden Im eTutor Dispatcher wird Aspekt orientierte Programmierung f r Logausgaben verwendet siehe Kapitel 4 3 5 6 Logging Kapitel 4 Integration des eTutors in Moodle 61 Benutzeroberfl che ReportView lt bean id class gt lt property name velocityEngine ref velocityEngine gt lt bean gt Benutzeroberfl che EditorView ine Instanz wird erstellt lt bean id dass gt lt property name velocityEngine Prop Y u y I u lt bean id velocityEngine class gt ref velocityEngine gt lt bean gt Benutzeroberfl che ExerciseSettingView lt bean id class gt lt property name velocityEngine ref velocityEngine gt lt bean gt
127. rer G e Kol localhost R x ES 19 Datei Bearbeiten Ansicht Favoriten Extras 2 X e x Favoriten MN Kurs Datenmodellierung WS2009 2010 ER E Seite Sicherheit Extras Datenmodellierung WS2009 2010 Sie sind angemeldet als Christian Eichinger Logout moodleetutor datenmod0310_1 Rolle wechseln sl Bearbeiten einschalten Personen Themen f r jede Woche Neueste Nachrichten BY Teilnehmer innen Neues Thema hinzuf gen Aktivit ten ein Es wurden bisher keine D BE Nachrichtenforum Nachrichten gepostet Foren Me 23 Dezember 29 Dezember Ol Bald aktuell Suche in Foren EE Es gibt keine weiteren 30 Dezember 5 Januar O Termine 6 Januar 12 Januar O Zum Kalender Erweiterte Suche Gi Neuer Termin 13 Januar 19 Januar O Administration Neueste Aktivit ten 20 Januar 26 Januar tivit t sei a Bearbeiten einschalten ER a SE Einstellungen NEE Rollen a 27 Januar 2 Februar O Alle dignos der letzten eit Ml Bewertungen f Gruppen 3 Februar 9 Februar 1 Nichts Neues seit Ihrem X Sicherung letzten Login Wiederherstellen 10 Februar 16 Februar O e Import CG ze 17 Februar 23 Februar O DKE Tutoren Abgaben bewerten 3 Fragen a _ BA CH Dateien 24 Februar 2 M rz O 3 Abmelden aus E Tutor Admin Abbildung 1 Der Moodle Hauptbildschirm ist geteilt in Kursinhalte und Kursbl cke Interaktionen mit Kursteilnehmern die ber das Betrachten von
128. rlegung keine Funktionale Abh ngigkeit R ABCD F 4C DB CA B vw Ri AB Li iz aufteils Geben Sie die Attribute der Sub Relationen an Abh ngigkeiten Cl cy Di A B A Schl ssel Seite 1 2 Abbildung 30 Benutzerdialog zur Ausarbeitung einer Decompose bung Kapitel 4 Integration des eTutors in Moodle 54 24 Punte Aufgabenstellung SOL Abtragen Ihre Aufgabenstellung Ziel ist es das richtige SQL Statement zu finden In der Datenbank werden Kurse f r eine Universit t verwaltet Es gibt insgesamt drei Fakult ten mit insgesamt 27 Kursen die in folgender Liste n her beschrieben werden Geben Sie alle Kurscodes coursecode von Kursen Tabelle courses des Lektors lecturer Miller aus Geben Sie Ihre Abfrage ein oder laden Sie eine Datei mit der Abfrage hoch select courecode from courses where lecturer Miller 00 Durchsuchen Abbildung 31 Benutzerdialog zur Ausarbeitung einer SOL bung Zur Reduzierung des bertragungsvolumens sieht das implementierte bertragungsprotokoll vor dass nur jene Dateien bertragen werden die sich noch nicht im Moodle Zwischenspeicher befinden Jede nderung referenzierter Dialogdateien muss Moodle mitgeteilt werden damit veraltete Dateien aus dem Zwischenspeicher entfernt werden k nnen Um die G ltigkeit von Dateien zu pr fen wurde sowohl auf Moodle als auch auf eTutor Seite das Datenbankattribut Version eing
129. roperties f r deutschsprachige Texte angepasst werden decomposereporter first First decomposereporter first Erste decomposereporter second Second decomposereporter second Zweite decomposereporter third Third decomposereporter third Dritte a messages _en properties b messages_de properties Codeausschnitt 6 Ausgabetext anpassen In Codeausschnitt 6 ist ersichtlich dass jeder Sprachdatei Eintrag in einer eigenen Zeile steht und aus einem eindeutigen Schl ssel zB decomposereporter first und einem sprachabh ngigen Text First oder Erste besteht 3 limplementation etutor_dispatcher src messages_en properties 31 limplementation etutor_dispatcher src messages_de properties Kapitel 1 eTutor C Administrationshandbuch 119 1 3 Sprache hinzufugen Die Auslagerung der Benutzertexte in Textdateien hat den Vorteil dass Sprachen ohne Modifikation des Quelltexts hinzugef gt oder entfernt werden k nnen lt bean class org springframework beans factory config MethodInvokingFactoryBean gt lt property name targetClass value etutor core utils WsUtils gt lt property name targetMethod value setLocaleLanguageCode gt lt property name arguments gt lt map gt lt entry key de_utf8 gt lt util constant static field java util Locale GERMAN gt Se ey lt entry key en_utf8 gt lt util constant static field java util Locale ENGLISH gt lt EM gt lt map gt IS Sy lt bean gt
130. rsten Parameter des SessionManager Konstruktors festgelegt nach welcher Zeitspanne Sessions verfallen Der zweite Parameter bestimmt das Intervall in dem das Ablaufdatum der Sessions berpr ft werden soll Beide Werte werden in Millisekunden angegeben limplementation etutor_dispatcher WebContent WEB INF conf applicationContext xml Kapitel 2 Moodle C Administrationshandbuch 126 2 Moodle In diesem Kapitel wird die Konfiguration der im Zuge der Diplomarbeit entwickelten Moodle Erweiterungen beschrieben Administrationsbeschreibungen der Moodle Basisfunktionalit t befinden sich im Moodle Handbuch 2 1 Verbindung zum eTutor Dispatcher anpassen Moodle greift mittels Webservice Schnittstelle auf den eTutor zu Aus diesem Grund muss in Moodle die Verbindung zum eTutor Dispatcher konfiguriert werden E Tutor Admin rs E Tutor Aufgaben A Neue Aufgabe 83 Beispielgruppen Expertenmodule g Backup Einstellungen el E Tutor Verbindung Abbildung 7 Kursblock E Tutor Admin Der Einstellungsdialog st ber den Kursblock E Tutor Admin erreichbar Zun chst wird eine Liste bisher konfigurierter Verbindungen angezeigt wobei eine davon als aktiv gekennzeichnet ist Eine Verbindungseinstellung besteht aus dem Namen und einer Serveradresse Zudem wird im Einstellungsdialog festgelegt ob die jeweilige Verbindung zur Kommunikation mit dem eTutor verwendet werden soll Moodle etutor Sie sind angemeldet als Christian Eichinger
131. rum f r Kursteilnehmer Derartige Zusatzfunktionalit t ist jedoch nicht Teil der Migration weshalb in dieser Diplomarbeit nicht weiter darauf eingegangen wird Im Use Case Diagramm werden unterschiedliche Arten von Beziehungen verwendet Durchgehende Linien zeigen welche Anwendungsf lle von einem bestimmten Akteur verwendet werden Gestrichelte Linien werden ber eine textuelle extends oder include Beschriftung in Spitzklammern n her beschrieben Die extends Anweisung erweitert im Unterschied zur include Beziehung nur dann das Verhalten eines Anwendungsfalls wenn die im extension point festgelegte Bedingung erf llt ist Im Zuge der Bearbeitung eines bungsbeispiels nimmt der Tutor daher genau dann eine Beispiel Korrektur vor wenn es sich um ein manuelles bungsbeispiel handelt 4 2 1 2 eTutor Vorrangiger Zweck des eTutor Systems ist die automatische Korrektur von bungsbeispielen wof r sogenannte Expertenmodule zum Einsatz kommen Ein Expertenmodul ist f r einen abgegrenzten Themenbereich zust ndig und beinhaltet Algorithmen zur Analyse und Bewertung von bungsaufgaben zudem k nnen dynamisch generierte R ckmeldungen erstellt werden Im Modulumfang sind au erdem Dialoge zur Bearbeitung der Musterl sung enthalten Expertenmodule existieren beispielsweise f r die Stoffgebiete SQL JDBC und XQuery Die automatische Pr fung wird jedoch fortlaufend erweitert Zum Zeitpunkt der Diplomarbeits Erstellung befand sich etwa im Rahmen
132. s Zielsystems festgelegt Dabei wird versucht bestehende Komponenten einzubinden Deshalb werden jene Funktionen und Daten aus dem Altsystem identifiziert die sich f r eine Zielsystem Integration eignen Um Altsystemkomponenten in das Zielsystem einbinden zu k nnen m ssen diese meist um Systemschnittstellen erg nzt werden Derartige Erweiterungen werden als Wrapping bezeichnet und n Kapitel 3 3 2 Funktionsmigration n her beschrieben Kapitel 3 Migrationstechniken zur Systemintegration 24 Altsystem Komponente Wrapping Komponentenkopplung neu entwickelte Komponente neu entwickelte Komponente Abbildung 8 Aufbau eines verteilten Systems Zur Kommunikation zwischen den Komponenten siehe Abbildung 8 sollte eine standardisierte Vermittlungsschnittstelle wie die Object Request Broker ORB Architektur genutzt werden So bietet die Common Object Request Broker Architecture CORBA eine plattform bergreifende ORB Implementierung Diese ist f r eine Vielzahl von Programmiersprachen und Betriebssystemen verf gbar und erleichtert somit die Integration in heterogenen Systemumgebungen Juric u a 2000 S 36 CORBA hat sich jedoch nicht durchgesetzt und wird heute kaum noch verwendet Sie wurde von der Webservice Technologie abgel st Webservices bieten zwar im Gegensatz zum ORB keine klassischen Middleware Funktionen wie verteilte Transaktionen sondern sie setzen a
133. s einer Integration des intelligenten tutoriellen Systems eTutor in das frei verf gbare Learning Management System Moodle die Vorz ge beider Lernsystem Typen vereint werden Bei der Umstellung auf ein integriertes Lernsystem mussten einige Rahmenbedingungen eingehalten werden An der Johannes Kepler Universit t wird Moodle fakult ts bergreifend genutzt und zentral verwaltet nderungen am Moodle Kernsystem sollten vermieden werden da diese im Zuge einer Aktualisierung der Lernumgebung auf neue Moodle Versionen migriert werden m ssten Au erdem sollte es m glich sein bestehende bungsbeispiele und die daf r erforderliche Korrekturfunktionalit t des am Institut f r Wirtschaftsinformatik Data and Knowledge Engineering entwickelten eTutor Systems mit m glichst wenig Umstellungsaufwand weiter zu verwenden Zun chst wurde eine geeignete Vorgehensweise zur zielgerichteten Migration in ein integriertes Lernsystem ausgearbeitet die daraufhin umgesetzt wurde Im resultierenden Lernsystem sind die beteiligten Komponenten lose gekoppelt wodurch der nderungsaufwand f r Bestandteile des Systems minimal gehalten wird So gen gt eine Anpassung von Konfigurationsdateien um neue Module zur Erweiterung der Korrekturfunktionalit t n das Lernsystem einzubinden Durch die Integration von Moodle und eTutor ergeben s ch Vorteile sowohl f r Kursteilnehmer als auch f r Lernsystem Administratoren Studenten m ssen sich gem dem Prinzip
134. s etutor dispatcher Webprojekt kann nun auf den Tomcat Server kopiert deployed werden ASES la DE steeldeal kapitel 4 DT steeldeal kapitel 6 Sr Debug D webservice_definition 74 https O Start di Profile SD Publish Clean fa Add and Remove Monitoring d 7 Pr D Markers E Prop Clean Tomcat Work Directory CS Spring Properties Alt Enter El etutor Stopped j E UR ES 1 items selected Abbildung 4 Projekt bei Server hinzuf gen Dazu wird wie in Abbildung 4 dargestellt der Add and Remove Dialog aufgerufen In diesem wird das etutor_dispatcher Projekt von der available Ansicht auf die configured Ansicht verschoben Au erdem m ssen in den Tomcat Einstellungen Datenbankverbindungsparameter angegeben werden Dazu wird in der Eclipse Ansicht im Projekt Servers die Datei server xml editiert Die Konfiguration f r das Projekt etutor_dispatcher muss die angegebenen Inhalte umfassen Die Einstellungen zu den angegebenen Datenbanken m ssen jedoch auf die jeweilige Systemumgebung angepasst werden Come sde docBase etutor_dispatcher Path etutroer reloadable true source org eclipse Jst jee server etutor_dispatcher gt lt Resource auth Container Ma la From Vet torleke um Pimzracezae meta Sin biela cia Y mare mep oe mail smtp user name mail etutor coreMS password type javax mail Session 2 implementation etutor_dispatcher src etutor resources modules jdbe
135. s gt lt scores gt lt uploadedFiles gt lt results gt lt nsl processPerformTaskRequest gt lt SOAP ENV Body gt lt SOAP ENV Envelope gt y lt ns1 processPerformTaskResponse gt lt soapenv Body gt lt soapenv Envelope gt lt Reflow XML text Switch Layout The SOAP Monitor is started Abbildung 5 SOAP Kommunikation beobachten Treten Fehlermeldungen in Bezug auf die eTutor Integration auf geben folgende Webservice Fehlercodes Hinweise auf die Fehler Art Fehlercode Bedeutung Fehler beim Laden der Benutzersession Ein ben tigter Parameter der Webservice Anfrage wurde nicht gefunden Im eTutor Dispatcher ist eine Null Pointer Exception aufgetreten Ein f r die Webservice Antwortnachricht ben tigter Parameter wurde nicht gesetzt Zur angegebenen ID wurde keine Aufgabe gefunden EA Sonstiger Fehler Abbildung 6 Erkl rung von Webservice Fehlercodes Kapitel 1 eTutor C Administrationshandbuch 125 1 7 Sessionverwaltung administrieren lt bean id sessionManager class etutor core ws session impl SessionManagerImpl gt lt l timeout gt lt constructor arg index 0 value 14400000 gt lt check interval gt lt constructor arg index 1 value 600000 gt lt bean gt Codeausschnitt 11 Einstellungen des Session Managers in applicationContext xml In der Konfigurationsdatei Spring applicationContext xml des eTutor Dispatchers wird im e
136. sal 1 Kursinformationen verwalten 4 X Kurse decompose Vielf ltige Tabellenschemata 4 Kurse sql Kursinformationen verwalten e Xx Abbildung 6 bersichtsdialog zur Verwaltung des Beispielpools 2 3 Beispielgruppen verwalten Kursblock E Tutor Admin Beispielgruppen Moodle etutor Sie sind angemeldet als Admin Nutzer Logout moodleetutor gt Alle Beispielgruppen anzeigen Alle Beispielgruppen anzeigen Kursinformationen verwalten Kurse ew Vielf ltige Tabellenschemata Allerlei 4 X Universit t uni 322 ew Neue Beispielgruppe erstellen Abbildung 7 bersichtsdialog zur Verwaltung von bungsgruppen In einem Ubersichtsdialog werden alle im System verwalteten Beispielgruppen angezeigt Beispielgruppen k nnen ber entsprechende Verkn pfungen neben dem Beispielgruppen Namen ge ndert oder gel scht werden Unter der Liste befindet sich eine Option zum Hinzuf gen einer neuen Beispielgruppe Im Gegensatz zur bungsbeispiel bersicht k nnen in diesem Dialog die angezeigten Beispielgruppen nicht nach Kriterien gefiltert werden da voraussichtlich nur wenige Beispielgruppen m System verwaltet werden Kapitel 2 Beispieldatenbank administrieren Kursleiter 2 4 Kurs und bungsbeispiel Backup Administration Ss Bearbeiten einschalten Einstellungen dd Rollen zuweisen E Bewertungen id Gruppen g Sicherung Wiederherstellen e Import Zur cksetzen Berichte ss Fragen CO Datei
137. schnitt 5 Definition mehrsprachiger Ausgabetexte Das Hinzuf gen neuer Sprachen und die Modifikation vorhandener Sprachtexte werden im Administrationshandbuch Anhang C beschrieben 10 implementation etutor_dispatcher sre etutor core ws session impl SessionManagerImpl java l implementation etutor_dispatcher src messages_en properties 2 implementation etutor_dispatcher src messages_de properties Kapitel 4 Integration des eTutors in Moodle 64 4 3 5 6 Logging Im laufenden Betrieb k nnen Textausgaben Hinweise ber den aktuellen Status der Programmausf hrung geben Der eTutor Dispatcher protokolliert daher alle Funktionsaufrufe um den Programmablauf nachvollziehen zu k nnen Zur Ausgabe von Statusmeldungen k nnte zu Beginn jeder Funktion deren Funktionsname ausgegeben werden siehe Codeausschnitt 6 a Problematisch an dieser L sung ist der gro e Aufwand zum Eintragen der Logausgabe an vielen verschiedenen Stellen Das gleiche Problem tritt beim Anpassen der Logausgaben auf wenn etwa zus tzlich die bergabeparameter einer Funktion ausgegeben werden sollen package Pointcut within etutor etutor core ws session impl TEE EE E protected void getPublic public class SessionManagerlmpl implements SessionManager Around getPublic publier session dqersess ton ot EE SEET elo lsteys Maia e key 1 Broceec ne lobo aos String methodname i logger isDebugEnabled pJp getSignature getName logger d
138. ss nicht auf Systemebene getroffen werden Stattdessen wird typischerweise f r alle Systemkomponenten getrennt festgelegt ob Wrapping Migration oder Neuentwicklung zum Einsatz kommen soll Bisbal u a 1999 S 3 3 4 Migrationszeitpunkt Bei einer Umstellung nach dem cut and run Prinzip wird zun chst das Altsystem deaktiviert und daraufhin das neu entwickelte Zielsystem akt v gesetzt Bei einer phasenweisen Umstellung geschieht dieses Umschalten in kleinen Schritten Dabei werden inkrementell einzelne Komponenten des Altsystems in das Zielsystem bergef hrt F llt die Wahl auf einen parallelen Betrieb so sind Kapitel 3 Migrationstechniken zur Systemintegration 30 w hrend der Umstellung alle Funktionen des Altsystems und des Zielsystems aktiv Das Zielsystem wird so lange im Praxiseinsatz getestet bis es als uneingeschr nkt tauglich befunden wird Erst wenn das System einwandfrei l uft wird das Altsystem deaktiviert Bisbal u a 1999 S 6 Kapitel 4 Integration des eTutors in Moodle 31 4 Integration des eTutors in Moodle Im Zuge der Diplomarbeit soll das intelligente tutorielle System eTutor in das Learning Management System Moodle integriert werden vgl Kapitel 1 2 Zielsetzung Die Erstellung des Zielsystems soll durch eine geeignete Migrationsstrategie unterst tzt und das Ergebnis hinsichtlich Zielerreichungsgrad und Erweiterungspotential beurteilt werden 4 1 Migrationskonzept Die Integration des eTutor in Moo
139. sssssnnneeesessssseoeesssssssecerrsssssssceeeesssssseeeessssssseeeesssssses 104 Abbildung 10 PHP Debugger Port Konfeureren a AE a 104 Abbildung 11 PHP Debugger Serververbindung enrchten 105 Abbildung 12 Debugging Einstellungen 1 106 Abbilduns I gt Deb seins Einstel nsen Ze 106 Abbildung 14 Rechte zur Rollenzuweisung 108 Codeausschnittverzeichnis Codeausschnitt 1 Startparameter in echpsge me 91 Codeausschnitt 2 Repository Pfad bei l b userlibraries anpasggen 93 Codeausschnitt 3 User Libraries importieren sssssseoeeeesssssseeersssssssseerrssssssecerresssssecerrrsesssssseereessese 93 C odeausschhnitt 4 ele eren sa ee ums 96 Codeausschnitt 5 server xml anpassen sn Da a 98 Codeausschnitt 6 Tomcat Startparameter Nee ENEE 99 Codeausschnitt 7 Dateityp vm soll mit dem Plugin Veloeclipse ge ffnet werden 100 Codeausschnitt 8 php ini Module curl und openssl aktivieren sssooeeessssssssoeressssssseeerssssssseerrssss 101 Codeausschnitt 9 php ini Zend Debugger deaktivieren ooooooonnncnnnnnnnnnononnnnnnnnnnonononnccnnnnnnnnnnannnnss 102 Codeausschnitt 10 php ini XDebug Erweiterung Konteurteren 102 Codeausschnitt 11 eTutor Verbindungsdaten in questioninsert sql anpassen o oooooocnccnnnnnnnnnononos 108 Kapitel 1 eTutor B Installationshandbuch 91 1 eTutor Im ersten Teil der Installation wird die Installation des eTutor Dispatchers und der Exp
140. st tzung der manuellen Beispielkorrektur durch Tutoren entwickelt Das Moodle Kernsystem erm glicht das Bereitstellen von Aufgabenstellungen Tabelle assignment und das Hochladen einer L sung durch Studenten assignment_submissions Zus tzlich wurde die Tabelle block_dke_tutor_assignment zur Zuweisung von bungsausarbeitungen an Tutoren erstellt Die Tabelle block_dke_tutor_uploadtask erweitert bungsaufgaben um eine Frist bis zu der ein Tutor Zeit zur Korrektur hat Kapitel 4 Integration des eTutors in Moodle 49 block_dke_tutor_uploadtask igl correctdate assignmentid block_dke tutor _assignment subsets submissionid Datum bis zu dem Tutoren Korrekturen durchf hren d rfen eTutor Plugin Moodle Core user a E user maximale Punktzahl m assignment_submissions KM iq subsets teacher assignment teacher name userid grade i Eee submissioncomment re Student id grade tsubsets userid subsets assignment Ll a o subsets course COU SC igl defaultgroupingid Abbildung 27 Moodle Datenbanktabellen f r die manuelle bungskorrektur durch Tutoren 4 2 4 Datenbank des Altsystems migrieren Nachdem die Datenstrukturen des Zielsystems feststehen kann die Zielsystem Datenbank mit Inhalten gef llt werden Die Datenbankstruktur des eTutor Altsystems ist in der Diplomarbeit von Anita Hofer beschrieben Hofer 2005 S 177 Dabei st es nicht erforderlich Kursdat
141. stem store store Datenbank 4 le Nur lesender Zugriff Chrysaliser Abbildung 13 Datenmigration bei der Butterfly Methode in Anlehnung an Bing u a 1997 S 317 Sobald sich keine Daten mehr im Altsystem befinden und die Warteschlange der zu persistierenden tempstores eine festgelegte Anzahl unterschritten hat wird das Altsystem abgeschaltet Daraufhin hat der Chrysaliser Gelegenheit alle verbleibenden tempstores in die Zieldatenbank einzuspielen und somit die Zieldatenbank zu vervollst ndigen W hrend des gesamten Prozesses befinden sich daher zu keinem Zeitpunkt dieselben Daten sowohl im Alt als auch im Zielsystem Das System ist wieder einsatzbereit sobald das unabh ngig von der Datenmigration entwickelte Zielsystem hochgefahren wurde 3 3 2 Funktionsmigration Um Funktionen des Altsystems an aktuelle Anforderungen anzupassen und in ein Zielsystem berzuf hren existieren unterschiedliche Strategien Diese k nnen abh ngig vom nderungsaufwand am Altsystem klassifiziert werden wobei bei einer System Evolution ein System weitgehend beibehalten wird und eine System Revolution mit einer Vielzahl an nderungen einhergeht In Kapitel 3 Migrationstechniken zur Systemintegration 29 Abbildung 14 sind die drei Strategien Wrapping Migration und Neuentwicklung zur Anpassung von Altsystemen mit ihrem jeweiligen Systemeinfluss in Beziehung gesetzt se Ba Ab S s S N gt Ba e Anzahl der nderun
142. tem stellt neben der fehlenden M glichkeit bungsangaben und deren Bewertungen mehrsprachig anzubieten die unzeitgem e Benutzerschnittstelle dar Speziell f r Austauschstudenten w re es w nschenswert bungsaufgaben nicht nur in deutscher sondern auch in englischer Sprache bearbeiten zu k nnen Au erdem entspricht die Weboberfl che des eTutor Systems nicht mehr dem aktuellen Stand der Technik Ein Frame basiertes Design gilt als berholt und die eTutor Oberfl che ist mit aktuellen Versionen des Webbrowsers Internet Explorer inkompatibel Das Learning Management System Moodle wird zentral fir die Johannes Kepler Universit t vom E Learning und Evaluierungsservice administriert Der Betrieb liegt somit au erhalb des Einflussbereichs des DKE Instituts Das Moodle System wird dabei in unregelm igen Abst nden Kapitel 4 Integration des eTutors in Moodle 39 aktualisiert wobei diese M glichkeit auch nach der Migration bestehen bleiben soll Im Zuge der Integration d rfen keine nderungen am Moodle Kernsystem vorgenommen werden da diese auf jede einzuspielende Moodle Version portiert werden m ssten Als Alternative bietet sich die Verwendung der von Moodle bereitgestellten Plugin Schnittstelle an Damit kann das Moodle System an vorbereiteten Ankn pfungspunkten um eigene Funktionalit t erg nzt werden In folgender bersicht werden die Komponenten des Zielsystems beschrieben Funktion Beispieldatenbank admin
143. temumstellung vorgesehen weshalb diese Methode in der bersichtstabelle als risikoreich eingestuft wird Kommt ein individueller Umstellungsprozess zum Einsatz ist es empfehlenswert zu Beginn die H he des Migrationsrisikos zu ermitteln und mit den Migrationsanforderungen abzustimmen sowohl Daten als Fokus auf Fokus auf seringes Migrationsart auch Funktionen Datensicht Funktionssicht Migrationsrisiko wesentlich Cold Turke d Y Big Bang Chicken Little Y Y schrittweise Migration Butterfly Methode Y Y Gesch ftsprozess basierte Migration Abbildung 10 Gegeniiberstellung der Migrationsarten 3 3 Migrationsschritte Der Migrationsablauf kann in die Datenmigration und die Funktionsmigration unterteilt werden 3 3 1 Datenmigration Sind Altsysteme durchgehend in Betrieb und m ssen sie auch w hrend einer Systemumstellung unterbrechungsfrei funktional bleiben stellt die Migration der Daten eine gro e Herausforderung dar W hrend der Chicken Litte Ansatz den Datenbestand dadurch konsistent h lt dass sich alle Daten entweder im Alt oder im Zielsystem befinden setzt die Butterfly Migration Abstraktionskomponenten ein um Ortstransparenz bei einem verteilten Datenbestand zu erm glichen Zun chst wird die Verwendung von Gateways bei der Chicken Little Migration beschrieben Das Aufbrechen des Migrationsprozesses n eine Reihe berschaubarer Schritte ist verbunden mit einer Kapitel 3 Migrationstechniken zur Systemi
144. tor selbst vergeben Sie sind angemeldet als Admin Nutzer Logout istration Nutzer Zugriffsrechte Rollen verwalten Blockbearbeitung einschalten Rollen verwalten Rechte zur Rollenzuweisung Rechte zur Rollen nderung Die Rollen auf der linken Seite k nnen zu den Rollen in jeder Spalte zugewiesen werden Administrator Kursverwalter Trainer Trainer ohne Bearbeitungsrecht Teilnehmer Gast Authentifizierter Nutzer DKE Tutor Administrator O Kursverwalter O O O O Trainer O O O O gt y Trainer ohne Bearbeitungsrecht O O O O O O O O Teilnehmer O O O O O O O O Gast O O O O HO O O O Authentifizierter Nutzer O O O O O O O O DKE Tutor O O O O O O O O Abbildung 14 Rechte zur Rollenzuweisung Weitere Rolleneinstellungen werden m Benutzerhandbuch Anhang A beschrieben So k nnen beispielsweise die Eigenschaften der Rolle DKE Tutor dahingehend angepasst werden dass Tutoren als Administrator f r Diskussionsforen eingesetzt werden k nnen 2 5 E Tutor Integration Die Testdaten in der Datei questioninsert sql m ssen dahingehend angepasst werden dass die korrekte URL zum etutor dispatcher Server angegeben wird insert into mdl_question_etutor_server name url selected values etutor local http localhost 8080 etutor services ETutorService Sye 2 Codeausschnitt 11 eTutor Verbindungsdaten in questioninsert sql anpassen Die Verbindungseinstellungen zum eTutor Dispatcher k nnen auch ber einen Ben
145. torielles System ITS eingestuft werden Dar ber hinaus werden Aufgaben eines Learning Management System wie die Verwaltung von Kursdaten bernommen Um die Probleme des eTutors in seiner Verwaltungsfunktionalit t zu beheben sollen im Zuge der Diplomarbeit die Expertenmodule des eTutor Systems in ein vorhandenes Learning Management System LMS integriert werden Ein Vergleich verschiedener LMS ist nicht erforderlich da der Einsatz des LMS Moodle vorgegeben ist Das Moodle System wird an der JKU zentral angeboten und an allen Fakult ten der Universit t zur Kursunterst tzung eingesetzt weshalb der eTutor in das LMS Moodle integriert werden soll Trotzdem ist in der Umsetzung auf Portabilit t zu anderen LMS zu achten Den Umgang mit Moodle sind sowohl Kursteilnehmer als auch Kursleiter gewohnt Ein weiterer Vorteil dieser eTutor Integration besteht dar n dass der vorhandene Moodle Login der jedem Student an der JKU zugewiesen wird auch f r den eTutor verwendet werden kann und eine gesonderte Registrierung am eTutor entf llt F r die Kursadministration und die Verwaltung der Studenten soll daher Moodle eingesetzt werden eTutor bernimmt ausschlie lich die automatische Korrektur von bungsbeispielen F r die Integration des ITS eTutor in das LMS Moodle werden folgende Ziele definiert e Die bestehende Funktionalit t des eTutor Expertensystems soll weitgehend beibehalten werden weshalb vorhandene Expertenmodule mit der Lernumgebu
146. tp download eclipse org releases galileo o Web Tools Platform WTP f r Webprojekte mit Tomcat Integration o Subversion Unterst tzung 17 https subversion dke uni linz ac at etutor 7 Pfad im Subversion Repository implementation Projekteinstellungen etutor eclipse ini Kapitel 1 eTutor B Installationshandbuch 92 e Subversive Connector http www polarion org projects subversive download eclipse 2 0 update site o stellt Verbindung zum SVN Repository her e SpringlDE http springide org updatesite o unterst tzt die Entwicklung mit Spring e AJDT http download eclipse org tools ajdt 35 update o unterst tzt die Programmierung mittels Aspekten e Veloeclipse http veloeclipse googlecode com svn trunk update o Editor f r Velocity Templates 1 3 3 Java SDK integrieren Damit der im folgenden Schritt eingestellte Application Server die richtige Java Laufzeitumgebung nutzt sollte ein aktuelles JDK unter Window Preferences Java Installed JREs Add manuell eingestellt werden Hierbei ist es notwendig das Verzeichnis der SDK Installation anzugeben zum Beispiel C Programme Java jdk1 6 0_IO Anschlie end sollten die Classpath Einstellungen des Projekts dahingehend berpr ft werden rechte Maustaste auf ein Projekt Java Build Path Libraries ob der Eintrag JRE System Library mit einem roten Kreuz versehen ist In diesem Fall muss der Verweis auf die Java Laufzeitumgebung angepasst werden indem man den Eintrag l sc
147. uf eine reine Punkt zu Punkt Kommunikation Aufgrund der einfachen Handhabung und einer umfangreichen Tool Unterst tzung werden Webservices jedoch wesentlich breiter zur losen Kopplung von Komponenten eingesetzt Einige der genannten Aspekte kommen auch in der Definition von Papazoglou und Georgakopoulos zum Ausdruck Services are self describing open components that support rapid low cost composition of distributed applications Papazoglou amp Georgakopoulos 2003 S 26 Webservices stellen daher besonders f r moderne heterogene Systemumgebungen das Mittel der Wahl dar 3 2 5 Individueller Migrationsprozess Manche Fachautoren vertreten die Ansicht dass aufgrund der Vielzahl unterschiedlicher Migrationsprojekte der Einsatz standardisierter Vorgehensweisen unzul ssig st Stevens amp Pooley Kapitel 3 Migrationstechniken zur Systemintegration 2I 1998 So sind einige zu migrierende Excel Makros nicht mit einer umfangreichen und jahrzehntealten Cobol Anwendung vergleichbar Au erdem sind Vorgehensmodelle schwierig zu evaluieren da der durchschnittliche Softwareentwickler nur ber wenig Migrationserfahrung verf gt Firmen ver ffentlichen Fallstudien ber Systemumstellungen u erst selten und meist nur dann wenn sie erfolgreich waren Um die genannten Probleme zu vermeiden wird der Einsatz sogenannter Systems Re Engineering Patterns vorgeschlagen die mit Entwurfsmustern f r Softwarearchitekturen vergleichbar sind
148. ung angegeben werden F ge Aufgabe hinzu amp Grundeintr ge Mame der Aufgabe PL SQL Trigger Beschreibung Oo BIUS Aa E Ee hd beye DO o I iii Ilil We E ale UJebuns PL SQL Trigger Pfad body Bewertung Verf gbar ab Cassel Abgabetermin O Ausschalten Sp tere Abgabe verhindern Ja ze Abbildung 11 Abgabefrist f r manuell korrigiertes bungsbeispiel festlegen Kapitel 4 bungsbeispiel ausarbeiten Teilnehmer A Benutzerhandbuch 85 4 bungsbeispiel ausarbeiten Teilnehmer Das Aussehen des Benutzerdialogs zum Ausarbeiten einer bung variiert je nach Beispieltyp In den folgenden Bildschirmausschnitten wird die Bearbeitung einer Decompose bung gezeigt Aufgabenstellung Decompose Algorithmus Ihre Aufgabenstellung zerlegen Sie folgende Relation nach dem Decompose Algorithmus Es geht um Universit ten Wenden Sie den Decompose Algorithmus an um eine verlustfreie Zerlegung der Relation R1 mit den Funktionalen Abh ngigkeiten E in Boyce Codd Normalfor Teilrelation die Schl ssel und die von F ableitbaren Funktionalen Abh ngigkeiten an Sie d rfen bei der Zerlegung keine Funktionale Abh ngigkeit verlieren R ABCD FAGD BGC AS y Ri ABED Geben Sie die Attribute der Sub Relationen an Abh ngigkeiten H COD Im l ar o ri schl ssel Seite 1 2 Sie sind angemeldet als Friedrich Fleissig Logout datenmod0810 Abbildung 12 bungsbeispiel zum Decompose Al
149. ung in den behandelten Themenbereich zu geben Bei manchen Beispieltypen unterst tzt das entsprechende eTutor Expertenmodul ein automatisches Generieren des Angabetexts In diesem Fall braucht das Eingabefeld Aufgabenstellung bearbeiten nicht ausgef llt werden Wenn das Expertenmodul eine automatische Angabetext Erstellung nicht unterst tzt ist die Auswahlbox deaktiviert und die Option zur automatischen Aufgabenerstellung kann in diesem Fall nicht ausgew hlt werden Kapitel 2 Beispieldatenbank administrieren Kursleiter A Benutzerhandbuch 76 Aktuelle Spezifikation Attributes Abh ngigkeiten Normalform Dritte Maximal verlorene unbegrenzt 0 entspricht der Anzahl der funktionalen Abh ngigkeiten 0 Abh ngigkeiten Anpassen der Spezifikation Syntax C gt D Normalform Maximal verlorene Abh ngigkeiten Erste Zweite Dritte BoyceCodd O O O Abbildung 4 Erstellung einer bung vom Beispieltyp Decompose Abbildung 4 zeigt wie eine bungsaufgabe zum Decompose Verfahren angelegt wird Mit dem Decompose Algorithmus k nnen Relationen in eine h here Normalform gebracht werden Neben der Beschreibung der im Beispiel verwendeten Relation und deren Attribut Abh ngigkeiten muss die gew nschte Ziel Normalform gew hlt werden Au erdem wird die Anzahl der maximal zu verlierenden Abh ngigkeiten angegeben Die Frage wurde im E Tutor System unter folgender RemotelD gespeichert 14095 Abschlie en Abbrechen
150. utor Migration funktionierende Expertenmodule zum Einsatz kommen und es m glich ist das migrierte System in der vorlesungsfreien Zeit intensiv zu testen kann die Umstellung des eTutor Systems auf einmal erfolgen Somit wird der oben beschriebene Ablauf nur einmal ausgef hrt Dennoch bleibt ein Restrisiko da das Z elsystem w hrend der vorlesungsfreien Zeit nicht im Echtbetrieb getestet werden kann 4 2 Migrationsdurchf hrung Die Systemimplementierung erfolgt gem den in Abschnitt 4 1 genannten Migrationsschritten Kapitel 4 Integration des eTutors in Moodle 32 4 2 1 Systemanalyse Ziel der Systemanalyse ist es das Altsystem zu analysieren und ben tigte Funktionalit t und Daten zu identifizieren Dazu werden in einem ersten Schritt die Komponenten des Altsystems also die Lernumgebungen eTutor und Moodle hinsichtlich Aufbau und Funktionsumfang betrachtet Als Informationsquellen konnten die textuelle Dokumentation und die Lernsystem Entwickler dienen Da der eTutor am Institut f r Wirtschaftsinformatik Data and Knowledge Engineering entwickelt wurde war es mir m glich Fragen direkt an die Programmierer zu richten Die Moodle Entwickler sind in Internet Diskussionsforen aktiv und geben dort Hilfestellungen Als Student und Tutor am DKE Institut konnte ich aus erster Hand erfahren wie eTutor Anwender bungsbeispiele bearbeiten Der mitbetreuende Assistent meiner Diplomarbeit Christian Eichinger verwendet zudem eTutor in der
151. utzerdialog angepasst werden Diese Einstellungen werden im Administrationshandbuch Anhang C n her behandelt Die Daten von questioninsert sql k nnen anschlie end in die Moodle Datenbank eingespielt werden Damit werden die Expertenmodule und einige Testfragen zum SQL Modul konfiguriert 4 limplementation Testdaten Moodle questioninsert sql 2 http localhost moodleetutor question type etutor etutor_admin engine_list php Kapitel 2 Moodle B Installationshandbuch 109 Uber den Link E Tutor Verbindung im Block E Tutor Admin wird eine Liste der E Tutor Server angezeigt Nach Einspielen der Testdaten ist bereits eine Verbindung im System vorhanden Mit einem Klick auf das Lupensymbol kann man berpr fen ob damit ein Webservice Zugriff auf den eTutor Server m glich ist siehe dazu auch das Administrationshandbuch Anhang C Nach der Konfiguration des eTutor Systems wurde Moodle mit eTutor spezifischen Erweiterungen installiert Daraufhin wurden die beiden Systeme integriert und Benutzerrollen konfiguriert Die Basisinstallation ist somit abgeschlossen Im Rahmen der Umstellung vom alten eTutor System muss au erdem eine Migration des Datenbestands vorgenommen werden welche im Diplomarbeitsdokument beschrieben wird Weitere Schritte wie das Einrichten eines Kurses und das Erstellen von bungsaufgaben werden im Benutzerhandbuch Anhang A beschrieben 6 Jdocumentation DA docx C Administrationshandbuch Inhalts
152. verzeichnis A O RAR O 112 1 1 Expertenmodul MiniZ de 112 1 1 1 Anforderungen an Expertenmodule cooooooooooooooccccnnnnnnnnnnnnnnnnnonononanonnnnnnnnnnnnnnnnnnnnnnos 112 1 1 2 Expertenmodul enbinden ea aan A E a 115 1 2 RE E EE 118 1 3 Practicas 119 1 4 bungsaufgaben an Tutoren zuteilen cnn ann cnc noc nn cnn cnccncnnno 119 1 5 SOAP Kommun kation SCHIEREN 120 1 5 1 Webservice Funktionen hinzuflUgen oooooooooonnncccnnnnnnnnnnnnnnnononononononnnnnnnnnnnnnnnnnnnnnnnnnnnos 120 1 32 Generierung le III 120 1 5 3 Anpassung des generierten Codes Eau 121 1 5 4 Archivdaler erstellen on 122 1 5 5 Installation in Webanwendungen ans 123 1 6 SOAP DEDESSm Se ida 123 17 EREECHEN 125 Ge e EE 126 2 1 Verbindung zum eTutor Dispatcher anpassen ooooononnnnnnnnnncnnnnnonnnnnnnnnononannnonnnononnnananinnnnnos 126 22 Expertenmodul kono dret dsd 127 2 3 Ee 128 2 4 MI E EAA AE EAE ETOS EE 129 Abbildungsverzeichnis Abbildung 1 Einbindung der vom Expertenmodul ben tigten Bibliotheken 117 Abbildung 2 Deployment von Expertenmodulen und Libraries festegen 118 Abbildung 3 Zuteilung von bungsausarbeitungen an Tutoren mittels Cron Job 119 Abbildung 4 Parameterbeschreibung der Datei wsdl2java bat ooooonncnnncccnnnnooncnnnnnnnnonanonnnannnnnos 121 Abbildung 5 SOAP Kommunikation beobachten 124 Abbildung 6 Erkl rung von Webservice Fehlercodes ooooooonncccnccc
153. wendungsf lle des Zielsystems Das Use Case Diagramm folgt der UML Notation und ist wie folgt zu interpretieren Die Anwendungsf lle Ubungsbeispiel erstellen Ubungsbeispiel ndern bungsbeispiel l schen bungsbeispiel sichern und bungsbeispiel laden sind vom Anwendungsfall Beispieldatenbank administrieren abgeleitet Mit den Sicherungs und Ladeoperationen kann die Beispieldatenbank in eine XML Datei geschrieben und daraufhin in eine andere Moodle Instanz eingespielt werden zudem dienen sie zur Archivierung von Beispielangaben Vor nderungs und L schoperationen muss zun chst das entsprechende bungsbeispiel gesucht werden was durch die include Beziehung in Kapitel 4 Integration des eTutors in Moodle 34 Richtung Anwendungsfall bungsbeispiel suchen zum Ausdruck gebracht wird Damit ein Student seine bungsbewertungen ansehen kann muss er zun chst ein bungsbeispiel ausarbeiten Dies setzt wiederum voraus dass vom Kursleiter ein bungszettel erstellt wurde in dem das jeweilige Beispiel eingestellt wurde Die funktionalen Anforderungen des Altsystems stimmen mit jenen des Zielsystems berein weshalb versucht wird bestehende Funktionalit t unver ndert in das Zielsystem zu bernehmen Aus diesem Grund kann f r eine detailliertere Erl uterung der Lernsystem Funktionen auf die eTutor Benutzeranleitung verwiesen werden Die Lernumgebung Moodle bietet Funktionen wie Multiple Choice bungsbeispiele und ein Diskussionsfo
154. werden Die Implementierung dieses Dialogs ist optional alternativ kann der beispieltyp bergreifende eftutor core ui GenericExercisesettingView eingesetzt werden Alle Dialoge liefern ein etutor core ui Response Objekt das neben dem anzuzeigenden HTML Code und einem CSS Stylesheet eine Liste ben tigter Dateien enthalten kann Dadurch ist es m glich in Benutzerdialogen Bilder und JavaScript Funktionen einzubinden 1 1 2 Expertenmodul einbinden F r die Neuentwicklung eines Expertenmoduls empfiehlt es sich ein vorhandenes Expertenmodul beispielsweise etutor_sql zu kopieren und anzupassen Der in diesem Kapitel beschriebene Ablauf zeigt w e man neue Expertenmodule n das eTutor System den eTutor Dispatcher einbindet Die Beschreibung erfolgt exemplarisch an der Installation des SQL Expertenmoduls 1 1 2 1 Benutzerdialog installieren Jedes Expertenmodul ist als eigenst ndiges Java Projekt realisiert Die kompilierten Class Dateien werden im eTutor Dispatcher Projekt referenziert Im Gegensatz dazu miissen die restlichen Expertenmodul spezifischen Dateien beispielsweise Dialogbeschreibungen in Form von Velocity Templates Bilder und JavaScript Dateien direkt in das eTutor Dispatcher Projekt kopiert werden Beim SQL Expertenmodul sind die Dialogdateien beispielsweise in folgenden Orten im eTutor Dispatcher Projekt abgelegt e etutor_dispatcher scr resources sql exercisesettingview o create_exercise s o sqlExerciseSetting
155. werden w rde sich eine Implementierung mittels Moodle Erweiterung anbieten Eine vereinfachte Variante w re durch ein eigenst ndiges System realisierbar das in die Webservice Kommunikation der bungsausarbeitung eingebunden werden w rde Dabei k nnte die Detailliertheit des Feedbacks von der Anzahl der protokollierten Abgabeversuche des Studenten abh ngig gemacht werden Somit w rden erst dann detailliertere L sungshinweise angezeigt wenn sich Kursteilnehmer l nger mit einer Aufgabe besch ftigt haben Kapitel 5 Zusammenfassung 66 5 Zusammenfassung Das intelligente tutorielle System eTutor wurde am Institut f r Data and Knowledge Engineering an der Johannes Kepler Universit t entwickelt und erm glicht die automatische Korrektur von bungsbeispielen Zur Verwaltung von Universit tskursen wird an der Johannes Kepler Universit t das Learning Management System Moodle angeboten Vorrangiges Ziel der Diplomarbeit war die Integration vorhandener Korrekturfunktionalit t des eTutors n das Learning Management System Moodle Im Zuge einer Migration sollte das eigenst ndige eTutor System Altsystem auf eine kombinierte eTutor und Moodle Umgebung Zielsystem umgestellt werden Grund daf r war die nur rudiment r umgesetzte Verwaltungs Funktionalit t des eTutor Altsystems welche durch Moodle ersetzt werden sollte Die Korrekturfunktionalit t des eTutor Systems die sich in sogenannten Expertenmodulen befindet erf llt alle Anfor
156. xpertenmodul Bezeichnung anpassen be T1 22 Ubunesbeipie e artist A A 77 2 3 Berspreloruppen eeneg 78 2 4 Kurs und Ubungsbeisptel Backup 79 5 Ku rsadministrieren Kursleiter scene euere ee 82 3 1 Rurs amen iaa as 82 Se E DEE DEE 82 3 2 1 Automatisch korrigierte bungsaufgabe bereitstellen s ssesesererereererererererreresrereren 82 32 2 Manuell gepr fte bungsabgabe anlegen s ssesesesesesesieeeresesisisrsrsreresisisrsrersrerrsrsreres 83 4 Ubungsbeispiel ausarbeiten CTeilncehmer ana nncnn conan cnn rnn anna cnn cnc cancnncns 85 5 Beispiel Korrektur I0 EE 87 Abbildungsverzeichnis Abbildung 1 Der Moodle Hauptbildschirm ist geteilt in Kursinhalte und Kursbl cke 73 Abbilduns 2 neuerstellte K rsblocke a de 74 Abbildung 3 beispieltyp bergreifende Einstellungen n000000sssoosooeeenesesesssssssssssssererrreessssssssssssssssss 75 Abbildung 4 Erstellung einer bung vom Beispieltyp Decompose s s ssesesesesisisererereresisrerererersen 76 Abbildung 5 Best tigung zum Ablegen in der Beispieldatenbank ooococccccnnnnnnnnnnnnnnnnnnnnnnnnnss 76 Abbildung 6 bersichtsdialog zur Verwaltung des Beispielpools ononononioninninnnninccnnicnnanicananacins 78 Abbildung 7 Ubersichtsdialog zur Verwaltung von bungsgruppen oococccccccnncnncnncnnannninanonininanicananos 78 Abbildung 8 Schaltfl che Sicherung im Administrationsblock zum Kurs Backup
157. y Bei der Migrationsart Cold Turkey wird das laufende System zun chst abgeschaltet und daraufhin werden Funktionen und Daten des Altsystems durch ein v llig neu entwickeltes Zielsystem ersetzt Brodie amp Stonebraker 1995 Dieser cutover Umstellungsschritt wird auch als Big Bang bezeichnet Bisbal u a 1999 5 4 Da die Neuentwicklung vor der Umstellung noch nicht unter Realbedingungen getestet wurde ist das Risiko zu scheitern speziell bei gro en Projekten hoch Ein Umstellungsmisserfolg wegen fehlender Funktionalit t kann beispielsweise aus mangelhaft erhobenen Anforderungen resultieren Zudem kann nicht sichergestellt werden dass sich w hrend der Entwicklung des Zielsystems keine Gesch ftsprozesse ndern und sich somit neue Anforderungen ergeben L uft die Umstellung jedoch problemlos steht die gesamte Funktionalit t des Zielsystems sofort nach der Umstellungsphase zur Verf gung 3 2 2 Schrittweise Umstellung Chicken Little Bei einer Chicken Little Migration wird iterativ vorgegangen Vom Altsystem werden schrittweise Funktionen und Daten auf das Zielsystem umgestellt wobei jeder dieser Schritte das System von einem konsistenten Zustand in einen anderen konsistenten Zustand berf hrt und dadurch das System dem definierten Ziel n herbringt Brodie amp Stonebraker 1995 Der Umfang des Zielsystems w chst daher kontinuierlich an Je weniger nderungen mit einer Migrationsphase durchgef hrt werden Kapitel 3 M
158. zerlegbaren Informationssystemen Abbildung 3 kann das Anwendungsmodul nicht vom Datenbankzugriff isoliert betrachtet werden Das ist dann der Fall wenn technische Kapselungsm sglichkeiten nicht ausgesch pft werden also beispielsweise direkt im Anwendungscode SQL Statements abgesetzt werden und auf eine Abstraktionsschicht f r den Datenzugriff verzichtet wird Eine mangelhafte Strukturiertheit erschwert die Analyse des Altsystems und resultiert in fehleranf lligeren Umstellungen I D SS Systemschnittstellen Benutzeroberfl chen Anwendungs und Datenzugriffsmodul Datenbank Abbildung 3 teilweise zerlegbares IS in Anlehnung an Brodie amp Stonebraker 1995 S 17 Kapitel 3 Migrationstechniken zur Systemintegration 17 Ein nicht zerlegbaren Informationssystem Abbildung 4 st dadurch charakterisiert dass das System in keine separablen Komponenten aufgeteilt werden kann Aufgrund der engen Verzahnung muss das Altsystem als eine Black Box angesehen werden wodurch eine schrittweise Migration erschwert wird MM Schnittstellen Anwendungs und Datenzugriffsmodul Abbildung 4 nicht zerlegbares IS in Anlehnung an Brodie amp Stonebraker 1995 S 18 Datenbank 3 2 Vorgehensweisen der Migration Um von einem Alt in ein Zielsystem zu migrieren existieren unterschiedliche Ans tze von denen in diesem Abschnitt f nf Vorgehensweisen beschrieben werden 3 2 1 Umstellung auf einen Schlag Cold Turke

Download Pdf Manuals

image

Related Search

Related Contents

Manual English  NSH5 Series - Programmable Terminal - Operation Manual  AUTODOME IP starlight 7000 HD  Pensez à actualiser  Fujitsu SCENICVIEW Series E22W-1  Manual de Informações Importantes do Produto iPod touch  取扱説明書  Configuration manual  dino - Viabizzuno  Massive Pedestal/post 74904/21/30  

Copyright © All rights reserved.
Failed to retrieve file