Home

Diplomarbeit

image

Contents

1. ELEMENT RESULTROW PCDATA block form Smisc Sinline tr gt ELEMENT GAONIMG PCDATA VARIABLE gt ATTLIST GAONIMG Sattrs alt SText IMPLIED name NMTOKEN IMPLIED height Length IMPLIED width Length IMPLIED align ImgAlign IMPLIED border Length IMPLIED gt ELEMENT GAONSELECT OPTIONS gt ATTLIST GAONSELEC Sattrs name CDATA IMPLIED size Number IMPLIED multiple multiple IMPLIED disabled disabled IMPLIED onchange Script IMPLIED gt ELEMENT OPTIONS SQL SELECTED JOINSELECTED gt ELEMENT SELECTED PCDATA VARIABLE gt ATTLIST SELECTED field CDATA REQUIRED cond eqlnelle lgellt gt eq gt ELEMENT JOINSELECTED PCDATA VARIABLE gt ATTLIST JOINSELECTED joinfield CDATA REQUIRED cond eqlnelle gellt gt eq gt ELEMENT IF PCDATA VARIABLE gt ATTLIST IF varl CDATA REQUIRED cond eq ne le ge lt gt eq gt ELEMENT THEN Flow gt ELEMENT ELSE F low gt Abbildung 31 vollstandige DTD fur XML Maskendefinition Damit diese Definitionen zus tzlich zur strikten HTML Notierung XHTML gelesen werden ist es n tig sie als externes Entity in die XHTML DTD einzubinden Da innerhalb der Notierung
2. EN REQUIRED gt Abbildung 23 DTD f r den Datenbank Import und Export Wenn ein Export f r eine genauer spezifizierte Aufgabe vorgenommen werden soll so muss er nach den gew nschten Regeln neu implementiert werden wie z B in Anhang A im XML Beispiel geschildert Die bereitgestellten Methoden sind jedoch allgemein genug um alle Daten die mittels einer SQL Anfrage selektiert werden k nnen in dieser Form zu exportieren 6 2 5 Funktionalit t zur Generierung und Auswertung von Onli ne Pr fungen Die Klasse Gaon ist die Klasse die die eigentliche Arbeit des Systems bernimmt Sie ist einge bunden in die offene Struktur des Master Servlets als Implementierung der Schnittstelle ProcessorClass da das Master Servlet Methoden voraussetzt deren Ergebnisse f r die Be reitstellung der Funktionalit t ben tigt werden Dieses Interface ist folgenderma en definiert import javax servlet http public interface ProcessorClass public void destroy free resources public String getCodeDirectory find XML Documents public DBClient getDBClient get access to database public void login HttpServletRequest req do additional login stuff public String processTask HttpServletRequest req String task process the user request end of interface Abbildung 24 Interface f r die Processor Klasse So sollen m
3. Martin Blum Administrator Wed 21 Nov 2001 blum tzi de 18 02 25 Anzeige Lernerstatistik Lerner mblum Testlauf T0111190006 Projekt Sportbootf hrerschein See Fragebogen 2 Beginn des Tests 2001 11 19 16 32 57 0 Ende 2001 11 19 17 21 52 0 Total 64 von 232 Punkten 23 EEE Ergebnisse nach Themengebiet Allgemeines 33 Kollisionsverh tungsregeln KVR 39 _ Seeschifffahrtsstra en Ordnung 40 7 SeeSchStrO Bezeichnung der Fahrwasser 5 je a Bezeichnung der Gefahrenstellen 33 m Befeuerung 50 Umweltschutz Befahrungsregeln 20 Navigation 43 I Manovrieren 50 P Wetterkunde 40 EN Sicherheit 29 EJ Feo O intemer Astat FSwrot SyPodte Kama amp Ga0 S Gamn Ejsen Enpo E Recut E micra gy Micra ser BHR in Abbildung 27 Anzeige statistischer Daten eines Tests 6 2 5 3 1 Das Grundkonzept bei der berpr fung von Aufgaben gegen L sungen Vom Prinzip her sehr simpel werden aus dem ausgefiillten Fragedokument die Eingabefelder aus gelesen indem zu jeder Aufgabenposition alle Inputfelder als Array tibertragen werden Bei der Generierung erhalten alle Felder einer Aufgabenposition den selben Namen input Var Aufgabenposition so dass dieses Array automatisch vom Client gelesen werden kann Jede Position des Arrays muss damit eine zugeh rige Position in der L sungspositionentabelle haben die dann miteinander verglichen werden Zw
4. catch SAXParseException e e printStackTrace return page end of convertXML private String convert Node node String out if node null return int type node getNodeType switch type print document 112 Diplomarbeit Martin Blum Source Code ausgew hlter Funktionen case Node DOCUMENT_NODE NodeList children node getChildNodes for int iChild 0 iChild lt children getLength iChild out convert children item iChild break print element with attributes case Node ELEMENT_NODE String nodeName node getNodeName NamedNodeMap attrs node getAttributes if nodeName equals QUERY String sqlString Node resultrow null NodeList children node getChildNodes if children null int len children getLength for int I 0 I lt len I Node child children item i if child null amp amp E child getNodeNane equals SOL sqlString convert child if child null amp amp child getNodeNane equals RESULTROW resultrow child end loop end if try Vector rsv dbClient executeRead sqlString if rsv null for int I 0 I lt rsv size I DBResultSet rs DBResultSet rsv elementAt i DBResultSetMetaData rsmd dbClient getResultSetMetaData for int j 0 j lt rsmd getColumnCount j master put r
5. uuesssseennansssnnnnnssennnnnnsennnnnnsenennnsennnnnnsennnnnnrennnnen 77 6 3 4 Code Inspektion iisen indenis einni BER RE dees 78 6 3 9 LeISUUN ESTES sei s 34 reece ceed raguesn used e aE e a eE e E Eo aeS u rest 78 6 4 Integration in die Umgebung von vhs virtuell 0 0 ee eee eeeeeeeceeeaeeeeeeeaaeeeeeaaeeeees 79 Kapitel 7 Evaluation neun 81 7 1 Die benutzten Frageb gen nesen ehh es ainda hee E Bi 81 72 Auswertung der Frageb gen uusssssssnssseesennnnsenennnnsenennsennnnnnensenennnsennnna seen 81 7 3 Interviews 2 2 2 arena irn sueaengsedeses ts ATEEN 83 7 4 Abschlie ende Bewertung uuu22224unssssssonsnsssnennnnsenennnsennnnseenonnnnnnsennnnnnssnnnnan seen 84 Kapitel 8 Zusammenfassung und Ausblick s ssessosssensonssssnnonnsnsonsnnsssensonsssensonssnsnnsnsensensnnensens 85 8 1 Zusammenfassung ui lese hunter N ee hen NE Ee 85 8 2 Bewertung RR cauudhy candy or iieii iein aieea 85 8 3 Ausblick und Verbesserungen uuuss22ssnssssesennnnsenennnnnennennnnsennnnnsennnnnnennnnnn en 85 Anhang A kleiner Exkurs in XML sssssssssoosssonsssssssnnnnssssnnssssssnnnnnsssnnsssssnsnnnnsssnnssssssssnnnsssnnnsssssnee 87 A l Die Charakteristika von XML uuu 2222unssssssennnnsesnnnnnnennnnnnnsennnnnsenennnnennnnnnn 87 A 2 Die Sprachelemente von XML mu0s22r22n0anersennonsenennonsensenonnersennonssrennonneren 88 A 3 Ein Beispiel f r die Anwendung von XML
6. Abbildung 22 Einlesen eines Ergebnisvektors ber das Datenbank Interface Der SQL String wird an die Methode executeRead bergeben die einen Vector mit Ergebnis Sets zur ckliefert Diese Ergebnis Sets werden der Reihe nach aus dem Vector ausgelesen und somit k nnen die Felder aus dem Set benutzt werden Der Vorteil dieser Vorgehensweise ist dass sich der Programmierer nicht mehr um die Verwaltung der JDBC Statements k mmern muss wenn ineinandergeschachtelte Abfragen erforderlich sind in diesem Beispiel wurden zuerst alle beant worteten Aufgaben zu jeder Aufgabe alle Aufgabenpositionen und dann zu jeder Aufgabenposition alle L sungspositionen gelesen Bei der Benutzung des JDBC steht im Gegensatz dazu eine Ab folge von Result Sets nur solange zur Verf gung bis das Statement durch eine andere Abfrage benutzt wird Es k nnen zwar auch mehrere Statements parallel instatiiert werden die Anzahl ist jedoch teilweise durch den Treiber begrenzt beim Standard ODBC Treiber auf etwa 60 Das bedeutet zwar dass theoretisch etwa 60 Querys ineinander verschachtelt werden k nnen allerdings muss sich der Programmierer dann um ihre korrekte Verwaltung bem hen Dabei wird die Klasse DBResultSet als Zwischenspeicher benutzt um einen Satz des Ergebnisses der Abfrage abzulegen da ein normales ResultSet des JDBC durch die n chsten Lese Operation berschrieben wird Die Datenbankschnittstelle stellt ebenso Funktionen zum Import und Export vo
7. Gl Gl a outt lt node getNodeName gt end if return out end of convert Abbildung 40 Traversierung einer XML Maskendefinition E 4 Datenbank Schnittstelle connect to database local or non local public boolean connectDB String dbName String dbDriver String dbUser String dbPassword throws SQLException IOException ClassNotFoundException String ODBCDriver sun jdbc odbc JdbcOdbcDriver String MYSQLDriver org gjt mm mysql Driver disconnect if still connected if connected disconnectDB parse dbName jdbc subprotocol host port database check and parse syntax is db local this dbName dbName if dbDriver null dbDriver equals if dbName startsWith jdbc odbc dbDriver _ODBC_Driver if dbName startsWith jdbc mysql dbDriver _MYSQL Driver if dbLocal Class forName dbDriver load Driver 114 Diplomarbeit Martin Blum Source Code ausgew hlter Funktionen if dbUser null dbUser if dbPassword null dbPassword con DriverManager getConnection this dbName dbUser dbPassword connect to database return true else send connect request to remote DBServer return false Abbildung 41 Verbindungsaufbau zur Datenbank public Vector executeRead String sql throws SQLException Vector rsv n
8. Diplomarbeit Martin Blum L sungsans tze k nnte Diese unterschiedliche Art der Auswertung wird durch eine entsprechende Vererbung auf die darunter liegenden Klassen dieses Typs erreicht F r die Auswertung wird jede Eingabe gegen die in der L sungsdatenbank hinterlegten Antwort verglichen und nach einem Verteilungsverfahren f r die einzelnen Aufgabenposition eine Punktzahl errechnet Dieser Vergleich ist bei Ankreuz Aufgaben Single oder Multiple Choice noch recht trivial aber bereits bei L ckentexten erscheint es n tig eine Liste m glicher richtiger Antworten vorzusehen da es im Allgemeinen mehrere M glichkeiten gibt eine Frage zu beantworten Au er dem gibt es manchmal Ungenauigkeiten z B bei Zahlen 3 6 ist genauso richtig wie 3 6 und bei 3 5 w rde der Tutor auch noch mal ein Auge zudr cken f r die eine L sung gefunden werden muss Um die Datenbank nicht allzu kompliziert zu machen wird zur Speicherung ein reines Text feld benutzt in das der Autor eine Liste m glicher Werte getrennt durch ein Sonderzeichen ein geben kann Das hat zwar zum einen den Nachteil dass die Eingabe unkomfortabler wird da die Daten auf den ersten Blick etwas verwirrend erscheinen und dass das Sonderzeichen innerhalb der L sungsmenge entwertet werden muss Es bringt aber auf der anderen Seite den Vorteil einer h heren Flexibilit t da auf eine Art alle verschiedenen Aufgabentypen ausgewertet werden k nnen F r die Erfassung w re es
9. ccc eeeeeceseeecceeeeeeceeeaeeesceeaueeeeeeaaeeeees 90 Anhang B Die benutzten Frageb gen 0000sssssuu000ss0nnsssssnnnnnnssnnnsnssssnnnnnsssnnnsssssnsnnssssnnnsssssnne 93 B 1 Fragebogen Grundlagen 222 Renten one arg 93 B 2 Fragebogen Softwarebewertung Lerner uuu222200nssssssnnnnnsennnnensennnnnnennennn 95 B 3 Fragebogen Softwarebewertung Tutor uussssssennnnsessennnnsenennnnsennnnnnennennnn 96 B 4 Fragebogen Softwarebewertung Autor uusssseeenssssesennnnsesnnnnnnsenennnnsennnnnnernnn en 97 Anhang C DTD f r die Maskendefinition 00ss se0000000000sss2200000000000s002220000000000000 002000000 0000000 100 Anhang D Datenbankdesign ccssssssssscsssssssssssssccscssssssssssccssssssssssssssccsscssssssssssscssssscssssssenees 103 Anhang E Source Code ausgew hlter Funktionen 000sssssseuuoossssnsssssssnnnnnsssnnnsssssnnnnnsssnnnne 109 E 1 Appletschinittste lle sinp roenn a er ap a a Ea toe stele OE aE EEE 109 E 2 Servlet Verarbeitung u nennen een sea a 110 E 3 Verarbeitung der XML MasKen ceeeceeseeeccceeneecceeeueeceeeaueecceeaaesceeeaeeeseeeuaees 112 E 4 Datenbank Schnittstelle uuu222240nnnsesnnnnnnsennnnansennnnnnennennnnsenennn nennen 114 E 5 Verarbeitung der Benutzereingaben u 2224404sss2ssennnnsenennenneenennneenennensennnnnn 115 E 6 Generierung der HTML Fragedokumente uuussssss
10. gt Datenbank Abfrage lt QUERY name ql gt lt SQL gt select Lerner Vorname Nachname Mail Klasse from Lerner where Lerner like lt VARIABLE name queryLogin gt and Nachname like lt VARIABLE name queryLastname gt and Mail like lt VARIABLE name queryMail gt order by Nachname lt SQL gt lt RESULTROW gt lt VARIABL name ql Mail gt lt RESULTROW gt lt QUERY gt T Gl Datenbank Abfrage als selektierbare Liste lt GAONSELECT name s1 size 1 gt lt OPTIONS gt lt SQL gt select Klassifikation Klassifikation from Klassifikationen order by Klassifikation lt SQL gt lt SELECTED field Klassifikation cond eq gt lt VARIABLE name user Klasse gt lt SELECTED gt lt OPTIONS gt lt GAONSELECT gt Datenbank Abfrage als mehrfach selektierte Liste verkn pft mit einer zweiten Abfrage lt GAONSELECT name s2 size 4 multiple multiple gt lt OPTIONS gt lt SQL gt select Projekt Projekttitel from Projekte order by Projekt lt SQL gt lt JOINSELECTED joinfield Projekt cond eq gt select Projekt from Projektzuordnungen where Lerner lt VARIABLE name keyVarl gt lt JOINSELECTED gt lt OPTIONS gt lt GAONSELECT gt Checkbox angekreuzt je nach Bedingung lt GAONINPUT type checkbox name resultVar7 value 1 lt CHE
11. lt Billing gt lt Data gt lt Lerner gt mblum lt Lerner gt lt LoginDate gt 2001 09 02 8 12 0 lt LoginDate gt lt LogoutDate gt 2001 09 02 16 42 0 lt LogoutDate gt lt Data gt lt Data gt lt Lerner gt mbartosch lt Lerner gt lt LoginDate gt 2001 09 18 19 08 0 lt LoginDate gt lt LogoutDate gt 2001 09 18 20 30 0 lt LogoutDate gt lt Data gt lt Billing gt Abbildung 30 Gaon Export Antwort des Systems Die Antwort des Datenbanksystems ist nat rlich abh ngig von der Anfrage und somit wird die jeweils ben tigte DTD immer zusammen mit den Daten zur ckgesendet Jede Antwort k nnte also eine beliebige Anzahl von Datens tzen und ebenso eventuell eine Fehler Exception enthalten bei spielsweise ein Dezimaldatenfehler im 154 Satz o lt XML gt 91 Diplomarbeit Martin Blum Exkurs XML 92 Diplomarbeit Martin Blum Frageb gen Anhang B Die benutzten Frageb gen B 1 Fragebogen Grundlagen Es geht um die Entwicklung einer Software die sie online bei der Vorbereitung auf Pr fungen z B Sportbootf hrerschein See Autof hrerschein etc unterst tzt Bitte kreuzen Sie die jeweils am ehesten zutreffende Antwort an pro Frage jeweils nur eine Antwort Vielen Dank 1 Halten sie ein derartiges Lernprogramm f r sinnvoll und w rden Sie es gerne einsetzen a Ja b Ja aber nur auf PC s in der VHS im Rahmen eines Kurses c Ja aber nur zum Lernen vor dem eigenen PC zu Hause d nein 2 B
12. lt input type hidden name task value A011 gt lt input type hidden name reset value gt lt table gt lt tr gt lt td gt Login Kennung lt td gt lt td gt lt input type text name queryLogin size 30 maxlength 30 gt lt td gt lt tr gt lt tr gt lt td gt Nachname lt td gt lt td gt lt input type text name queryLastname size 30 maxlength 60 gt lt td gt lt tr gt lt tr gt lt td gt E Mail Adresse lt td gt lt td gt lt input type text name queryMail size 30 maxlength 60 gt lt td gt lt tr gt lt table gt lt input type submit value Anfrage senden gt lt input type reset value Zur cksetzen gt lt input type submit name newButton value neuen Eintrag hinzuf gen gt lt form gt 60 Diplomarbeit Martin Blum Implementierung Abbildung 14 Formularschnittstelle zum Servlet An das Servlet werden bei Bet tigung eines der als submit gekennzeichneten Buttons die Daten bertragen die sich in den zwei versteckten Feldern befinden task und reset und die sich in den 3 sichtbaren Textfeldern befinden queryLogin queryLastname und queryMail Zusatzlich wird noch die Beschriftung des gedriickten Buttons tibertragen wenn dieser einen Na men hat So kann berpr ft werden ob der Button f r Anfrage senden oder f r neuen Eintrag hinzuf gen gedr ckt worden ist da im 2 Fall der Inhalt der Variablen newButton ungleich null ist F r die Verschl sselung mittels
13. I var applet document applets I var pos applet getNumberOfPositions for j 0 j lt pos j var input eval document forms 0 applet I Var j input value applet getValue j 1 return true transfer HTML variables to applet variables function setAppletVar noChange form document forms 0 elem document forms 0 elements anzApplets document applets length if anzApplets gt 0 for I 0 I lt anzApplets I varName applet I Var var nr 0 if noChange 1 document applets I setChange false else document applets I setChange true for j 0 j lt elem length j if elem j name substr 0 varName length varName nr nr 1 if elem j value document applets I setValue nr elem j value return true Abbildung 34 J avaScript f r die Kommunikation zwischen Applet und HTML 109 Diplomarbeit Martin Blum Source Code ausgewahlter Funktionen E 2 Servlet Verarbeitung import java io import javax servlet import javax servlet http public class Master extends HttpServlet HttpSession userSession null public void init ServletConfig config throws ServletException super init config call init from super class workDir getInitParameter workDir get parameter end of init redirect all gets to doPost protected void doGet HttpServletRequest req HttpServletRespons res throws ServletException
14. IOException doPost reg res end of doGet do all the work protected synchronized void doPost HttpServletRequest req HttpServletResponse res throws ServletException IOException String varl req getParameter name get the Var name from client res setContentType text html PrintWriter out res getWriter writer for response to client out println lt HTML gt lt BODY gt Your name is varl lt BODY gt lt HTML gt out close end of doPost end of class Abbildung 35 Servlet Rumpf public void doPost HttpServletRequest reg HttpServletResponse res throws ServletException IOException try startThread reg res join catch InterruptedException e end of doPost private synchronized Thread startThread HttpServletRequest req HttpServletResponse res throws IOException for int j 0 j lt 10 j for int I 0 I lt POOL_SIZE I if thread I null thread I isAlive if worker I null worker I new MasterWorker I workDir dbName dbDriver dbUser dbPassword if worker I processorClassReady error in processorClass start up 110 Diplomarbeit Martin Blum Source Code ausgew hlter Funktionen return new Thread else thread I new MasterThread I worker I req res thread I start return thread I end
15. Sport bootf hrerschein See oftmals weit vom Ort des Kurses entfernt Jetzt sind sie durch die Lernplatt form in der Lage Kursinhalte zu lernen auch ohne pers nlich zu erscheinen Dabei k nnen sie wie gewohnt auf die Unterst tzung durch den Tutor oder durch Mit Lernende zur ckgreifen die ihnen als reale Personen im Ged chtnis sind und nicht nur als anonyme Login Kennungen Durch die neuen Technologien wird sich jedoch nicht so sehr die Form der Wissenskontrolle n dern da die Missbrauchs und Schummel M glichkeiten an einem Computer noch zu stark vor handen sind Momentan kann weder durch Software noch durch Hardware erkannt werden wer tats chlich die Eingaben an einem Computer vornimmt Es werden also weiterhin durch Menschen berwachte Pr fungen stattfinden um ein Zertifikat ber einen Wissensstand zu erwerben Auf grund dieser Tatsache sollte w hrend eines Kurses auch die Art der Zertifikatspr fung vorbereitet werden um die Stresssituation w hrend einer Pr fung f r den Kursteilnehmer m glichst gering zu halten 2 5 Warum diese Diplomarbeit ber Online Pr fungen Im Gespr ch mit mehreren Dozenten der Bremer Volkshochschule haben sich einige Ideen heraus kristallisiert die einen traditionellen Kurs durch den Einsatz der Internettechnologien aufwerten w rden Eine Idee dabei war das hier durchgef hrte Projekt da f r die Pr fung des Sportbootf h rerscheins See Frageb gen verwendet werden Bei den Kur
16. String varName String value return putObject varName value end of putValues protected boolean putObject String varName Object object if varName null return false 111 Diplomarbeit Martin Blum Source Code ausgewahlter Funktionen try if object null userSession removeValue varName else userSession putValue varName object catch java lang IllegalStateException e return true end of putObject Abbildung 38 Das Ablegen von Variableninhalten protected String getValue String varName String values getValues varName if values null amp amp values length gt 0 return values 0 else return null end of getValue protected String getValues String varName Object object getObject varName if object null return String object else return null end of getValue protected Object getObject String varName if varName null return null Object object null try object userSession getValue varName catch java lang IllegalStateException e return object end of getObject Abbildung 39 Das Lesen von Variableninhalten E 3 Verarbeitung der XML Masken private HtmlPage convertXML String newLocation HtmlPage page new HtmlPage DOMParser parser new DOMParser try parser parse newLocation Document d parser getDocument page addLine convert d
17. chten Zu Test zwecken existiert die Benutzerkennung diplom mit dem Kennwort diplom 1 2 Kapitel bersicht Die Arbeit gliedert sich in 8 Kapitel Dies ist als Einleitung das erste Kapitel um Motivation und Ziel der Arbeit darzustellen Das zweite Kapitel Grundlagen behandelt lerntheoretische Grundla gen und Vor berlegungen zum Einsatz von Online Pr fungen Kapitel drei vergleicht und bewertet bestehende Softwareprodukte und versucht die gefunden Schw chen zusammenzufassen Im vier ten Kapitel Systemanforderungen werden die Anforderungen an ein solches Softwaresystem spezi fiziert Der L sungsansatz wird im f nften Kapitel dargestellt in dem die zentralen Algorithmen n her erl utert werden Im sechsten Kapitel Implementierung gehe ich auf die konkrete Realisie rung des Software ein Kapitel sieben ist eine Evaluation des erstellten Produktes anhand der im dritten Kapitel vorgestellten Kriterien und der Bewertung durch die Anwender des Systems Am Ende schlie t das achte Kapitel mit einer Zusammenfassung und einem Ausblick auf m gliche Verbesserungen des Systems Die Anh nge umfassen eine kurze Einf hrung in die Sprache XML die entworfenen Frageb gen mit den erhobenen Daten die DTD f r die Maskendefinition das vollst ndige Datenbankdesign den Java Source Code ausgew hlter Funktionen das Literaturver zeichnis und ein Glossar 12 13 Diplomarbeit Martin Blum Einleitung Diplomarbeit Martin Blum Grundlagen
18. fungssituation jetzt noch folgende zwei Teil schritte zwischengeschaltet Zum einen wird der komplette Test gesammelt mit einer Kurzform der Aufgabe keine Navigation geringere Zeilenabst nde keine Trenner zwischen den Teilaufgaben und der eingegebenen Antwort ohne die M glichkeit der Ver nderung dem Anwender zur ber pr fung angezeigt so dass f r ihn die M glichkeit besteht zum Test zur ckzukehren und dort nochmals Korrekturen vorzunehmen Zum anderen muss vor Anzeige des Testergebnisses erst ein Tutor den Test gegenbewerten um sicherzustellen dass das L sungsmodul die Antworten richtig bewertet hat Der Tutor erh lt ebenso die Kurzdarstellung des gesamten Tests und Kann zu jeder Aufgabe eine eigene zweite prozentuale Bewertung der Eingabe abgeben Aus dieser Nachbe wertung wird dann das Endergebnis ermittelt Aus den Projektparametern kann dann ersehen wer den ob der Test als bestanden anzusehen ist und es kann ein entsprechendes Zertifikat erzeugt werden 5 3 Design der Datenbank Um die Daten persistent zu speichern m ssen sie in einer Datenbank abgelegt werden Das ist nach jedem Teilschritt notwendig da die Session eines Benutzers immer nur f r den Zeitraum der f r das Durchlaufen der Routine doPost ben tigt wird zur Verf gung steht Nach Ablauf die ser Zeitspanne kann auf die Daten erst wieder beim n chsten doPost zugegriffen werden das aber durch Zeit berschreitung Aufruf anderer Seiten oder Schlie
19. lt title gt Verwaltung Login Kennungen lt title gt lt link rel stylesheet type text css href style css gt lt head gt lt body background images hg jpg gt lt hr size 10 color E2E2E2 gt lt h3 gt lt VARIABLE name message gt lt h3 gt lt table gt lt tr gt lt th gt Kennung lt th gt lt th gt Name lt th gt lt tr gt lt QUERY name q1l gt lt SQL gt select from Lerner order by Lerner lt SQL gt lt RESULTROW gt lt tr gt lt td gt lt VARIABLE name ql Lerner gt lt td gt lt td gt lt VARIABLI name ql Vorname gt lt VARIABLE name ql Nachname gt lt td gt lt tr gt lt R lt QUERY gt lt table gt lt form action gaon servlet Master method post gt lt input type hidden name task value A001 gt lt input type submit value zur amp uuml ck zum Hauptmen amp uuml lt p gt lt body gt lt html gt charset iso 8859 1 EA ESULTROW gt gt lt form gt Diplomarbeit Martin Blum Datenbankdesign Anhang D Datenbankdesign Als Nachschlagewerk wihrend meiner Programmierung diente mir die folgende detaillierte Uber sicht aller Tabellen der Datenbank Tabelle Aufgaben Key Feldname Felddatentyp Beschreibung __ Aufgabenbeschreibung_ LONGBLOB Beschreibung einer Situation evil mit HTML Code He _____CHAROSS URL farHilfeSete Themengebiet INT Zuordnung zu einem Themengebiet des Projektes 7 Schwierigkeitserad INT Schwierigkeitse
20. www w3 org TR REC xml W3C Recommodation XHTML 1 0 The Extensible HyperText Markup Language 2000 http www w3 org TR xhtmll Gerhard Wilhelms Markus Kopp Java professionell Bonn MITP Verlag 1999 Stefan Zeiger Servlet Essentials 1999 http www novocode com doc servlet essentials 122 Diplomarbeit Martin Blum Glossar Glossar Dieses Kapitel soll zur Erkl rung benutzter Fachbegriffe dienen Dabei wird kein Anspruch auf Vollst ndigkeit erhoben Applet Java Programm das in eine HTML Seite eingebunden ist Es wird vor Ausf hrung mit vom Server geladen und dann auf dem Client ausgef hrt Array Gruppe von gleichartigen Feldern auf dessen Elemente hnlich einer Tabelle ber die Spaltenposition zugegriffen werden kann Browser Programm zur Darstellung von HTML Seiten Die bekanntesten Browser sind Net scape und der Internet Explorer Browser Um zu verhindern dass Applets auf dem Client Rechner Schaden anrichten werden Sandbox ihre Zugriffe auf Rechner Ressourcen limitiert Daher spricht man davon dass sie in einer Sandbox ablaufen Client Der Kunde Innerhalb einer Client Server Umgebung derjenige Teilnehmer der die Dienstleistungen konsumiert DOM Document Object Model Ein Modell um XML Dokumente als Java Objekt zu beschreiben HTML Hyper Text Markup Language Beschreibungssprache f r den Inhalt und das Aus sehen einer Internetseite PGP Pretty Good Privacy Verschl sselungsalg
21. Die eigenst ndige Benutzergruppe der Administratoren ist hier nicht mehr gesondert befragt worden da sich die Oberfl che von Autoren und Administratoren sehr stark hnelt F r diese Befragung wurden die in Anhang B vorgestellten Frageb gen entwor fen So konnte ein Feedback zu allen Funktionen der Software erreicht werden wobei die Anzahl der abgegebenen Frageb gen bei Tutoren und Autoren f r ein repr sentatives Ergebnis eigentlich zu klein ist Ausgef llt und abgegeben wurde der Bogen durch 15 der 20 Teilnehmer den 2 Tuto ren und dem Autorenteam 7 2 Auswertung der Frageb gen Die abgegebenen Frageb gen lassen aus der Sicht eines Lerners folgende R ckschl sse zu e 66 der Lerner haben die Software nicht genutzt Dieser doch unerwartet hohe Anteil hatte mehrere Ursachen die insofern spannend waren da es anscheinend grundlegend an Akzeptanz f r die Nutzung einer solchen Software fehlte Zum einen wurde die Entscheidung zur Ent wicklung der Software mit einem Tutor getroffen der relativ fr h aus dem Team ausgeschie den ist da ihm der Arbeitsaufwand zu hoch war Der dann folgende Tutor hat die Software etwas blockiert da er sich in seiner freien Kursgestaltung eingeschr nkt gesehen hat Trotzdem hat die Leitung der VHS die Softwareentwicklung auch ber seinen Kopf hinweg weiter voran 81 Diplomarbeit Martin Blum Evaluation getrieben Von diesen rein menschlichen Problemen einmal abgesehen wurden von den Teil nehm
22. Ebenso wurde genannt dass eventuell mehr Zeit n tig ist um den Bekanntheitsgrad zu steigern Ein Wissen um eine solche Software h tte einen Teil der Teilnehmer eventuell dazu be wogen auf den Kauf der Frageb gen zu verzichten Als einen entscheidenden Vorteil gegen ber bestehenden Softwarel sungen wurde im erstellten Produkt die Freitextauswertung hervorgehoben da sie den Realit tsgrad des Tests erh ht Laut vieler Teilnehmer macht es keinen gro en Sinn anhand von Multiple Choice Aufgaben zu lernen wenn in der realen Pr fung gefordert ist einen zusammenh ngenden Text zu schreiben Eine nderung des Geb hrenmodells f r den Zugriff auf das Internet und das Fortschreiten der Entwicklung im Hardwarebereich wird dazu beitragen dass die Nutzung dieser Software f r die n chsten Kursteilnehmer immer attraktiver werden wird 83 Diplomarbeit Martin Blum Evaluation 7 4 AbschlieBende Bewertung Abschlie end wurde die Software nun noch einmal anhand des in Kapitel 3 aufgef hrten Kriterien katalogs berpr ft und sie somit bez glich der Anforderungskriterien mit den bestehenden Produk ten verglichen Die Bewertung der einzelnen Kriterien sah im Detail folgenderma en aus Kriterium Beschreibung Bewer gewichtete Be tung wertung Kommunikationsmechanismen E Mail Messageboard News 2 0 4 foren vorhanden Art der Implementierung Servlet 0 1 Antwortzeitverhalten gut abh ngig von Serverauslas 0 2 tung und allgemei
23. GUN AGEN 5 5 sitscscecsessscessssossvdenetsosseverevedencsesedeversvedencasdevesesevncenensdesevesesesenenesesevssenseene 14 Grundlagen zur Wernthe ore nre son deed rete died Soe et ed n eens ded eos 14 Online Tests nach der Methode T3C Test Train Test Certify ccccccsccceseeeeneeeeeees 16 Warum hat sich das Lernen ber Online Tests bis jetzt noch nicht durchgesetzt 17 Folgerungen f r das Projekt vhs virtuell 22000s0sssseennnnsseennnnseennnnneenennnn ee 19 Warum diese Diplomarbeit ber Online Pr fungen uussssssenenseenennnee 19 Grenzen dieser Diplomarbeit u 2404s2422s0nnnsesennnnneennnnnnsennnnnsennnnnsennennan en 20 Vergleichende Bewertung bestehender Softwareprodukte esssseesosssssensnssssensonennens 21 Vergleichskriterienin seien see et sdecy ean sete ggg vous e ss edeauseees regs eia e era ntet 21 Ergebnisse des Vergleichs sense een Es es a u 22 CBT s von Deli s Kl asin ers Sie 2 ehe 22 Idea 3 0 von Link amp Link 00sssssssssnsssnnnssennssnennsnennnnnnnnsnennnnennnsnennnnennn 24 IBT Server von TimeAYou 2 2 3 2 252 n 5282 sehen ah Ere ie fresh 25 Lerneffekt WBT von AHR 2 22s02ssssesssesnsssennssnennssnnssnnnssnnnssnennsennsnnenn 26 Nachtr glich Teststation der Firma Enlight uss222ssssssssennensesnennnnee 27 Nachtr glich Net Coach von Orbis Communications uuussss
24. Ma nahmen wie z B das Abtrennen des Subnetzes vom Internet kann solche T uschungsversuche erschweren 4 2 6 5 Statistische Daten zur Lernerbewertung W hrend der Ausf hrung eines Tests oder einer Pr fung sammelt die Software Daten ber Erfolg und Misserfolg bei der Beantwortung der verschiedenen Aufgaben Da diese Aufgaben bestimmten Wissensbereichen in einer festgelegten Schwierigkeitsstufe zugeordnet sind wird so f r den Benut zer ein Profil erstellt das ihn beim weiteren Lernen unterst tzen soll Gerade in den Bereichen in denen ein Defizit im Wissensstand herrscht sollte weiter gelernt werden und daher kann dem Be nutzer auf Wunsch automatisch eine Frage aus diesem Bereich vorgeschlagen werden Da daf r jedoch eine Zuordnung zwischen der Benutzerkennung des Lerners und der erhobenen Daten notwendig ist fallen diese Erhebungen unter das Datenschutzrecht Der Benutzer muss auf die Art der Erhebung hingewiesen werden und ihr zustimmen Er muss die M glichkeit haben die erhobenen Daten einzusehen und sie bei Wunsch l schen zu k nnen 42 Diplomarbeit Martin Blum L sungsans tze Kapitel 5 L sungsans tze 5 1 Grobkonzept Da die Anwendung wie in Kapitel 4 2 6 1 Programmiersprache und Systemarchitektur beschrieben eine servlet basierte Implementierung sein wird teilt sich das Grobkonzept in 5 Teilbereiche auf Es soll durch die folgende Abbildung veranschaulicht werden Client gt Webserver Bro
25. Metho de darum dass die Abfrage von Wissen einem Lerner auf mehrere Arten Nutzen bringen kann Der Test kann verwendet werden als Eingangstest als Verifizierungstest zum Zertifikatserwerb oder zum Trainieren neu angeeigneter F higkeiten Diese Methode wird in Kapitel 2 Grundlagen n her erl utert Momentan existierende Softwareprodukte erm glichen bis jetzt nur eine Generierung von Single oder Multiple Choice Tests Fast alle Pr fungen bestehen aber nur zu einem Teil aus dieser Form von Fragen Die Lernwirkung ist somit eher gering da nicht die tats chliche Pr fungssituation 11 Diplomarbeit Martin Blum Einleitung vermittelt wird Sehr oft muss zur Beantwortung der Frage ein freier Text eingegeben werden und der Pr fer entscheidet dar ber ob die Antwort richtig oder falsch ist Bei einem Multiple Choice Test ist die richtige L sung mit in der L sungsmenge enthalten d h im Gegensatz zur richtigen Pr fung kann der Pr fling seine Antwort notfalls einfach raten Von der Autorenseite aus gesehen kommt dazu dass f r die Gestaltung der Seiten oft noch HTML Kenntnisse notwendig sind Dies sollte nicht als Voraussetzung f r die Anwendung der Software gesehen werden Ich werde im Rahmen dieser Diplomarbeit ein Softwarepaket erstellen das einem Tutor erm g licht ber einen Webbrowser bungsaufgaben als Erg nzung zu einem Online Kurs zu erstellen Er legt den Typ einer Aufgabe fest erfasst ihren Inhalt und die L sung und
26. Tabelle Testpositionen Key Feldname Felddatentyp Beschreibung Aufgabe INT Aufabennummer aus dem Aufgabenpoot 7 an worsiement _ LONGBLOB Bewertung TINYINT ermittelte Bewertung 1 Ja richtig O Nein falsch Dr Zi ermittelte prozentuale Bewertung wenn teilweise rich tig Bewertung2 TINYINT tutorielle Bewertung 1 Ja richtig O Nein falsch JProzen O NT tutorielle prozentuale Bewertung wenn teilweise richtig Tabelle Teststatistik Key Feldname Felddatentyp Beschreibung Identifikation CHAR 50 Testidentifikation CHAR 50 Testart siehe Tabelle Testarten Schluessel Fragennummer Fragebogen Themengebiet Schwierig keit C Projekt CRG Projektkennung i Aufgaben Anzahl Aufgaben in diesem Test Versuche Punks im erreichte Punktzahl Summe Punktem Ergebnis Ergebnis wich Ergebnis wid h2 Tabelle Teststruktur Key Feldname Felddatentyp Beschreibung Identifikation CHAR 50 Test Identifikation Positionsnummer innerhalb des Tests Fragebogens Aufgabe Aufgabennummer aus dem Aufgabenpool Puke O INTs maximale Anzahl an Punkten f r diese Aufgabe Beantwortet TINYINT Aufgabe beantwortet 1 Ja O Nein 108 Diplomarbeit Martin Blum Source Code ausgewahlter Funktionen Anhang E Source Code ausgewahlter Funktionen E 1 Appletschnittstelle transfer applet variables to HTML variables function checkApplet for I 0 I lt document applets length
27. allerdings ber einen Link aufge rufen wird also z B durch das Men system ber lt a href gaon servlet Master usw gt sendet der Browser die Anforderung automatisch als GET w hrend jedes Eingabeformu lar blicherweise als POST gesendet wird Daher m ssen in jedem Servlet immer beide Methoden implementiert sein Die Methode doPost kann auf synchronized gesetzt sein um einen nebenl ufigen Zugriff zu serialisieren d h zu verhindern dass mehrere Clients gleichzeitig versuchen auf die internen Vari ablen des Servlets zuzugreifen Das w rde die unterschiedlichen Anforderungen miteinander ver mischen und zu unerw nschten Ergebnissen f hren Die Benutzung von synchronisierten Methoden bietet dabei eine recht simple M glichkeit konkurrierende Zugriffe zu ordnen allerdings gibt es dabei das Problem der galoppierenden Horden wenn die Methode wieder freigegeben wird und dann mehrere Clients gleichzeitig versuchen sich die Ressourcen zu sichern Dabei ist es reiner Zufall welche Anforderung als n chstes bearbeitet wird so dass es bei gr eren Projekten aus Fairnessgr nden sinnvoll erscheint dieses Problem anders zu l sen siehe unten 61 Diplomarbeit Martin Blum Implementierung Ublicherweise erfolgt innerhalb der Methode doPost folgende Verarbeitung tiber die Methode req getParamterValue name kann vom Client eine Variable eingelesen werden die z B im Formular den Namen name tr gt und den Namen des Anwe
28. auch allgemeing ltige Entitys gelesen werden muss der Import am Ende der DTD erfolgen Zus tzlich ist es n tig die HTML Bestimmungen an den korrekten Stellen um die GAON Funktionalit t zu erweitern Das geschieht zum einen durch die Definition eines entsprechenden Entitys und dessen Einbindung in den HTML Syntax lt new gaon functionality 101 Diplomarbeit Marti vollstandige DTD n Blum Abbildung 32 Einbindung der Gaon DTD in die XHTML DTD lt ENTITY Gaon GAONINPUT VARIABLE PAGECLASS GAONSELECT GAONIMG QUERY GAONLINK IF gt lt use Gaon as inlin gt lt ENTITY inline a Sspecial fontstyle phrase Sinline forms Gaon gt lt import Gaon DTD gt lt ENTITY gaon SYSTEM gaon dtd gt Sgaon Als Beispiel fiir ihre Anwendung soll hier die Sammelanzeige aller Login Kennungen dienen die in hnlicher Form etwas ausf hrlicher Bestandteil der Benutzerverwaltung des Gaon Systems ist lt DOCTYPE lt xml version 1 0 html lt html gt lt head gt lt meta name Author lt meta http equiv Cont encodi SYSTEM gao con ng tent Martin Blum 150 8859 1 gt n code gaon xhtml dtd gt gt nt Type content text html Abbildung 33 Beispielmaske Sammelanzeige Login Daten 102 gt
29. dem Ablaufmodul eine Auswahl aus dem Fragenpool zu erm glichen Zus tzlich dazu gibt es ein Administrationstool das die Ver waltung der Tests und der Lernenden bernimmt Dieses Produkt arbeitet eng mit der Plattform Corporate Learning der Firma T Systems zusam men ber die die Kommunikationsmechanismen abgedeckt werden Diese Plattform ist eine eigene Entwicklung der Telekom die eine Lernumgebung f r interne Schulungen entwickelt hat und mit dieser nun auch auf den offenen Markt geht Ihre ausgepr gte Mandantenf higkeit hat dazu ge f hrt dass dieses Produkt f r das Projekt vhs virtuell ausgew hlt wurde Die Bewertung der einzelnen Kriterien sah im Detail folgenderma en aus Kriterium Beschreibung Bewer gewichtete Be tung wertung Kommunikationsmechanismen Chat Diskussionsforen E Mail 2 0 4 ber die Plattform CL vorhan den Art der Implementierung Applet Antwortzeitverhalten gut aufgrund nur kurzer Phasen der Daten bertragung Autorentool verf gbar ja lag aber nicht zum Test vor Bedienungskomfort sehr gut durch grafische Ober fl che verf gbare Aufgabentypen Single Multiple Choice Kli cken auf Bildposition Test in nerhalb externer Applikation dieser Punkt f hrt zu einer Aufwertung System Client l uft nur unter Internet Browsereinschr nkungen Explorer keine Informationen ber den Server verf gbar Endergebnis 6 T Systems Corporate Learning Version 2 5 2001 http ww
30. dem Lernenden nicht selbstorganisiert ber Zeit und Ort sowie seinem Qualifizierungsbedarf entsprechend zu lernen Diese fehlenden Frei heitsgrade innerhalb des Systems schr nken die Motivation des Lernenden stark ein da es ein be stimmtes Verhalten aufzwingt und somit der neugierigen explorativen Ader des Menschen wi derspricht Ein letzter Trend der sich ebenfalls erst durch die globale Vernetzung innerhalb von Lernumge bungen durchsetzen konnte jedoch zur Steigerung der Lernmotivation und des Lernerfolgs ganz erheblich beitr gt ist das kommunikative Element das das Lernen als sozialen Prozess stark pr gt Mandel 1998 Erst jetzt kann sich eine Kommunikation gest tzt durch eine Lernumgebung der neuesten Generation nicht nur zwischen Lernendem und Lehrendem entwickeln sondern zuneh mend auch unter Kollegen unter den Lernenden untereinander oder zu externen Experten 18 Diplomarbeit Martin Blum Grundlagen 2 4 Folgerungen f r das Projekt vhs virtuell F r das Projekt vhs virtuell hat sich aus diesen Details die Notwendigkeit ergeben dass beste hende Kurse und die damit verbundenen sozialen Gef ge nicht aufgel st werden d rfen sondern durch neue Technologien erg nzt werden sollen Den Kursteilnehmern werden nicht gewohnte und n tzliche Aspekte eines realen Kurses genommen vielmehr erhalten sie durch die Teilnahme an einer Lernplattform einen Mehrwert Beispielsweise wohnen die Teilnehmer des Kurses
31. dem Namen Task ber den ermittelt werden kann welche Aktion vom Anwender angefordert wurde Je nach Task werden dann entsprechende Routinen aufgerufen und die Antwort aufbereitet Die Tasknum mern sind dabei im Programm hart mit der entsprechenden Funktionalit t verdrahtet da im Allge meinen zu jeder Task eine gesonderte Programmierung erforderlich ist Es existieren zwar auch eine Reihe von Aufgaben die standardisiert werden k nnten allerdings w rde der deutlich erh hte Arbeitsaufwand f r die Erzeugung eines durch den Anwender definierbaren Men systems nicht die Arbeitsersparnis bei einer Erweiterung des Systems um neue Funktionen rechtfertigen und ist auch nicht Bestandteil der Spezifikation Ein Teil der Tasks wird ohne eine weitere Verarbeitung einfach auf eine neue Seite umgelenkt z B die Task A010 auf die Seite OueryLogin xm1 da entweder keine Verarbeitung n tig ist oder die Verarbeitung in der Maske bereits kodiert ist zum Beispiel eine Datenbankabfrage Bei anderen Tasks werden vor der Umlenkung bestimmte Eingabefelder vorbesetzt z B bei der Sammelanzeige aller Login Kennungen wird ein Sternchen vorbesetzt wenn keine Selektion getroffen wurde um alle Eintr ge anzuzeigen Und wiederum bei anderen Tasks werden erst weitere Methoden aufgerufen und eventuell aufgrund des Returncodes entschieden welche Seite als n chstes angezeigt werden soll z B wird nach dem Speichern von nderungen die Sammelanzeige angesteuert
32. dem Rechner des Benutzers er kann dann die gestellte Aufgabe l sen und das Applet bewertet hierbei die Eingaben Im Hinblick auf den Lerneffektes ist das nat rlich ein ganz erheblicher Vorteil da nicht einfach theoretische Fragen beantwortet werden m ssen sondern kon kret am praktischen Beispiel gelernt und getestet wird Ob dieser Vorteil jedoch die daraus entste henden Sicherheitsbedenken wettmachen kann bleibt dahingestellt Ein Applet sollte per Definition nur innerhalb der Browser Sandbox laufen und daher nat rlich keinen Zugriff auf Systemressour cen haben Das Teststation Applet nutzt hierbei die in Java 2 ab JDK1 1 neu eingef hrte M g lichkeit Applets die in signierten JAR Archiven gepackt sind Zugriffe auf Systemressourcen zu erm glichen siehe auch Kr ger 2000 Dem Anwender wird beim ersten Aufruf des Applets vom 5 Enlight Teststation Performer Version 2001 http www teststation nl de 27 Diplomarbeit Martin Blum Vergleichende Bewertung bestehender Softwareprodukte Browser die M glichkeit gegeben dem hinterlegten Schl sselzertifikat zu vertrauen und die ange forderten Operationen zuzulassen Vertraut der Anwender also diesem Softwarehaus so kann er die Vorteile dieser wirklich innovativen Idee nutzen Ein Autorentool ist vorhanden war aber nicht im Umfang der Demoversion enthalten Hierin wird der Lernstoff in Wissensgebiete und diese wie derum in einzelne Messpunkte unterteilt um mit dieser Struktur
33. des n chsten freien Threads aber synchronisiert erfolgt und innerhalb von doPost keine internen Variablen verwendet werden kann es hierbei nicht zu berschneidungen kommen F r die Auswahl des MasterThreads wird 10 mal versucht den n chsten freien Slot zu finden ansonsten wird ein Server overload Fehler ausgegeben da augenscheinlich die Anfrage des Clients nicht in akzeptabler Zeit beantwortet werden kann hier willk rlich mit einer halben Se kunde angenommen Innerhalb dieser Schleife werden alle Pl tze des Pools nach dem n chsten freien Thread abgesucht und dann die Verarbeitung an ihn bergeben Der ausgew hlte Master Worker reicht die Anforderung des Clients an die Verarbeitungsklasse weiter die sich um die Funktionalit t des Systems k mmert die Antwortfelder bereitstellt und dann die Verarbeitung wie 62 Diplomarbeit Martin Blum Implementierung der an den MasterWorker zur ckgibt Hier werden die Antwortfelder mit der XML Maske kombi niert und an den Client zur ckgesendet wie in Abbildung 3 XML Konverter dargestellt Auch das Speichern der Feldinhalte wird durch den MasterWorker erledigt um den Programmierer von der Servlet Syntax zu entbinden die ben tigt wird um Inhalte ber den Request Handler aus zulesen Die Werte werden dabei in einer Hash Tabelle abgelegt die der Session des Benutzers zugeordnet ist so dass das Servlet die Werte der Variablen pro Browser Instanz getrennt speichern kann Jeder Thre
34. ein Dieses System ist f r das benutzte Anwendungsbeispiel ausreichend obwohl von einer Testperson noch weitere M glichkeiten gew nscht wurden die L sungsmenge etwas umfangrei cher ablegen zu k nnen Die berpr fung der Eingabe gegen die L sung ist ein Durchgehen durch die beiden Listen wobei ein Schlagwort als erkannt gilt sowie eine der Alternativen in der Menge der Eingabew rter ge funden wurde Wird nur ein Teil der Schlagw rter in der Eingabe erkannt so wird eine prozentuale 75 Diplomarbeit Martin Blum Implementierung Bewertung zur ckgegeben Wird in der Eingabemenge eines der Negativw rter entdeckt gilt die Eingabe als vollst ndig falsch beantwortet 6 2 5 3 3 Statistische Daten zur Lernerbewertung Wie bereits im obigen Kapitel zu ersehen ist wird bereits bei der berpr fung der Aufgabe auch die prozentuale Bewertung dieser Aufgabenposition ermittelt ber die vom Autor festgelegte An zahl von Punkten f r diese Aufgabe und die Anzahl der angelegten Aufgabenpositionen kann die erreichte Punktzahl dieser Aufgabe ermittelt werden Diese Punktzahl wird nun in mehreren Da tenbanktabellen abgelegt um daraus ein Profil f r den Lerner erstellen zu k nnen Zum einen wird die Punktzahl innerhalb des Tests gespeichert um den Lerner direkt anzuzeigen wie seine einge gebene Antwort bewertet wurde Zum anderen wird der Punktestand f r alle versuchten L sungen dieser Aufgabennummer festgehalten um eine durc
35. einen Verweis auf die dazugeh rigen Metadaten DBResultSetMetaData das Daten wie die Spalten berschriften oder die Spaltentypen enth lt Durch den Verbindungsaufbau zur Datenbank wird vom DBClient auch ein DBDatabaseMetaData Objekt bereitgestellt ber das die Metainformationen der Datenbank abgefragt werden k nnen 5 2 5 Funktionalit t f r das Generieren und Auswerten von On line Pr fungen Der erste Schritt f r die Generierung von Tests ist das Erstellen der Aufgaben innerhalb des Auto rensystems Dazu muss zu einem Projekt mit den dazugeh rigen Parametern Themengebieten und Schwierigkeitsgraden ein Pool von Aufgaben angelegt werden Zu jeder Aufgabe aus diesem Pool geh ren wiederum Teilaufgaben und L sungspositionen die in die Datenbank erfasst werden m s sen Nach der Erfassung kann aus diesen Datens tzen dann eine HTML Datei erzeugt werden die aus folgenden Bestandteilen besteht 1 Aufgabenheader der die Navigation innerhalb des Tests erm glicht 49 Diplomarbeit Martin Blum L sungsans tze 2 Aufgabenbeschreibung 3 Zu jeder Teilaufgabe die gespeicherten Fragen und je nach Aufgabentyp die entspre chenden L sungselemente Bei einer Multiple Choice Aufgabe also eine Tabelle mit der entsprechenden Anzahl von Checkboxen oder bei einer Freitextaufgabe ein ausrei chend gro es Textarea Das Klassendesign von Aufgabe Positionen und L sungsmenge soll durch das folgende OOD Diagramm nach Booch 1994 vera
36. einer der 3 Varianten f llt sehr schwer da es in allen 3 M glichkeiten entschei dende Vorteile und gravierende Nachteile gibt Die beiden ersten Varianten unterscheiden sich mittlerweile nahezu nur noch durch die Installation Soll also eine Anwendung wiederholt immer auf dem gleichen Rechner laufen ist im Vergleich dieser beiden Varianten die erste vorzuziehen Im Vergleich zur dritten Variante unterscheiden sie sich durch die Abh ngigkeit von der Verarbei tungsgeschwindigkeit des Clients Des Weiteren ist ein Test ber Objekte die nur auf dem Client PC existieren z B ein Test innerhalb einer Office Applikation wie beim Produkt Teststation nur durch ein Applet zu realisieren Trotzdem erscheint die dritten Variante als die g nstigste da der Vorteil der besseren Wartbarkeit und der geringeren Fehleranf lligkeit als der entscheidende Fak tor ins Gewicht f llt Ebenso wird die Kommunikation von Applets durch firmeninterne Firewalls erschwert so dass das System universeller einsetzbar ist wenn es die Kommunikation zwischen Client und Server ber den Browser abwickelt Tests ber Elemente die nicht zum HTML Standard geh ren treten im untersuchten Fall Sportbootf hrerschein See relativ selten auf pro Fragebogen max einmal und k nnen dann ber die Appletschnittstelle realisiert werden Um diese Einsch tzung zu unterst tzen wurde innerhalb des Testkurses Sportbootf hrerschein See ein Fragebogen an die Teilnehmer ausg
37. en des Browsers eventuell nicht mehr erfolgt Das h tte den Verlust dieser Daten zur Folge Um dabei Redundanzen zu vermeiden bestehen eine Reihe von Abh ngigkeiten zwischen den ein zelnen Datenbanktabellen die mittels des folgenden UML Diagramms nach Oestereich 1998 veranschaulicht werden sollen 52 Klassifikationen History Projakt zuordnungen Lerner Foren eintrage Lernerstatistk Projekte Projektineman Aufgabe Testarten Test Fragebosgen Aufgaben pasitionen Schwiengkeits grade identifikstionen Teststatstik Legende Abbildung 7 Datenbankdesign hint _Korosition Teststruktur 0 Testeingaben 0 P Testpositionen 53 Diplomarbeit Martin Blum L sungsans tze System parameter Loasungs pasitionen yet Droplisten fist axistanzabhanaig von Der obere Teil des Diagramms enth lt alle Tabellen die f r die Verwaltung und Steuerung eines Lerners oder des Systems notwendig sind So zum Beispiel die Zuordnungen f r welche Projekte ein Lerner zugelassen ist seinen Namen und seine Klassifizierung sowie Informationen die f r die Abrechnung der genutzten Leistungen notwendig sind Im mittleren Teil finden sich alle Tabellen Diplomarbeit Martin Blum L sungsans tze die den Aufgabenpool darstellen Das sind die angelegten Projekte die Au
38. if end if end of loop next thread all slots full sleep and try again try Thread sleep 500 catch InterruptedException e end of loop try slots do some error handling send overload error messag return new Thread end of startThread Abbildung 36 Auswahl eines Verarbeitungsthreads aus dem Pool public void doPost HttpServletRequest reg HttpServletResponse res try get task number from client putValue task req getParameter task get the current userSession or create if necessary userSession req getSession true if userSession isNew login req store variables process event and branch to next location String newLocation processorClass processTask req getValue task create page out of file res setContentType text html res setHeader pragma no cache disable cache mix result with page deklaration HtmlPage page convertXML newLocation page setPrintWriter res getWriter page write send page to client catch Exception e error handling end of doPost Abbildung 37 Hauptroutine eines MasterThreads protected boolean putValue String varName String value if value null return putValues varName null String valueArray new String 1 valueArray 0 value return putValues varName valueArray end of putValue protected boolean putValues
39. jeder Zweig des Programms einmal durchlaufen wird Danach werden dann das Ausgabeverhalten und die Daten manipulation gegen ber den Spezifikationen gepr ft So kann jeder Sonderfall getestet und damit ein fehlerfreies System erstellt werden zumindest in der Theorie In der Praxis ist diese Art von Test jedoch mit dem Anspruch der Vollst ndigkeit kaum noch durchf hrbar da die Anzahl der zu testenden F lle mit der Gr e des Gesamtsystems exponentiell steigt Aber da f r die Kenntnisse der inneren Struktur des Systems auf jeden Fall die Programmierer am Testlauf beteiligt werden m ssen k nnen die Testf lle auf die entscheidenden und interessanten Verzweigungen be schr nkt werden Dadurch kann zwar nicht mehr eine vollst ndige Korrektheit gew hrleistet wer den es werden aber zumindest auch Fehler in Sonderf llen oder nicht so h ufig genutzten Routi nen entdeckt White Box Tests konnte ich nat rlich nur selbst ausf hren da ansonsten keiner die Spezifikatio nen und die interne Struktur des Systems kennt F r diese Art von Test ist allerdings auch kein Massentest erforderlich da es ja ausreicht wenn ein bestimmter Programmzweig einmalig auf Korrektheit gepr ft wurde 6 3 3 Topdown Bottomup Test hnlich der Topdown oder Bottomup Entwicklung von Softwaresystemen existieren auch ent sprechende Testverfahren Dabei wird w hrend der Implementierung bereits gepr ft ob Methoden und Module bereits das richtige Ergebnis liefe
40. llen ein Autorentool und h ufig kein integriertes Testtool geliefert wird Net Coach ist dabei in der Lage seine Tests sowohl in den Kurs als bung zu integrieren wie auch den Test als Abschlussbewertung an das Ende des Kurses zu stel len Als Aufgabentypen stehen hierbei Single und Multiple Choice Fragen L ckentexte oder Frei texte zur Verf gung wobei allerdings bei den Freitexten nur eine Musterl sung angezeigt wird und somit der Anwender selbst entscheiden muss ob seine eingegebene L sung richtig oder falsch ist F r einen registrierten Lerner wird w hrend der Nutzung ein Benutzermodell angelegt in dem ge speichert wird welche Seiten bereits besucht wurden welche Fragen beantwortet wurden und mit welchem Ergebnis Somit kann jeder Lerner frei im Kurs navigieren er kann nat rlich auch dem vorgeschlagenen Weg folgen und ber das Benutzermodell seinen aktuellen Wissensstand ber pr fen Nachteilig erscheint in diesem Produkt dass sich das Design der Tests nicht anpassen l sst und sich somit vom Aussehen einer realen Pr fung unterscheiden wird Au erdem ist jeder Test in einen Kurs integriert und somit nicht direkt als Pr fung zu verwenden Ist bereits eine Lernplatt form vorhanden lassen sich deren Funktionen nicht mehr ohne weiteres benutzen da Net Coach hier ja eigene Funktionen anbietet Was den Lerneffekt angeht ist dieses System jedoch sehr be eindruckend und vereint nahezu s mtliche Anforderungen an eine Online Ler
41. m glich sind wenn entweder direkt der HTML Code in die Formularfelder eingetragen wird oder die er stellte Aufgabe mit einem beliebigen XHTML Editor nachbearbeitet wird Durch die M glichkeit der Nachbearbeitung ist das System offen genug um die Forderung als erf llt anzusehen Verbes serungen des Konzeptes sind aber m glich und werden in Kapitel 8 3 Ausblick und Verbesserun gen noch einmal n her behandelt Die Methodik der Generierung von Fragedokumenten folgt dabei folgendem Schema Datenspeicher Template Dokument Question Frage Generator Dokumente Question Objekt aus Datenbank HTML Page Wrapper Abbildung 25 Generieren von HTML Dokumenten In den Ausgabestrom der angeforderten Aufgabe wird zuerst das hinterlegte Template eingef gt das die Definitionen zur Optik und f r die Navigation enth lt Dann werden alle Datenbankinfor 71 Diplomarbeit Martin Blum Implementierung mationen gelesen und je nach hinterlegtem Aufgabentyp der entsprechende HTML Code ber die Wrapper Klasse erzeugt es wird also beim Aufgabentyp textarea der HTML Code lt textarea rows x cols y gt lt textarea gt eingef gt Der erzeugte Dokumentenname wird in die Datenbanktabelle der Aufgabe eingetragen damit beim Ablauf eines Tests darauf zu gegriffen werden kann 6 2 5 3 Der Ablauf eines Tests bzw einer Pr fung Der Ablauf eines Tests bzw einer Pr fung folgt immer dem gleichen Schema Zu Beginn wird
42. relativ leicht in einer sp teren Version der Software bessere Eingabe masken bereitzustellen so dass dieser Nachteil wieder aufgehoben w re F r die Auswertung der Freitextaufgaben wurde dieses Konzept noch etwas verfeinert und festge legt dass zu jeder Frage eine Reihe von Schlagw rtern in der Antwort erscheinen m ssen Diese Liste von Schlagw rtern die dann jeweils wieder verschiedene Alternativen haben k nnen wird ebenso in ein reines Textfeld erfasst und durch ein Sonderzeichen getrennt Jetzt muss noch ver hindert werden dass ein Anwender einfach alle denkbaren Schlagworte eingibt und somit die L sung doch nur err t Dazu wird ein drittes Sonderzeichen eingef hrt das eine Liste von Negativ W rtern trennt ber diese Mechanismen ist es nun m glich die Eingabe des Anwenders auf Rich tigkeit zu berpr fen und ein prozentuales Ergebnis bezogen auf die in der Aufgabe festgelegte Punktzahl zu ermitteln Dieses Ergebnis wird in einer Datenbanktabelle abgelegt und dient dann sp ter der Ermittlung der erreichten Gesamtpunktzahl Die Aufgaben des Aufgabenpools werden den entsprechenden Frageb gen zugeordnet damit bei einer Pr fung oder bei einem Test nach Fragebogen die korrekte Reihenfolge angeboten werden kann Grunds tzlich wird vor Ausf hrung eines Testlaufs entschieden ob es sich um einen Test oder um eine Pr fung handeln soll Dabei unterscheidet sich der Ablauf in einigen Punkten Der entscheidende Unterschied ist
43. sich mehr Komfort beim Einspielen externer Materialien Bilder Multimedia Elemente etc gew nscht a Nein der FTP Zugang zum Server war ausreichend b Ja als Autor m chte ich mich nicht mit den Details eines FTP Zugangs auseinander setzen Verbesserungsvorschl ge 5 Wie beurteilen Sie die Anpassung der generierten Frageb gen a im allgemeinen nicht n tig aber wenn doch relativ einfach b aufwendig aber praktikabel wenn Grundwissen in HTML vorhanden ist c zu aufwendig und verbesserungsf hig Verbesserungsvorschl ge 6 War die Anzahl der verf gbaren Aufgabentypen ausreichend a Ja b Nein ich h tte mir noch weitere gew nscht Verbesserungsvorschl ge 7 Wie beurteilen Sie die Import bzw Export der Daten aus bzw in Fremdsysteme Hilfreich da bereits erstellte Kurse auf diese Art schnell in das System integriert wer den k nnen z B Kauf vorgefertigter Kurse oder Offline Arbeit an externen Compu tern Nur f r Datensicherung relevant unrelevant Auswertung des Fragebogens Nr E 98 99 Diplomarbeit Martin Blum Frageb gen Diplomarbeit Martin Blum vollstandige DTD Anhang C DTD f r die Maskendefinition Dies ist die vollst ndige DTD f r die Maskendefinitionen lt ELEMENT GAONINPUT PCDATA VARIABLE CHECKED gt lt ATTLIST GAONINPUT Sattrs type InputType text na
44. somit deutlich schneller als das Multitasking ber neu erzeugte Prozesse Die XML Version von HTML Extensible Markup Language Metasprache um Grammatiken von Beschreibungs sprachen zu definieren 124
45. wenn bei der Eingabe oder beim Speichern der Daten kein Fehler festgestellt wurde Ansonsten wird die Maske mit Hinweis auf den Fehler erneut ange zeigt Der Source Code f r das Einlesen der Maske und das Anlegen eines neuen Benutzers mit den an gegebenen Werten wird in Anhang E 5 Verarbeitung der Benutzereingaben exemplarisch f r die Maskeninhalte aller verschiedenen Tasks aufgef hrt Eine kleine Erweiterung des Feinkonzeptes soll an dieser Stelle noch erw hnt werden W hrend der Softwareentwicklung war es h ufiger n tig die Datenbankinhalte und das Datenbankdesign manu ell zu manipulieren da durch fehlerhafte Programmmodule inkonsistente Datenbest nde erzeugt wurden oder sich noch nachtr gliche nderungen am Datenbankdesign ergeben haben Um zu vermeiden dass daf r jede nderung ein pers nliches Erscheinen am Datenbank Rechner erforder lich ist ist der Bereich Systemverwaltung um eine Online SQL Schnittstelle zur Datenbank erwei tert worden Diese Schnittstelle erm glicht nach einer weiteren Authentifizierung gegen ber der Datenbank das Absetzen eines beliebigen SQL Kommandos an jedem Client Rechner Die Ant worten aus der Datenbank werden dabei generisch als HTML Tabelle zur ckgeliefert Somit ist es m glich sich Informationen ber Feldnamen Tabelleneigenschaften oder Datenbankinhalte zu beschaffen und diese zu manipulieren Die Zugriffe auf die Datenbank werden dabei wiederum ber die Datenbankschnittstelle abgewicke
46. xml version 1 0 encoding ISO 8859 1 standalone yes gt lt DOCTYPE GaonExport lt ELEMENT GaonExport Query gt lt ATTLIST GaonExport name CDATA REQUIRED gt lt ELEMENT Query PCDATA gt 12 lt GaonExport name Billing gt lt Query gt lt CDATA select userId LoginDate LogoutDate from History where LoginDate gt 2001 09 01 and LoginDate lt 2001 10 01 gt lt Query gt lt GaonExport gt Abbildung 29 Gaon Export Anfrage mit dazugeh riger DTD So kann die Anfrage auf entsprechende G ltigkeit berpr ft werden da ber die interne DTD fest gelegt ist dass jede Export Anfrage einen Namen und genau eine Query Anweisung haben muss Die G ltigkeit der Query Anweisung wird allerdings nicht weiter berpr ft da daf r der gesamte ANSI SQL Standard als DTD definiert werden m sste Eine exemplarische Antwort aus dem Datenbanksystem k nnte so aussehen lt xml version 1 0 encoding ISO 8859 1 standalone yes gt lt DOCTYPE Billing lt ELEMENT Billing Data Exception gt lt ELEMENT Data Lerner LoginDate LogoutDate gt lt ELEMENT Lerner PCDATA gt lt ELEMENT LoginDate PCDATA gt lt ELEMENT LogoutDate PCDATA gt lt ELEMENT Exception PCDATA gt lt ATTLIST Exception Name CDATA REQUIRED gt gt
47. 0 Benutzerkennung des Lerners CHAR 50 zugeordnetes Projekt oo yaw DATETIME Zuordnung ist g ltig von Bis DATETIME Zuordnung verfallt nach dem Tutor sd CHAR 50 Benutzerkennung des zugeordneten Tutors Fragebogen INT Fragebogennummer wenn Benutzer nur einen bestimmten Fragebogen zugelassen ist 106 Diplomarbeit Martin Blum Datenbankdesign Tabelle Schwierigkeitsgrade Key Feldname Felddatentyp Beschreibung Schwierigkeitsgrad Schliissel fiir Schwierigkeitsgrad Beschreibung CHAR 50 Beschreibung Tabelle Systemparameter Key Feldname Felddatentyp Beschreibung CHARO Schl ssel Gaon Kennwortt ss CHAR 30 Kennwort fiir root Kennung Tabelle Testarten Key Feldname Felddatentyp Beschreibung CHARCSO Testar Beschreibung CHAR 50 Beschreibung der Testart Tabelle Testeingaben Key Feldname Felddatentyp Beschreibung Wen LONGBLOB Wen der Fingabevariablen SS Tabelle Testidentifikationen Key Feldname Felddatentyp Beschreibung ao ja _ Schluessel Pruefungsmodus TINYINT Test im Pr fungsmodus JafNein Ende DATETIME Endedanm Zi SSS aufgaben Versuche Nr Anzahl von L sungsversuchen Punk 1 Punk eGesami 7 Bestanden Ergebnis Ergebnis wich Ergebnis wih 7 SachbewertuneDatum DATETIME tutorielle Nachbewertung Datum Zen 7 RachbewertungTutor CHAR S0 _ terner Kennung des Tuos 107 Diplomarbeit Martin Blum Datenbankdesign
48. 1 Diese unterschiedlichen Arten des Wissenstests k nnen sein e Diagnosetest Eingangstest e Verifizierungstest berpr fung der Schulungsmethode e F higkeitstest berpr fung der Lernentwicklung und des Lernerfolgs e Zertifikatspr fung e Einstellungstest e Assessmenttest Uber einen Diagnosetest sollen eigene Schwachstellen und Wissensliicken erkannt werden diese dann ber Schulungen und Verifizierungstests beseitigt und dann mittels eines F higkeitstest der Lernerfolg berpr ft werden Im Anschluss daran kann dann eine Pr fung zum Erwerb eines Zerti fikats abgelegt werden Eine Testsoftware kann nat rlich auch ber eine reine Lernumgebung hinaus benutzt werden um beispielsweise die F higkeiten von Bewerbern einzuordnen Das Testergebnis selber ist in diesem Fall dabei nicht entscheidend sondern eher die Sortierung der Testkandidaten hinsichtlich gewisser Pr ferenzen Assessmenttests werden als ein Hilfsmittel verwendet um Kosten f r Aufgaben oder Stellenbereiche zu analysieren und festzusetzen 2 3 Warum hat sich das Lernen ber Online Tests bis jetzt noch nicht durchgesetzt Dass Computer zur Vermittlung von Wissen eindeutige Vorteile besitzen ist unbestritten So wird laut dem Bericht der Europ ischen Kommission Eurostat f r das Jahr 1999 2000 von s mtlichen europ ischen Staaten der Einsatz und die Nutzung von Informations und Kommunikationstechno logien gef rdert und teilweise sogar verpflichtend im Lehrpl
49. 115 Diplomarbeit Martin Blum Source Code ausgewahlter Funktionen else if task equals AO15 if deleteLogin newLocation ResultLoginMultiple xml else newLocation ResultLoginSingle xml A016 new Login send empty mask else if task equals A0O16 master putValue newUser Klasse Lerner master putValue newUser Bild images logo_vhs_hb jpg newLocation NewLogin xml Abbildung 43 Verkn pfung zwischen Men system Task und Funktionalit t insert record into database login table private boolean insertLogin String message get input fields from client and store it storeField user Lerner storeField user Vorname s s s toreField user Nachname toreField user Klasse toreField user Bild check input fields if master getValue user Lerner equals messaget lt li gt rb getString ERROO03 lt li gt user id empty else try A DBResultSet rs dbClient executeQuery select Lerner from Lerner where Lerner master getValue user Lerner if rs null amp amp rs next message t lt li gt rb getString ERROO11 lt li gt user id duplicate catch Exception e dbg e end if if master getValue user Nachname equals message lt li gt rb getString ERROO04 lt li gt user name empty end if build and exe
50. 2 4 Kommunikation zur Datenbank Die zentrale Klasse DBClient enth lt dabei die entsprechenden Methoden als Schnittstelle zum Programmierer Sie liefert dabei die Ele mente oder Vektoren mit den Elementen DBResultSet DBResultSetMetaData und DBDatabaseMetaData an die aufrufenden Methoden zur ck aus denen dann die Daten wieder extrahiert werden k nnen Eine Klasse dbServer kann anstelle eines Netzwerktreibers die Kom munikationsmechanismen zum Client bereitstellen z B bei der Benutzung einer ODBC Datenbank ist aber in dieser Diplomarbeit nicht bis ins Detail ausprogrammiert insbesondere fehlen hier noch Sicherheits berlegungen Da allerdings eine MySQL Datenbank im realen Ein satz ist die ber einen nativen netzwerkf higen Treiber angesprochen wird besteht in meinem konkreten Beispiel dazu auch keine Notwendigkeit Hilfreich ist jedoch auf jeden Fall die Zentrali sierung der JDBC Aufrufe in wenige Methoden separater Klassen so dass bei fehlerhaftem Ver halten leicht Debug Punkte aufgenommen werden k nnen und die Fehlersuche somit vereinfacht wird Zwei Anwendungsbeispiele sollen hier die gew hlte Implementierung verdeutlichen Zum einen soll der Verbindungsaufbau zur Datenbank ber den Methodenaufruf dbClient connectDB dbName dbDriver dbUser dbPassword erfolgen bei dem insbesondere der Parameter dbDriver nicht versorgt zu werden braucht wenn der hinterlegte Standardtreiber benutzt werden soll Der Verbin
51. Alone 6 0 6 Antwortzeitverhalten sehr gut 1 0 1 Autorentool verf gbar nein jeder Kurs muss f r jeden 0 6 Rechner neu vom Verlag ge kauft werden Bedienungskomfort sehr gut durch grafische Ober fl che verf gbare Aufgabentypen Freitexteingabe Multiple Choice L ckentext interaktive Abl ufe System l uft nur auf dem Betriebssys Browsereinschr nkungen tem Rechnertyp f r den die Software gekauft wurde Endergebnis Delius amp Klasing CBT zum Sportbootf hrerschein See DK Softmedia 2001 http www deliusklasing de 23 Diplomarbeit Martin Blum Vergleichende Bewertung bestehender Softwareprodukte 3 2 2 Idea 3 0 von Link amp Link Idea 3 0 ist ein Autorensystem das in seiner Funktionalit t stark an einen Wysiwyg Gui Builder erinnert Hier liegt der gro e Vorteil dieses Systems das durch seine intuitive Bedienung auch von Laien schnell zu erlernen ist Neben der Gestaltung einer Lernseite begrenzt auf eine Bildschirm seite zur Wissensrepr sentation bietet Idea noch die M glichkeit einer Lernkontrolle und einer Ergebnisprotokollierung Bei der Lernkontrolle werden bungen kreiert die der Lernende l sen muss und f r die er Punkte erh lt Das k nnen beispielsweise Multiple oder Single Choice Aufgaben sein genauso wie Zuordnungsaufgaben oder reine Texteingaben Es besteht die M g lichkeit beliebige Elemente einzubringen die ber eine Script Sprache abgefragt werden k nnen Bei der Ergebn
52. Beschreibung evo CHAR 55 __ Tent vor Eingabefeld SSS Wen LONGBLOB Wert des Elements o 7 boesund LONGBILOB L sung dieser Posion SSS C Tenan CHAROS5 Tent nach Eingabefeld 105 Diplomarbeit Martin Blum Datenbankdesign Tabelle Messageboard Key Feldname Felddatentyp Beschreibung Datum DATETIME Datum und Uhrzeit des Einiags emer CHAR S0 Login Kennung des Eintragenden Same CHAR S0 Name des Finiragenden SSS mail CHAR S0 E Mail Adresse des Einiragenden f cHarassy Unt einer Homepage SSS Nacin LONGBLOB Nachricht auf dem Board kommemar LONGBLOB Kommentar des Moderators zu dieser Nachricht Ho CHAROS Hostname des Chiens fe HAR SO IP Adresse des Clients Tabelle Projekte Key Feldname Felddatentyp Beschreibung Projekte CHARS eO 7 Projekibeschreibung _ LONGBLOB Beschreibung Ti file _ ____ CHARBSS Link f reine enweitene Hilfe 7 Fragenanzall INT Anzahl Fragen eines Testdurchlaufs 7 Wissensbereich _ CHARBSS Wissensberein SOS C Veson CHARSO Versionsnummer Ti DaumAcndenmg DATETIME Datum der letzten ndermg 7 BenuzerAcnderong CHARGO Benutzerld der letzten Anderang Tabelle Projektthemen Key Feldname Felddatentyp Beschreibung CHARO _ Projektkennung Themengebiet Themenkennung Themenbeschreibung CHAR 50 Beschreibung des Themengebiets Tabelle Projektzuordnungen Key Feldname Felddatentyp Beschreibung CHAR 5
53. CKED varl resultVar2 cond eq gt lt VARIABLE name resultVar3 gt lt GAONINPUT gt gt lt VARIABLE name resultVar1 gt Abbildung 16 Erweiterungen f r die GAON Funktionalit t Bei einem Teil der Erweiterungen reichte es aus neue Tags zu definieren z B die Abfrage einer Datenbank ber das Schl sselwort QUERY Allerdings ist es f r g ltigen HTML Syntax not wendig bestimmte Attribute innerhalb eines Tags zu benutzen z B CHECKED bei Checkboxen und SELECTED bei Auswahllisten Da diese Schl sselw rter jedoch als Attribute innerhalb des dazugeh rigen HTML Tags erscheinen m ssen kam ich nicht umhin auch in den regul ren Syntax von HTML einzugreifen Dabei musste ich aus Gr nden der Verschachtelungsm glichkeit neue Tags definieren die dann zu den bestehenden Tags mit gesonderten Attributen umkodiert werden So soll beispielsweise das Attribut CHECKED bei dem Tag lt INPUT type checkbox gt eingef gt werden wenn eine angegebene Bedingung erf llt ist f r die der Inhalt einer Variablen ausgewertet werden muss Da es aber in XML ebenso wie in HTML nicht zul ssig ist innerhalb eines Tags ein weiteres Tag anzugeben muss der Umweg ber ein neues Tag benutzt werden Die gesamte DTD ist dieser Arbeit als Anhang C DTD f r die Maskendefinition beigef gt an dieser Stelle sollen nur kurz zwei Beispiele dargestellt werden lt VARIABLE name message gt liefert den Var
54. DTD f r die Maskendefiniti on Aus Performance Gr nden ist in die Implementierung ebenfalls die schnellere Auswertung durch Skriptelemente aufgenommen worden wie sie in Kapitel 5 2 3 als Server Side Include beschrieben worden ist Da hier bei der Auswertung kein DOM aufgebaut wird l uft sie etwa 3 bis 5 mal schneller 140 ms gegen ber 600 ms Wird im XML Parser noch zus tzlich das Feature zum Va lidieren des Dokumentes angesetzt verl ngert sich die durchschnittliche Verarbeitungszeit noch mals um das 2 3 fache von 600 ms auf 1210 ms Teilweise hat sie sogar aus unbekannten Gr nden bis zu 8800 ms gedauert Der Programmierer der Maskendefinitionsdatei kann selbst entscheiden ob er auf die Vorteile der besseren Wartbarkeit und erh hten Funktionalit t verzichten bis die Entwicklung im Bereich XML Parser neuere und insbesondere schnellere Generationen hervorbringt 66 Diplomarbeit Martin Blum Implementierung 6 2 4 Kommunikation zur Datenbank Die Datenbankschnittstelle soll dem Programmierer den Verbindungsaufbau zur Datenbank mit dem dazugeh rigen Laden der entsprechenden Treiber erleichtern das Lesen aller Ergebnis Elemente einer Abfrage in einen Vektor erm glichen sowie ihn von allen unn tigen Instruktionen des JDBC befreien die nicht direkt mit der Manipulation der Daten zu tun haben Dazu sind meh rere neue Klassen n tig die die bestehenden Klassen des JDBC ummanteln zum Klassendesign siehe auch Kapitel 5
55. Date DATETIME _ Datum Zeit der Anmeldung C bogouDae DATETIME Datum Zeit der Abmeldung 1 Countero Couer Commer Couer Counter C Counen Tabelle Klassifikationen Key Feldname Felddatentyp Beschreibung Sortierung f r hierarchischen Zugriff Klassifikation CHAR 50 Name der Klassifikation evel RO 3 steliges K rzel Kommentar CHAROS 104 Diplomarbeit Martin Blum Datenbankdesign Tabelle Lerner Key Feldname Felddatentyp Beschreibung Vomm CHAR S0 Vorname des Lemes Nachname CHARCO Nachname des Lemen SSS Amede CHARISO Anrede Her EraufProf Dr ei OO C Kennwort CHARG0 Kennwort f r Kennung main char Eaire TI 7 Gebursjahr INT Gebursjahrdesielig wird noch michtbenuz von DATETIME Kennung ist gig von es DATETIME Kennung is gilt bis SSS Klasse CHAR 50 Berechtigungsebene des Anwenders Administrator Autor Lerner Pr fling Ba O CHAR 150 lokale Adresse einer Bilddatei Tabelle Lernerstatistik Key Feldname Felddatentyp Beschreibung CHAR 50 Benutzerkennung des Lerners CHARGO Projektkennung ja an CAROD Testart siehe Tabelle Testarten Schluessel Fragennummer Fragebogen Themengebiet Schwierig keit Aufgaben Versuche Punks im erreichte Punktzahl Summe Punktem Ergebnis ErecbnisWiahi INT Breite des Ergebnisbatkens ich Ergebnis wid h2 Tabelle Loesungspositionen Key Feldname Felddatentyp
56. Datenansicht in Stylesheets verfasst die dann mit dem XML Dokument verkn pft werden k nnen Durch diese Abstraktion k nnen Daten leicht in ver schiedenen Darstellungen pr sentiert werden c XML erlaubt ein regelgebundenes Markup so dass Computersysteme die Integrit t von Dokumenten berpr fen k nnen Diese Regeln und die Struktur des Dokumentes werden in einer sogenannten Dokumententyp Definition DTD hinterlegt und k nnen dann von Par sern berpr ft werden Diese Parser m ssen nicht selbst programmiert werden da die XML Dokumente zwar individuell verfasst werden sie aber auf einem Regelwerk beruhen das durch die Vorgaben des W3C Konsortiums wohldefiniert ist Mittlerweile existieren solche Parser frei verf gbar auf verschiedenen Plattformen und in verschiedenen Pro grammiersprachen so dass an dieser Stelle Kosten und Entwicklungszeit eingespart wer den kann Doch XML hat nicht nur Vorteile es muss auch der entsprechende Overhead betrachtet wer den durch den die oben genannten Vorteile erm glicht werden So muss a zu jedem Dokument immer auch die Dokumenttyp Definition bertragen werden was na t rlich h here bertragungskosten und eine l ngere bertragungsdauer nach sich zieht b Das ASCII Format ist nicht sehr effizient in seiner Darstellung da nur ein Teil der 256 M glichkeiten eines Bytes ausgenutzt werden Zahlen werden nicht bin r gepackt genauso wie Texte mit h ufig wiederholenden Zeichen nicht komp
57. Diplomarbeit Martin Blum Generierung und Auswertung von Online Pr fungsb gen UNIVERSITAT UNIVERSIT T BREMEN BREMEN Fachbereich 3 Studiengang Informatik Diplomarbeit Entwicklung einer Client Server Anwendung zur Generierung und Auswertung von Online Pr fungsb gen Autor Martin Blum Mat Nr 1043820 blum tzi de GUTACHTER Prof Dr Herbert Kubicek Dr Berthold Hoffmann Diplomarbeit Martin Blum Generierung und Auswertung von Online Pr fungsb gen Diplomarbeit Martin Blum Generierung und Auswertung von Online Pr fungsb gen ERKL RUNG Ich versichere die Diplomarbeit ohne fremde Hilfe angefertigt zu haben Ich habe keine anderen als die angegebenen Quellen und Hilfsmittel benutzt Alle Stellen die w rtlich oder sinngem aus Ver ffentlichungen entnommen sind sind als solche gekennzeichnet Bremen den 20 Dezember 2001 Diplomarbeit Martin Blum Generierung und Auswertung von Online Pr fungsb gen Kapitel 1 1 1 1 2 Kapitel 2 2 1 2 2 2 3 2 4 2 5 2 6 Kapitel 3 3 1 3 2 3 2 1 3 2 2 3 2 3 3 2 4 3 2 5 3 2 6 3 3 Kapitel 4 4 1 4 2 4 2 1 4 2 2 4 2 3 4 2 4 Diplomarbeit Martin Blum Inhaltsverzeichnis Inhaltsverzeichnis Einleit ng s sccciccscssesesssecstecssssvseesevestssessensvavevestecsrsensvasevescessssenseasesescsssssenseenevestsssssees ences 11 Ziel der Arbeit cogs saadsessdean seeSdeedssccauseaedatesdsesaceae EEEE CEN EEEE 11 Kapitel bersicht uur2 se sr DD Euler 12
58. Ergebnis angezeigt Au erdem sind noch Buttons n tig um einen Test vorzeitig zu beenden ohne dass alle Aufgaben beantwortet sein m ssen und einen Button um die gegebene Antwort wieder zu l schen Ein Hilfe Button kann innerhalb des Tests das entsprechende Kapitel des Online Kurses aufschlagen Au erdem ist eine Anzeige erforderlich welche Aufgabe von wie vielen gerade bearbeitet wird Im Unterschied zu einem Test wird bei einer Pr fung nicht schon nach jeder Aufgabe die Bewer tung der Antwort angezeigt sondern erst am Ende der Pr fung nachdem sie durch einen Tutor nachkontrolliert wurde Dem Tutor wird in diesem Fall zwar bereits der L sungsvorschlag ange zeigt er hat aber die M glichkeit diese mit seiner eigenen Bewertung zu berschreiben Durch dieses System werden die Schw chen der Freitext Auswertung ausgeglichen Au erdem erh ht sich die Akzeptanz des Ergebnisses da nicht der doofe Computer ber mich als Mensch ur teilt sondern eben ein zweiter Mensch Au erdem ist die Hilfe Funktion w hrend einer Pr fung deaktiviert da nat rlich nicht geschum melt werden soll Das ist aber verst ndlicherweise noch kein ausreichender Schutz gegen Betrug da ein Online Kurs trotzdem parallel in einer zweiten Browser Instanz aufgerufen werden kann Hier ist dann w hrend einer Pr fung wiederum der Tutor gefordert der auch bei einer realen Pr fung darauf achten muss dass T uschungsversuche erkannt werden Aber auch technische
59. Frame public int getNumberOfPositions public String getValue int pos public void setValue int pos String value public void setChange boolean change end of interface Abbildung 12 Interface der Appletschnittstelle ber die Funktion getNumberOfPositions wird abgefragt wie viele L sungspositionen das Applet liefern wird getValue liest den Wert einer speziellen L sungsposition setValue setzt den Wert dieser L sungsposition f r die R ck bertragung n tig und setChange legt fest ob noch nderungen am Ergebnis vorgenommen werden d rfen 59 Diplomarbeit Martin Blum Implementierung Uber die Objekthierarchie von Javascript kann auf jedes Applet eines Dokumentes zugegriffen werden fiir den Source Code siehe auch Anhang E 1 Appletschnittstelle Die Methoden des Applets werden dadurch wie Methoden eines normalen Javascript Objekts benutzbar nat rlich nur wenn sie als public definiert sind Als kleiner Kunstgriff ist es aber n tig die Variablen des Applets im Formular nach einem vorgegebenen Schema zu benennen um sie automatisiert abfragen und ver ndern zu k nnen bei mir hei en die Appletvariablen alle applet IVarN wobei I die Nummer des Applets ist und N die Nummer der Variablen dieses Applets Ohne diesen Kunstgriff lie e sich im Script nicht entscheiden ob es sich um ein regul res Eingabefeld oder um eine Appletvariable handelt Da jede Aufgabe aber automatisch durch das Autorentool erzeug
60. Kapitel 2 Grundlagen Bevor ich mit den Anforderungen an die Software beginne m chte ich noch kurz einige Vor ber legungen anstellen die den Zugang zum Thema Online Lernen und Online Pr fungen erleichtern sollen Gerade sie decken auf warum der Bedarf solcher L sungen erst heute eine immense Steige rung erf hrt 2 1 Grundlagen zur Lerntheorie Zur Theorie des Lernens am Computer existieren mehrere didaktische Modelle von denen ich hier die wesentlichen nach Baumgartner 1994a kurz anrei en m chte Diese didaktischen Modelle sollen verdeutlichen auf welche Weise an die Erzeugung von Wissen beim Lernenden herangegan gen werden kann und wie sich daraus ein entsprechender Lernprozess ableitet Grunds tzlich un terscheiden sich die Modelle im wesentlichen durch den Freiheitsgrad der dem Lernenden gegeben wird d h wie viel er auf seinem Weg selbst bestimmen darf und wie viel ihm durch eine berge ordnete Stelle vorgeschrieben wird Erh lt er die Lehrmaterialien z B bereits vorstrukturiert oder kann er sich aus einer F lle von Materialien die f r ihn interessantesten selbst ausw hlen Da sich die Modelle grundlegend in der Art unterscheiden wie sie beim Lernenden das Wissen erzeugen ist auch die jeweilige Art unterschiedlich wie das Verst ndnis des Lehrstoffes bei ihm berpr ft wird Behaviorismus Etwa 1920 begann die Bl tezeit des Behaviorismus Flechsig 1996 Behavioristen betrachten das Denken bzw das menschlic
61. L und FSCommand Ans tze in diese Richtung vorweisen aber noch nicht dazu in der Lage sind siehe dazu auch Franklin 2001 Das Layout der Frageb gen muss dabei dem Originallayout m glichst hnlich sein Sicherheits berlegungen m ssen ebenso in die Entwicklung einflie en wie die Qualit tsanforderungen Korrektheit Zuverl ssigkeit Benutzer freundlichkeit Wartungsfreundlichkeit Effizienz und Portabilit t Aktuelle Standards wie z B XML m ssen daher in das Produkt integriert werden 33 Diplomarbeit Martin Blum Systemanforderungen 4 2 1 Korrektheit Die Anforderung Korrektheit entspringt dem Wunsch Fehler in einer Software zu vermeiden bzw sie zu erkennen und zu beseitigen Ein Fehler definiert sich durch eine Abweichung zwischen Spe zifikation und der tats chlichen Eigenschaft des Programmsystems Korrektheit kann gew hrleistet werden durch eindeutige Spezifikationen sowie durch Testverfahren wie Top Down Test Bot tom Up Test Black Box Test oder White Box Test Im Bereich Testautomatisierung sind mittlerweile in der Forschung Fortschritte erzielt worden die eine automatische berpr fung eines Programms gegen die Spezifikationen ber eine gemeinsame Meta Sprache CSP erm glichen Um dieser Anforderung zu gen gen haben sich die unter Kapitel 6 3 dokumentierten Testl ufe an die Softwareentwicklung angeschlossen In diesem Kapitel werden dabei auch die angewendeten Testverfahren n her er
62. SSL ist auf der Client Seite nichts zu tun nur das Zertifikat muss vor Beginn der Sitzung angenommen werden da bereits beim Start durch eine Adresse die mit dem Protokoll https beginnt gew hrleistet ist dass das Protokoll SSL aktiviert ist Auf der Server Seite muss mittels einer geeigneten Certification Authority ein Schl sselpaar hinterlegt werden Dieses zeigt dem Client an dass der Server tats chlich derjenige ist f r den er sich aus gibt und dient dann als Grundlage f r die Verschl sselung des Nachrichtenaustauschs zwischen Client und Server F r diese Aufgabe existieren eine Reihe von Trust Centern die solche Schl s selpaare kostenpflichtig erstellen ebenso wie es einige Softwarepakete gibt die diese Aufgabe kostenlos bernehmen allerdings dabei nicht die Vertrauensw rdigkeit eines anerkannten Trust Centers bieten 6 2 2 Kommunikation zwischen Servlet und Client Die Kommunikation zwischen dem Client und dem Servlet geschieht ber die Methode doPost oder doGet die vom Servlet Code berschrieben werden Dabei muss das Servlet von der Klasse HttpServlet erben um die entsprechende Basisfunktionalit t bereitgestellt zu bekommen An diese beiden Methoden werden zwei Handler bergeben ber die Daten vom Client gelesen und an den Client gesendet werden k nnen Jeder GET eines Clients wird umgeleitet auf POST da das Servlet nicht unterscheiden muss wel che der beiden Funktionen aufgerufen wurde Wenn das Servlet
63. ad kann nicht vor Beendigung durch eine neue Anforderung unterbrochen werden daher kann ohne Probleme am Anfang der Verarbeitung die Session dieser Instanz geladen werden ber die Methode req getSession Jedes Ablegen eines Inhaltes geschieht ber eine der drei put Methoden Da im Allgemeinen eine Zuordnung Schl ssel Wert besteht legt die Methode putValue ein String Objekt zu einem Schl ssel ab Die Variablen einer Webseite werden dabei jedoch immer als Array von Strings gesendet da ein Name innerhalb eines Formulars mehr fach auftreten darf Das zweite Auftreten wird dann im n chsten Feld des Arrays abgelegt Metho de putValues Da es allerdings auch n tig war beliebige Objekte zwischenzuspeichern z B ein Stack oder eine weitere Hash Table ist noch eine entsprechende dritte Methode hinzugekom men Methode putObject Der Source Code findet sich in Anhang E 2 Das Lesen aus der UserSession geschieht auf eine ganz hnliche Weise ber drei m gliche Metho den je nachdem ob der Programmierer gerade genau einen Wert als String mehrere Werte als String Array oder beliebige Objekte zwischengespeichert hat und nun wieder benutzen m chte Das Aufbereiten der Antwort an den Client ist sehr eng an die Maskendefinition ber XML gekop pelt und wird im n chsten Abschnitt erl utert 6 2 3 Definition der Masken ber XML Einer der gro en Punkte dieser Diplomarbeit war die Definition der Ein und Ausgabemasken des Syste
64. alten als gut e F r die Erfassung der Aufgaben ist Grundwissen in HTML hilfreich die eingesetzte L sung ist aber praktikabel Die Nachbearbeitung der generierten Fragen ist nur mit Grundwissen in HTML m glich e Als Verbesserung der Software sollte eine FTP Schnittstelle das Hochladen der Aufgabenma terialien vereinfachen e Die Anzahl der verf gbaren Aufgabentypen war durch die parametrisierbare Applet Schnittstelle ausreichend e Der Import und Export von Daten des Systems verringert die Entwicklungszeit von Onlinekur sen da die Daten aus Fremdsystemen bernommen werden k nnen Ebenso ist durch diese Schnittstelle ein verteiltes Arbeiten innerhalb der Gruppe m glich da ber die Import Funktion die Datenbest nde zusammengemischt werden k nnen 7 3 Interviews Die gef hrten Interviews und Diskussionen ergaben ein hnliches Bild wie die Auswertung der Frageb gen hier ergaben sich noch einige Anregungen und Verbesserungsvorschl ge die sich im n chsten Kapitel wiederfinden Insgesamt konnte ich feststellen dass viele Kursteilnehmer erst einmal offen neuen M glichkeiten gegen berstehen jedoch die Benutzung und die daraus resultie rende Akzeptanz eines neuen Softwareproduktes von vielen weiteren Faktoren abh ngt Insbeson dere Schulung und Motivation ist ein Aufgabenfeld dass sehr stark den Erfolg oder Misserfolg eines solchen Projektes mit tr gt Eine durchdachte Marketingstrategie w rde dementsprechend gut helfen
65. an des Primarbereichs vorgesehen Sie 17 Diplomarbeit Martin Blum Grundlagen wird dort als Instrument f r die Durchf hrung von Projekten oder zur Vermittlung von Unter richtsinhalten empfohlen Eurostat 1999 Allerdings wird in diesem Bericht ebenfalls angemerkt dass der Termin f r die vollst ndige Einf hrung dieser Verfahren h ufig erst im Jahr 2000 liegt Diese Form der Ausbildung wird demnach erst der kommenden Sch lergeneration zuteil und somit ist noch vielen Menschen die Nutzung der IKT Informations und Kommunikationstechnologien nicht vertraut Ebenso kann die H he der Investitionen durch den statistischen Bericht nicht beur teilt werden da die Ausgaben f r die Ausstattung nur sehr selten auf zentraler Ebene verwaltet werden Laut diesem Bericht ist es bemerkenswert dass zwar der Einsatz und die Beherrschung dieser Instrumente f r die Sch ler gef rdert wird jedoch die Ausbildung f r die Lehrkr fte oft keine Schulung der neuen Technologien vorsieht Somit ist es den Lehrkr ften nicht ohne weiteres m glich die erforderlichen Kompetenzen zu erwerben um die Sch ler bei der Aneignung und schrittweisen Beherrschung der IKT zu begleiten Parallel dazu ver ndert der bergang von der Industrie zur Informations oder gar Wissen schaftsgesellschaft auch die Arbeitswelt und hat dazu gef hrt dass mittlerweile viele Arbeitspl tze mit Informationstechnologien ausgestattet sind Dabei erfordern neue Softwareversionen un
66. arbeit Martin Blum Vergleichende Bewertung bestehender Softwareprodukte Lerneinrichtungen oder privat verfiigbar diese verfiigten meistens aber nicht tiber einen Internet Anschluss Aber auch heute noch wird diese Produktlinie weiter entwickelt da CBT s gegentiber netzbasiertem Lernen Web Based Training WBT den entscheidenden Vorteil haben dass auf grund der systemnahen Programmierung auf einem speziellen Rechnertyp dessen Ressourcen ent sprechend gut ausgenutzt werden k nnen So besitzen CBT s eine gro e Bandbreite an Interakti onsm glichkeiten haben eine gut ausgereifte und optisch ansprechende grafische Benutzeroberfl che und sind sehr schnell Nachteilig wirkt sich aber aus dass s mtliche Kommunikationsmecha nismen fehlen und ein Lernen innerhalb einer Gruppe nicht unterst tzt wird Das Softwarehaus Delius und Klasing dessen CBT Sportbootf hrerschein See in der neuesten Version hier von mir getestet wurde integriert zwar mittlerweile auch Zugriffe auf das Internet in ihre Software Das beschr nkt sich aber fast ausschlie lich auf den Aufruf vordefinierter Internetseiten und einen Mailkontakt zum Verlag und ist somit eher als Zugriff auf Daten zu sehen die auch ohne die Lernprogramme verf gbar w ren Die Bewertung der einzelnen Kriterien sah im Detail folgenderma en aus Kriterium Beschreibung Bewer gewichtete Be tung wertung Kommunikationsmechanismen nicht vorhanden 6 1 2 Art der Implementierung Stand
67. artin Blum Exkurs XML halten sie die Regeln welche davon innerhalb des Dokuments an welchen Stellen zulassig sind Innerhalb eines Dokumentes wird dann deklariert welche Dokumenttyp Definition zu verwenden ist Dokumente werden ihrerseits unterschieden nach Wohlgeformtheit und nach G ltigkeit Ein Do kument ist dabei wohlgeformt wenn es ein g ltiges Markup enth lt also zum Beispiel jedes Tag auch wieder beendet wird G ltig ist ein Dokument wenn es anhand einer DTD validiert werden kann das hei t z B wenn jeder benutzte Tag auch als Element in der DTD definiert ist und die Struktur des Dokuments konform zur DTD ist A 2 2 Elemente Elemente beschreiben die logische Struktur eines Dokuments und bilden dabei jede logische Kom ponente ab Durch die Verwendung eines Wurzelelementes und der M glichkeit der Verschachte lung der Elemente untereinander kann somit das Dokument in eine baumartige Struktur gebracht werden Ein Buch teilt sich beispielsweise auf in Kapitel und Artikel wobei ein Artikel wiederum aus Kapiteln Artikeln Abs tzen oder Abbildungen bestehen k nnten Nat rlich kann ein Element auch ausschlie lich aus Zeichendaten bestehen in diesem Fall spricht man nicht von Zweigen sondern von Bl ttern Ein Element wird in einer DTD durch die Zeichen lt ELEMENT eingeleitet Danach folgen die darunter angeordneten Zweige und die Festlegung in welcher Reihenfolge und Anzahl das gesche hen darf Dabei wir
68. as Softwaresystem Gaon in ihrem Kurs eingesetzt a Ja b Nein weil i mir die Betreuung des Kurses an einem Computer zu zeitaufwendig ist ii die Kosten f r die Online Zeit mich davon abgehalten haben iii mir das Arbeiten am Bildschirm unangenehm ist iv ich keine M glichkeit habe an einem Computer zu arbeiten v folgender andere Grund 2 Wie w rden Sie die Oberfl che der Software beurteilen bersichtlich funktional und selbsterkl rend erf llt ihren Zweck ist aber von der Optik her verbesserungsf hig erf llt ihren Zweck ist aber von der Bedienung her verbesserungsf hig 9 98 die Orientierung f llt schwer und das System sollte umgestellt werden Verbesserungsvorschl ge 96 Diplomarbeit Martin Blum Frageb gen 3 Wie w rden Sie die Geschwindigkeit Antwortzeitverhalten der Software beurteilen a gut b nicht besonders schnell aber akzeptabel c schlecht 4 Wie w rden Sie die Korrektheit der Auswertung von Fragen beurteilen gr tenteils korrekt vom System her ausreichend aber noch nicht mit gen gend Daten versorgt manchmal richtig aber insgesamt eher unzureichend ao Tf gr tenteils falsch Verbesserungsvorschl ge 5 Wie empfanden Sie die Gegenbewertung bzw die Korrektur der Frageb gen a einfacher als bei realen Frageb gen anders als bei realen Frageb gen aber praktikabel c zu kompliziert Verbesserungsvorschl ge 6 Hat Ihnen die Software gen gend M glichkeiten zur Kommuni
69. bend war jedoch die berlegung ein m glichst plattformunabh ngiges System zu verfassen und die neuen Erkenntnisse und Technologien der sich immer noch weiterentwickelnden Sprache Java nutzen zu k nnen Die Zugriffe auf Ressourcen des Internets werden im Moment durch keine andere Sprache so gut unterst tzt wie eben durch Java Die n chsten berlegungen sollen herauskristallisieren welche Systemarchitektur f r das Online Programmsystem unter Java genutzt wird Es existieren folgende 3 M glichkeiten 1 Zwei Stand Alone Applikationen kommunizieren ber eine TCP IP Verbindung miteinander 2 Ein Applet baut eine Kommunikationsverbindung zu einem Server auf TCP IP oder HTTP Be Diplomarbeit Martin Blum Systemanforderungen 3 Der Server erh lt die Daten eines Benutzers ber die Formularschnittstelle aus HTML Dokumenten Diese 3 M glichkeiten sind mit unterschiedlichen Vor und Nachteilen behaftet die je nach Art der Aufgabe unterschiedlich bewertet werden miissen 4 2 6 1 1 Variante 1 Stand Alone Applikationen Als Stand Alone Applikation wird in Java jede Klasse bezeichnet die eine eigene Main Methode enth lt Das bedeutet dass dieser Programmteil nicht innerhalb eines Browsers laufen muss sondern innerhalb einer eigenen Run Time Umgebung Somit entfallen s mtliche Restriktionen der Browser Sandbox und die Applikation hat vollen Zugriff auf s mtliche Rechner Ressourcen Es k nnen also beliebige Dateien des Clien
70. cute sql instruction if message equals String sql insert into Lerner Lerner Vorname Nachname Klasse Bild values sql master getValue user Lerner sql master getValue user Vorname sql master getValue user Nachname sql master getValue user Klasse sql master getValue user Bild sql try dbClient executeUpdate sql catch Exception e message t lt li gt rb getString SOLO002 e lt li gt dbg sql e end if send user messag if message equals 116 Diplomarbeit Martin Blum Source Code ausgew hlter Funktionen master putValue message rb getString MSGO003 return true else master putValue message rb getString MSG0002 lt ul gt message lt ul gt return false end if end of insertLogin Abbildung 44 Funktionalit t f r das Einf gen eines neuen Benutzers E 6 Generierung der HTML Fragedokumente insert template inputStream new BufferedReader new FileReader questionTemplate outputStream new HtmlPage new PrintWriter new BufferedWriter new FileWriter questionFile S w tring line null hile line inputStream readLine null outputStream addLine line end loop next line inputStream close wa create question
71. d Hardwaregenerationen ebenso wie moderne B rokommunikationsmittel und das zunehmende In formationsangebot eine st ndige Anpassung eingespielter Arbeitsabl ufe Das Schlagwort des lebenslangen Lernens wird immer h ufiger verwendet Klassische Weiterbildungsm glichkeiten verm gen hier kaum noch den Weiterbildungsbedarf zu decken und der Bedarf an berufsbegleiten den Fortbildungen ist unbestritten Aus diesen berlegungen heraus wurde bereits Anfang der 80er Jahre in gr eren Unternehmen begonnen technologiebasiertes Lernen oder Training kurz TBT als Weiterbildungsma nahme zu etablieren Allerdings ist es erst durch die Verbreitung des Inter nets in den letzten Jahren zu einer gr eren Vernetzung der bestehenden Bildungsangebote ge kommen und die notwendige Aktualit t und Informationsbreite des Angebots wurde erreicht Durch Hypertext und Hypermediasysteme k nnen die vorhanden Datenquellen neu strukturiert und verbunden werden um wirksame Informations und Lernsysteme zu schaffen So wird z B in einem Bericht der Computerwoche CW 2001 eine m gliche Senkung der betrieblichen Fortbil dungskosten f r das Jahr 2002 durch den Einsatz web basierter Lern und Testumgebungen von etwa 35 prognostiziert Ein weiterer Hinderungsgrund beim Einsatz technologiebasierten Lernens war bis vor kurzem der geringe Grad an selbstbestimmten Lernprozessen innerhalb der Lernprogramme Deren Abl ufe sind berwiegend starr vorgegeben und erm glichen
72. d zwischen folgenden M glichkeiten unterschieden F r die Reihenfolge gibt es die Sequenz Zweigl Zweig2 und die Alternative Zweigl Zweig2 F r die Anzahl gibt es die M glichkeit genau einmal ohne Anh ngsel einmal oder keinmal angeh ngt mehrfach 0 n angeh ngt und mehrfach 1 n angeh ngt A 2 3 Attribute Attribute werden in einer DTD definiert um die Elemente n her zu spezifizieren Beispielsweise k nnte ber ein Attribut der Name einer Export Anfrage hinterlegt werden oder bei einer Adresse zwischen privat und gesch ftlich unterschieden werden ohne dass alle gemeinsamen Elemente wie z B Ort Strasse Telefon doppelt mit unterschiedlichen Namen aufgef hrt werden m ssen Ein Attributdefinition hat den syntaktischen Aufbau lt ATTLIST Tagname Attributname Attributwerte Option gt Mehrere alternative Attributwerte werden durch ein getrennt wobei ein beliebiger Wert durch den Begriff CDATA deklariert wird ber die Option wird festgelegt ob dieses Attribut optional ist IMPLIED oder nicht REQUIRED A 2 4 Entities Entities werden in der DTD definiert und sind Abk rzung f r wiederkehrende Inhalte so dass zum einem der Schreibaufwand geringer wird und zum anderen aber auch vermieden wird dass festste hende Begriffe eventuell falsch wiedergegeben werden Beispiele f r Entities sind die deutschen Umlaute amp uuml f r bei der die Entity durch d
73. dass bei einem Test bereits nach jeder Aufgabe die Auswertung der Eingabe angezeigt wird und dann nochmals zur Eingabe zur ckgekehrt werden kann w hrend eine Pr fung erst vollst ndig beantwortet werden muss Die Pr fung wird dem Anwender nochmals zur Kontrolle vorgelegt und dann durch einen Tutor gegenbewertet Erst danach wird dem Probanden das Ergebnis pr sentiert Au erdem ist w hrend einer Pr fung die Hilfe Funktion deaktiviert Als ersten Schritt eines Testlaufs muss sich das System die Reihenfolge zusammenbauen die bei einem Test auch nach Themengebiet eine gezielte Auswahl eine Zufallsauswahl oder eine Defizit analyse sein kann und sie in einer entsprechenden Datenbanktabelle ablegen Dem Anwender wird die n chste unbeantwortete Aufgabe gesendet und auf die Beantwortung gewartet Nach der Be antwortung werden die Antwortfelder der Reihe nach eingelesen und in einer weiteren Datenbank tabelle abgelegt um dem Anwender w hrend einer Pr fung eine Eingabe Kontrolle zu erm gli chen Bereits zu diesem Zeitpunkt wird sowohl bei einem Test als auch bei einer Pr fung die Antwort ausgewertet und diese Auswertung in einer weiteren Datenbanktabelle abgelegt Bei einem 51 Diplomarbeit Martin Blum L sungsans tze Testlauf wird dem Anwender nach jeder Frage eine Auswertung gegeben und so ist es f r eine Pr fung dann nur noch n tig die bertragung der Antwort zu unterdr cken Nach Beantwortung aller Fragen werden in einer Pr
74. dass das System fehlerfrei ist da eventuell ein bestimmter fehlerhaft umgesetzter Sonderfall nicht getestet wurde Allerdings kann so gew hrleistet werden dass die t glichen Arbeiten am System funktionieren werden und somit bereits ein Gro teil des Funktions umfangs fehlerfrei umgesetzt wurde Au erdem ist dies ein sehr schneller Test da das Ergebnis sofort ersichtlich ist Getestet wurde das Softwaresystem GAON anhand des Kurses Sportbootf hrerschein See Daf r mussten Lerner angelegt die Aufgaben erfasst und die Tests auf Vollst ndigkeit und Korrektheit berpr ft werden Einen Teil dieser Arbeiten wurde dabei von mir bernommen so dass ich sehr 76 Diplomarbeit Martin Blum Implementierung schnell selbst gemerkt habe wo der Programmablauf von den Anforderungen abgewichen ist Ein Teil der Datenerfassung wurde durch eine externe Kraft erledigt die nicht nur das Ergebnis be trachtet hat sondern auch neutraler als ich die Oberflache und Bedienbarkeit bewertet hat Die Tests selbst wurden nat rlich auch von den Kursteilnehmern absolviert die dann durch die Vielf l tigkeit von unterschiedlichen Eingaben einen Test sehr nahe an der sp teren realen Anwendungssi tuation durchgef hrt haben siehe auch Kapitel 7 Evaluation 6 3 2 White Box Test Der White Box Test w hlt im Gegensatz zum Black Box Test die Testf lle in Kenntnis der inne ren Struktur des Softwaresystems aus Die Testf lle sollten so gestaltet sein dass
75. der Daten Eine r umlichen Zugangskontrolle zu den Datenbank rechnern und ein durch Passwort gesicherter Zugang zum Datenerfassungssystem sch tzen die Daten vor einer direkten Einsicht oder Manipulation durch unberechtigte Dritte wobei eine Kom bination z B mit einem Chipkarten Leseger t eine noch bessere Authentifizierung des Anwenders 36 Diplomarbeit Martin Blum Systemanforderungen erm glicht Die Daten bertragung zwischen Client und Server muss durch Verschl sselungsalgo rithmen wie PGP oder SSL vor unberechtigtem Zugriff gesichert werden 4 2 6 Anforderungen an die Funktionalit t zur Generierung und Auswertung von Online Pr fungen Nach diesen allgemeinen Anforderungen an die Software soll im folgenden Kapitel konkret auf die einzelnen Anforderungen an die Funktionalit t eingegangen werden 4 2 6 1 Programmiersprache und Systemarchitektur Einer der essentiellen Punkte eines solchen Systems ist die berlegung auf welche Art das System implementiert wird Wie bereits in Kapitel 3 1 Vergleichskriterien angesprochen existieren mehre re grunds tzliche Arten ein solches System zu steuern die nun eingehender untersucht werden Da sich durch die Anforderungen bereits ergibt dass in jedem Fall der Zugriff auf eine Datenbank n tig ist muss das System in einer Programmiersprache verfasst werden die solche Datenbank zugriffe erlaubt Daher folgen als erstes berlegungen zur verwendeten Programmiersprache Mittlerweil
76. des Prototyps mit Anwendern des Systems hat gezeigt dass dieses Modell hinsichtlich der Funktionalit t und der Bedienbarkeit ausreichend flexibel erscheint obwohl an der Optik der feh lende Status Quo grafischer Oberfl chen bem ngelt wurde Die Appletschnittstelle soll ber ein kleines JavaScript Modul die Eingaben an das Formular ber tragen und ebenso in die umgekehrte Richtung arbeiten k nnen D h es sind Methoden erforder lich die e die Anzahl einstellbarer Werte liefern e die den Inhalt jedes der einstellbaren Werte auslesen e die den Inhalt jedes der einstellbaren Werte setzen e und die eine Ver nderung der eingestellten Werte durch den Anwender erlauben und ver hindern k nnen F r die Datensicherheit ist eine Verschl sselung der Kommunikation erforderlich die g nstiger weise bei den handels blichen Browsern und Webservern bereits durch die Benutzung von SSL mitgeliefert wird SSL bernimmt dabei gleich zwei Aufgaben und verschl sselt die Daten des Formulars und die Antworten des Servers ber ein symmetrisches Verfahren mit einem Schl ssel von mittlerweile bis zu 128 bit wobei die Aushandlung dieses Session Keys vorher ber ein asymmetrisches Verfahren mit einer Schl ssell nge von i A 1024 bit erfolgt Des Weiteren werden die bertragenen Daten auf Vollst ndigkeit und Unver ndertheit berpr ft und im Falle einer Ma nipulation zur ckgewiesen Netscape 1999 Dieses Verfahren wird allgemein als sicher angeseh
77. dungsaufbau zur MySQL Datenbank sieht dem entsprechend bei mir folgenderma en aus dbClient connectDB jdbc mysql 172 16 200 234 3306 Gaon null GaonServlet Password Abbildung 21 Verbindungsaufbau zur Datenbank ber das Datenbank Interface Die IP Adresse der Datenbank wird dabei vom Web Server ber einen Startparameter bergeben und ist nat rlich nicht fest im Code hinterlegt ber das angegebene Subprotokoll jdbc mysql wird erkannt dass der MySQL Treiber geladen werden muss da kein abwei chender Treiber angegeben ist Parameter 2 ist null oder leer Das zweite Anwendungsbeispiel soll das Lesen eines Ergebnisvektors sein in diesem Fall sollen s mtliche L sungspositionen zu einer Aufgabenposition gelesen werden Dazu wird folgender Auf ruf benutzt String sql2 select Nummer Wert Loesung TextVor TextNach from Loesungspositionen where Projekt projekt and Aufgabe taufgabe t and Position position order by Nummer try 67 Diplomarbeit Martin Blum Implementierung Vector rsv2 dbClient executeRead sql2 for int I2 0 I2 lt rsv2 size I2 DBResultSet rs2 DBResultSet rsv2 elementAt 12 int nummer rs2 getInt Nummer String wert rs2 getString Wert String loesung rs2 getString Loesung String textVor rs2 getString TextVor String textNach rs2 getString TextNach catch Exception e do some error handling
78. e Ergebnis als g ltig oder als fehlerhaft zu werten ist Daraus folgt dass a die Anzahl der zu testenden F lle endlich sein muss sonst K nnte es passieren dass Fehler falle erst in unendlicher Zeit entdeckt wiirden b die Spezifikationen in einer Metasprache wie z B CSP korrekt formuliert wurden Peleska 1996 Je gr er und unstrukturierter das zu testende System aber ist umso geringer wird die Wahr scheinlichkeit der korrekten Formulierung in CSP 4 2 5 Datenschutz und Datensicherheit Softwaresysteme die personenbezogene Daten verarbeiten unterliegen mehreren gesetzlichen Re gelungen die zum Schutz der betroffenen Personen festlegen welche Rechte und Pflichten die Datenverarbeiter und die von der Datenverarbeitung betroffenen Personen inne haben Das sind neben dem Bundesdatenschutzgesetz BDSG und den Landesdatenschutzgesetzen LSDG auch das Teledienstdatenschutzgesetz TDDSG sowie Betriebsverfassungsvorschriften und eine Reihe von speziellen Rechtsvorschriften Sie regeln die rechtlichen Schutzma nahmen vor Problemen und Folgen einer erh hten Programmflexibilit t F r diese Programmflexibilit t werden die Daten be n tigt aber durch ihre Erhebung wird eventuell in die Rechte der Betroffenen eingegriffen Dies ist insbesondere die W rde des Menschen und das Recht auf freie d h auch unkontrollierte und unre gistrierte Entfaltung der Pers nlichkeit wie sie in Artikel 1 und 2 des Grundgesetzes garantiert wird G
79. e existieren bereits mehrere Skript Sprachen wie z B PHP oder ActiveServerPages die dem Programmierer Zugriffe auf Datenbanken erleichtern sollen Der Versuch ber eine solche Skriptsprache benutzt wurden die JavaServerPages von SunSoft Sun 2001 rudiment re Funkti onen des Systems zu implementieren ist daran gescheitert dass die hinterlegten Skripte sehr schnell un bersichtlich wurden und damit kaum noch wartbar waren Einige Funktionen lie en sich berhaupt nicht in dieses System bringen da die Skriptsprache daf r keine entsprechenden Sprachelemente vorgesehen hatte insbesondere die Kommunikation zur Applet Schnittstelle war ein nur schwer zu l sendes Problem Als drittes Manko wurde dabei die langsame Verarbeitungs geschwindigkeit deutlich da die Skripte einmalig beim ersten Aufruf jeweils neu bersetzt wur den und nach der bersetzung als eine Reihe von eigenst ndigen Objekten existiert haben die nur ungen gend aufeinander abgestimmt waren Somit entfiel die M glichkeit der SKriptsprachen und es musste entschieden werden in welcher h heren Programmiersprache das System verfasst werden sollte Hierbei spielte die gr te Rolle in welcher Sprache sich am Besten die Konzepte von Portierbarkeit Wiederverwendbarkeit Si cherheit und Kommunikation entwickeln lassen So fiel die Wahl recht schnell auf Java wobei im Hinblick auf die Verarbeitungsgeschwindigkeit ebenso die Sprachen C oder C interessant wa ren Ausschlagge
80. e nicht trivial und bietet trotz verschiedener Forschungen im Bereich Computer Linguistik noch ein breites Spektrum an offenen Fragen Ein Algorithmus zur exakten Interpretation unterliegt den Grenzen des einge setzten Rechnersystems und eine umfassende L sung dieser Aufgabenstellung w rde wahrschein lich eine eigene Diplomarbeit ausmachen Der hier vorgestellte Weg erf llt allerdings seinen Zweck da eine Kombination von computergesteuerter Auswertung und menschlicher Nachbewer tung eingesetzt wurde 20 Diplomarbeit Martin Blum Vergleichende Bewertung bestehender Softwareprodukte Kapitel 3 Vergleichende Bewertung bestehender Software produkte Bei der vergleichenden Bewertung bestehender Test Tools wurde aus einer Reihe von Anbietern via Internet Recherche eine Auswahl von 4 Produkten getroffen Da der Themenbereich noch rela tiv neu ist existieren erst sehr wenige Produkte die dieses spezielle Segment der Lernunterst t zung abdecken H ufig integrieren sich diese Test Tools dabei in umfangreichere Softwaresysteme wie z B Lernplattformen Entscheidungskriterien f r die n here Betrachtung waren dabei die ge botene bzw angek ndigte Funktionalit t die Position am Markt Anzahl Installationen bzw Referenzen und die Verf gbarkeit einer kostenlosen Demoversion Dieses letzte Kriterium hat jedoch nicht zum Ausschluss eines eventuell relevanten Produktes gef hrt da sich s mtliche An bieter bereit erkl rt hatten die S
81. eesnsssssennenseenennn ee 29 ZUSaAMMEHfasSUns cm nee na sues teasers Een ea EEEE E rE EE REENE 30 Systemanforderungen 000ssssss0u00000000200022000000000020022220000000000200222000005000 0800022000000 0 00000 32 Problemanalyse Ist Zustand cecccceccceseccceececeeeecueeeeaeeeecaeeeeaeeeeeuesecaeeeeaeeseeaeees 32 Spezifikationen Anforderungsdefinitionen uuussssseennansesennnnnesnennnsenennnsennnnen 33 K rrektheit 222 22 Rn Brei RR u canuledalvdagaees cds da delncsasitins od 34 Zuverl ssigkeit so proe eroe ere enna ste a eae a O e Er EEr dea stata teases codes E E rE 34 Benutzerfreundlichkeit s ter cdassawaedeheeds claseeveudeneavesdesseansieheewecdeseuenens 34 Wartungsfreundlichkeit 2 sivas fase eae eth T eee ee eae eee 35 Datenschutz und Datensicherheit 004204sssssssssennssennnsnennnennnnsnennnnennn 36 4 2 5 4 2 6 Anforderungen an die Funktionalit t zur Generierung und Auswertung von Online Pr fungen u 2er eher a entnehmen seen r chen hg aeea 37 Diplomarbeit Martin Blum Inhaltsverzeichnis 4 2 6 1 Programmiersprache und Systemarchitektur u 22204s222ssnnnnsesennansennnn 37 4 2 6 1 1 Variante 1 Stand Alone Applikationen uu 22uusssssseenenssenennnnsennnn 38 4 2 6 1 2 Variante 2 Applet kommuniziert mit Server uueossseessassssennnsessennnsenenn 38 4 2 6 1 3 Variante 3 formularbasierte bertragung der Daten an ein Servle
82. egeben siehe auch Anhang B 1 Fragebogen Grundla gen der unter anderem Fragen enthielt um die Akzeptanz einer der drei Varianten abzusch tzen Als Ergebnis stellte sich heraus dass von den 18 Teilnehmern des Kurses etwa 50 eine entspre chende Software nicht einsetzen w rden wenn sie vorher eine Installation ausf hren m ssten und 39 Diplomarbeit Martin Blum Systemanforderungen 33 denen die Begriffe Java und Applet nichts sagen Dieser Prozentsatz w re bei der Installation des Applets eventuell auf Hilfe angewiesen bzw w rde die Software eher nicht verwenden Weitere Ergebnisse dieser Umfrage waren e 89 halten eine solche Software f r sinnvoll ein Teil davon 11 der Teilnehmer aller dings nur auf Rechnern der VHS da entweder kein eigener Rechner vorhanden ist oder die laufenden Online Kosten zu hoch erscheinen Ein anderer Teil 33 der Teilnehmer h lt sie nur auf dem eigenen PC f r sinnvoll da auf diese Art ein ben losgel st vom Kurs er folgen kann e Die meisten Anwender haben gutes bis sehr gutes Anwenderwissen in Bezug auf die g ngi gen Browser so dass ein servletbasiertes System ohne Schulungsaufwand bedienbar w re e Sicherheitstiberlegungen w ren f r 11 der Teilnehmer ein Grund diese Software in keiner der 3 Varianten zu benutzen Der Rest steht dem Schutz der Daten eher unkritisch gegen ber Dieser hohe Prozentsatz unkritischer Anwender zeigt auf dass bei vielen Anwendern noch eine entsp
83. ei Dinge verkomplizieren diesen Vergleich etwas zum einen muss die Eingabe des Benutzers je nach Aufgabentyp nochmals umgesetzt werden da das Array zum Beispiel bei Radiobuttons oder Checkboxen Single oder Multiple Choice anders aufgebaut ist als bei Textfeldern oder Applets Und zum anderen ist der Vergleich von Checkboxen nur auf richtig oder falsch erforderlich w h rend z B bei Textfeldern auch Alternativl sungen berpr ft werden m ssen Die Umsetzung der Benutzereingaben ist beispielsweise f r Checkboxen erforderlich da der Wert einer Checkbox nur bertragen wird wenn die Box angekreuzt ist Somit m ssen alle nicht ange kreuzten Boxen generiert werden damit die Reihenfolge der L sungspositionen wieder mit dem Eingabearray bereinstimmt Au erdem muss dabei entschieden werden welche der Boxen ange kreuzt wurde Daher bekommt jede Box im HTML Code der Aufgabe einen anderen Wert zuge wiesen der zum Wert 1 zur cktransformiert wird wenn er den Zweck der Positionsnummer erf llt hat siehe auch Anhang E 7 berpr fung von Eingaben gegen die L sungsmenge 74 Diplomarbeit Martin Blum Implementierung Die berpr fung ob die Eingabe richtig oder falsch war erledigt die Methode der dazugeh rigen L sungsposition F r Checkboxen oder Radiobuttons ist das sehr simpel und l uft auf einen reinen Stringvergleich hinaus Die berpr fung der anderen Aufgabentypen ist etwas komplizierter und soll am aufwendigsten Bei
84. elbst ndig zu l sen Bei Pr fungen innerhalb dieser Methode werden zu einer Aufgabenstellung nicht nur die Ergebnisse gefordert sondern es muss f r den Pr fer auch der L sungsweg erkennbar sein So kann dann noch ein Teil der Punkte gegeben werden wenn der Ansatz zwar richtig war aber dem Pr fling w hrend der L sung dieser Aufgabe ein Fehler unter laufen ist Konstruktivismus Seit 1990 wiederum wird das Modell des Konstruktivismus diskutiert das in gro em Ma die Entwicklung und Gestaltung neuer Bildungsmedien beeinflusst hat Bruns 2000 F r Konstrukti visten ist das menschliche Gehirn bzw das Denken ein geschlossenes Informationssystem in dem das Wissen vom Lernenden aktiv in komplexen realen Lebenssituationen konstruiert und dann gespeichert wird Somit wird Lernen zum Erwerb von Erfahrungen und dient dazu mit einer Kon kreten Situation umgehen zu k nnen Erreicht wird der Wissensaufbau durch die Konstruktion einer L sung z B innerhalb einer Simulation oder einer Mikrowelt in der der Lerner den Pro grammablauf selbst bestimmt und der Computer nur als kooperierender Berater fungiert Aus die sem Grund dienen konstruktivistische Ans tze als lerntheoretische Begr ndung f r Hypermedia Systeme Hier werden die Informationen nicht linear sondern komplex miteinander verkn pft dar gestellt und lassen den Anwender frei in seiner Vorgehensweise agieren Diese realit tsgetreuere Darstellung von Informationen soll die Authe
85. empfanden die angebotenen Mechanismen ausreichend w hrend der Rest der Lerner das Internet an sich nicht als geeignet f r solche Diskussionen ansah 60 der Kursteilnehmer die das System getestet haben empfanden das System als gute Er g nzung zum Kurs w rden allerdings nicht auf die realen Frageb gen verzichten wollen Die zwei Tutoren Frageb gen lassen folgende R ckschl sse zu Es ist notwendig dass der Tutor hinter der Software steht da er ihre Vorteile sonst sehr leicht aushebeln kann 1 Die Kursteilnehmer m ssen von ihm geschult und motiviert werden 2 Die gestellten Fragen innerhalb der Foren m ssen regelm ig von ihm gesichtet und be antwortet werden 3 Frageb gen als Pr fung m ssen regelm ig zumindest aber h ufiger als die stattfinden den Kursabende von ihm kontrolliert werden Auch die Tutoren bewerteten die Oberfl che als bersichtlich und das Antwortzeitverhalten als gut Die Korrektheit der Testauswertung ergab ein hnliches Bild wie bei den Lernern Die Gegenbewertung der abgegebenen L sungen erschien beiden Tutoren nicht einfacher als die Bewertung realer Frageb gen aber doch zumindest praktikabel Die Kommunikationsmechanismen wurden auch von den Tutoren ambivalent beurteilt 82 Diplomarbeit Martin Blum Evaluation Das Autorenteam hat folgende Bewertung abgegeben e Sie bewerteten die Oberfl che als zweckm ig aber verbesserungsf hig und das Antwortzeit verh
86. en und ist in dieser Form auch z B in die Sprache Java Version 1 3 integriert Kr ger 2000 5 2 2 Kommunikation zwischen Servlet und Client Die Kommunikation vom Servlet zum Client wird durch die bertragung programmgenerierter HTML Seiten erreicht Die Syntax von HTML sollte dabei durch eine eigenst ndige Klasse ber wacht werden ber die alle Schl sselw rter sowie der korrekte Aufbau einer Seite erzeugt wird Dadurch wird die Sprache HTML nicht mehr eine Ansammlung von String Konkatinationen son dern abstrahiert sich f r den Programmierer zu einer Reihe von Methoden Aufrufen Das wieder um erh ht die Wartbarkeit des Programmsystems Die Kommunikation vom Client zum Servlet wird ber die Formularschnittstelle abgewickelt die ber das Java Servlet Paket abgefragt wird Aus Gr nden der Nebenl ufigkeit zu anderen Anwen dern m ssen diese Variableninhalte innerhalb der Session des Benutzers abgelegt werden Hier 45 Diplomarbeit Martin Blum L sungsans tze sollen separate Methoden den Programmierer von dieser Aufgabe entbinden damit ein einheitlicher Zugriff auf die Variablen des Formulars gew hrleistet ist Ein weiterer Aspekt der Nebenl ufigkeit ist dass das Gesamtsystem nicht blockieren darf wenn ein Anwender eine aufwendige Operation angefordert hat Damit sich aber nicht die internen Zust nde der einzelnen Benutzer berschneiden muss das System eine vordefinierte Anzahl Threads vorsehen die somit eine quas
87. en Fachbereich 3 Informatik 1999 http www tzi de bali Nazmul Idris Introduction to DOM 1 0 API 1999 http developerlife com domintro default htm Nazmul Idris XML and Java Tutorial Part I 1999 http developerlife com xmljavatutoriall defa ult htm Nazmul Idris Introduction to XML Java Databases and the Web 1999 http developerlife com dbsourceintro default htm M Kerres Multimediale und telemediale Lernumgebungen M nchen Wien Oldenbourg 1998 J rgen Kunze Computerlinguistik Vorraussetzungen Grundlagen Werkzeuge Berlin Humboldt Universit t Lehrstuhl f r Computer linguistik 2001 Guido Kr ger Go To Java 2 Zweite Auflage Bonn M nchen Paris Addison Wesley 2000 Prof Dr Heinz Mandel Dr Gabi Reinmann Rothmeier Dr Corne lia Gr sel Gutachten zur Vorbereitung des Programms Systemati sche Einbeziehung von Medien Informations und Kommunikations technologien in Lehr und Lernprozesse In Materialien zur Bil dungsplanung und Forschungsf rderung Bund L nder Kommission 1998 Heft 66 Mark Matthews JDBC Driver for MySQL Open Source Software 1999 http www mysql com Microsoft Corp Active Server Pages Developers Network 2001 http msdn microsoft com asp Stefan M nz SelfHTML Version 7 0 http www teamone de selfhtml Uwe Neuhaus JavaScript 1 1 Bonn Addison Wesley Longman Ver lag GmbH 1998 Netscape Communications Corporat
88. en z B Position und Kurs auf einer Karte einzeichnen Diese Schnittstelle muss so allgemeingiiltig sein dass sie alle denkbaren Aufgabenstellungen abfangen kann und ist daher giinstigerweise eine Schnittstelle zu einem Java Applet d Vorhandene Tools haben oft keine Sicherheitsmechanismen gegen Schummeln da HTML oder JavaScript Dokumente immer auch vom Bediener im Klartext gelesen werden k nnen Das ist in einer Pr fungssituation jedoch nicht zul ssig e Es ist kein Autorentool vorhanden das aus Frageb gen HTML Dokumente generiert Diese Frageb gen sind nicht einheitlich abgefasst und es liegen noch keine Untersuchungen dar ber vor den Aufbau zu standardisieren ohne sich dabei vom Inhalt der Frage zu entfernen Die generierten HTML Dokumente m ssen m glichst identisch zu den Vorlagen sein um den Test so zu ben wie er in der Realit t stattfinden wird f Es existiert noch kein Tool das die Generierung und Auswertung von Frageb gen zusammen fasst und somit die Belange von Dozenten und Lernern in einer Software vereint 2 6 Grenzen dieser Diplomarbeit Eine Diplomarbeit kann nat rlich nicht mit einem kommerziellen Produkt konkurrieren da hier dem Softwarehaus ganz andere finanzielle und personelle Mittel zur Verf gung stehen Die Optik der Oberfl che unterliegt meinen pers nlichen grafischen Unzul nglichkeiten und entspricht nicht dem momentanen State of the Art Des weiteren ist die Interpretation freier Text
89. en 58 Abbildung 11 Interaktionsdiagramm uuuss2ssenenssssnnnnnessnnnnnsennnnnsennnnnnnnnnnnnnsennnnansennnn 59 Abbildung 12 Interface der Appletschnittstelle u uussssssssennansesennnnnnennnnsenennnnan een 59 Abbilduns 13 Men link z 2 amp 4 4 522 22 75 8 221 ine nes ss EOE ao E a sans ls a ra raa 60 Abbildung 14 Formularschnittstelle zum Servlet u0 22200404202200nnansennnnnnnnennnnsennnnnennenn 61 Abbildung 15 Auswahl eines Verarbeitungsthreads aus dem Pool u 224ss2222sseennnee 0 62 Abbildung 16 Erweiterungen f r die GAON Funktionalitat uuuss22unssssssennnnseennneneenn 64 Abbildung 17 DTD Auszug f r Benutzung einer Variablen innerhalb einer Maske 65 Abbildung 18 Maskendefinition mit Datenbankabfrage 22222000nnnsesnennnnseennnan nenn 65 Abbildung 19 DTD Auszug f r Datenbankabfrage innerhalb einer Maske u 65 Abbildung 20 Aufbau des Gaon DOM s 2uunsssssennnnsesennnnsesnnnnnneennnnnnsennnnnnsennnnnsennenn en 66 Abbildung 21 Verbindungsaufbau zur Datenbank ber das Datenbank Interface 67 Abbildung 22 Einlesen eines Ergebnisvektors ber das Datenbank Interface 68 Abbildung 23 DTD f r den Datenbank Import und Export uusssssseenssssssnnnnnsesnnnnnneenennn ee 69 Abbildung 24 Interface f r die Process
90. en ensprechenden Wert des Unicodes ersetzt 89 Diplomarbeit Martin Blum Exkurs XML wird aber auch die Namen von Teilnehmern eines Projektes so dass sich der Protokollant z B nicht mehr an die Schreibweise eines komplizierten Nachnamens erinnern muss Die Definition eines Entitys in einer DTD hat folgenden Aufbau lt ENTITY Entityname Entitywert gt Innerhalb des XML Dokumentes wird dieses Entity dann ber die Form amp Entityname ange sprochen Es k nnen Entitys auch als Abk rzung innerhalb einer DTD verwendet werden hei en dann Pa rameter Entitys dabei ndert sich der Syntax f r die Definition auf lt ENTITY Entityname Entitywert gt und die Anwendung auf Entityname Als weitere Vereinfachung K nnen diese Entitys auch extern abgelegt werden um beispielsweise alle Sonderzeichen eines Themengebietes zu gruppieren A 2 5 Markup und Text Das Markup ist die Darstellung der logischen Dokumentenstruktur innerhalb des XML Dokumentes und erm glicht erst die berpr fung von G ltigkeit und Wohlgeformtheit eines Do kumentes Ein XML Dokument besteht ausschlie lich aus Markup und Zeichendaten die den In halt darstellen Das Markup ist entweder ein Tag wenn es zwischen dem Kleiner als und dem Gr er als Zeichen steht oder ein Entity wenn es zwischen einem amp und einem Zeichen steht Es gibt noch weitere Begrenzer f r Markup diese 4 sind jedoch die gebr uchlichsten G
91. er st2 new StringTokenizer token while st2 hasMoreElements orList addElement st2 nextElement schlagwort addElement orList end if end if end loop next token 118 Diplomarbeit Martin Blum Source Code ausgew hlter Funktionen Abbildung 47 Vorbereitung der L sungsmenge Vector antwort new Vector StringTokenizer stl new StringTokenizer inputValue toLowerCase 7 12 SS38 lt gt LI LIN T INN while stl hasMoreElements antwort addElement stl nextElement boolean negativ false check all words for int I 0 I lt schlagwort size I boolean found false Vector orList Vector schlagwort elementAt i for int j 0 j lt orList size j for int k 0 k lt antwort size k if String orList elementAt j equals String antwort elementAt k remove object from vector as keyword may be required more than one time antwort removeElementAt k found true break break if word was found in answerList end if end loop next element of answer if found break break if one of the orList was found end loop next element of orList if found woertertt end loop next word check negativ words for int I 0 I lt antwort size I for int j 0 j lt negativwort size j if String antwort elementAt i equals String negativwort elementAt j negativ true break break if ne
92. erden entsprechende Handler mit bergeben die das Auslesen der Formularinhalte und das R cksenden der Antwortseite an den Client erm glichen Das Master Servlet sucht sich den n chsten freien Thread aus seinem Pool und bergibt ihm die Anfrage Da 57 Diplomarbeit Martin Blum Implementierung ein Thread immer nur bis zum Ende seiner Ausfihrung existiert ist in den Thread die Verarbei tung in einer eigenst ndigen Worker Klasse gekapselt Von dort aus wird die Methode processTask der Verarbeitungsklasse hei t bei mir Gaon als Synonym f r enerierung und Wuswertung von Mline Priifungsbogen aufgerufen die wiederum zuerst alle ben tigten Variableninhalte des Formulars ausliest Dann wird die Verarbeitung ausgef hrt die f r die ange forderte Task erforderlich ist und die Ergebnisse wiederum dem Thread zur Verf gung gestellt Als letztes wandelt der Thread die bereitgestellten Ergebnisse zusammen mit der angegebenen XML Maske in eine HTML Antwort um und sendet diese dem Client Die folgende Abbildung soll diese Vorgehensweise nochmals etwas anschaulicher dokumentieren Client a S Master Servlet HttpSerrletResponss doPosat request cesponse putVelue key value getVeluslkoy gt 1 2 MasterThread MasterThread MasterWorker MasterWorker aoPost request response putValue key value getValue key p amp Gaon processTas
93. ergebnisse in den HTML Seiten oder Scripts Die Bewertung der einzelnen Kriterien sah im Detail folgenderma en aus Kriterium Beschreibung Bewer gewichtete Be tung wertung Kommunikationsmechanismen Chat Diskussionsforen E Mail 2 0 4 vorhanden Art der Implementierung Server 0 1 Antwortzeitverhalten gut abh ngig von der Server 0 2 auslastung und der allgemeinen Netzlast Autorentool verf gbar bedingt selbst mit Tool sind gute Programmiererkenntnisse erforderlich Bedienungskomfort f r Anwender sehr gut f r Au toren und Systemverwalter sehr schlecht 3 Time 4 You IBT Server Version 2000 http www time4you de 25 Diplomarbeit Martin Blum Vergleichende Bewertung bestehender Softwareprodukte verf gbare Aufgabentypen Server unterstiitzt verschiedene Aufgabentypen hat aber keine eigenen Routinen zur Verifizie rung der Eingaben Der Pro grammierer muss die L sung im Quelltext der Aufgabe hinterle gen und macht sie somit f r den Pr fling erkennbar System keine Einschr nkungen f r Browsereinschr nkungen Client jeder handels bliche Browser oder Server l uft unter Java Endergebnis 3 2 4 Lerneffekt WBT von AHR Die Firma AHR vertreibt ihr Produkt Lerneffekt WBT als Server basierte Plattform einer kom binierten L sung aus Lerninhalt und Online Test Die Inhalte und Tests m ssen dabei von der Fir ma AHR selbst programmiert werden da kein Autorentool verf gbar ist Sie bes
94. erheitsbeschr nkungen der Brow ser Sandbox umgangen werden k nnen wenn der Anwender dem zustimmt Vorteile H heres Vertrauen durch Einschr nkung des Zugriffs auf Ressourcen bzw durch eigenes Freigeben vertrauensw rdiger Zertifikate Client Oberfl che und Funktionalit t kann nach eigenen Vorstellungen gestaltet werden gute M glichkeiten f r Datenverschl sselung und transport Die berpr fung der Daten kann bereits vor dem Senden auf dem Client geschehen Nachteile Applet wird wiederholt ber das Netz geladen Applets unterliegen der Verarbeitungs geschwindigkeit des Client Rechners und sind mitunter sehr langsam Applets laufen nicht ohne Probleme in Browsern so muss z B ein zur Java Version des Applets passendes Browser Plugin installiert sein 4 2 6 1 3 Variante 3 formularbasierte bertragung der Daten an ein Servlet 38 Diplomarbeit Martin Blum Systemanforderungen In dieser Variante existiert nicht tats chlich ein Programm auf der Client Seite sondern der Brow ser an sich fungiert als Client So werden fiir die Kommunikation zum Anwender eine Reihe von HTML Seiten bereitgestellt die ber ein Formular die Daten sammeln und dann an das angegebe ne Servlet senden Somit ist auf der Client Seite keine Installation und kein Download n tig da s mtliche HTML Versionen bereits Formulare unterst tzen und der Anwender somit sofort losle gen kann Die Server Seite wird in dieser Methode etwas aufwendiger da nu
95. ern aber noch weitere technische und organisatorische Griinde genannt 1 Die meisten Teilnehmer hatten bereits einen Satz Frageb gen auf Papier erworben Da durch ergab sich keine Notwendigkeit ber das Internet zu lernen da ja auch die tats chli che Pr fung auf dem Papier stattfindet Die Vorteile dieses neuen Lernverfahrens wurden nicht so hoch bewertet dass es f r ein Ausprobieren gereicht h tte 2 Die Kosten f r die Internetnutzung die w hrend des Tests anfallen sind stark bem ngelt worden da es erforderlich ist f r den kompletten Zeitraum online zu sein 3 Das Lernen am Computer ist als schwieriger und komplizierter eingeordnet worden als das Lernen auf Papier Zum Teil wurde die Bedienung des Computers an sich kritisiert Tipp aufwand gegen ber Schreiben zum Teil die St ranf lligkeit von Hardware und Telefon leitung und zum Teil die Zeitspanne bis das Lernen begonnen werden konnte Computer hochfahren Verbindung aufbauen langsames Modem Von den Teilnehmern die die Software genutzt haben wurde Optik und Antwortzeitverhalten als gut beschrieben allerdings gab es Verbesserungsvorschl ge f r die Bedienung der Oberfl che Die Korrektheit der Auswertung erschien den meisten Anwendern akzeptabel allerdings fehl ten noch Daten zur besseren Erkennung der verschiedenen Eingabem glichkeiten Hinsichtlich der Kommunikation ber das Internet zur L sung von Problemen herrschte eine geteilte Auffassung 60
96. ert noch auf einem einzelnen Eingabefeld So muss sich der Autor mit den Sonderzeichen auseinandersetzen die f r die Trennung der Schlagwortlisten n tig sind Hier w re eine komfortablere Eingabemaske denkbar e Es fehlt ein schneller Trainingsmodus z B durch reine Single Choice Aufgaben der zwar nicht die Pr fung simuliert aber zum Testen des Wissens einen entscheidenden Geschwindig keitsvorteil f r den Anwender bringt e Neue Eintr ge im Newsforum sollten eine E Mail an den Tutor ausl sen damit dieser schnel ler bemerkt wenn Fragen zu kl ren sind e Die Auswertung von Freitextaufgaben kann durch einen verfeinerten Algorithmus bessere Er gebnisse liefern Im Moment ist es n tig in der Eingabe alle Schlagworte zu nennen in einer der hinterlegten Alternativen Manchmal ist es aber sinnvoll einen Teil der Schlagworte zu Gruppen zusammenzufassen und Alternativen auf Ebene dieser Gruppen zu erm glichen e Innerhalb des Autorentools k nnte auf die Benutzung eines externen Editors eher verzichtet werden wenn eine Reihe der klassischen externen Materialien Bilder Audio oder Videodatei en ber entsprechende Funktionen eingebunden werden k nnen e Es sind noch weitere Aufgabentypen denkbar z B Zuordnungsaufgaben oder Image Flip Buttons die zwar nur eine andere Darstellung bestehender Aufgabentypen sind aber sich multimedial wesentlich besser aufbereiten lassen e Bei der Gegenbewertung durch den Tutor k nnte die Sof
97. esetzliche Erlaubnisse zur Datenverarbeitung gibt es nur sehr wenige z B Nutzungs und Abrechnungsdaten die die Nutzung Zugangskennung oder Abrechnung Nutzungsdauer von Telediensten erm glichen 6 TDDSG Nutzungsdaten m ssen allerdings unmittelbar nach Ende der jeweiligen Nutzung Abrechnungsdaten sp testens 80 Tage nach Rechnungsversand gel scht werden Umgesetzt werden k nnen diese Datenschutzbestimmungen ber verschiedene organisatorische und technische Mittel bei einer Erfassung von Betriebsdaten w re das beispielsweise erreichbar durch die Reduktion der erfassten Daten auf Stichproben oder eine Anonymisierung der erhobenen Da ten Ferner sehen die gesetzlichen Regelungen vor dass der Betroffene dar ber informiert und sein Einverst ndnis eingeholt wird dass Daten gespeichert werden und welche Ebenso sehen sie vor dass nicht korrekt gespeicherte Daten korrigiert werden k nnen siehe dazu auch Thome 1990 Die Software ist darauf zu pr fen ob sie laut dieser gesetzlichen Definition personenbezogene Daten verarbeitet und ob sie eventuell sogar ber den gesetzlichen Rahmen hinaus entsprechende Schutzma nahmen trifft Neben dem Datenschutz gibt es noch die Datensicherung die die erhobenen Daten vor Verlust Manipulation oder Missbrauch sch tzen soll Das sind neben den bereits beschriebenen Mecha nismen z B Sicherungen auf externe Datentr ger gespiegelte Festplatten oder Pr fsummenverfah ren w hrend der Speicherung
98. esitzen Sie zu Hause einen PC mit Internetzugang a Ja sogar mit einem recht schnellem Zugang z B ISDN b Ja allerdings ist mein Modem eher langsam z B 33 6K c nein 3 Wenn ja w rden Sie ein solches Lernprogramm auch einsetzen wenn Sie es vorher erst auf Ihrem PC installieren m ssten a nein da es im Internet bereits Lernprogramme gibt die Lernen erm glichen ohne dabei Software installieren zu m ssen b Eigentlich w rde ich lieber auf ein Installieren verzichten da sich installierte Software oft schlecht wieder vom PC entfernen issb c Naja ich w rde sie wohl installieren wei aber dabei nicht so genau was auf meinem PC passiert d Klar Software installiere ich jeden Tag 4 Wie sch tzen Sie Ihre Kenntnisse bei der Bedienung eines g ngigen Browsers Internet Explo rer oder Netscape ein a keine Kentnisse b Kenntnisse der Grundfunktionen c gutes Anwenderwissen d Expertenwissen 5 Sagen Ihnen die Begriffe Java oder Applet etwas a nein noch nie geh rt b schon mal geh rt bin mir aber nicht ganz sicher was das ist 93 iss irgend jemand meine Daten sieht und dar ber meine Leistung beur teilen kann aber eine Verschl sselung der Daten auf dem bertragungsweg halte ich f r einen ausreichenden Schutz d Passw rter sind als Schutz bei diesen Daten nicht ausreichend und jeder Benutzer sollte sich auch noch z B durch eine Chipkarte ausweisen e Es gibt keinen ausreichenden Schutz vor dem
99. etwa 0 4ms Demgegen ber lag der Zugriff auf die MS Access Datenbank ber den ODBC Treiber bei einer durchschnittlichen Zugriffszeit zwischen 0 80 0 96ms Neben diesen besseren Zugriffszeiten steht aber zus tzlich die h here Ausfallsicherheit und die bessere Funktionalit t von mySQL als Argument im realen Einsatz auf diese Datenbank zu wechseln Durchschnittliche Zugriffszeit Lesen 90 80 70 60 50 ODBC Treiber mySQL Treiber ms 40 30 20 20 50 100 Anzahl Satze o 79 Diplomarbeit Martin Blum Implementierung Abbildung 28 Vergleich Zugriffszeiten zwischen ODBC und mySQL Da bereits w hrend der Entwicklung Inhalte in die Datenbank eingeflossen sind stellte sich die Frage der Migration zwischen den beiden Datenbanken Vorteilhafterweise sind beides recht popu l re Datenbanken die von vielen Entwicklern benutzt werden so dass es hierf r einige frei verf g bare Softwareprodukte gibt In meinem Fall habe ich das Produkt MS Access to mySQL der Firma Cynergi benutzt das ber die Webseite von mySQL kostenfrei vertrieben wird Freire 1998 Da der Entwurf der Datenbankschnittstelle auch eine Export und Importfunktion vorsieht stellt sich die Frage warum nicht diese Funktionen daf r benutzt wurden Nun die Beantwortung ist dabei relativ einfach Es sollte so fr h wie m glich erkannt werden ob das System innerhalb der Umgebung der Volkshochsch
100. etzwerk Treiber bereitstellt Es w re zwar jetzt durch das modulare Konzept auch m glich eine Netzwerk Funktionalit t in die Datenbankschnitt stelle zu integrieren tats chlich ist das im Projekt Bali auch geschehen allerdings w rde der Aufwand f r bertragungsperformance Sicherheits berlegungen und Datentransparenz den Rah men dieser Arbeit sprengen und k nnte nicht mit bereits frei erh ltlichen Produkten konkurrieren 48 Diplomarbeit Martin Blum L sungsans tze zum Beispiel mit dem jetzt von mir eingesetzten voll netzwerktauglichen MySQL Treiber von Mark Matthews Matthews 1999 Eine der Hauptaufgaben der Datenbankschnittstelle ist neben der Transparenz und Vereinfachung der Zugriffe auf eine Datenbank die Umsetzung von Lese und Schreibanfragen aus und in ein XML Format um somit einen Import oder Export von Daten zu erreichen Das Klassendesign der Datenbankschnittstelle soll durch das folgende OOD Diagramm nach Booch 1994 veranschau licht werden DEC etaha naikin OAT anes geiPrimarykays Abbildung 5 Klassenbeziehungen des Datenbank Interfaces Die Klasse DBClient enth lt dabei alle Methoden um die Kommunikation zur Datenbank abzu wickeln Bei jeder Anfrage wird ein DBResultSet zur ckgeliefert das auf die von SQL bereitge stellte Ergebnismenge verweist Innerhalb dieser Menge kann ber die Methode next auf das n chste ResultSet vorgebl ttert werden Dabei enth lt jedes ResultSet
101. ew Vector create new vector stmt con createStatement create statement ResultSet rsl stmt executeQuery sql execute query Transform JDBC ResultSet to DBResultSet DBResultSet rs new DBResultSet rsl this sql get all ResultSets of this query while rs next rsv addElement DBResultSet rs clone stmt close close statement return rsv return result Abbildung 42 Einlesen eines Ergebnisvektors E 5 Verarbeitung der Benutzereingaben A010 query Login select if task equals A010 newLocation QueryLogin xml A011 query Login display multiple records else if task equals AO11 if master getValue queryLogin equals amp amp master getValue queryLastname equals amp amp master getValue queryMail equals master putValue queryLogin newLocation ResultLoginMultiple xml A012 query Login display Single record else if task equals A012 newLocation ResultLoginSingle xml A013 update database Login else if task equals AO13 if updateLogin newLocation ResultLoginMultiple xml else newLocation ResultLoginSingle xml A014 insert into database Login else if task equals A014 if insertLogin newLocation ResultLoginMultiple xml else newLocation NewLogin xml A015 delete from database Login
102. f r n tige Software Es wurden keine Gelder f r Inhalte einge plant so dass die Beschaffung von Kursen und Lehrmaterialien nicht m glich ist Des weiteren sind keine Mittel f r personelle Ma nahmen vorgesehen beispielsweise die Einstellung von Pro grammierern oder Entwicklern die entsprechende Kurse im Hause erstellen k nnten Aus diesen Randbedingungen lassen sich bereits folgende Eckdaten f r die Software herleiten e Es sind leistungsf hige Server im Hause die mit Software best ckt werden k nnen Uber die Client Seite kann keine Aussage getroffen werden da zwar auch ein gut ausgestattetes Selbst Lernlabor existiert jedoch gerade das Lernen von zu Hause oder dem Arbeitsplatz aus den gro en Mehrwert von vhs virtuell darstellt Diese Clients sind also vermutlich im Home Bereich eher mit langsamer Daten bertragung und lterer Hardware ausgestattet im Business Bereich wahrscheinlich eher in ein schnelles Netzwerk integriert und mit aktu eller Hardware ausgestattet Gerade dort sind sie jedoch oftmals durch entsprechende Si cherheitsmechanismen gesch tzt z B Firewalls e Die Software muss neben den Anwendern auch durch die Tutoren eines Kurses bedient werden k nnen die sich eventuell nicht mit der Erstellung von HTML Seiten auskennen e Des weiteren kann die Software nur durch quasi kostenlose Mitarbeiter erstellt werden Der n chste Punkt ist eine kurze Skizzierung des Gesamtprojektes Die zu erstellende Software gl
103. ffen Nach Oestereich 1998 ist der Austausch zwischen Entwickler und Anwender wesentlich einfacher wenn er auf einem konkreten Bildschirmdialog basiert Die eigentliche Arbeit wird sp ter von einem Server erledigt dessen Auf ruf anstelle der Links in die so verfasste Oberfl che eingesetzt wird Da der Server jedoch auch wieder HTML Seiten zur cksendet ist diese Methode bereits sehr dicht an der sp teren Arbeits weise des Systems und zudem kann dieser Prototyp hochgradig f r die eigentliche Entwicklung wiederverwendet werden Die verschiedenen Funktionen werden ber eine einfache Baumstruktur von Links innerhalb der HTML Seiten verwirklicht Berechtigungssteuerung und Funktionalit t liegen dabei ebenso in der 44 Diplomarbeit Martin Blum L sungsans tze Definitionsdatei als Quasi HTML XML mit einer erweiterten HTML Definitionsdatei vor und werden bei Abruf durch den Server ausgewertet Die Erfassung von Aufgaben ebenso Projektdaten Loginkennungen Fragenbogenzuordnungen etc erfolgt formularbasiert ber die Standardelemente von HTML Der entsprechende Verarbei tungsschritt wird dabei durch das Anw hlen des jeweiligen Buttons initiiert W hrend eines Testlaufs werden dem Anwender vorgenerierte Fragedokumente gesendet die eine automatisch eingef gte Navigation enthalten So kann der Anwender neben der Beantwortung der Frage auch innerhalb festgelegter Regeln eigenst ndig den Ablauf des Tests mitbestimmen Ein Test
104. fgabenelemente mit den dazugeh rigen L sungspositionen sowie die Zuordnung zu Schwierigkeitsgraden und Themenge bieten Der untere Teil des Diagramms enth lt alle Tabellen zum Ablauf und zur Bewertung eines Testlaufs also Informationen zum Start und zum Ende seine Struktur die zugeh rigen Eingaben des Benutzers sowie die statistischen Details 54 Diplomarbeit Martin Blum Implementierung Kapitel 6 Implementierung Aus dem Wunsch heraus mit dieser Diplomarbeit eine Software zu erstellen die neben den Anfor derungen an die Funktionalit t auch die mindestens ebenso wichtigen Aspekte der Softwarequalit t mit ber cksichtigt soll hier vorweg kurz auf die verschiedenen M glichkeiten eingegangen werden eine Software zu planen und einzuf hren Zu diesem Zweck werden in der Literatur verschiedene Modelle diskutiert aus denen versucht werden muss ein f r die Anforderungen am Besten geeig netes zu entwickeln 6 1 Modell zur Softwareentwicklung Die Realisierung eines komplexen Softwareprojektes wird durch die Schaffung einer Systematik vereinfacht die dem Entwickler eine schrittweise L sung des Gesamtproblems an die Hand geben soll Dadurch teilt sich das Projekt in mehrere berschaubare Phasen auf die entsprechend leichter zu planen zu organisieren und zu kontrollieren sind Die ersten solcher Phasenmodelle sahen eine klar sequentielle Durchf hrung dieser Phasen vor so dass eine neue Phase erst in Angriff genom men werden
105. gative hit end if end loop next negative word if negativ break break if negative hit end loop next element of answer if woerter schlagwort size amp amp negativ result result true result percent 1 else result result false if negativ woerter 0 result percent 0 else result percent float woerter float schlagwort size end if end if Abbildung 48 Freitextauswertung 119 Diplomarbeit Martin Blum Literaturverzeichnis Literaturverzeichnis Apache 2000 Baumgartner 1994 Behme 1998 Booch 1994 Booch 1999 Bruns 2000 CW 2001 Enlight 2001 Eurostat 1999 Flanagan 1996 Flechsig 1996 Franklin 2001 Freire 1998 Gogolla 1999 Goldfarb 1999 The Apache Software Foundation Xcerces Java Parser 1 3 1 http xml apache org dist xerces j Peter Baumgartner Sabine Payr Wie Lernen am Computer funktio niert Auszug aus Lernen mit Software Didaktik von Bildungssoft ware Innsbruck Osterreichischer Studienverlag 1994 In c t 1994 Heft 8 Henning Behme Stefan Mintert XML in der Praxis Bonn Addison Wesley Longmann 1998 Grady Booch Objektorientierte Analyse und Design Bonn Addison Wesley 1994 Grady Booch Jim Rumbaugh Ivor Jacobson Das UML Benutzerhandbuch Bonn Addison Wesley 1999 Beate Bruns Petra Gajewski Multimediales Lernen im Netz Berlin Springe
106. geschlossenen Vereinbarungen m glich ist 4 2 Spezifikationen Anforderungsdefinitionen Das zu entwickelnde System soll eine ausschlie lich online zu bedienende Umgebung sein Es soll verhindert werden dass Materialien auf externen Medien leicht vervielf ltigt werden k nnen Au Berdem gelten die Nutzungsrechte nur f r die Dauer des gebuchten Kurses und der Anwender darf aus lizenzrechtlichen Gr nden nach Ablauf dieser Zeitspanne nicht mehr auf die Datenbest nde zugreifen Das zu entwickelnde System soll die primitiven Aufgabentypen Single und Multiple Choice so wie Feldeingaben und dar ber hinaus Freitext Eingaben bei denen auf sinngem e Richtigkeit berpr ft wird sowie Aufgaben mit komplizierteren Abl ufen behandeln k nnen z B Kurs und Position auf einer Karte eintragen Kreuzpeilungen ausf hren etc Da die Software so universell wie m glich eingesetzt werden soll m ssen diese komplizierteren Aufgabentypen ber eine stan dardisierte Schnittstelle eingebunden werden Da diese Schnittstelle sowohl Werte aus dem einge bundenen Objekt ausliest um die Benutzereingabe ber das Formular an das Servlet zu senden als auch Werte in das eingebundene Objekt importiert f r die wiederholte Anzeige einer bereits beantworteten Aufgabe m ssen diese Objekte die daf r n tigen Methoden zur Verf gung stellen Das ist momentan nur bei einem Applet gegeben obwohl mittlerweile auch Flash Objekte ber die Export Kommandos GetUR
107. gruppiert sie entspre chend des Themengebiets und der Schwierigkeit F r die Zertifikatspr fung legt er fest in welcher Reihenfolge die Aufgaben absolviert werden m ssen Das Kann beispielsweise die m glichst wirk lichkeitsgetreue Nachbildung von Pr fungsb gen einer Abschlusspr fung sein Ein Kursteilnehmer kann die Software dann anwenden um beispielsweise seinen Wissensstand zu berpr fen Gelern tes zu wiederholen oder um sich auf eine Pr fung vorzubereiten Diese Diplomarbeit ist in Zusammenarbeit mit einem Projekt der Bremer Volkshochschule entstan den das die Volkshochschulen in ganz Deutschland virtuell unter dem Pseudonym vhs virtuell vereint und eine Plattform aufgebaut hat auf der Online Kurse eingestellt und abgerufen werden k nnen Ich konnte die vorhandene Infrastruktur nutzen und die Mitarbeiter haben mich mit Tipps und Anregungen unterst tzt Meine Arbeit integriert sich vorerst in den Kurs Sportbootf hrer schein See Dazu wurden ber die erstellte Software zusammen mit einem Tutor die amtlichen Pr fungsb gen erfasst und lernbegleitend eingesetzt Um die gesetzten Ziele berpr fen zu k nnen schloss sich der praktischen Arbeit eine Evaluati onsphase an in der ber Frageb gen und Interviews die Akzeptanz der Software diskutiert wurde Mittlerweile ist sie unter der Adresse http www2 vhs virtuell de gaon f r alle berechtigten Benutzer zug nglich die bungsaufgaben in ihren Kurs einf gen m
108. he Gehirn als eine Black Box die sich das Wissen aneignet und spei chert Der Vorgang des Lernens ist hierbei das korrekte Ablegen einer Reiz Reaktions Kette das hei t auf einen bestimmten Input oder Reiz gibt es einen einzigen richtigen Output eine Reak tion Wissen wird als eine korrekte Ein Ausgabe Relation gesehen die am Besten durch einen starr vorgegebenen Programmablauf eines autorit ren Lehrers vermittelt wird drill and practi ce Innerhalb dieses Denkmodells sollen die Lernenden m glichst viel Wissen auswendig lernen um es dann im Bedarfsfall abrufen und anwenden zu k nnen Eine tiefergehende Motivation zum Zeitpunkt des Lernens ist dabei im Allgemeinen nicht vorhanden sondern es wird vielmehr auf grund der Autorit t des Lehrers angenommen dass das vermittelte und auswendig zu lernende 14 Diplomarbeit Martin Blum Grundlagen Wissen in irgendeiner Form zu einem sp teren Zeitpunkt relevant sein wird Das Wissen wird da bei abgelegt in der Form Die Antwort auf Problem a ist die Tatsache b Hintergr nde Konse quenzen oder komplexe Strukturen werden somit meistens nicht vermittelt sondern h chstens nur als eine weitere Input Output Kette die nicht oder nur sekund r mit dem urspr nglichen Problem verkn pft ist Aus dieser Art zu Lernen sind die auch heute noch h ufig verwendeten Pr fungen ber Frageb gen entstanden bei denen auf eine gr ere Anzahl von Fragen im Allgemeinen eine relativ k
109. hschnittliche Bewertung je Aufgabe erhalten zu k nnen Und zum dritten wird die Punktzahl in der Gesamtsumme des Lerners der Summe f r das Themengebiet der Aufgabe und f r den Schwierigkeitsgrad der Aufgabe abgelegt Sinn dieser Da tenerhebung ist neben dem direkten Feedback zu einem Test und somit der M glichkeit den Lernfortschritt beurteilen zu K nnen ein Profil f r den Lerner zu erstellen ber das Defizite im Wissensgebiet erkannt werden k nnen Diese Bereiche k nnen dann gezielt trainiert werden Die statistischen Daten k nnen ebenso angezeigt werden wie die Auswertung eines Tests 6 3 Test der Implementierung Um den Anforderung an die Korrektheit dieser Software zu gen gen sollen eine Reihe von Test l ufen die einzelnen Module berpr fen und validieren Die angewendeten Testverfahren werden in den n chsten Kapiteln kurz umrissen die je nach Anwendbarkeit bei den verschieden Einzelmodu len genutzt wurden 6 3 1 Black Box Test Bei dieser Art von Test wird wie der Name schon vermuten l sst das Softwaresystem als eine Black Box angesehen d h als ein System deren innere Struktur f r den Test unbekannt ist Die Ausgaben aus dem System bei vorgegebener Eingabe werden verglichen mit den aus den Spezi fikationen ersichtlichen Erwartungen Ein Black Box Test ist erfolgreich wenn eine Anzahl an Tests im Allgemeinen die g ngigen Funktionen des Systems die erwarteten Ergebnisse liefern Das bedeutet zwar nicht
110. i parallele Ver arbeitung erm glichen Erh lt der Server vom Client eine Anfrage so muss er den n chsten freien Thread suchen und ihm diese Anfrage zur Verarbeitung bergeben Es sollte nicht mit einer unend lichen Anzahl von Threads gearbeitet werden theoretisch denkbar da die Prozessorauslastung eines Servers ab einem bestimmten Zeitpunkt an ihre Grenzen st t und ein weiteres Generieren von Threads dann keinen Sinn mehr macht In diesem Fall ist es g nstiger den Anwender ber eine Fehlermeldung auf den Zustand der Server berlastung hinzuweisen 5 2 3 Definition der Masken ber XML ber die vordefinierten Masken soll nicht nur das Aussehen der Oberfl che gesteuert sondern auch bereits ein Teil der Funktionalit t abgedeckt werden So sind Lese Zugriffe auf die Daten bank oftmals definiert ber entsprechende Eingabefelder in der Maske Die dazugeh rige Ausgabe ist h ufig eine standardisierte Tabelle die nur noch in der Optik definiert werden muss Des weite ren sollen Ergebnisse des Servers dargestellt werden Variableninhalte von Datenbanken abh ngi ge Auswahllisten oder durch Bedingungen gesteuerte HTML Passagen Ebenso soll eine Berechti gungssteuerung darstellen ab welcher Stufe diese Maske angezeigt werden darf Es muss also eine Definitionssprache eingef hrt werden die neben dem normalen HTML Syntax ebenso diese zu s tzlichen Funktionen abdecken kann Da sich diese Funktionen vorteilhafterweise in die Baum strukt
111. iableninhalt der Server Variablen mit dem Namen message und ist deklariert ber folgende XML Definition 64 Diplomarbeit Martin Blum Implementierung lt ELEMENT VARIABLE EMPTY gt lt ATTLIST VARIABLE name CDATA REQUIRED Abbildung 17 DTD Auszug f r Benutzung einer Variablen innerhalb einer Maske und lt QUERY name ql gt lt SQL gt select from Lerner lt SQL gt lt RESULTROW gt lt RESULTROW gt lt QUERY gt liefert alle Ergebniss tze einer Abfrage und bereitet diese entspre chend der Definition Ergebnissatz einzeln auf Diese Definition wird dabei tiblicherweise ein Tabellensatz sein in dem die einzelnen Felder des Ergebnis Sets dargestellt werden Dabei kann auf die Felder entweder durchnummeriert von resultVarl bis resultVarN zugegriffen werden oder ber den Namen des Feldes innerhalb der Datenbank In beiden F llen kann der Variablen noch der Name der Abfrage vorangestellt ist um Abfragen ineinander verschachteln zu k nnen Beispiels weise sieht die Abfrage auf alle Lerner des Systems innerhalb der Maske folgenderma en aus lt TABLE gt lt TR gt lt TH gt Login Kennung lt TH gt lt TH gt Name lt TH gt lt TR gt lt QUERY name gl lt SQL gt select from Lerner order by Lerner lt SQL gt lt RESULTROW gt lt TR gt lt TD gt lt VARIABLE name ql resultVar1 gt lt TD gt lt TD gt lt VARIABL name ql resultVar2 gt lt VARIABLE
112. iaee ait 110 Auswahl eines Verarbeitungsthreads aus dem Pool esceeeceeeeeeerreeererreeeee 111 Hauptroutine eines MasterThreads u 200s44220nnnnseennnnneenennnnennnn 111 Das Ablegen von Variableninhalten uss222s0nsnssssennnnseennnnnnennnnnnn ee 112 Das Lesen von Variableninhalten us 222000222ssennnsesennnnsennnnnnnennnnnan ee 112 Traversierung einer XML Maskendefinition uu 2222044222snennsesennnneeennnen 114 Verbindungsaufbau zur Datenbank uuus22220nssnsssennnnsesnnnnneennnnnnennnn 115 Einlesen eines Ergebnisvektors oncer iari erte i i 115 Verkn pfung zwischen Men system Task und Funktionalit t 116 Funktionalit t f r das Einf gen eines neuen Benutzers s eere 117 Generieren der HTML Fragedokumente uusss2sssnnnssesennnnsenennnnnen nenn 118 Transformieren von Benutzereingaben uuussssssnnonsesennensesnnnnnneennn ne 118 Vorbereitung der L sungsmenge u 2uunssssssnnnnnesennnnnsennnnnnsennnnnnneennn ne 119 Freitext usweitung a RR RR Aaa es Be Be a 119 Diplomarbeit Martin Blum Einleitung Kapitel 1 Einleitung Der Computer zur Vermittlung von Wissen wird bereits seit geraumer Zeit genutzt Ein Lerner war bis jetzt dabei jedoch auf sich selbst gestellt und konnte sich im Gegensatz zu einem Kursteilneh mer eines realen Kurses nicht mit anderen austauschen Durch die ra
113. ie die Dokumentbearbeitung standardisieren und dementsprechend vereinfachen Sie bauen dabei aufeinander auf und stellen dem Programmierer Methoden und Schnittstellen zur Verarbeitung von Ereignissen zur Verf gung Document Object Model SAX Parser Interface ErrorHandler Schnittstelle um auftretende Fehler abzufangen Error Handler fatalError error warning Abbildung 4 Aufbau eines DOM auf Basis eines SAX Parsers Dabei ist allerdings zu ber cksichtigen dass die Verarbeitungsgeschwindigkeit durch den Aufbau des Dokumentenmodells im Hauptspeicher sinkt Ein entsprechender Vergleich zu einem propriet ren Format hnlich den Server Side Includes sollte Bestandteil der Entwicklung sein Das Document Object Model lie e auch das bertragen eines Mixes aus HTML und XML an den Client zu da der XML Anteil auch dort ber eine Kombination aus JavaScript und einem Acti veX Control oder ein JScript mit der Anweisung document all tags wieder zu HTML 47 Diplomarbeit Martin Blum L sungsans tze zur ckgewandelt werden kann Seeboerger 2000 Das unterliegt allerdings einigen Einschr nkun gen die dazu gef hrt haben diese Idee nicht weiter zu verfolgen Zum einen sind ActiveX Controls bzw JScript nur unter dem Internet Explorer 5 0 verf gbar keine Browserunabh ngig keit mehr Dar ber hinaus wird wieder ein Teil der Verarbeitung dem Client bergeben Das sollte aber aus Performance und Stabilit
114. ie vom Benutzer verlangten Eingaben die sich auf das Notwendige beschr nken einer Plausibilit tspr fung unterzogen werden und in ihren M glichkeiten flexibel gestaltet sein sollten Die Benutzerf hrung sollte dabei einheitlich klar und einfach sein b aufdie vom Programmsystem angebotene Leistung die den W nschen des Benutzers ange passt und in ihrer Funktionalit t auf die Spezifikationen beschr nkt sein sollte c auf die produzierten Ergebnisse die bersichtlich gut strukturiert und einfach zu interpre tieren sein sollten Ergebnisse ebenso wie Fehlermeldungen sollten f r den Benutzer flexibel 34 Diplomarbeit Martin Blum Systemanforderungen bez glich ihres Umfangs ihres Detailliertheitsgrades und der Art der Pr sentation zu ges talten sein F r die Erlernbarkeit eines Programmsystems ist neben der Gestaltung der Benutzerschnittstelle die die abgerufenen Informationen realit tskonform pr sentieren und die eine effiziente Nutzung der Funktionen unterst tzen sollte auch die Klarheit und Einfachheit des Benutzerhandbuchs ent scheidend Es soll frei von unn tigem Ballast dem Benutzer erkl ren was das Programmsystem insgesamt zu leisten vermag wie die einzelnen Funktionen zusammenh ngen und wie sie im Detail anzuwenden sind Das Benutzerhandbuch sollte darauf eingehen welche Ausnahmesituationen eintreten und wie sie behoben werden k nnen Als Nachschlagewerk sollte es geeignet sein auf Fragen schnell und beq
115. iedert sich auf in 3 Bereiche 1 Der erste Bereich betrifft die Systemverwalter von vhs virtuell die Benutzer anlegen ent fernen und ver ndern m ssen Abrechnungsdaten aus dem System ziehen wollen und bei Sys temfehlern in die Struktur der Daten eingreifen m ssen 32 Diplomarbeit Martin Blum Systemanforderungen 2 Der zweite Bereich betrifft die Autoren eines Kurses die ber das System die Aufgaben der Frageb gen erfassen und entsprechend ihrer Vorstellungen strukturieren wollen 3 Der dritte Bereich betrifft die Anwender der hinterlegten Daten Das sind zum einen die Auto ren selbst die zu Testzwecken eine Pr fung ablaufen lassen wollen aber haupts chlich nat r lich die Tutoren und Lernenden eines Online Kurses die die hinterlegten Daten als Wissens berpr fung als Fortschrittstest oder als Zertifikatspr fung benutzen m chten Tutoren haben dabei die Funktion eventuelle Fragen der Teilnehmer zu beantworten sowie bei Pr fungen eine menschliche Kontrolle der maschinellen Auswertung eines Tests vorzunehmen Bei den Ler nenden gibt es wiederum die Untergruppe der Pr flinge die ausschlie lich Zertifikatspr fun gen ablegen d rfen und somit von den vorhandenen Hilfestellungen des Systems abgeschnitten sind Zeitlich ist diese Software durch die Dauer der Diplomarbeit auf 6 Mann Monate begrenzt so dass die Phase der Wartung und Verbesserung ber diesen Zeitraum hinaus nur im Rahmen von nach tr glich ab
116. in einer Datenbanktabelle ein eindeutiger Schl ssel f r jeden Test generiert ber den die Reihenfolge und der Bearbeitungsstatus des Tests abgelegt wird Diese Reihenfolge kann nach Zufall Schwie rigkeitsgrad oder Themengebiet gebildet werden dabei werden per Zufall eine durch den Anwender festgelegte Anzahl von Aufgaben aus dem entsprechenden Gebiet ausgew hlt Es kann ein be stimmter Fragenbogen gestartet werden dessen Reihenfolge bereits durch den Autor des Projekts in einer eigenen Datenbanktabelle hinterlegt ist und es kann eine Auswahl aufgrund der bereits beantworteten Fragen erfolgen ber die das System ermitteln kann bei welchem Themengebiet und welcher Schwierigkeitsstufe noch Defizite beim Lerner vorliegen In dieser Datenbanktabelle in der die Reihenfolge abgelegt ist wird auch gespeichert ob eine Frage bereits beantwortet ist da sie ja auch ohne Eingabe einer L sungsmenge durch den Anwender als beantwortet gekennzeichnet werden kann So erkennt das Servlet bei Steuerung des Tests ber die Navigationsleiste welche die n chste beantwortete oder unbeantwortete Aufgabe ist Etwas abgewandelt vom Prototypen sieht diese Navigation jetzt folgenderma en aus Das pebden Amih Eulen Kid F ws Frage 1 1 Wer ist f r die Befolgung der Verkehrsverschriften vorantwortlich i 2 Was ist zu tun wenn vor Antritt der Fahrt nicht feststeht wer Fahrzeugf hrer ist ame AB B Serra Hrona pam aprosien je
117. in das implementierte System Dieser Anhang soll kl ren was XML ist und anschlie end einen berblick ber die wichtigsten Bestandteile von XML und deren Einsatz verschaffen Es soll jedoch keine umfassende Einf hrung in XML darstellen und erhebt keinen Anspruch auf Vollst ndigkeit Detaillierte Informationen finden sich in der einschl gigen Literatur Goldfarb 1999 Seeboerger 2000 Behme 1998 W3C 2000b A 1 Die Charakteristika von XML Im wesentlichen zeichnet sich XML durch folgende Vorteile aus a XML unterst tzt eine allgemeine Dokumentenabbildung da aufgrund der im ASCII Code formulierten Markup s die Dokumente plattformunabh ngig programmiersprachenunab h ngig und protokollunabh ngig sind ASCII ist hierbei der kleinste Nenner zwischen ver schiedenen Computersystemen und erm glicht dar ber hinaus ebenso ein gutes Verst ndnis f r menschliche Anwender da XML Dokumente im Klartext lesbar und selbstbeschreibend sind b XML kann einen spezifischen Bezug zu Dokumenteninhalten schaffen Diese Eigenschaft ist die Erweiterbarkeit bzw eben das X in XML Es existieren also keine vordefinierten Tags f r die Dokumentenstruktur sondern der Anwender beschreibt diese ber XML da her der Begriff Meta Sprache Dabei wird in XML zwischen Inhalt und Format der In formationen unterschieden und Formatierungsvorschriften also die Darstellungsattribute 87 Diplomarbeit Martin Blum Exkurs XML bzw das Layout der
118. inen nicht n her spezifiziert werden k nnen die Ergebnisse dieses Tests nur mit dem pers nlichen Eindruck oder dem allgemein akzep tierten Standard verglichen werden wobei hier die Stabilit t von windows basierten Betriebssys temen nicht als allgemein akzeptierter Standard gelten soll Diese Leistungstests werden oftmals durch externe Tools durchgef hrt die z B die Rechnerauslastung vor und nach der Installation des Softwaresystems messen Ob ein Antwortzeitverhalten als gut oder als schlecht zu bewerten ist ist ein subjektiver Eindruck Allerdings h ngt das auch von der Art des Einsatzes der Software ab da eine reine Datenerfassung irgendwann durch den Anwender blind erfolgen wird und sich Verz ge rungen dann sofort negativ bemerkbar machen w hrend im vorliegenden Fall ein Anwender erst ber die L sung nachdenken wird bevor er zur Beantwortung schreitet und dabei durch den An wender bedingte Pausenzeiten eintreten werden Ein guter Leistungstest kann erst erstellt werden wenn sich das System im realen Einsatz befindet und von einer gr eren Anzahl Anwender benutzt wird Im Moment arbeitet das System innerhalb akzeptabler Grenzen da die Antworten vom Server in einer Geschwindigkeit geliefert werden die 78 Diplomarbeit Martin Blum Implementierung sich nicht merkbar von Antworten mit fest abgelegten Seiten unterscheidet solange nicht mit einer XML Validierung gearbeitet wird 6 4 Integration in die Umgebung von vhs v
119. iner Exkurs in XML Die einzelnen Men punkte und Bildschirmmasken sollen durch ein leicht zu erweiterndes System angesteuert werden Dies geschieht am Besten durch die Entwicklung einer Beschreibungssprache auf der Basis von XHTML erweitert mit den Funktionen zur Steuerung des Systemablaufs Aus Gr nden der besseren Wartbarkeit empfiehlt sich dabei ebenso die Benutzung des Standards XML der die Logik eines solchen Dokuments geeignet darstellen kann Zugriffe auf den Datenbestand sollten ber eine einheitliche Schnittstelle erfolgen um Programm fehler besser lokalisieren zu k nnen Eine Datenbank Schnittstelle sorgt f r alle Lese und Schreibzugriffe und abstrahiert somit das Kernprogramm vom eingesetzten Datenbankmodell Es existieren mehrere projekt bergreifende Parameter die ebenso durch die Systemverwalter ge pflegt werden m ssen 40 Diplomarbeit Martin Blum Systemanforderungen 4 2 6 3 Autorenwerkzeug zur Erstellung eines Tests Um ein Autorenwerkzeug f r Tests zu erstellen ist es n tig erst zu analysieren aus welchen Be standteilen ein solcher Test besteht Hierf r wurden die Frageb gen des Sportbootfiihrerschein See exemplarisch untersucht eine Quer berpr fung gegen die Tests des PKW F hrerscheins und einer Schulung im Bereich Office 2000 hat dabei gezeigt dass dieses Modell universell genug ist um beliebige Arten von Pr fungen darzustellen Ein Projekt ist hierbei die oberste Hierarchie unter der
120. iner falschen Spezifikation oder eines unvollst ndigen Entwurfs wird somit vermindert und l sst entsprechend Raum um zu einer verbesserten Systemspezifikation zu gelangen siehe auch Abbildung 9 Des Weiteren unter scheidet sich dieses Modell vorteilhaft von klassischen Phasenmodellen durch das starke zeitliche berlappen der Aktivit ten Problemanalyse und Spezifikation sowie Entwurf Implementierung und Test die somit besser ineinander verschmelzen Problemanalyse und Grobplanung System spezifikation User Interface Prototyping Architektur und mE Komponenten Prototyping Implementierung Systemtest Betrieb und Wartung Projektfortschritt_ Abbildung 8 Prototypingorientierter Software Life Cycle Quelle Pomberger 1996 56 Diplomarbeit Martin Blum Implementierung Prototypen spezifizieren Prototypen herstellen Mit Prototypen experimentieren Spezifikstionen andem und enmeitern Abbildung 9 Prototyping Aktivit ten Quelle Pomberger 1996 Der gro e Vorteil der gew hlten Methode ist dass im Gegensatz zur klassischen life cycleorientierten Entwicklungsmethode so fr h wie m glich implementiert wird Die Praxis hat dabei gezeigt dass gerade im Gespr ch mit den Benutzern eines Systems das Verst ndnis f r die Funktionsweise erheblich besser ist wenn das dynamische Verhalten eines Systems anhand eines Prototypen dargestell
121. instance Question question null ery 4 question new Question projekt aufgabe dbClient rb catch Exception e return false if question null try outputStream addLine HTML p HTML font HTML att HTML COLOR 3333FF HIML b question getDescription QuestionPositionList qpl question getPositionlist if qpl null for int I1 0 Il lt qpl getLength Il QuestionPosition qp qpl item Il int position qp getPosition if qo getQuestion null outputStream addLine HTML p HTML font HTML att HTML COLOR 3333FE HTML b gqp getQuestion if qo getDeclaration null outputStream addLine HTML p HTML b gqp getDeclaration String antworttyp qp getType QuestionResultPositionList qrpl qp getResultList if qrpl null outputStream addLine HTML tag HTML P HTML tag HTML TABLE HTML att HTML BORDER 1 HTML att HTML WIDTH 100 for int I2 0 I2 lt qrpl getLength I2 QuestionResultPosition qrp qrpl item I2 int nummer qrp getNumber outputStream addLine HTML tr HTML td lt GAONINPUT type antworttyp name inputVar position onChange disableNavigate gt lt VARIABLI Gl 117 Diplomarbeit Martin Blum Source Code ausgewahlter Funktionen name inputVar position nummer 1 gt lt GAONINPUT gt HTML
122. ion How SSL Works http developer netscape com tech security Bernd Oestereich Objektorientierte Softwareentwicklung M nchen 121 Diplomarbeit Martin Blum Literaturverzeichnis Peleska 1996 Pomberger 1996 Seeboerger 2000 Steinmetz 2000 Sun 2000 Sun 2001 Thome 1990 W3C 1998 W3C 2000a W3C 2000b W3C 2000c Wilhelms 1999 Zeiger 1999 Wien Oldenbourg 1998 Jan Peleska Formal Methods and the Development of Dependable Systems Kiel Institut ftir Informatik und Praktische Mathematik der Christian Albrechts Universit t zu Kiel 1996 Gustav Pomberger Giinther Blaschek Software Engineering Proto typing und objektorientierte Software Entwicklung Miinchen Wien Hanser 1996 Michael Seeboerger Weichselbaum XML Das Einsteigerseminar Kaarst bhv Verlag 2000 Ralf Steinmetz Multimedia Technologie 3 berarb Auflage Ber lin Springer 2000 Sun Microsystems Java Server Web Development Kit http java sun com products servlet Sun Microsystems Java Server Pages http java sun com products jsp R Thome Wirtschaftliche Informationsverarbeitung Miinchen Vah len 1990 W3C Recommodation Working Draft Namespaces in XML 1998 http www w3 org TR WD xml names W3C Recommodation Document Object Model DOM Level 2 Core Specification 2000 http www w3 org TR DOM Level 2 Core W3C Recommodation XML Specification 1 0 Second Edition 2000 http
123. iplomarbeit Martin Blum Vergleichende Bewertung bestehender Softwareprodukte 3 2 3 IBT Server von Time4You Der IBT Server der Firma Time 4 You ist eine Software die auf einem Server die entsprechenden Aufgaben der Lernumgebung ausfiihrt Das hat neben Vorteilen in der Ablaufperformance auch den Vorteil dass keine Client Software installiert werden muss Der IBT Server ist kein Autoren system im eigentlichen Sinn da er nicht die Erstellung der Seiten unterst tzt Der Server stellt lediglich die Funktionalit t einer Seite zur Verf gung die bei Bedarf vom Designer angefordert werden kann Zum Beispiel kann ein Formular entsprechend eingegebener Regeln ausgewertet und das Ergebnis f r sp tere Abfragen bereitgestellt werden Dazu muss der Autor aber tiefergehende Programmierkenntnisse besitzen da es keine leicht zu bedienende Oberfl che zur Integration der Serverfunktionen gibt Ein Zusatzprodukt der Firma Allaire mit dem Namen HomeSite vereinfacht die Bedienung da es sich hier um einen erweiterten HTML Editor handelt Trotzdem sind weiter hin mindestens gute Programmierkenntnisse erforderlich So m ssen zum Beispiel die oben ange sprochenen Ergebnisauswertungen teilweise selbst in JavaScript programmiert werden Der IBT Server stellt dem Anwender Community Funktionen wie Chat Foren E Mail Versand oder Benutzerprofile zur Verf gung der Schwachpunkt hierbei ist jedoch die komplizierte Erstel lung eines Tests und die Hinterlegung der Test
124. irtuell Das folgende Kapitel soll kurz abhandeln welche Schritte n tig waren um mit der implementier ten Software tats chlich arbeiten zu k nnen Dazu musste das System vom Entwicklungsrechner in die bestehende Systemumgebung der Volkshochschule Bremen integriert werden was eine Reihe von nicht vorhergesehenen Schwierigkeiten verursacht hatte Diese Schwierigkeiten treten vermut lich bei jedem gr eren Softwareprojekt auf so dass die getroffenen Ma nahmen noch als Teil der Projektphase Implementierung anzusehen sind Die zur Entwicklung eingesetzte Datenbank Microsoft Access bietet durch die komfortable gra fische Oberfl che eine gute Basis f r das Design einer Datenbank hat aber f r den realen Einsatz eines Softwareproduktes einige gravierende Nachteile Die Zugriffe sind auf die Datenbank nur ber die JOBC ODBC Bridge m glich die alle Anfragen aus dem JDBC an den ODBC Treiber weiterleitet Durch diesen Zwischenschritt leidet die Performance bei Zugriffen auf die Datenbank die bereits unter dem relativ langsamen ODBC Treiber nicht besonders gut war Ein von mir durchgef hrter Benchmarktest mit 1 bis 100 Lese und 1 bis 100 Schreibzugriffen hat zwischen der jetzt im Einsatz befindlichen mySQL Datenbank und der MS Access Datenbank einen Ge schwindigkeitsvorteil ca um den Faktor 2 herum f r das Schreiben und Lesen von S tzen ergeben Beim Lesen von Datens tzen mit dem mySQL Treiber war der durchschnittliche Zugriff pro Satz bei
125. isprotokollierung kann beispielsweise abgefragt werden wie viele Aufgaben ein Lerner bearbeitet gel st oder falsch beantwortet hat Idea ist jedoch momentan noch ein reines CBT Produkt da Online Elemente zwar angek ndigt sind jedoch noch nicht ausgeliefert werden In Idea existieren daher keine E Mail Funktionen News Foren oder Chat R ume ebensowenig wie eine Tutorenbetreuung und bewertung mehrerer Kursteilnehmer Als ein weiterer Nachteil von Idea ist aufzuf hren dass eine plattformabh ngige Laufzeitumgebung Delphi Runtime ben tigt wird die momentan nur f r Windows erh ltlich ist Eine Integration in bestehende Web Seiten ist daher nicht m glich Die Bewertung der einzelnen Kriterien sah im Detail folgenderma en aus Kriterium Beschreibung Bewer gewichtete Be tung wertung Kommunikationsmechanismen angek ndigt aber noch nicht 4 0 8 vorhanden Art der Implementierung Stand Alone 0 6 Antwortzeitverhalten nicht gut da die Delphi 0 4 Laufzeitumgebung relativ lang sam ist Autorentool verf gbar ja allerdings mit Schwachpunk ten bei der Erstellung von Tests Bedienungskomfort gut durch grafische Oberfl che mit Einschr nkungen durch die Laufzeitumgebung verf gbare Aufgabentypen Multiple Choice L ckentext Zuordnungen beliebige Elemen te System l uft nur unter Windows Browsereinschr nkungen Endergebnis 2 Link amp Link Idea 3 0 Version 2000 http www linkundlink de 24 D
126. issbrauch meiner Daten daher w rde ich eher auf den Einsatz dieser Software verzichten 7 Sind sie a weiblich b m nnlich 8 Ist ihr Alter a unter 50 Jahren b ber 50 Jahre Auswertung der Frageb gen h ufigste Antwort a 44 a 61 d 50 c 38 c 66 b 50 b 94 a 83 Diplomarbeit Martin Blum Frageb gen B 2 Fragebogen Softwarebewertung Lerner 1 Haben Sie die M glichkeit genutzt sich ber das Softwaresystem Gaon auf ihre theoretische Pr fung zum Sportbootf hrerschein See vorzubereiten a Ja b Nein weil i das Lernen am Computer zeitaufwendiger ist als das Lernen mittels des Frage bogensatzes auf Papier Tippaufwand langsame Internetverbindung etc ii die Kosten f r die Online Zeit mich davon abgehalten haben iii das Arbeiten am Bildschirm unangenehmer ist als das Arbeiten auf Papier iv keine Notwendigkeit daf r bestand da der Fragebogensatz bereits auf Papier vorhanden war v ich keine M glichkeit habe an einem Computer zu lernen vi ich keine Zeit daf r gefunden habe 2 Wie w rden Sie die Oberfl che der Software beurteilen bersichtlich funktional und selbsterkl rend erf llt ihren Zweck ist aber von der Optik her verbesserungsf hig erf llt ihren Zweck ist aber von der Bedienung her verbesserungsf hig aoe die Orientierung fallt schwer und das System sollte umgestellt werden Verbesserungsvorschl ge 3 Wie w rden Sie die Geschwindigkeit Antwo
127. ittels der Methode destroy alle Ressourcen freigegeben werden die von dieser Verarbeitungsinstanz noch gebunden sind Insbesondere die Verbindung zur Datenbank sollte ge l st werden da sonst je nach Qualit t des Treibers immer noch Objekte gesperrt bleiben Die Me thode getCodeDirectory liefert dem MasterWorker das Verzeichnis in dem nach den XML Dokumenten gesucht wird und ist nat rlich je nach Verarbeitungsklasse unterschiedlich getDBClient gibt die Referenz auf die Datenbankschnittstelle zur ck damit das MasterServlet nicht unn tigerweise eine eigene Verbindung zur Datenbank aufbauen muss Der Login Vorgang und die Berechtigungssteuerung ist eigentlich Aufgabe des Master Servlets allerdings kann es sein dass auch die Verarbeitungsklasse selbst eine eigene Prozedur oder Initialisierung beim Log in Vorgang vornehmen will Daher muss jede dieser Klassen eine Login Methode besitzen Die Methode processTask erledigt die eigentliche Arbeit 69 Diplomarbeit Martin Blum Implementierung Neben diesen Schnittstellenmethoden existieren natiirlich noch eine ganze Reihe weiterer Metho den die n tig sind um die gew nschte Funktionalit t zur Verf gung zu stellen Die wesentlichen davon werden nun in den folgenden Kapiteln vorgestellt um die Grundidee dieser Implementierung zu verdeutlichen 6 2 5 1 Systemsteuerung und Systemverwaltung Zur Steuerung des Systems liefert der Client in seinem Request einen Parameter mit
128. ium erh lt eine Bewertung von 1 bis 6 Schulnotensystem und wird dann entspre chend der angegebenen Bewertung gewichtet Bei der Art der Implementierung wird die Stand Alone Variante als die schlechteste angesehen da hier das Produkt entweder nur auf einem Betriebssystem lauff hig ist oder im Falle von Ja va vorher eine entsprechende Laufzeitumgebung installiert werden muss Auch die Applet Variante erfordert auf der Client Seite einen gewissen Aufwand Download des Applets In tegration der JVM in den Browser so dass hier die Servlet Variante als die g nstigste einge sch tzt wird Eine genaue Erkl rung dieser berlegungen folgt aber noch im Kapitel 4 2 Grobkonzept Die Gewichtung des letzten Kriteriums Abh ngigkeit vom System oder benutzter Software f llt relativ hoch aus da das Internet ein heterogenes Netz ist und daher internetf hige Soft ware entsprechend flexibel auf den durch die Anwender vorgegebenen unterschiedlichen Sys temen lauff hig sein muss Eine Einschr nkung auf nur einen Browser oder nur ein Betriebs system wird daher als gravierender Nachteil gesehen 3 2 Ergebnisse des Vergleichs 3 2 1 CBT s von Delius Klasing Lernprogramme auf einem nicht vernetzten Computer sogenanntes Computer Based Training CBT stellte den Anfang von computergest tztem Lernen f r den Home Bereich da Zum Zeit punkt der Softwareerstellung in den 90er Jahren waren zwar bereits multimediaf hige Computer in 22 Diplom
129. k task Gaon processtask task DBClient HtmiPage execute que Taq tagste ry 3ql3cri ng ing r DBClient executeque rglaqlsctel ngj HtmiPage tag taqstr ing Abbildung 10 Implementierung doPast Http3ervletrRequest MasterThread MasterWorker doPost requeat response putvalus key valuo getValue key a Gaon processTask task DBClient HtmiPage executeQue tagitagstr ry aqistri ing ng Hier wird aus dem Pool der Gr e n der n chste freie MasterThread gesucht der mit den Klassen Gaon DBClient und HtmlPage kommuniziert dar ber die Antwort an den Client erzeugt und dann an ihn zur ck bertr gt Als Veranschaulichung der Interaktionen der einzelnen Programmparts auf dem Server soll das folgende Interaktionsdiagramm dienen 58 Diplomarbeit Martin Blum Implementierung Servlet MasterThread Engine MasterVVorker HtmlPage Gaon dbInterface i 1 1 1 1 1 1 i 1 1 1 1 1 1 1 i 1 1 1 1 1 i 1 1 1 ar j ME Abbildung 11 Interaktionsdiagramm 6 2 1 Client Die Auswertung eines Applets verlangt ein standardisiertes Interface das implementiert werden muss damit die Ergebnisabfrage aus der Verarbeitungsklasse heraus funktionieren kann Dieses Interface muss die folgenden Funktionen beinhalten public interface Applet
130. kation mit ihren Kursteilneh mern gegeben E Mail Messageboard Diskussions Foren a Ja b Nein ich h tte mir noch weitere gew nscht Chat Videokonferenz etc c Die Kommunikation ber das Internet ist nicht f r die L sung der Probleme der Kursteilnehmer geeignet Verbesserungsvorschl ge 7 Wie oft haben Sie nach neuen Eintr gen im Diskussionsforum oder nach abgegebenen Pr fun gen nachgesehen und diese bearbeitet a t glich b 2 3 mal w chentlich c 1 mal w chentlich d weniger oder gar nicht Auswertung der Frageb gen On A A alte Antwort B 4 Fragebogen Softwarebewertung Autor 1 Wie w rden Sie die Oberfl che der Software beurteilen 97 Diplomarbeit Martin Blum Frageb gen a bersichtlich funktional und selbsterkl rend b erf llt ihren Zweck ist aber von der Optik her verbesserungsf hig c erf llt ihren Zweck ist aber von der Bedienung her verbesserungsf hig d die Orientierung f llt schwer und das System sollte umgestellt werden Verbesserungsvorschl ge 2 Wie w rden Sie die Geschwindigkeit Antwortzeitverhalten der Software beurteilen a gut b nicht besonders schnell aber akzeptabel c schlecht 3 Wie w rden Sie die Erfassung der Aufgaben und der dazugeh rigen L sungen beurteilen a einfach und selbsterkl rend b aufwendig aber praktikabel wenn Grundwissen in HTML vorhanden ist c zu aufwendig und verbesserungsf hig Verbesserungsvorschl ge 4 H tten Sie
131. kshochschulkurses lohnen wird 8 2 Bewertung Die Vorgehensweise in dieser Arbeit und die dabei angewendeten Methoden haben sich insgesamt gut bew hrt Mit Hilfe fundierter Grundlagen ist es gelungen die wesentlichen Probleme der Auf gabenstellung zu l sen Die Software wurde auf die Bed rfnisse der Bremer Volkshochschule bzw dem Projekt vhs virtuell zugeschnitten aber bei der Entwicklung darauf geachtet einen lebendi gen Softwarezyklus zu erm glichen und das System durch die Schnittstellen und die Benutzung des XML Standards auch f r sp tere Entwicklungen offen zu gestalten 8 3 Ausblick und Verbesserungen Wie bereits oben angedeutet wird die zuk nftige technische Entwicklung eine h here Akzeptanz bei den Anwendern hervorrufen Um die Software f r sie noch interessanter zu gestalten sind aber auch noch eine Reihe von Verbesserungen denkbar 85 Diplomarbeit Martin Blum Zusammenfassung und Ausblick e Bei Priifungen ist oft ein zeitlicher Rahmen gesteckt der durch das System tiberwacht werden k nnte So w re zum Beispiel eine Anzeige der verbleibenden Restzeit und ein automatisches Beenden des Tests nach Ablauf denkbar e Eine Reihe von Shortcuts und eine Verminderung der n tigen Benutzereingaben w rde die Eingabegeschwindigkeit weiter verbessern So fehlt beispielsweise bei der R ck bertragung der gemachten Eingaben ein Link um wieder direkt zur Aufgabe zur ckzuspringen e Die Erfassung der L sungsmenge basi
132. l utert Ebenso wird in Kapitel 4 2 4 Wartungsfreundlichkeit bereits n her auf den Begriff der Testbarkeit eingegangen 4 2 2 Zuverl ssigkeit Der Begriff der Zuverl ssigkeit ist eine Kombination aus Korrektheit eines Programmsystems und dessen Verf gbarkeit D h f r die Zuverl ssigkeit ist ein Zeitintervall entscheidend innerhalb dessen bei h ufigen Eingaben die Wahrscheinlichkeit eines Fehlers m glichst gering ist Auch die se Anforderung wird durch die umfangreichen Tests innerhalb des Kurses Sportbootf hrerschein See abgedeckt 4 2 3 Benutzerfreundlichkeit Der Begriff der Benutzerfreundlichkeit teilt sich nach Pomberger 1996 in die drei untergeordne ten Begriffe Ad quatheit Erlernbarkeit und die Robustheit eines Systems auf Dabei geht es in erster Linie um die Schnittstelle zum Anwender eines Systems der ein Softwareprodukt intuitiv bedienen k nnen sollte dabei allerdings auch bei Fehleingaben keine irreparablen Sch den hervor rufen darf Wie bei den anderen Softwarequalit tsmerkmalen existieren auch f r die Benutzer freundlichkeit keine Methoden oder Ma e mit der die G te gemessen werden k nnte Somit muss es Ziel der Programmierung sein bei Planung Durchf hrung und Kontrolle der Software Herstellung die Definition dieses Qualit tsmerkmals im Auge zu behalten da dieser Punkt mit entscheidend f r die Akzeptanz des Produktes sein wird Der Punkt Addquatheit oder Angemessenheit bezieht sich a auf d
133. lcodes abh ngig jedoch ist auch die Strukturierung der einzelnen Programmmodule ein wichtiger Faktor bzw ob die gew hlte Implementierungssprache eine solche Strukturierung berhaupt zul sst Ebenso f llt der Begriff Testbarkeit unter diese berschrift da hierunter die Eignung f r die Ver folgung des Programmablaufs verstanden wird D h ob durch die Sprache selbst oder durch den Programmierer z B M glichkeiten gegeben sind w hrend des Programmablaufs oder im Fehlerfall etwas ber den internen Zustand des Systems zu erfahren und so Fehler leichter lokalisieren zu k nnen genaue Beschreibung der Exception Zeile im Programmcode Inhalte von Variablen etc Ein ebenso bliches Verfahren ist der Einsatz von Tools f r automatisierte Testl ufe die ber das Generieren aller m glichen Zust nde und die Aufzeichnung der daraus resultierenden Ergebnisse einen systematischen Gesamttest durchf hren k nnen F rderlich ist daf r ein modulares gut strukturiertes Programmsystem da die Qualit t der Ergebnisse solcher automatisierten Tests bei unstrukturierten Systemen stark abnimmt Begr ndet ist dies durch die Art und Weise wie solche Tools arbeiten Sie ben tigen eine Schnittstelle f r die Eingabe von Testdaten an das zu testende System und f r das Auslesen der Ergebnisse ebenso wie eine Spezifikation der Anforderungen an 35 Diplomarbeit Martin Blum Systemanforderungen das Programmsystem um zu berpr fen ob das geliefert
134. lt so dass das SQL Interface als eine Art Ein Ausgabe Pipeline verstanden werden kann ber die Ein und Ausgaben der Datenbankschnittstelle aufberei tet und weitergeleitet werden 70 Diplomarbeit Martin Blum Implementierung 6 2 5 2 Autorenwerkzeug zur Erstellung eines Tests Das Autorenwerkzeug ist eine Gruppe von Tasks die sich um die Verwaltung der entsprechenden Datenbank Tabellen k mmern Diese Verwaltung von Datenbankinhalten ist vom Prinzip her eben so wie in der Benutzerverwaltung bereits exemplarisch dargestellt daher sei an dieser Stelle nur auf das obige Kapitel verwiesen Es werden Tabellen gepflegt die die Projektparameter enthalten Name Beschreibung Themengebiete der Pool von Aufgaben kann verwaltet werden Aufgaben beschreibung Aufgabenposition mit Typ und Fragestellung L sungspositionen mit den ben tigten Werten und die Aufgaben k nnen einem oder mehreren Frageb gen zugewiesen werden F r jede dieser Datenbanktabellen existieren eine oder mehrere Masken die nach dem beschriebenen Prin zip Datenbankinhalte auslesen anzeigen oder ver ndern Eine der Anforderungen war dass der Autor keine oder nur wenig HTML Kenntnisse ben tigen sollte um einen Fragebogen zu erstellen Ob diese Forderung nun erf llt ist ist Auslegungssache da zwar bei reinen Textdarstellungen einer Aufgabensituation keine weiteren Kenntnisse n tig sind jedoch ein etwas schickeres Layout oder die Einbindung externer Materialien nur
135. me CDATA IMPLIED value CDATA IMPLIED disabled disabled IMPLIED size CDATA IMPLIED maxlength Number IMPLIED onchange Script IMPLIED gt lt ELEMENT CHECKED PCDATA VARIABLE gt lt ATTLIST CHECKED varl CDATA REQUIRED cond egqlnelle ge llt gt eq gt lt ELEMENT VARIABLE EMPTY gt lt ATTLIST VARIABLE name NMTOKEN REQUIRED gt Saj lt ELEMENT PAGECLASS PCDATA Sblock form misc inline AUTHORIZATIONERROR gt lt ATTLIST PAGECLASS level CDATA REQUIRED gt lt ELEMENT AUTHORIZATIONERROR Flow gt lt ELEMENT GAONLINK LINKPARAM LINKTEXT gt lt ATTLIST GAONLINK href SURI IMPLIED gt lt ELEMENT INKPARAM PCDATA VARIABLE gt lt ATTLIST LINKPARAM name NMTOKEN IMPLIED gt lt ELEMENT INKTEXT PCDATA VARIABLI eal _ v lt ELEMENT QUERY SQL RESULTROW gt lt ATTLIST QUERY name NMTOKEN IMPLIED lt ELEMENT SQL PCDATA VARIABLE gt Diplomarbeit Martin Blum vollstandige DTD lt td lt E lt lt lt lt lt lt lt lt lt lt lt lt
136. ms ber XML Die M glichkeiten von HTML sollten um Funktionen erweitert werden die eine Abfrage an eine Datenbank definieren und die Optik des Ergebnisses dieser Abfrage als Template festlegen Da HTML und XML sehr stark miteinander verwandt sind erscheint hierf r XML die geeignete Wahl Es ist auch ein propriet res eigenes Format denkbar hnlich den bereits angesprochenen Server Side Includes das den Vorteil h tte a besser an die Anforderungen angepasst zu sein da durch XML zwangsl ufig ein Overhead f r die Definition der DTD und der Baumstruktur produziert wird b schneller zu definieren gewesen w re da der HTML Anteil nicht noch zus tzlich in die Definition mit aufgenommen werden muss c Dieser eigene Standard w re bei einer Ver nderung von HTML immer noch g ltig wie derum da der HTML Anteil nicht noch zus tzlich mit aufgenommen werden muss Aber da bereits DTD s f r striktes HTML existieren die auch im Falle einer neuen HTML Version relativ schnell integriert werden k nnen und der zus tzliche Overhead daf r aber den Vorteil bringt dass die Masken z B auf Fehler in der Struktur berpr ft werden K nnen wur de f r die Masken eine DTD f r folgende Funktionen entwickelt 63 Diplomarbeit Martin Blum Implementierung Authorisation lt PAGECLASS level ADM gt lt PAGECLASS gt Benutzung von Variablen lt VARIABLE name queryLogin gt lt VARIABLE name queryName resultVarl
137. n Daten der Daten bank in ein XML Format zur Verf gung Die entsprechenden Methoden folgen dabei den 3 Haupt anforderungen 1 eine M glichkeit zur Datensicherung einzelner Tabellen zu schaffen 2 Daten in Fremdsysteme exportieren zu k nnen z B Abrechnungsdaten 3 Daten aus Fremdsystemen importieren zu k nnen z B vorgefertigte Kurse W hrend das Datenformat f r die Anforderungen 2 und 3 nur in einer DTD spezifiziert und ent sprechend generiert werden muss war bei der Anforderung einer Datensicherung zu ber cksichti gen dass die Ausgaben aus der Export Schnittstelle direkt wieder als Eingabe der Import Schnittstelle dienen k nnen Daher folgen die implementierten Methoden sowohl f r den Import als auch den Export folgender DTD lt ELEMENT GaonData Query gt lt ELEMENT Query ResultSet Exception gt lt ATTLIST Query name NMTOKEN REQUIRED gt lt ATTLIST Query tables NMTOKENS IMPLIED gt lt ATTLIST Query clearBeforeOnImport true false IMPLIED gt lt ATTLIST Query updateExistingOnImport true false IMPLIED gt 68 Diplomarbeit Martin Blum Implementierung lt ELEMENT ResultSet Column gt lt ATTLIST ResultSet row CDATA IMPLIED gt lt ELEMENT Column PCDATA gt lt ATTLIST Column name NMTOKEN REQUIRED gt lt ELEMENT Exception PCDATA gt Exception name NMTOK 7
138. name ql resultVar3 gt lt TD gt lt TR gt lt RESULTROW gt lt QUE lt TABLE gt GI Abbildung 18 Maskendefinition mit Datenbankabfrage Und die dazugeh rigen DTD Bestimmungen sehen so aus lt ELEMENT QUERY SQL RESULTROW gt lt ATTLIST QUERY name NMTOKEN IMPLIED gt lt ELEMENT SQL PCDATA VARIABLE gt lt ELEMENT RESULTROW PCDATA block form misc inline tr td gt Abbildung 19 DTD Auszug fur Datenbankabfrage innerhalb einer Maske Die angegebenen Entities stammen dabei aus der DTD fiir striktes HTML und bilden die Block struktur von HTML Elementen ab die auch innerhalb des Gaon Knotens vorkommen diirfen Umgesetzt in Java wird diese Definition ber standardisierte Klassen zur Verarbeitung von XML innerhalb von Java beispielsweise ber das kostenfrei erh ltliche Produkt Xerces 1 3 1 das bis 1999 von der Firma IBM und seit dem von der Apache Software Foundation entwickelt wird Die se Klassen implementieren die Industriestandards SAX version 1 API und DOM Level 1 sowie dar ber hinaus die W3C Empfehlungen zum XML 1 0 Standard sowie SAX version 2 und DOM Level 2 version 1 0 Sie entbinden somit den Programmierer von der Umsetzung eines ASCII Textfiles in ein baumartiges XML Objekt Apache 2000 Des Weiteren ist dieses Produkt in der 65 Diplomarbeit Mar
139. nd nicht notwendig Wenn ber umfangreiche Algorithmen nicht gew hrleistet wer den kann dass die Bewertung des Computers korrekt erfolgt erscheint es sinnvoll durch das Sys tem eine Vorbewertung zu ermitteln die dann nochmals durch einen Menschen gepr ft und notfalls korrigiert wird Auch diese R ck bertragung an einen Tutor mit der M glichkeit zur Neubewer tung ist ein Teil meiner Routine zur Ergebnisermittlung Allerdings tritt sie nur im Falle einer Pr fung in Kraft da bei einem Test normalerweise der Anwender f r sich lernt und eventuell gerade kein Tutor online ist Au erdem kann der Anwender zus tzlich zur automatischen Bewertung selbst entscheiden ob seine L sung korrekt war da ihm bei einem Test eine Musterl sung mit einer entsprechenden Begr ndung angezeigt wird Der automatisierte Teil der Freitexterkennung wird in hnlicher Form auch bei den anderen Auf gabentypen angewendet Dabei wird zuerst die eingegebene Antwort in eine Reihe von W rtern zerlegt was ber eine Liste von Sonderzeichen erkannt wird also Leerschritt Satzpunktuation Klammern usw Danach wird die L sungsmenge aufgeteilt in zwei Listen zum einen in alle Schlagw rter die in der L sung vorkommen m ssen getrennt ber einen und zum anderen in alle Negativw rter von denen keines in der L sungsmenge vorkommen darf getrennt ber ein Jedes der Schlagw rter ist nun wiederum eine Liste von alternativen M glichkeiten getrennt ber
140. nde Vorteile dieses Konzeptes sind zum einen die strikte Aufteilung der Aufgaben auf voneinander unabh ngige Programmteile die ber wohldefinierte Schnittstellen miteinander agie ren Zum anderen kann durch die Verlagerung m glichst vieler Aufgaben auf den Server und zeit lich gesehen vor die Ausf hrung eines Tests den Anwendern des Systems m glichst unabh ngig von der eingesetzten Hardware auf der Client Seite ein konstant gutes Antwortzeitverhalten gebo ten werden 5 2 Prototyp und Feinkonzept Prototypen und Feinkonzept der Programmfunktionalit t gliedern sich in die 5 eben genannten Teilbereiche auf Ein Prototyp ist insbesondere f r die Schnittstelle zum Anwender f r die Kom munikation zur Datenbank f r das Generieren von HTML Seiten f r die Appletschnittstelle und f r das allgemeine Konzept eines Servlets sinnvoll Diese Prototypen waren bereits nach kurzer Zeit in der Lage zu zeigen dass das gew hlte Verfahren die Anforderungen abdecken kann Da bei der Erstellung der Prototypen bereits auf ihre Wiederverwendbarkeit geachtet wurde sind diese Prototypen direkt in das Gesamtsystems eingeflossen da nur noch die fehlenden Programmteile eingef gt werden mussten 5 2 1 Client Da die Client Seite des Systems browserbasiert ist m ssen als Prototyp f r die Schnittstelle zum Anwender nur eine Reihe von in sich verlinkten HTML Seiten erzeugt werden um dem Anwender bereits einen guten Eindruck der Funktionsweise zu verscha
141. nders enthalten k nnte Da nach wird festgelegt dass als Antwort ein HTML Dokument zur ckgesendet wird und der Writer der die Anwort an den Client umsetzt erzeugt ber diesen Writer wird jetzt der HTML Code ausgegeben der auf dem Client die gew nschte Antwort darstellt Danach kann der Ausgabekanal geschlossen werden und die Arbeit ist erledigt Ein einfaches Synchronisieren reicht allerdings f r die Belange dieser Software nicht aus wie be reits im Entwurf beschrieben und im obigen Ansatz angedeutet da aus Fairnessgr nden versucht werden soll eine festgesetzte Anzahl von Anforderungen parallel abzuarbeiten ber diese Anzahl hinaus soll dem Client ein Fehlerhinweis auf berlastung des Servers gesendet werden um ihn nicht zu lange zu blockieren Innerhalb des doPost wird aus einem endlichen Pool von Verarbei tungsthreads der n chste freie Thread gesucht Zur Verdeutlichung soll das folgende Diagramm dienen Master Thread d i Yu Master Worker uf P 2 _ MastarWVorker ati X a iter tior 1 Pootize Thread hread 5 je WiestarvVorke 4 jan e w ee gt doPost gt 7 ae E Abbildung 15 Auswahl eines Verarbeitungsthreads aus dem Pool Es wird f r jede Anfrage ein neuer Thread gestartet und dann ber die Methode Thread join auf seine Beendigung gewartet Dieser kleine Kunstgriff ist notwendig da der Servletkontext verloren geht wenn die Methode doPost beendet ist Da die Auswahl
142. nen fev Chemin BORN ae Abbildung 26 Implementierung des Testlaufs 12 Diplomarbeit Martin Blum Implementierung Die Steuerung erfolgt tiber die Tasten lt vorherige unbeantwortete Aufgabe lt vorherige Aufgabe gt n chste Aufgabe gt n chste unbeantwortete Aufgabe Zus tzlich wird in der Navigationsleiste die Positionsnummer und die Gesamtanzahl der Aufgaben angezeigt Die Tasten X Aufgabe unbeantwortet lassen C alle Eingaben l schen Antwort Antwort ablegen und bewerten Fertig Test vorzeitig beenden Hilfe und erweiterte Hilfe zum Online Kurs verzweigen sowie i Informationen zur Aufgabe anzeigen also z B Themengebiet Schwierigkeits grad erreichbare Punkte etc dienen der weiteren Steuerung des Tests und lassen dem Anwender viel Spielraum bei der indivi duellen Bearbeitung eines Tests Jeder dieser Tests kann nach dem Start an jeder Stelle unterbrochen werden z B durch Beenden des Browser oder durch Anwahl einer neuen Seite um in der n chsten Sitzung mit ihm fortzufah ren Nach der Beendigung des Testlaufs wird die Gesamtbewertung grafisch angezeigt 73 Diplomarbeit Martin Blum Implementierung Z Gaon Microsoft Internet Explorer Datei Bearbeiten Ansicht Favoriten Epiat 2 n Ze KIA a we 9 B 3 A I Abbrechen Aktuaksieren Startseite Suchen Favoriten Verlauf Acesse E hio wms2 vhs vitusilde gaon 7 Wechseinzu Links
143. ner Netzlast Autorentool verfiigbar ja HTML Kenntnisse sind aber 0 3 hilfreich Bedienungskomfort gut durch grafische Oberfl che aber verbesserungsf hig verf gbare Aufgabentypen Single Multiple Choice L ckentext Freitext beliebige Aufgabentypen durch Appletschnittstelle System Client l uft auf jedem handels Browsereinschr nkungen blichen Browser Server auf jedem Webbrowser der Servlets verarbeitet Endergebnis 84 Diplomarbeit Martin Blum Zusammenfassung und Ausblick Kapitel 8 Zusammenfassung und Ausblick 8 1 Zusammenfassung In dieser Arbeit wurde ein beraus komplexes System implementiert das den Anwendern eine sehr breite Funktionalit t bietet Aufgrund der zeitlichen Einschr nkungen sind diese Funktionen aller dings nicht immer bis ins letzte Detail ausprogrammiert Ein etwas enger gesteckter Aufgabenrah men f r diese Diplomarbeit h tte es erm glicht den Fokus nur auf bestimmte Funktionen zu len ken Trotzdem hat die Software den gew nschten Effekt im Einsatz Die noch etwas schleppende Akzeptanz der Anwender habe ich versucht zu begr nden und ich denke dass sie mit der Zeit wesentlich steigen wird Eine Diplomarbeit soll in die Zukunft schauen und neue Ans tze voran treiben Gerade die Entwicklung im Bereich der Geb hren f r DSL Anschl sse und Flatrate zei gen dass es nur noch eine Frage der Zeit ist bis sich die eingesetzte Technologie auch f r die Kursteilnehmer eines Vol
144. nnansesennenseenennnnsenennnnsen nenn 117 E 7 berpr fung von Eingaben gegen die L sungsmenge nnnnnneennen 118 TMMELALUEVErZEICIISSsccsssasccececcscsasssevasesecccosasseusesesecsounasessuesesscccunsssveseoesecceuaassvassoessocausseuvassensecos esse 121 Diplomarbeit Martin Blum Inhaltsverzeichnis GIOSSAM aE EEEE EEEE TE EEA EE A NEEN LOG Diplomarbeit Martin Blum Abbildungsverzeichnis Abbildungsverzeichnis Abbildung 1 Die Methode T3C Quelle Enlight 2001 eee eeeecceeeeeceeeeeaeeeeaneeeeauees 17 Abbildung 2 MakroarchiteKtur eee ceeeecccesseeccecneeecceeaueeceeaaeeececauueeceeeuaeesceeauaeeceeaueeeseeaaa 43 Abbildung 3 XML Konverter 20 0 2 tov 2 2 adie Sibel aint dite ait diel ae ee 46 Abbildung 4 Aufbau eines DOM auf Basis eines SAX Parsers uusssssseenssssssennnnsesennnnsennnn 47 Abbildung 5 Klassenbeziehungen des Datenbank Interfaces 0 cee cece eeseeceeceeeeeceeeneeeeeeees 49 Abbildung 6 Klassendesign der Aufgabenklassen cc ceeeeeeesseeececcneeeceeeaueeceeeaaaeeceeaaeeeeeeaas 50 Abbildung 7 Datenbankdesisn 2 22 80 8er air e 53 Abbildung 8 Prototypingorientierter Software Life Cycle Quelle Pomberger 1996 56 Abbildung 9 Prototyping Aktivit ten Quelle Pomberger 1996 s442240BBH Ren 57 Abbildung 10 Implementierung uuu2222404sasssssnnensessnnnnnsenennnnsennnnnsennnnnsennonnnsenennan renn
145. nschaulicht werden g tLerak getThemet a PLS itemjint QuastorResutPositicn List getLengiy itarnfint percent aS nov ce resukString fe Abbildung 6 Klassendesign der Aufgabenklassen Die Klasse Question h lt dabei alle Daten die sich direkt auf eine Aufgabe beziehen sowie eine Liste aller zugeh rigen Aufgabenpositionen Um einen einfacheren Zugriff auf jede Position dieser Liste zu erhalten ist sie in einer eigenst ndigen QuestionPositionList Klasse gekapselt Ne ben den Daten die sich auf eine Aufgabenposition beziehen enth lt die Klasse QuestionPosition wiederum eine Liste aller zugeh rigen L sungspositionen die zur Vereinfa chung des Zugriffs wiederum in einer eigenst ndigen Klasse QuestionResultPositionList gekapselt ist Diese Liste von QuestionResultPositions enth lt zum Beispiel bei einer Aufga benposition vom Typ Checkbox oder Radiobutton alle ankreuzbaren Eintr ge Ob ein angekreuzter Eintrag nun vom Ergebnis her richtig oder falsch ist beurteilt dabei die Methode checkResult Sie liefert als Ergebnis eine Klasse Result zur ck ber die der prozentual richtige Anteil der Antwort sowie weitere Informationen zum Auswertungsergebnis bertragen werden Bei einer Checkbox kann das Ergebnis nur richtig oder falsch sein jedoch gibt es auch Aufgabentypen wie zum Beispiel die Freitextauswertung bei denen nur ein Teil der L sung korrekt beantwortet sein 50
146. numgebung in einem Produkt 7 Orbis Communications Net Coach Version 2001 http www net coach de 29 Diplomarbeit Martin Blum Vergleichende Bewertung bestehender Softwareprodukte Die Bewertung der einzelnen Kriterien sah im Detail folgendermaBen aus Kriterium Beschreibung Bewer gewichtete Be tung wertung Kommunikationsmechanismen Chat Diskussionsforen E Mail 1 0 2 vorhanden Art der Implementierung Server 0 1 Antwortzeitverhalten gut abh ngig von Serverauslas 0 2 tung und allgemeiner Netzlast Autorentool verf gbar ja integriert in die Umgebung 0 1 erstellt automatisch Guided Tour Suchindex Glossar und Kommunikationsmechanismen Bedienungskomfort sehr guter didaktischer Aufbau von Kurs und Test f r alle Benutzergruppen leicht zu be dienen ber Browserinterface verf gbare Aufgabentypen Freitexteingabe ohne Verifizie rung Single Multiple Choice L ckentext System keine Einschr nkungen auf der Browsereinschr nkungen Client Seite Server ben tigt spezielle Umgebung Endergebnis 3 3 Zusammenfassung Nach Sichtung der bestehenden Softwareprodukte l sst sich erkennen dass zwar Teile jedes Pro duktes Vorteile haben die Anforderungen sich dabei aber auf verschiedene Produkte verteilen die sich nicht miteinander kombinieren lassen Erst jetzt ist mit dem Produkt Net Coach eine Software vorhanden die den gew nschten Anforderungen schon sehr nahe kommt Ausschlaggebend f r die En
147. nzit t und Situationsbezogenheit des Lernens f rdern 15 Diplomarbeit Martin Blum Grundlagen Dem gegen ber steht jedoch das oftmals beobachtete Ph nomen des lost in Hyperspace da die weitl ufig vernetzten Strukturen des Internets den Anwender durch die Flut an Informationen von den wirklich relevanten Daten fernhalten k nnen In der Auseinandersetzung mit dem Modell des Konstruktivismus wurden weitere Theorien entwi ckelt Sie unterscheiden sich in den grundlegenden Details aber nicht wesentlich gehen jedoch mehr auf die aktuellen technischen M glichkeiten ein z B Instruktionsdesign 2 Grades Learn ing Cycle 5 Cs of Internet Based Group Learning Sie spezifizieren z B Software n her die das Arbeiten in Gruppen vereinfacht sogenannte Groupware bzw speziell auf das Internet und des sen rasante Verbreitung zugeschnitten ist Pr fungen zur Leistungskontrolle werden innerhalb dieses Modells sehr schwierig da oftmals durch die Auseinandersetzung mit der gegebenen Situation beim Lerner bereits soviel Wissen und Erfahrung aufgebaut wird dass dabei gar nicht mehr entscheidend ist ob das gestellte Problem tats chlich gel st wurde Zusammenfassung Welches Paradigma richtig oder falsch ist l sst sich nicht sagen da sowohl die Lernenden als auch der Lernbegriff selbst zu vielf ltig sind Man lernt Fakten k rperliche Bewegungsabl ufe z B Laufen die Anwendung von Regeln man lernt Menschen kennen
148. ode Inspektion Dabei wird der Source Code des Programm systems Schritt f r Schritt vom Autor und sinnvollerweise von weiteren Mitarbeitern des Pro jekts betrachtet und in seiner Logik bewertet Da die Schritte nachvollziehbar sein sollten ansons ten ist der Code zu komplex programmiert worden m sste sich der Code wie ein gutes Buch lesen lassen und Fehler in der Logik oder im Design dem Testteam w hrend der Betrachtung auffallen Diese Art zu testen ist allerdings bei gro en Programmsystem sehr m hsam da die Aufmerksam keit des Testteams nach einiger Zeit schwinden wird und somit Fehler eventuell bersehen werden Au erdem f llt es schwer sich alle internen Zust nde innerhalb eines Moduls zu merken anders als der Computer der beim Ablauf mit der Speicherung solcher internen Zust nde keine Schwie rigkeiten haben wird Ich habe versucht bei diesem Softwareprojekt eine Code Inspektion durchzuf hren und sie dabei aber auf die wesentlichen Funktionen bzw auf aktuell bearbeitete Routinen beschr nkt Es standen keine weiteren Mitarbeiter zur Verf gung denen der Programmablauf h tte erkl rt werden k nnen so dass hier nur ein Teil des Tests absolviert wurde 6 3 5 Leistungstest Bei einem Leistungstest werden die nicht funktionalen Anforderungen und die Stabilit t des Soft waresystems berpr ft Da Anforderungen an Rechnerauslastung und Antwortzeitverhalten ebenso wie das Verhalten ber einen l ngeren Zeitraum im Allgeme
149. oder lernt sich in komple xen Situationen zurechtzufinden Es existieren also verschiedene Ebenen des Lernens und das au erdem noch auf verschiedenen Stufen Anf nger Fortgeschrittene oder Experten haben andere Bed rfnisse an die Lernmaterie und somit auch einen anderen Lernstil Allerdings l sst sich im merhin noch ein Anhaltspunkt festmachen Viele Pr fungen zum Erwerb eines Wissenszertifikats beruhen auf dem Abfragen von Wissen anhand von Frageb gen oft aufgrund der einfachen Aus wertbarkeit Sie folgen also immer noch dem Grundgedanken des Behaviorismus dass es auf jede Frage genau eine richtige Antwort gibt F hrerscheinpr fungen Tests in Schulen Schulungen innerhalb von Unternehmen EDV Kurse von Erwachsenenbildungsinstituten etc 2 2 Online Tests nach der Methode T3C Test Train Test Certify Die Methode T3C wird vermehrt als M glichkeit zur Gestaltung von Online Tests diskutiert En light 2001 Diese Methode geht davon aus dass ein Test Tool unabh ngig von der Art der Imp lementierung auf verschiedene Arten von den Anwendern genutzt wird Das Testsystem muss also dem Anwender verschiedene M glichkeiten bereitstellen damit er alle seine unterschiedlichen An forderungen an einen Test mit diesem einen Tool abdecken kann 16 Diplomarbeit Martin Blum Grundlagen 1 Eingangs Diagnose Test 3 Fortschritts Diagnose Test 2 Training 4 Zertifikats Test Abbildung 1 Die Methode T3C Quelle Enlight 200
150. oftware vor Ort zu pr sentieren wenn eine entsprechende Demo version nicht verf gbar war Die genauen Kriterien der Evaluation folgen im n chsten Abschnitt Aufgrund der rasanten Ver nderung des Softwaremarktes innerhalb dieses Bereiches sind nach tr glich noch zwei weitere Lerntools untersucht worden die im Zeitraum dieser Ausarbeitung ver ffentlicht wurden Sie liegen inhaltlich sehr dicht an dieser Arbeit und sind somit von sehr gro em Interesse Ihre Entwicklung zeigt dass ein entsprechender Bedarf solcher Software am Markt exis tiert 3 1 Vergleichskriterien Um die verschiedenen Produkte objektiv miteinander vergleichen zu k nnen habe ich folgenden Kriterienkatalog aufgestellt der auf die Anforderungen an eine Software zur Generierung und Auswertung von Online Pr fungsb gen zugeschnitten ist 21 Diplomarbeit Martin Blum Vergleichende Bewertung bestehender Softwareprodukte berpr ftes Kriterium prozentuale Bewertung Kommunikationsmechanismen Chat Foren E Mail Art der Implementierung Stand Alone Applet Servlet Antwortzeitverhalten Verf gbarkeit bzw Bedienungskomfort eines Autorentools das keine bzw wenig HTML Kenntnisse erfordert Bedienungskomfort der Oberfl che f r Anwen der Tutor Autor Systemverwalter verf gbare Aufgabentypen und damit Realit tsgrad der bun gen Abh ngigkeit vom benutzten System oder benutzter Software Erl uterungen zu den Kriterien Jedes Kriter
151. oldfarb 1999 Der Text enth lt die Daten des XML Dokuments und ist alles das was kein Markup ist Wenn der Text Zeichen enth lt die eigentlich das Markup kennzeichnen also zum Beispiel das Gr er als Zeichen so muss er mit der Anweisung lt CDATA gt umschlossen werden um diese Zeichen nicht als XML Anweisungen fehlzuinterpretieren A 2 6 Stylesheets Um in XML die Daten von ihrer Darstellung zu abstrahieren hat das W3C die Sprache XSL erar beitet ber die Fontgr en Farben oder Schritarten mit den Daten des XML Dokumentes ver kn pft werden k nnen Der Gro teil des XSL Codes sieht nach normalem XML aus und l sst sich daher einfach erlernen und bedienen Ich m chte an dieser Stelle allerdings nicht weiter auf XSL eingehen da es f r mein Projekt nicht relevant ist A 3 Ein Beispiel f r die Anwendung von XML Als Beispiel f r die Anwendung von XML habe ich den Import und Export von Daten der Daten bank gew hlt Eine der Anforderungen an das System ist die Extraktion von Billing Daten d h zu Abrechnungszwecken ben tigte Daten ber Zeitpunkt und Dauer von Anmeldungen innerhalb einer Abrechnungsperiode Grunds tzlich handelt es sich hier aber nur um einen Auszug aus einer Da tenbanktabelle sie ist jedoch in ihren Anforderungen klar umrissen und weicht daher etwas vom Format der Export Funktion des Datenbankinterfaces ab 90 Diplomarbeit Martin Blum Exkurs XML Anfrage an das Datenbanksystem lt
152. or Klasse uuus2220nssssssennnnsenennansennnnnnnennennn en 69 Abbildung 25 Generieren von HTML Dokumenten uusss22sunsnsessennnnsesennansennnnnnennenn en 71 Abbildung 26 Implementierung des Testlaufs eee cecseeeccceeneecceceueeeceeeueeeseeeuaesceeauaeeees 72 Abbildung 27 Anzeige statistischer Daten eines Tests cee eeceeeecccceneeeceeeaeeeceeeaaeeeeeeaaaeees 74 Abbildung 28 Vergleich Zugriffszeiten zwischen ODBC und mySQL uussss seen 80 Abbildung 29 Gaon Export Anfrage mit dazugeh riger DTD eee eeeeecceeeeeeeeeeanee ees 91 Diplomarbeit Martin Blum Abbildungsverzeichnis Abbildung 30 Abbildung 31 Abbildung 32 Abbildung 33 Abbildung 34 Abbildung 35 Abbildung 36 Abbildung 37 Abbildung 38 Abbildung 39 Abbildung 40 Abbildung 41 Abbildung 42 Abbildung 43 Abbildung 44 Abbildung 45 Abbildung 46 Abbildung 47 Abbildung 48 Gaon Export Antwort des Systems uuusssssennssssseennnnsesnnnnnneenennnsenennnnnen nn 91 vollst ndige DTD f r XML Maskendefinition uuss22220nsanseeennneeennnen 101 Einbindung der Gaon DTD in die XHTML DTD uenenne 102 Beispielmaske Sammelanzeige Login Daten uuussssseeeennseeeneneeenenen 102 JavaScript f r die Kommunikation zwischen Applet und HTML 109 Servilet RUMPL osssacceelsscctiedsnoeteabstoctiedeapeteshesectapdesacseddese ena eae a
153. orithmus zum Schutz vor unberechtigtem Zugriff auf Daten SAX Simple API for XML Eine Programmschnittstelle um aus Java heraus XML Dokumente zu verarbeiten Server Der Dienstleister Innerhalb einer Client Server Umgebung derjenige Teilnehmer der die Dienstleistung erbringt Gemeint ist im allgemeinen sowohl Computer als auch die entsprechende Software Servlet Serverseitiges Programm dass die Anfragen eines Clients bearbeitet und selbstt tig HTML Seiten generiert Ein Servlet ist eingebunden in den eingesetzten Webserver der nur vorgefertigte HTML Seiten aus einer vorgegebenen Verzeichnisstruktur an den Client bertragen kann SQL Structured Query Language Standardisierte Abfragesprache fiir Datenbanken SSL Secure Socket Layer Von der Firma Netscape entwickelter Aufsatz auf das TCP IP Protokoll um dieses um die Aspekte der sicheren bertragung zu erg nzen TCP IP Kommunikationsprotokoll zur bertragung von Datenpakten ber das Internet Tag Ein Tag kennzeichnet eine bestimmte Auszeichnung f r den darauffolgenden Text z B Beginn Fettdruck hat in HTML das Tag lt b gt Siehe auch Anhang A kleiner 123 Diplomarbeit Martin Blum Glossar Thread XHTML XML Exkurs in XML Ein Programmteil der mehrfach parallel laufen kann Dabei wird jedoch kein neuer Prozess im Hauptspeicher erzeugt sondern ein Teil des eigentlichen Programm Prozesses gemeinsam von allen Threads genutzt Diese Vorgehensweise ist
154. r 2000 Computerwoche Ausgabe 17 2001 Enlight Teststation Grundlagen Online Tests http www enlight net germany asp Europdische Kommission Eurydice Eurostat Schlisselzahlen zum Bildungswesen in Europa 1999 2000 http www eurydice com David Flanagan Java in a Nutshell Deutsche Ausgabe fiir Java 1 0 Bonn O Reilly International Thomson Verlag 1996 K H Flechsig Kleines Handbuch didaktischer Modelle Neuland Verlag 1996 Derek Franklin Brooks Patton Flash 5 Animationen fiirs Web Miinchen Markt Technik Verlag 2001 Pedro Freire export Access to SQL version 2 0 CYNERGI 1998 http www mysql com Martin Gogolla Skript zur Vorlesung Datenbanksysteme Universitat Bremen Fachbereich 3 Informatik 1999 Charles F Goldfarb Paul Prescod XML Handbuch Miinchen London u a Prentice Hall 1999 120 Harold 2000a Harold 2000b Hoffmann 1999 Idris 1999a Idris 1999b Idris 1999c Kerres 1998 Kunze 2001 Kriiger 2000 Mandel 1998 Matthews 1999 Microsoft 2001 Miinz 1998 Neuhaus 1998 Netscape 1999 Oestereich 1998 Diplomarbeit Martin Blum Literaturverzeichnis Elliotte Rusty Harold XML DTD s 2000 http metalab unc edu xml Elliotte Rusty Harold Processing XML with Java 2000 http www ibiblio org xm Berthold Hoffmann Betreuung Projektgruppe Bali Projektbericht des studentischen Projektes Bali Universit t Brem
155. r HTML Seiten an den Client zur ckgesendet werden k nnen Allerdings ist die Leistungsf higkeit des Servers im Allgemeinen kein Problem da hier nur ein Rechner mit einer guten Ausstattung zu versehen ist und nicht s mtliche Clients wie bei den beiden anderen Varianten Des Weiteren tauchen keine bertragungsprobleme auf da reines HTML f r die Kommunikationsverbindung genutzt wird das nicht durch Firewalls beschr nkt ist Durch den Einsatz einer Verschl sselungstechnologie wie z B SSL kann eine ausreichende Sicherheit gegen Missbrauch der Daten und Fehler in der Daten bermittlung gew hrleistet werden Eine weitere M glichkeit ist eine nachgeschaltete Sichtpr fung der bertragenen Daten so dass Eingabe oder bermittlungsfehler vom Anwender erkannt und dadurch verhindert werden k nnen Vorteile Keine Client Software n tig daher bessere Wartbarkeit geringerer Installationsaufwand weniger Fehlerquellen h here Akzeptanz Bessere Integration von Fremdsoftware durch Browser Plugins z B Flash Animationen Applets Video Streams etc Nachteile Langsamere Verarbeitung und h here bertragungskosten da jedes Zwischenergebnis bertragen werden muss und nicht mehrere Verarbeitungsschritte zu einem Datensatz zusammen gefasst werden k nnen Au erdem wird zu allen Daten immer der HTML Rahmen mitgesendet Das Servlet ist abh ngig von der eingesetzten WebServer Software 4 2 6 1 4 Absch tzung der 3 Varianten Die Auswahl aus
156. radder Aufgabe 7 Objekireerena CHARGS5 Referenz zu HTML Objekt_ Manuelikz MNYINT_ Objekt darf nur manuell ver ndert werden Ia Neim C Pone inr maximale Anzahl an Punkten f r diese Aufgabe Tabelle Aufgabenpositionen Key Feldname Felddatentyp Beschreibung Fragen LONGBLOB Fragetext dieser Postion hinweisen LONGBLOB Hinweistext Bine kreuzen Sie an oder Applet Code antwontyp CARGO _ AntderTeilfmge O O O yO C Begruendung LONGBLOB Begr ndung f r L sung Tabelle Droplisten Key Feldname Felddatentyp Beschreibung Schluessel CHAR 50 Vergleichsfeld f r die L sungsermittlung Wet CHAR 50 Anzeigetext innerhalb der Liste 103 Diplomarbeit Martin Blum Datenbankdesign Tabelle Foren Key Feldname Felddatentyp Beschreibung Bezug CHAR S0 Bezug aut eine Thread SSS Datum DATETIME Datum und Uhrzeit des Einrags eme CHAR S0 Login Kennung des Eintragenden Same CHAR S0 Name des Finiragenden O C Boan TR Been SSCS Beitrag LONGOR Berg OC o Anwon INT Anzahl Antworten auf diesen Beitrag hs SCR Hostname des Chiens fie C Adresse des Clients Tabelle Frageboegen Key Feldname Felddatentyp Beschreibung 2 Postion fet fron Cope O ee O Tabelle History Key Feldname Felddatentyp Beschreibung Username CHAR S0 Benutzername III fie C SSCS ost CHARS Host Name SSS 7 bogin
157. rechende Sensibilit t f r den Schutz ihrer Daten fehlt Aus diesen berlegungen folgert die Entscheidung das System als formularbasiertes Servlet System Variante 3 zu implementieren und Aufgabentypen die sich nicht mittels der Standard HTML Elemente darstellen lassen ber eine Applet Schnittstelle zu realisieren Da die Formular schnittstelle auch die Kommunikation der Applets bernimmt gibt es dabei z B keine Probleme mit Firewalls Bei der Installation und Inbetriebnahme der Appletschnittstelle k nnten die Anwen der zwar auch auf Schwierigkeiten sto en diese betreffen dann aber nur einzelne Aufgaben und nicht das gesamte System 4 2 6 2 Systemverwaltung Unter dem Begriff Systemverwaltung vereinigen sich s mtliche Funktionen die notwendig sind ein solches Softwaresystem zu installieren und zu betreuen Das zu erstellende Produkt muss eine Benutzerverwaltung besitzen um das bereits angesprochene Zugriffssystem zu implementieren Benutzer m ssen mit den erforderlichen Daten angelegt und gepflegt werden sie k nnen innerhalb eines Zeitrahmens f r mehrere unterschiedliche Kurse zuge lassen sein und sie haben innerhalb des Systems eine bestimmte Berechtigungsebene Das System muss Zeitpunkt und Dauer einer Anmeldung protokollieren da aus Abrechnungsgr nden diese Daten innerhalb eines frei w hlbaren Abrechnungszeitraums an ein Fremdsystem exportiert werden m ssen vorzugsweise unter Benutzung von XML siehe auch Anhang A kle
158. rimiert werden c Hinzu kommt dass die Markups sich f r jeden Anfang eines Elementes und f r jedes Ende eines Elementes wiederholen Stellt man sich die Darstellung einer Datenbanktabelle bei spielsweise vor so werden bei einem Datensatz mit bekannten Satzaufbau ausschlie lich die Daten bertragen w hrend in einem XML Dokument immer wiederkehrend alle Tags f r jedes Feld und jeden Satz mit bertragen werden Die Sprache XML hat den ernormen Schub der letzten Jahre allerdings gerade durch ihre Un abh ngigkeit von propriet ren Bin rformaten erreicht Die h heren Kosten f r die bertragung fallen durch die immer weiter fortschreitende Entwicklung in der Daten bertragungsgeschwin digkeit dabei kaum ins Gewicht A 2 Die Sprachelemente von XML Die wichtigsten Sprachelemente von XML teilen sich in die folgenden Gruppen auf A 2 1 Dokumenttypen Die Menge aller relevanten Dokumente teilt sich in unterschiedliche Kategorien auf die sich durch ihre Elemente definieren So unterscheiden sich beispielsweise Sachb cher Romane und Telefon b cher voneinander wobei das charakteristische Merkmal von Telefonb chern wahrscheinlich die Auflistung von Namen mit dazugeh rigen Telefonnummern sein wird unabh ngig vom Einband oder vom Titel Diese Kategorien werden in XML formalisiert in den Dokumenttyp Definitionen die eine Reihe von Definitionen f r Elemente Attribute und Entities enthalten Des weiteren ent 88 Diplomarbeit M
159. rn auch wenn abh ngige Programmteile noch nicht fertiggestellt sind Die Ergebnisse dieser nicht fertiggestellten Programmteile werden dabei simu liert indem das richtige Ergebnis geliefert gefaket wird So kann bereits in einem sehr fr hen Stadium begonnen werden zu testen und somit die Gr e des zu testenden Systems eingeschr nkt werden Dabei unterscheidet sich der Bottumup Test vom Topdown Test durch die Reihenfolge welche Verfeinerungsstufe getestet wird Beim Bottumup Test geht man von innen nach au en vor d h es wird mit dem Testen der elementaren Bausteine und Algorithmen begonnen danach werden einzelne Methoden dann gr ere Module und zum Schluss die Integration getestet Beim Top down Test l uft es genau umgekehrt hier wird zuerst die Hauptsteuerung implementiert und getes tet danach der Ansprung der einzelnen Module usw Diese Art zu Testen hat einige Vorteile Da bereits w hrend der Implementierung getestet wird fallen Designfehler zu einem fr hestm glichen Zeitpunkt auf und k nnen dann eventuell direkt 71 Diplomarbeit Martin Blum Implementierung behoben werden Der Entwicklungsstand kann relativ einfach erkannt und somit auch die Akzep tanz durch die Benutzer tiberpriift werden Das Bereitstellen von Testumgebungen kann oftmals dabei entfallen 6 3 4 Code Inspektion Eine relativ simple allerdings sehr n tzliche und effektive Methode zum Auffinden von Entwurfs und Implementierungsfehlern ist die C
160. rpretation der Eingabe Beispieltext einer richtigen L sung e Applet n Eingabem glichkeiten des Applets Funktion Parameter Wertlisten je nach Art des Applets Das Autorentool muss also entsprechend der aufgef hrten Struktur die ben tigten Masken und Funktionen zur Verf gung stellen so dass die erforderlichen Daten vom Anwender erfasst und ge ndert werden k nnen Aus den hinterlegten Daten muss das System die entsprechenden Objekte erstellen und auf dem Server ablegen Diese Objekte d rfen durch den Autor nachbearbeitet werden wenn das erzeugte Layout nicht den W nschen des Autors entspricht 41 Diplomarbeit Martin Blum Systemanforderungen 4 2 6 4 Der Ablauf eines Tests bzw einer Prufung Da ber das Autorentool die Objekte mit den Fragen bereits erstellt wurden m ssen sie w hrend des Ablaufs eines Tests nur in der gew nschten Reihenfolge dem Anwender angezeigt werden Dieser soll mittels einer automatisch eingef gten Navigation die M glichkeit erhalten innerhalb der festgelegten Reihenfolge nach vorne und nach hinten zu bl ttern um so z B erst alle leichten Fragen zu beantworten und dann zu den schweren zur ckzukehren Zur Erleichterung gibt es je Richtung die n chste unbeantwortete oder die n chsten Frage unabh ngig ob beantwortet oder nicht Die Antwort wird erst durch die Bet tigung eines separaten Buttons als g ltig abgespeichert im Testmodus wird dann die Korrektheit berpr ft und das
161. rtzeitverhalten der Software beurteilen a gut b nicht besonders schnell aber akzeptabel c schlecht 4 Wie w rden Sie die Korrektheit der Auswertung von Fragen beurteilen gr tenteils korrekt vom System her ausreichend aber noch nicht mit gen gend Daten versorgt manchmal richtig aber insgesamt eher unzureichend gr tenteils falsch ao Te Verbesserungsvorschl ge 5 Hat Ihnen die Software gen gend M glichkeiten zur Kommunikation mit ihrem Tutor und den brigen Kursteilnehmern gegeben E Mail Messageboard Diskussions Foren a Ja b Nein ich h tte mir noch weitere gew nscht Chat Videokonferenz etc c Die Kommunikation ber das Internet ist nicht f r die L sung der Probleme der Kursteilnehmer geeignet Verbesserungsvorschl ge 6 Hatten sie das Gef hl dass das Lernen mittels der Online Frageb gen Sie gut auf die Pr fung vorbereitet a Ja man kann auf die realen Frageb gen verzichten wenn Online gelernt wird 95 Diplomarbeit Martin Blum Frageb gen b Es war eine weitere M glichkeit das eigene Wissen zu testen aber ich w rde nicht auf das Lernen mittels der realen Frageb gen verzichten c Nein die Unterschiede zwischen Online Frageb gen und realen Frageb gen waren mir zu gro Verbesserungsvorschl ge Auswertung der Frageb gen i SE a a e a a aa Antwort b 66 a 60 a 80 b 60 a 60 b 60 B 3 Fragebogen Softwarebewertung Tutor 1 Haben Sie d
162. s222snnassesennnnseennnnnnsennnnnsennnnnnnennennan en 55 6 2 Implementierung Rn BB iienaa 57 0920 EEE SA 1 531 EE E E E EE E T E E EA 59 6 2 2 Kommunikation zwischen Servlet und Client cee eeeceesseeecceeeeeceeeaeeeseeeanees 61 6 2 3 Definition der Masken ber XML uuu 222200nssssssennansesnnnnnsesnnnnnnsennnnnnsen nenn 63 6 2 4 Kommunikation zur Datenbank uu222snsnssseennnnsennnnnnennennnsennnnnsen nenn 67 6 2 5 Funktionalit t zur Generierung und Auswertung von Online Pr fungen 69 6 2 5 1 Systemsteuerung und Systemverwaltung uussssseennenssssennnnsesennnnsennnnen 70 6 2 5 2 Autorenwerkzeug zur Erstellung eines Tests uuuus22ssnnnnseeennnnsenennen 71 6 2 5 3 Der Ablauf eines Tests bzw einer Pr fung uusssssssnenssssennensennnnen 72 6 3 6 3 1 6 2 5 3 1 Das Grundkonzept bei der berpr fung von Aufgaben gegen L sungen 74 6 2 5 3 2 Das L sungsmodul zur Erkennung von Freitext eee ee eeneeeeee eee eee 75 6 2 5 3 3 Statistische Daten zur Lernerbewertung uussssssnnnnseeennnnsennnnen 76 Test der Implementierung uuss22240nssssesnnnnnsesennnnennnnnnsennnnnsennnnnnennennnn en 76 BlackBox Testre sesen ereen Sones eseasan sess Beate E eean ee E ateti 76 Diplomarbeit Martin Blum Inhaltsverzeichnis 6 3 2 White Bo x Test u e sense sn ae en en ls 77 6 3 3 Topdown Bottomup Test
163. sante Verbreitung des Inter nets im kommerziellen wie auch im privaten Bereich wurde durch diese Technologie der ideale Mechanismus zur Kommunikation innerhalb solcher Gruppen geschaffen hnlich dem realen Le ben k nnen ber das Internet Nachrichten direkt oder zeitverz gert ausgetauscht werden und ebenso ist es m glich dass Informationen einmal abgelegt werden und dann allen Teilnehmern zur Verf gung stehen Daher wird im Moment verst rkt darauf hingearbeitet Kursinhalte online zu stellen und die reine Vermittlung von Wissen um die Aspekte der Kommunikation und Interaktivi t t zu erweitern So geht beispielsweise die Volkshochschule Bremen nach eigenen Angaben davon aus dass f r das Jahr 2002 das eLearning Angebot durch 30 der Teilnehmer gegen ber 1 in 2001 genutzt wird Dar ber hinaus gibt die Internettechnologie auch ungeschulten Personen die M glichkeit ber leicht zu bedienende Oberfl chen rechen oder speicherplatzintensive Arbeitsabl ufe von beliebi gen Rechnern aus ber einen leistungsf higen Server zu erledigen um so den Client PC zu entlas ten Somit kann sowohl Tutoren eine leichte M glichkeit der Kursgestaltung als auch r umlich weiter entfernten Lernern ein Mehrwert zum klassischen Kurs gegeben werden 1 1 Ziel der Arbeit Der Grundgedanke f r diese Arbeit beruht auf der Idee mittels der T3C Methode Test Train Test Certify einen effektiven Lernprozess zu unterst tzen Grunds tzlich geht es in dieser
164. shoch schule war die Tatsache dass die Servlet Engine von Jrun nur in einer veralteten Version instal liert war und keine Wartungsvertr ge vorhanden waren die ein kostenloses Upgrade erm glicht h tten So unterst tzt die eingesetzte Jrun Version nur Java 1 1 JDK1 1 5 w hrend die Software mit der aktuellen Java Version 2 0 JDK1 3 0_02 entwickelt wurde F r den realen Einsatz war also ein Downgrade auf die entsprechende Version n tig was eine Umprogrammierung einzelner Funktionen n tig machte da ein Teil der Java Methoden in dieser Version noch nicht vorhanden war Diese Umprogrammierungen waren allerdings noch relativ berschaubar da die relevanten nderungen dieser Version au er im Bereich Security oft nur Vereinfachungen f r den Pro grammierer oder Korrekturen von Fehlern waren 80 Diplomarbeit Martin Blum Evaluation Kapitel 7 Evaluation Zur Uberpriifung der gesteckten Ziele schloss sich der praktischen Arbeit an der Software eine Evaluationsphase an in der ber Interviews und Frageb gen die Akzeptanz des neuen Software systems mit den Kursteilnehmern diskutiert wurde Abschlie end wurde die Software anhand der in Kapitel 3 aufgef hrten Kriterien bewertet 71 Die benutzten Frageb gen Die Software sollte von den drei haupts chlichen Benutzergruppen Lerner Tutor und Autor hin sichtlich der Punkte ergonomisches Design Performance Bedienbarkeit und Effekt auf das Lern verhalten hin untersucht werden
165. sich alle Datenbest nde zusammenfassen Jedes Projekt teilt sich auf in mehrere Themengebiete Jeder Fragebogen benutzt Aufgaben aus einem Aufgabenpool so dass eine Frage auf mehreren Frageb gen erscheinen kann Die Frageb gen sind dabei sortiert nach einer vorgegebenen Logik oftmals nach Themengebiet die ber eine Positionsnummer auf dem Fragebogen erreicht wird Eine Aufgabe unterteilt sich jetzt wiederum in mehrere Positionen wobei jede Position wiederum in Abh ngigkeit des Antworttyps eventuell meh rere L sungselemente haben kann Dabei sind die einzelnen Antworttypen Abbildungen zwischen Element und L sung nach folgender Tabelle e checkbox n m n Elemente von denen m richtig sein k nnen e radio select one n gt 1 n Elemente von denen nur eines richtig ist e Field 1 gt 1 ein Eingabefeld mit unendlichen Eingabem glichkeiten wobei nur eine Eingabe richtig ist e List nx 1 e 1 Eine Liste mit n Elementen von denen jedes einzelne ein Eingabefeld mit unendlichen Eingabem glichkeiten ist wobei nur eine Eingabe richtig ist Die Reihenfolge der Eingabe ist im Gegensatz zu einer Aufz hlung von Elementen des Typs Field unerheblich Oftmals muss auch nur eine geringere Anzahl von richtigen L sungen gegeben werden Klassisches Beispiel ist die Frage Nennen Sie 4 der 7 M glichkeiten einen Wetterbericht zu erhalten e Text n eingegebener Text gt Funktion Parameter Daten zur Inte
166. smd getColumnName j 1 rs getString j t1 out convert resultrow n end loop next result set catch SOLException e do some error handling else if nodeName equals other gaon nodes else outt lt nodeName for int I 0 I lt attrs getLength I Node attr attrs item i outt attr getNodeName out attr getNodeValue end loop attributes QUL SSi NodeList children node getChildNodes if children null int len children getLength for int I 0 I lt len I out convert children item i end loop next child end if 113 Diplomarbeit Martin Blum Source Code ausgewahlter Funktionen end if break end case handle entity reference nodes case Node ENTITY REFERENCE NODE outt amp node getNodeName break end case print cdata sections case Node CDATA_SECTION_NODE out lt CDATA node getNodeValue gt break end case print text case Node TEXT_NODE out node getNodeValue break end case print processing instruction case Node PROCESSING_INSTRUCTION_NODE out lt node getNodeNane String data node getNodeValue if data null out data out gt n break end case end switch if type Node ELEMENT_NODE amp amp node hasChildNodes
167. soll wenn die vorhergehende Phase abgeschlossen ist und das klar definierte Ergebnis vorliegt Diese strikte Beschr nkung w rde jedoch dazu f hren dass der Entwicklungsprozess sehr starr vorgegeben ist und auf Benutzerw nsche neue Anforderungen oder nicht vorhergesehene Schwierigkeiten w hrend der Ausf hrung einer Phase nur noch schlecht eingegangen werden kann Daher ist in dem hier verwendeten und im n chsten Absatz beschriebenen Modell dieses streng sequentielle Vorgehen aufgeweicht Die Phasen selbst sind dabei weiterhin vorhanden beeinflussen sich jedoch auf unterschiedliche Weise untereinander Konkret existieren im Wesentlichen folgende Phasen des Software Entwicklungsprozesses e Problemanalyse und Planung Definition des Ist Zustands e Systemspezifikation Definition der Anforderungen e Grob und Feinentwurf von System und Komponenten e Implementierung und Test der einzelnen Komponenten e Systemtest 55 Diplomarbeit Martin Blum Implementierung e Betrieb und Wartung Ein prototypingorientiertes Life Cycle Modell wie es in Abbildung 8 skizziert ist vereint die Vor teile verschiedener anderer Modelle Da es im Gegensatz zu klassischem Phasenmodellen nicht linear sondern iterativ ist kann es in den aufeinander aufbauenden Durchl ufen jeweils durch die Betrachtung des Prototypen durch Anwender und Systementwickler wesentlich einfacher auf Feh ler und Funktionalit t berpr ft werden Oestereich 1998 Das Risiko e
168. spiel der Freitexterkennung im folgenden Kapitel erl utert werden 6 2 5 3 2 Das L sungsmodul zur Erkennung von Freitext Die Interpretation der menschlichen Sprache ist nicht trivial und findet im Bereich der Computer Linguistik bereits ein breites Spektrum an L sungsans tzen Um halbwegs den Sinn eines Satzes erkennen zu k nnen muss bereits soviel Vorarbeit geleistet werden dass das den Rahmen dieser Diplomarbeit gesprengt h tte So m sste f r jedes Wort eines Satzes seine Anwendungsform ge funden werden d h ist es das Subjekt Pr dikat oder Objekt ist es Plural oder Singular ist es im Akkusativ Dativ oder Genetiv ist es m nnlich weiblich oder neutral usw Erst dann k nnte der Wortstamm in einen Strukturbaum des Satzes eingehangen werden ber den wiederum die Bedeu tung ermittelt werden k nnte Dabei sind aber immer noch eine Reihe von Doppeldeutigkeiten m g lich die sich nur ber das Umfeld den Kontext des Satzes eliminieren lassen w rden Kunze 2001 Um nun die Antworts tze gegen die Fragestellung zu vergleichen w re wiederum eine Rei he von M glichkeiten zu hinterlegen mit welchen W rtern oder Satzgebilden die Frage beantwor tet werden kann zum Beispiel Kann ein Boot gesteuert gelenkt oder gef hrt werden Das sind zwar unterschiedliche W rter sie beschreiben jedoch den gleichen Sachverhalt Da die Antworten des Anwenders stark mit dem jeweiligen Projektthema verkn pft sind ist ein so gro er Aufwa
169. steilnehmern wird diese Art zu ben bis jetzt nur dadurch abgedeckt dass sich jeder Teilnehmer einen Satz Frageb gen kaufen musste Dazu kommt dass sie sich bei Fragen nur innerhalb der Pr senzveranstaltungen mit dem Tutor oder den anderen Teilnehmern austauschen k nnen und nur eine manuelle Kontrolle ber Lerner folg und Defizite m glich ist Dar ber hinaus existieren aber noch mannigfache weitere Gr nde die ich hier noch kurz auff hren m chte a Es ist keine Lern Software vorhanden die einem Lerner erm glicht Fragen aus einem Wis sensgebiet zuf llig sortiert nach Themengebiet nach Pr fungsbogen oder Leistungsdefiziten zu bearbeiten und dabei entweder noch Hilfestellungen zur Aufgabe zu erhalten oder eine Pr fung mit einem Endergebnis zu simulieren b Vorhandene Tools unterst tzen nur die Auswertung von vorgegebenen Antwortm glichkeiten Multiple Choice Allerdings geben vorgegebene Antwortm glichkeiten bereits einen Hinweis auf die L sung da die richtige L sung auch immer mit vorhanden sein muss so dass auf amt liche Frageb gen oft ein freier Text verfasst werden muss c Vorhandene Tools unterst tzen nur die bekannten HTML Elemente Es existieren jedoch auch Fragen die durch diese Typen nicht abgedeckt werden zeichnerische L sungen Zuordnungs aufgaben etc und die sich leichter durch eine interaktive parametrisierbare Schnittstelle ab 19 Diplomarbeit Martin Blum Grundlagen fragen lassen wiird
170. t 38 4 2 6 1 4 Absch tzung der 3 Varianten usssssssenensessnnnnnseennnnsennnnnnnsenennansenenn 39 4 2 6 2 Systemverwall ne snnJaiersshsskkhech ker 40 4 2 6 3 Autorenwerkzeug zur Erstellung eines Tests 20u42420s0nenseeeeneneenn 41 4 2 6 4 Der Ablauf eines Tests bzw einer Pr fung uusssssseeennnsesnennneenn 42 4 2 6 5 Statistische Daten zur Lernerbewertung uus2222sunssssennnnnnsesnnnnnesnnnnen seen 42 Kapitel5 L sungsans tze nn nennen a E 43 5 1 Giobkonzept ee deed es el ebene ra aa etn Ae aioe 43 5 2 Prototyp und Feinkonzept 2222usssssssennnnsesennnnsenennnnennnnnnnsennnnnsennnnnsennnnnnn en 44 D2 CUE ig essa cases caveats cu vegses boseateet EA E Segsetnadaggende Goa sussacemssnta T 44 5 2 2 Kommunikation zwischen Servlet und Client 20ss2s2ssennansesennnnneenennnn ee 45 5 2 3 Definition der Masken ber XML u 2220ussssssennnsesennnnsenennnnsennnnnnneenan 46 5 2 4 Kommunikation zur Datenbank 2220us2ssssennnnsssnennnnsennnnnnsennnnnnennen ne 48 5 2 5 Funktionalit t f r das Generieren und Auswerten von Online Pr fungen 49 5 3 Design der Datenbank es er nee me ee en Henn 52 Kapitel 6 Implementierung oooossoooossoosssssosssssocssssoesessoosesssosssssocssssoessssoosssssosssssossssssesssssse 55 6 1 Modell zur Softwareentwicklung uuus
171. t wird braucht sich der Anwender nicht um die Benennung der Variablen zu k mmern Die Clientoberfl che ist eine Reihe von in sich verlinkten HTML Seiten die vom Server generiert und an den Client bertragen werden Jede Funktion des Anwenders erh lt dabei eine Task Nummer damit das Servlet entscheiden Kann welche Wahl der Anwender getroffen hat Ein typi scher Men Link sieht dabei dann folgenderma en aus lt a href gaon servlet Master task A0l0 amp reset YES gt Verwaltung Login Kennungen lt a gt Abbildung 13 Men link Hier wird das Master Servlet angewiesen alle internen Variablen zur ckzusetzen und dann Task A010 auszuf hren Innerhalb der Projektklasse ist dann aufgeschl sselt welche Anweisungen f r diese Task n tig sind um beispielsweise wie hier die Verwaltung der Login Kennungen zu beginnen Der blichere Fall wird aber die bertragung eines Formulars sein in das der Anwender bestimm te Werte eingetragen hat F r das Servlet unterscheidet sich die bertragung der Daten allerdings nicht da im obigen Beispiel die URL kodierte bertragung von Feldinhalten dargestellt ist die auch von der HTML Formular Schnittstelle benutzt wird Das Formular zur Auswahl einer be stimmten Login Kennung nach Kennung Name oder E Mail Adresse w rde beispielsweise so aus sehen lt p gt lt b gt Bitte spezifizieren sie ihre Auswahl lt b gt lt form action gaon servlet Master method post gt
172. t Computers gelesen und ver ndert werden ebenso kann zu jedem beliebigen Rechner eine Verbindung aufgebaut werden Allerdings bernehmen in Unternehmen Sicherheitsmechanismen wie z B Firewalls oder Zugriffsbeschr nkungen oftmals die Rolle der Browser Sandbox Die ben tigte Run Time Umgebung ist ein separates Produkt das vor Installation des eigentlichen Programms erst auf jedem Client Rechner installiert werden muss Mittlerweile existieren jedoch bereits Setup Programme die diese Installation vereinfachen Vorteile Keine Beschr nkungen durch Browser Sandbox Client Oberfl che und Funktionalit t k nnen nach eigenen Vorstellungen gestaltet werden gute M glichkeiten f r Datenverschl sselung und transport Nachteile Aufwendige Installation vor erster Nutzung Anwender muss dem System vertrauen Firewalls blockieren teilweise die Verbindung zum Server 4 2 6 1 2 Variante 2 Applet kommuniziert mit Server In dieser Variante l uft innerhalb eines Browsers das Programm in einer klar definierten Sandbox d h Zugriffe auf Rechnerressourcen und Kommunikationspartner werden limitiert Das Applet muss bei jedem Browserstart neu ber das Netz geladen werden au er es liegt noch im Cache daf r entfallen jedoch jegliche Installationsma nahmen Durch das neue Sicherheitsmodell von Java 2 vermischt sich diese Variante mit der im vorigen Kapitel beschriebenen Stand Alone Variante da durch das Signieren von Applet Archiven die Sich
173. t das Gesamtsystem transparent genug um eingeschlichene Fehler zu lokalisieren und zu eliminieren Die Datenbank Schnittstelle profitiert von den Erfahrungen einer anderen Lehrveranstaltung das an der Bremer Uni bliche zweij hrige Softwareprojekt mit dem Namen Bali Hoffmann 1999 Hier wurde bereits eine hnliche standardisierte Schnittstelle entwickelt die als Prototyp f r das Projekt Gaon eingesetzt und um die noch fehlenden Funktionen erweitern werden kann hnlich dem vom JDBC eingesetzten Modell sollen die Ergebnisse einer Abfrage in ResultSets abgelegt werden allerdings erweitert um die M glichkeit die gesamte Anfrage als Ergebnisvektor zur ck zusenden Daher muss das im JDBC verwendete ResultSet umkodiert werden in eine eigenst ndige Klasse um so die Daten eines Ergebnissatzes unabh ngig vom vorherigen oder n chsten Satz ver f gbar zu halten Au erdem k nnen so Methoden in diese Klasse gekapselt werden die f r den Import und Export von Daten in ein vorgegebenes XML Format die n tigen Konvertierungen vor nehmen Des Weiteren soll die Datenbankschnittstelle dem Programmierer Routinearbeiten abneh men die f r die Verbindung zu einer Datenbank vollzogen werden m ssen Treiber laden State ments verwalten etc Es kann allerdings davon ausgegangen werden dass entweder die Daten bank zusammen mit dem Servlet auf dem gleichen Rechner l uft also ausschlie lich lokal oder dass eine Datenbank verwendet wird die einen N
174. t werden Bedienungskomfort gut durch klar strukturierte Oberfl che verf gbare Aufgabentypen Single und Multiple Choice Freitextaufgaben ohne automa tische Auswertung System keine Einschr nkungen f r den Browsereinschr nkungen Client jeder handels bliche Browser Server ist eigenpro grammiert in C Endergebnis 3 2 5 Nachtr glich Teststation der Firma Enlight Die Firma Enlight hat mit der Teststation Reihe mehrere Produkte herausgebracht die in ihrer Zielsetzung sehr nahe an dieser Arbeit liegen Dieses Produkt wurde nachtr glich eingehend unter sucht obwohl zum Erscheinungsdatum die Vergleichsphase bereits abgeschlossen war Einige Ideen sind bei der Betrachtung dieser Software noch in das Design eingeflossen Die Firma Enlight arbeitet eng mit der von vhs virtuell eingesetzten Lernplattform zusammen siehe unten und deckt dort den Bereich Wissenstest ab Mithilfe dieses Tools ist es nun m glich einen Online Test zu erstellen und diesen dann in einen Kurs zu integrieren Die Datenbest nde werden dabei zentral auf einem Server verwaltet der ber ein Applet die eingegebenen Daten des Anwenders erh lt Als besonders hervorzuheben ist hier die Tatsache dass dem Anwender neben den primitiven Aufga bentypen Single Multiplechoice und Klicken auf eine bestimmte Bildposition auch ein Test di rekt an einer Applikation angeboten werden Kann So startet das Applet beispielsweise die Anwen dung Word auf
175. t werden kann als wenn es in blo er Beschreibung eines Pflichtenheftes vor liegt Somit wird das Risiko einer Fehleinsch tzung vermindert und die Effekte die mit den Zwi schenergebnissen durch Experimente erzielt werden k nnen erleichtern die Qualit tssicherung Pomberger 1996 Seite 26 Bei der Entwicklung der Prototypen habe ich versucht auf deren Wiederverwendbarkeit zu achten da es aufgrund des Umfangs der einzelnen Teilaufgaben n tig erschien die Softwareerstellung so rationell wie m glich zu halten Daher sind diese Prototypen nicht mit einem speziellen Werkzeug erstellt sondern gliedern sich m glichst sofort in das Gesamtsystem ein 6 2 Implementierung In diesem Kapitel wird kurz die tats chliche Implementierung des Entwurfes skizziert und dabei nochmals n her auf das Klassendesign eingegangen Der Sourcecode ist ber die Webadresse http www2 vhs virtuell de gaon source abrufbar da er mehrere tausend Zeilen Code enth lt und daher ein Ausdruck nicht sinnvoll erscheint Im Anhang sind allerdings die wichtigsten Routinen und Algorithmen abgebildet da sie f r das Gesamtverst ndnis der Funktionsweise f r derlich sind Zuerst jedoch ein kurzer berblick ber die Verzahnung der Klassen untereinander Jedes Absenden eines Formulars auf der Client Seite ruft die Methoden doGet oder doPost des Servlets auf wobei allerdings jeder doGet nur auf doPost umgeleitet wird und daher nicht weiter interessant ist Dabei w
176. td qrp getValue end loop next Loesungsposition outputStream addLine HTML tagEnd HTML TABLE end if end loop next Aufgabenposition catch Exception e return false outputStream addLine HTML tagEnd HTML FORM outputStream addLine HTML tagEnd HTML BODY T outputStream addLine HTML tagEnd HTML HTML outputStream write return true Abbildung 45 Generieren der HTML Fragedokumente E 7 berpr fung von Eingaben gegen die L sungsmenge if antworttyp equals checkbox Jantworttyp equals radio String inputVar2 String inputVar clone initialize array inputVar new String countResultPositions for int I 0 I lt inputVar length I inputVar I 0 transfer values to array for int I 0 I lt inputVar2 length I int cval Integer parselnt inputVar2 I inputVar cval 1 1 end loop next input end if Abbildung 46 Transformieren von Benutzereingaben boolean neg false Vector schlagwort new Vector Vector negativwort new Vector StringTokenizer st new StringTokenizer loesung toLowerCase true while st hasMoreElements String token String st nextElement if token equals neg true else if token equals neg false else if neg negativwort addElement token else Vector orList new Vector StringTokeniz
177. tehen aus einer Reihe von HTML Seiten und JavaScripts f r den Kursablauf sowie einem eigenen Auswertungs server f r die Online Tests Bis jetzt existieren nur Tests zur Lernerfolgskontrolle mit den automa tisch ausgewerteten Aufgabentypen Single oder Multiple Choice f r den zus tzlich vorhandenen Aufgabentyp eines freien Textes wird nur eine Musterl sung pr sentiert Der Anwender muss bei diesem Typ selbst entscheiden ob die gegebene Antwort richtig war oder nicht Daher flie t dieser Aufgabentyp auch nicht in die Lernerstatistik ein Die Tests lassen sich von der Optik nicht anpas sen und k nnen somit auch kein gutes Look and Feel einer realen Pr fung bieten In die Oberfl che sind eine Reihe von Kommunikationsmechanismen integriert Kontakt kann auf genommen werden zu einem Tutor oder zu den anderen Kursteilnehmern ber einen Chat ber Diskussionsforen oder ber E Mail Die Bewertung der einzelnen Kriterien sah im Detail folgenderma en aus Kriterium Beschreibung Bewer gewichtete Be tung wertung Kommunikationsmechanismen Chat Diskussionsforen E Mail 2 0 4 vorhanden Art der Implementierung Server 0 1 4 AHR Lerneffekt WBT Version 2000 http www lerneffekt de 26 Diplomarbeit Martin Blum Vergleichende Bewertung bestehender Softwareprodukte Antwortzeitverhalten gut abh ngig von der Server auslastung und der allgemeinen Netzlast Autorentool verfiigbar nein jeder Test muss von AHR implementier
178. tin Blum Implementierung Lage die XML Daten nicht nur auf Wohlgeformtheit zu tiberpriifen sondern sie auch auf Wunsch zu validieren Harold 2000b Fiir die Umsetzung der Maskendefinition wird ein XML Baum traversiert und an jedem Knoten entschieden ob es sich um eine Gaon Erweiterung handelt Wenn nicht wird dieser Knoten als XHTML Element in den Ergebnisbaum eingehangen Handelt es sich um eine Gaon Erweiterung wird der Teilbaum an die entsprechende Methode zur Verarbeitung tibergeben und dort in einen XHTML Teilbaum konvertiert z B indem eine Abfrage ausgefiihrt wird und dann alle ResultSets auf die Ergebnisdefinition angewendet werden oder indem eine Bedingung berpr ft wird und dann die angeforderte Operation ausgef hrt wird etc Da dies auch rekursiv geschehen kann ist eine beliebige Verschachtelungstiefe innerhalb der Maskendefinition m glich Document Object Model Abbildung 20 Aufbau des Gaon DOM s Im Anhang E 3 findet sich exemplarisch der Source Code f r den Aufruf des XML Parsers und die Traversierung des DOM Objekts Innerhalb der Element Knoten findet dabei die Auswertung und Generierung der Maskendaten statt und um das zu veranschaulichen ist in diesem Beispiel die Auswertung des Query Tags mit aufgef hrt Der komplette Java Code zur Auswertung der XML Masken findet sich im Source Code des Master Workers und die vollst ndige DTD sowie eine komplette Beispieldefinition f r eine Maske findet sich in Anhang C
179. tscheidung f r eine bestimmte Lernplattform war f r das Projekt vhs virtuell die ausgepr gte Mandantenf higkeit und gute Benutzerverwaltung und f hrung der Lernplattform Corporate Learning von T Systems Die ausstehenden Anforderungen an eine Testsoftware k nnen mit die ser Software aber nicht abgedeckt werden Mittlerweile bietet das Softwarehaus Enlight sein Tool Teststation an das sich in diese Umgebung integrieren l sst f r das aber eigene Lizenzen erwor ben werden m ssen Da aber auch dieses Tool nicht alle Anforderungen abdeckt entsteht die Not 30 Diplomarbeit Martin Blum Vergleichende Bewertung bestehender Softwareprodukte wendigkeit durch genaue Analyse der Systemanforderungen eine Software zu entwickeln die den geforderten Spezifikationen entspricht Uber diesen Prozess handelt das n chste Kapitel 31 Diplomarbeit Martin Blum Systemanforderungen Kapitel 4 Systemanforderungen 4 1 Problemanalyse Ist Zustand In diesem Kapitel wird der Ist Zustand beschrieben das System kurz mit seinen Bestandteilen vorgestellt und die Integration in die Umgebung von vhs virtuell skizziert Als ersten Punkt wird die finanzielle personelle und technische Ausstattung beschrieben Das Budget des Projektes vhs virtuell sieht ausschlie lich die Anschaffung der technischen Mittel und der daf r n tigen Software vor also zum Beispiel Web Server Medien Server Video Encoding Arbeitspl tze und die da
180. tsgr nden vermieden werden Es erscheint daher in diesem Zusammenhang sinnvoller bereits auf dem Server die Daten der Datenbank ber ein in XML de klariertes Schema in ein lesbares Format umzuwandeln und nicht den Zwischenschritt ber ein XML Client Datenformat zu gehen Dieses Format w rde nur dann Sinn machen wenn z B im Falle eines Exports von Katalog Daten der Anwender eine M glichkeit erhalten soll die Datenbe st nde in seinem Eigensystem weiterzuverarbeiten 5 2 4 Kommunikation zur Datenbank Die Kommunikation zur Datenbank soll einen eigenen Bereich des Gesamtsystems darstellen da beim Zugriff von Java auf Datenbanken ber die vom JDBC Java Database Connectivity bereit gestellten Klassen je nach Betriebssystem und eingesetztem Datenbanktreiber gravierende Unter schiede im Laufzeitverhalten auftreten So sind die von Microsoft ausgelieferten ODBC Treiber scheinbar nicht vollst ndig kompatibel zumindest nicht ausreichend fehlertolerant zu den von JDBC ODBC Treibern geforderten Vorraussetzungen so dass sich syntaktische oder semantische Fehler beim Zugriff auf die Datenbest nde in diesem Fall eine Microsoft Access Datenbank schnell als nicht mehr nachvollziehbar entpuppt haben Erst die Zusammenfassung der Datenbank zugriffe in abgeschotteten Klassen l sst eine Abstraktion zwischen dem Datenbestand und den technischen Voraussetzungen auf ihn zuzugreifen zu Durch eine strikte Trennung von den Schnittstellen des JDBC bleib
181. tware erkennen wenn die hinterlegten Daten der L sungsmenge inkorrekt sind und dann einen entsprechenden Hinweis an den Autor senden Ein eigenst ndiger Lernmodus w re dabei die Kr nung aber vermutlich recht schwie rig zu implementieren 86 Diplomarbeit Martin Blum Exkurs XML Anhang A kleiner Exkurs in XML lt XML gt Die Extensible Markup Language XML ist eine Sprache zur digitalen Abbildung von Dokumenten mit dem Hintergedanken diese Dokumente in einer definierten Form automatisiert weiterverarbei ten zu k nnen Das kann z B das Speichern das bertragen das Durchsuchen das Drucken oder Anzeigen dieser Dokumente sein Damit der Computer sinnvoll mit diesen Dokumenten arbeiten kann ben tigt er Informationen dar ber welche Struktur das Dokument hat XML ist daher eine Metasprache um Dokumentenbeschreibungen zu definieren also Grammatiken f r eine Beschrei bungssprache zu notieren Sie erm glicht dadurch ein einheitliches universelles Datenformat das insbesondere im Hinblick auf das World Wide Web den Datenaustausch stark vereinfacht In dieser Arbeit wurde an einigen Stellen auf XML zur ckgegriffen und daher soll hier nochmals intensiver auf diesen Standard eingegangen werden Gerade zum Datenaustausch in heterogenen Netzen zeigt sich die breite Anwendungspalette von XML und so integriert sie sich z B in den Bereichen Import und Export in die Datenbank und Definition von logischen Strukturen innerhalb der Masken
182. uem eine Antwort zu finden Die Robustheit eines Programmsystems definiert sich durch die Eigenschaft mit der h ufig zu erwartende Fehler in der Bedienung der Eingabe oder der Hardware nur minimale Folgen nach sich ziehen Weniger h ufig auftretende Fehler wie z B ein Stromausfall ben tigen nicht diese besondere Umsicht d rfen aber trotzdem keine irreparablen Sch den verursachen 4 2 4 Wartungsfreundlichkeit Anforderungen an die Wartungsfreundlichkeit sollen die M glichkeiten zur Lokalisierung und Kor rektur von Fehlern verbessern und die Eignung zur Ver nderung und Erweiterung des Programm systems gew hrleisten Dazu ist es nat rlich unter anderem unbedingt erforderlich dass der Pro grammcode auch von fremden Programmierern verstanden werden kann bzw der Programmierer auch noch nach l ngerer Zeit die Funktionsweise und die Bedeutung der einzelnen Routinen be greift Dieser Zustand wird mit dem Begriff der Lesbarkeit eines Programmsystems beschrieben zu dem neben einer Dokumentation in m glichst guter Qualit t auch die Implementierungsspra che selbst sowie der pers nliche Programmierstil des Autors z hlt Der n chste Begriff im Zusammenhang mit der Wartbarkeit eines Programmsystems ist die Erwei terbarkeit unter der die M glichkeit verstanden wird nderungen und Verbesserungen am Pro grammcode vorzunehmen ohne dabei unerw nschte Nebenwirkungen einzuf gen Dies ist nat rlich auch stark von der Lesbarkeit der Quel
183. ule lauff hig ist und zu diesem Zeitpunkt gab es die Import Export Funktionalit t noch nicht auch nicht im Entwurf Erst durch die Notwendigkeit der Mig ration ist aufgefallen dass eine entsprechende Funktionalit t in der Software fehlt und erst dann in den Entwurf eingef gt worden Die zweite gro e Teilaufgabe war die Einbindung der Servlets in den Webserver der VHS WebSi te von Allaire Jrun Servlet Engine im Gegensatz zum Sun Webserver auf dem Entwicklungs rechner Der Sun Webserver hat den Vorteil einer sehr geringen Parametrisierung und ist bereits von Haus aus auf die Entwicklung von Servlets ausgelegt Dadurch k nnen sehr schnell Servlets zum Laufen gebracht werden da Fehler zwangsl ufig im eigenen Code zu suchen sind und nicht durch falsche Einstellung der Servlet Engine verursacht werden Minimierung der Fehlerquellen Der Webserver WebSite wiederum bietet die M glichkeit verschiedene Domains oder Mappings zu verwalten was dazu f hrte das eine Reihe von Parametern gefunden werden mussten die n tig waren um a die Servlet Engine zu aktivieren b bei Eingabe einer bestimmten Adresse den Anwender zu den richtigen Klassen des Servlets umzuleiten Au erdem hatte der Webserver eine andere Verzeichnisstruktur als der Entwicklungsrechner so dass der Suchpfad f r lokale Daten ber einen Startparameter gesetzt werden musste Die dritte gr ere H rde bei der Integration in die bestehende Umgebung der Bremer Volk
184. ur des HTML Dokumentes einf gen sollten bietet sich eine allgemeine Baumstruktur an wie sie durch XML am Besten geboten wird Es muss also ein XML Interpreter die Maskendefinitio nen lesen die Knoten mit den Server Erweiterungen umsetzen und das Ergebnis als HTML Code wieder in das Dokument reintegrieren Danach sollte das Dokument nur noch aus HTML Code bestehen der dann an den Client gesendet werden kann externes XML Dokument XML Konverter DOM generierte Document HTML Seite Object Model interne Ergebnisse Abbildung 3 XML Konverter 46 Diplomarbeit Martin Blum L sungsans tze Dieses Verfahren erweitert das Konzept der Server Side Includes wie es zum Beispiel durch die Java Server Pages von SunSoft Sun 2001 oder die Active Server Pages von Microsoft Micro soft 2001 verwendet wird Dort werden Scripte Javascript VisualBasic PHP oder hnliches innerhalb einer HTML Datei vor bertragung an den Client ausgewertet und durch die angegebe nen HTML Elemene ersetzt Die von mir vorgeschlagene Ersetzung der Script Elemente durch einen wohldefinierten Satz von XML Elementen hat den entscheidenden Vorteil dass die Definiti onen auf Korrektheit validiert werden k nnen Das wiederum hat eine schnellere Entwicklungszeit und eine bessere Wartbarkeit zur Folge F r die Interpretation und Validierung von XML Dokumenten bestehen bereits eine Reihe von frei verf gbaren Klassen SAX und DOM Parser d
185. urze Antwort gegeben wird und durch die sehr einfach die beim Lerner gespeicherten In formationen berpr ft werden k nnen Multiple oder Single Choice Tests haben zus tzlich den gro en Vorteil dass sie sehr schnell auswertbar sind Kognitivismus Ca 1960 wurde das Paradigma des Behaviorismus durch die Theorie des Kognitivismus erg nzt Kognitivisten sehen das Denken als einen informationsverarbeitenden Prozess bei dem Wissen verarbeitet und gespeichert wird Lernen ist hier der Aufbau kognitiver Strukturen d h einen pas senden internen Verarbeitungsprozesses zu finden mit dem eine Aufgabe gel st werden kann Dies kann nicht durch einen starren Programmablauf erreicht werden da mehrere L sungen oder L sungswege richtig sein k nnen Vielmehr soll ein Tutor den Lerner beobachten und helfend eingrei fen um ihn bei der Zielfindung zu unterst tzen Im Kognitivismus muss auch Basiswissen ber ein Problem vorhanden sein das vorher erst aus wendig gelernt wurde Es wird dem Menschen aber bereits zugestanden dass die L sung eines Problems nur dadurch erreicht werden kann indem dieses Wissen auf unterschiedliche Art und Weise miteinander verkn pft wird So entstehen durchaus mehrere L sungswege die aber trotz dem zum richtigen Ziel f hren Dies l sst den Kapazit ten und F higkeiten eines Menschen bereits einen wesentlich gr eren Spielraum so dass hier eine Motivation durch den Ehrgeiz gegeben ist ein bestimmtes Problem s
186. w global learning de 28 Diplomarbeit Martin Blum Vergleichende Bewertung bestehender Softwareprodukte 3 2 6 Nachtr glich Net Coach von Orbis Communications Net Coach ist eine Lernplattform inkl Autorentool der Firma Orbis Communications und von zwei Psychologen entwickelt worden Bei der Entwicklung ist besonderer Wert auf das didaktische Design eines Kurses sowie auf die Punkte Interaktivit t Multimedia Adaptierbarkeit und Feed back gelegt worden um eine gute Lernerunterst tzung und somit ein effektives Lernen zu erm gli chen Das System l uft auf einem speziellen Server CL FRAU entwickelt vom MIT und kom muniziert ber jeden handels blichen Browser mit dem Anwender Somit muss auf der Client Seite weder f r Autorentool noch f r die Lernerumgebung eine spezielle Software installiert werden und die Funktionalit t kann sofort nach Freischalten des Zugangs genutzt werden Als Kommunikati onsmechanismen werden automatisch Chat R ume Diskussionsforen und E Mail Verkn pfung durch das System erzeugt und entlasten so den Online Autor Ebenso werden eine Guided Tour und ein Suchindex automatisch generiert Einzig die Installation des Servers muss auf einem spe ziellen Betriebssystem erfolgen Windows NT oder Mac OS und setzt das Vorhandensein des CL FRAU Servers Common Lisp voraus Beachtlich ist hierbei der gro e Umfang dieses Pakets da im Allgemeinen von Softwareh usern entweder nur die Lernplattform in seltenen F
187. wser Servlet u Applets Abbildung 2 Makroarchitektur Auf dem Client Teilbereich 1 wird jede Verarbeitung ber den Browser ausgef hrt Das sind zum einen die Standard HTML Elemente ebenso wie kleine Applets um zus tzlich beliebige weitere Elemente zuzulassen jedoch ohne dabei direkt mit dem Server zu Kommunizieren Der zweite Teilbereich behandelt die Kommunikation zwischen Servlet und Browser Sie l uft wie innerhalb eines solchen Konzepts blich ber das Einlesen und bertragen von Benutzereingaben ber die 43 Diplomarbeit Martin Blum L sungsans tze Formularschnittstelle von HTML und die Generierung von Antwort Seiten durch das Servlet Der dritte Teilbereich betrifft die Kommunikation zu einem beliebigen Datenbanksystem in dem die Zust nde der Software persistent abgelegt werden Der vierte Teilbereich ist die Definition der Ein und Ausgabemasken durch XML Dateien So k nnen nderung am Layout vorgenommen werden ohne in den Source Code eingreifen zu m ssen Ebenso k nnen Verbesserungen der Funk tionalit t einfacher durchgef hrt werden da der HTML Syntax nicht umst ndlich ber Java nach gebildet wird Der letzte Teilbereich ist die gew nschte Funktionalit t selbst das hei t die Gene rierung der Ablauf und die Auswertung eines Tests ebenso wie die Verwaltung der Systemfunkti onen und die Bereitstellung von zus tzlichen Kommunikationsmechanismen Diskussionsforen Messageboards E Mail Entscheide

Download Pdf Manuals

image

Related Search

Diplomarbeit diplomarbeit diplomarbeit drucken diplomarbeiten bbs diplomarbeit beispiel diplomarbeiten24 diplomarbeitsthemen diplomarbeit englisch diplomarbeit mui diplomarbeit binden lassen diplomarbeit hak diplomarbeit vorlage diplomarbeitsdatenbank login diplomarbeit musiktherapie diplomarbeit drucken und binden

Related Contents

The iNEWS ControlAir ™ System Overview  Manual de instrucciones  Canon PowerShot SX530 HS Digital Camera User Manual  Public review form  はすば歯車 モデリングツール 取扱説明書  TERMS AND CONDITIONS These General Terms and Conditions  Taylor Freezer 047772-M User's Manual  KitchenAid KSRS25RV Refrigerator User Manual  DE Bedienungsanleitung Multi-Room Cable 12-X-2009  Mode d`emploi ThermoAura Air/Eau pompes à chaleur pour  

Copyright © All rights reserved.
Failed to retrieve file