Pflichtenheft
Pflichtenheft
Pflichtenheft
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Dokument<br />
<strong>Pflichtenheft</strong><br />
Diplomarbeit B36.10<br />
Titel<br />
Web-fähiger MathML-Editor<br />
Klasse, Datum B36, 16.11.2006<br />
Abstract<br />
Erstellen eines Editor für formatfreien Text, der beliebig mit<br />
MathML Formeln gemixt werden kann. Der Editor soll in einer<br />
Webanwendung laufen. Der editierte Text soll serverseitig in ein<br />
XML- oder HTML-Dokument transformiert werden.<br />
Schlüsselwörter MathML, Editor, Webanwendung<br />
Autor<br />
Martin Rüfli<br />
Unterer Eggen 11<br />
CH-2543 Lengnau<br />
Tel.: +41 32 652 48 75<br />
Betreuerin<br />
Dr. Beatrice Amrhein<br />
Software-Schule Schweiz<br />
Wankdorffeldstrasse 102<br />
CH-3014 Bern<br />
Tel.:+41 31 84 83 276<br />
www.sws.bfh.ch<br />
Expertin<br />
Ursula Deriu<br />
Fachinformationszentrum Technik e.V.<br />
Hanauer Landstr. 151-153<br />
60314 Frankfurt a.M.<br />
www.fiz-technik.de
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
1 Inhalt<br />
1 Inhalt ...........................................................................................................................................3<br />
2 Dokumentinformation ...............................................................................................................5<br />
2.1 Änderungskontrolle..............................................................................................................5<br />
2.2 Prüfung ................................................................................................................................5<br />
2.3 Freigabe...............................................................................................................................5<br />
3 Allgemeines.................................................................................................................................6<br />
3.1 Sinn und Zweck ....................................................................................................................6<br />
3.2 Leserkreis.............................................................................................................................6<br />
3.3 Umfeld..................................................................................................................................6<br />
3.4 Umfang und Anwendungsgebiet...........................................................................................6<br />
3.5 Offene Fragen ......................................................................................................................7<br />
3.6 Glossar.................................................................................................................................8<br />
3.7 Referenzen............................................................................................................................9<br />
4 Allgemeine Beschreibung ........................................................................................................10<br />
4.1 Summary of Presentation Elements ...................................................................................10<br />
4.1.1 Table of argument requirements ................................................................................10<br />
4.1.2 Token Elements..........................................................................................................11<br />
4.1.3 General Layout Schemata ..........................................................................................12<br />
4.1.4 Script and Limit Schemata.........................................................................................12<br />
4.1.5 Tables and Matrices ...................................................................................................12<br />
4.2 Übersicht............................................................................................................................13<br />
4.2.1 Systemkomponenten ..................................................................................................13<br />
4.2.1.1 Editor Applet..........................................................................................................13<br />
4.2.1.2 Controller ...............................................................................................................13<br />
4.2.1.3 View.......................................................................................................................14<br />
4.2.1.4 Modell ....................................................................................................................14<br />
4.2.1.5 Dokument...............................................................................................................14<br />
4.2.2 Grundfunktionen des Editors .....................................................................................14<br />
4.3 Abgrenzung des Umfelds....................................................................................................14<br />
4.4 Beziehungen zu anderen Systemen.....................................................................................14<br />
4.5 Infrastrukturanforderungen ...............................................................................................15<br />
4.5.1 Zielsystem Webserver................................................................................................15<br />
4.5.1.1 Hardware................................................................................................................15<br />
4.5.1.2 Software .................................................................................................................15<br />
4.5.2 Zielsystem Client .......................................................................................................15<br />
4.5.2.1 Hardware................................................................................................................15<br />
4.5.2.2 Software .................................................................................................................15<br />
<strong>Pflichtenheft</strong>.doc Seite: 3 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
4.5.2.3 Netz ........................................................................................................................15<br />
4.5.3 Entwicklungsumgebung.............................................................................................16<br />
4.5.3.1 Hardware................................................................................................................16<br />
4.5.3.2 Software .................................................................................................................16<br />
5 Technische Anforderungen .....................................................................................................17<br />
5.1 Allgemeine Funktionen ......................................................................................................17<br />
5.1.1 Installation..................................................................................................................17<br />
5.1.2 Selbsttest und Funktionsnachweis .............................................................................17<br />
5.1.3 Dokumentation...........................................................................................................17<br />
5.1.4 Hilfesystem ................................................................................................................17<br />
5.1.5 Systemstart und Shutdown.........................................................................................17<br />
5.1.6 Verhalten bei Stromausfall oder bei Verbindungsunterbruch....................................18<br />
5.1.7 Verbindungsüberwachung .........................................................................................18<br />
5.1.8 Sprachen.....................................................................................................................18<br />
5.2 Systemfunktionen................................................................................................................18<br />
5.2.1 Prioritäten der Funktionen .........................................................................................18<br />
5.2.2 Editor Applet..............................................................................................................19<br />
5.2.2.1 Allgemeine Anforderungen....................................................................................19<br />
5.2.2.2 Mathml Root Element............................................................................................19<br />
5.2.2.3 Token Elements......................................................................................................20<br />
5.2.2.4 General Layout Schemata ......................................................................................20<br />
5.2.2.5 Script and Limit Schemata.....................................................................................21<br />
5.2.2.6 Tables and Matrices ...............................................................................................21<br />
5.2.2.7 Dynamisches Element............................................................................................21<br />
5.2.3 Webapplikation ..........................................................................................................21<br />
6 Schnittstellen ............................................................................................................................23<br />
6.1 Benutzeroberfläche ............................................................................................................23<br />
6.2 Softwareschnittstellen ........................................................................................................23<br />
6.2.1 Parameterübergabe.....................................................................................................23<br />
6.2.2 Export von Texten......................................................................................................23<br />
6.3 Drucker ..............................................................................................................................23<br />
7 Tests und Abnahme .................................................................................................................24<br />
7.1 Modultest............................................................................................................................24<br />
7.2 Abnahmetest.......................................................................................................................24<br />
7.3 Usability Test .....................................................................................................................24<br />
8 Anhang ......................................................................................................................................25<br />
8.1 Terminplan.........................................................................................................................25<br />
<strong>Pflichtenheft</strong>.doc Seite: 4 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
2 Dokumentinformation<br />
2.1 Änderungskontrolle<br />
Version Datum<br />
Ausführende<br />
Stelle<br />
Bemerkungen / Art der Änderung<br />
1.31 21.08.2006 Ruf Weitere Ergänzungen gemäss Frau Deriu<br />
msqrt wird prio1<br />
Menüs für Zeichensätze müssen<br />
konfigurierbar sein.<br />
1.3 21.08.2006 Ruf Adresse der Firma<br />
Fachinformationszentrum Technik e.V.<br />
hat geändert.<br />
1.2 18.08.2006 Ruf Aufwand verringert um den Prototypen hin<br />
zu kriegen.<br />
1.1 28.07.2006 Ruf Korrekturen gemäss Angaben von Frau<br />
Amrhein und von Frau Deriu eingefügt.<br />
1.0 09.07.2006 Ruf Erste Version fertig<br />
0.1 02.07.2006 Ruf Entwurf, Arbeitsgrundlage<br />
2.2 Prüfung<br />
Version Prüfdatum Prüfende Stelle Bemerkungen<br />
1.3 20.08.2006 Frau Deriu Firmenadresse und Priorität für msqrt<br />
ändern.<br />
Dokumentation der Auswahl für die<br />
Formelzeichen (Inhalt der MathML Token)<br />
einfügen.<br />
1.0 23.07.2006 Frau Amrhein<br />
Frau Deriu<br />
Diverse Korrekturen<br />
2.3 Freigabe<br />
Version Freigabe-<br />
Datum<br />
1.31<br />
Freigebende<br />
Stelle/n<br />
Unterschrift<br />
<strong>Pflichtenheft</strong>.doc Seite: 5 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
3 Allgemeines<br />
3.1 Sinn und Zweck<br />
Dieses <strong>Pflichtenheft</strong> beschreibt die Anforderungen an die zu realisierende Applikation aus<br />
Sicht des Kunden. Es dient ebenfalls als Grundlage für die Bewertung der Diplomarbeit.<br />
3.2 Leserkreis<br />
Dieses <strong>Pflichtenheft</strong> richtet sich an folgende Personen:<br />
Betreuer der Diplomarbeit (Auftraggeber)<br />
Experte der Diplomarbeit<br />
Alle beteiligten Softwareentwickler<br />
3.3 Umfeld<br />
Das Fachinformationszentrum Technik in Frankfurt am Main (www.fiz-technik.de) und die<br />
Technische Informationsbibliothek in Hannover (www.tib.uni-hannover.de) bereiten mit<br />
Web-Anwendungen technische Informationen auf und stellen diese im Internet zur<br />
Verfügung. Da diese technischen Informationen oft mit Formeln durchsetzt sind wird ein<br />
Editor gebraucht mit dem man von Formeln durchsetzte Text erfassen kann. Da es in<br />
dieser Applikation um reine Datenerfassung geht wird auf eine Formatierung der Texte<br />
verzichtet. Die erfassten Texte sollen serverseitig in ein XML- oder HTML-Dokument mit<br />
einer einfachen Struktur transformiert werden.<br />
3.4 Umfang und Anwendungsgebiet<br />
Der neu zu entwickelnde Editor soll sich einfach in die Web-Anwendungen einfügen<br />
lassen. Die erfassten Texte mit den Formeln sollen auf den Webserver geschickt werden,<br />
der diese dann in einer Datenbank oder als Files abspeichert. Falls bereits ein Text erfasst<br />
wurde, soll er beim öffnen der Applikation automatisch vom Webserver angefordert und in<br />
den Editor geladen werden damit er sofort weiter bearbeitet werden kann. Der Editor soll<br />
so gekapselt sein, dass er sich nicht um die Persistenzebene zu kümmern braucht. Er<br />
muss fähig sein genau einen XML-Stream automatisch oder auf verlangen von dem<br />
Webserver zu laden, die darin enthaltenen Daten zu bearbeiten und sie auch wieder an<br />
den Webserver zurück zu schicken. Das Format für die Formeln soll MathML gemäss der<br />
Spezifikation - Mathematical Markup Language (MathML) Version 2.0 (Second Edition) -<br />
sein. Falls auf dem Webserver noch keine Datei existiert, so soll ein neuer Text erfasst<br />
werden können. Es ist die Aufgabe des Webservers zu verhindern, dass ungewollt Daten<br />
überschrieben werden.<br />
Ein kompletter MathML Editor würde Umfang dieser Diplomarbeit bei weitem sprengen,<br />
deshalb wird nur soviel implementiert:<br />
1. Um zu zeigen, dass das Konzept funktioniert<br />
2. Das die Firma Fachinformationszentrum Technik e.V. den Editor basierend auf<br />
dieser Arbeit mit dem entsprechenden Fachpersonal fertig stellen kann.<br />
<strong>Pflichtenheft</strong>.doc Seite: 6 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
3.5 Offene Fragen<br />
Auf diese offenen Fragen wird eventuell erst im Diplombericht oder während der Tests<br />
eine Antwort zu finden sein.<br />
Nr. Wer Frage Antwort<br />
1 Besteller Es sollen Internet<br />
Explorer und Firefox<br />
unter Windows und<br />
Firefox unter Linux<br />
Betriebssystem<br />
unterstützt werden. Stellt<br />
Firefox unter Linux ein<br />
Problem dar<br />
Soweit es durch Recherchen im Internet<br />
feststellbar war hat Firefox keine grösseren<br />
Probleme mit MathML und Linux. Es ist zu<br />
beachten, dass Firefox folgende Anforderungen<br />
hat:<br />
• Red Hat Linux 7.0 und höher<br />
• Mac OS X 10.3.x und höher<br />
• Windows 98 und höher<br />
Zitat aus c't 14/2006, S. 166: Linux-Distributionen<br />
(http://www.heise.de/ct/06/14/166/):<br />
2 Besteller Druckt der Browser denn<br />
die erfassten Texte aus<br />
Bitte erarbeiten Sie eine<br />
Möglichkeit, um ein<br />
erfasstes Abstract zu<br />
drucken.<br />
Fedora und Suse Linux dienen Red Hat und<br />
Novell als Spielwiese für neue technische<br />
Entwicklungen, die hier ausprobiert werden,<br />
bevor sie Einzug in Red Hat Enterprise Linux<br />
(RHEL) und Suse Linux Enterprise Server<br />
(SLES) halten.<br />
Der Browser druckt die erfassten Formeln unter<br />
Windows mit Mozilla Firefox korrekt.<br />
<strong>Pflichtenheft</strong>.doc Seite: 7 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
3.6 Glossar<br />
Begriff / Abkürzung<br />
Element<br />
GUI<br />
HTML<br />
MathML<br />
Mozilla Firefox<br />
rendern<br />
SGML<br />
Token<br />
Beschreibung<br />
MathML Elemente sind einerseits Container, die andere MathML<br />
Elemente und Token aufnehmen können andererseits bestimmen<br />
sie den Layout des Elementes. Beispiele: Bruchstrich,<br />
Wurzelzeichen, Potenzen etc. Entspricht den Knoten des MathML<br />
Baumes.<br />
Graphical User Interface.<br />
Technische Bezeichnung der grafischen Benutzeroberfläche<br />
Die Hypertext Markup Language (HTML) dient der Darstellung<br />
von meist statischen Inhalten wie Texten, Bildern und Hyperlinks<br />
in einem Webbrowser. HTML wird auch als Hypertext bezeichnet.<br />
Neben den vom Browser angezeigten Inhalten einer Webseite<br />
enthält HTML auch Metainformationen, die die Intention oder<br />
Bedeutung des Textes zusammenfassen aber auch Informationen<br />
über z. B. die Sprache geben. HTML beschreibt Informationen im<br />
Sinn einer Auszeichnungssprache. HTML wurde vom World Wide<br />
Web Consortium (W3C) bis Version 4.01 weiterentwickelt, darauf<br />
folgende Versionen heißen XHTML.<br />
Die Mathematical Markup Language (MathML) ist im<br />
Computerdaten-Verkehr ein Dokumentenformat zur Darstellung<br />
von mathematischen Formeln und komplexen Ausdrücken. Der<br />
Standard MathML 2.0 wird durch eine Spezifikation des World<br />
Wide Web Consortium von 2001 festgelegt. Wie in allen XML-<br />
Sprachen (z. B. XHTML) werden in MathML die Inhalte eines<br />
Dokumentes in einer logischen Struktur unabhängig von ihrer<br />
graphischen Gestaltung abgelegt.<br />
Mozilla Firefox ist ein aus dem Mozilla-Projekt hervorgegangener<br />
freier Webbrowser vor allen Dingen zum Betrachten von<br />
Webseiten. Es ist einer der wenigen Browser der MathML ohne<br />
Plugin anzeigen kann.<br />
(Von engl. to render: wiedergeben, vortragen) bezeichnet den<br />
Vorgang, aus Rohdaten – durch Anwendung geeigneter Verfahren<br />
– neue Daten zu generieren.<br />
Im Bereich der Computergrafik bezeichnet rendern die Erzeugung<br />
eines digitalen Bildes aus einer Bildbeschreibung. In<br />
Zusammenhang mit dem zu erstellenden Editor das Zeichnen von<br />
Formeln.<br />
SGML (engl. Standard Generalized Markup Language) ist eine<br />
Metasprache, mit deren Hilfe man verschiedene<br />
Auszeichnungssprachen (engl. markup languages) für Dokumente<br />
definieren kann. SGML ist ein ISO-Standard: ISO 8879:1986<br />
Information Processing — Text and Office Systems — Standard<br />
Generalized Markup Language (SGML).<br />
MathML Element, das einen Operator, einen Bezeichner, eine<br />
Zahl oder einen Text enthalten kann. Entspricht den Blättern im<br />
MathML Baum.<br />
<strong>Pflichtenheft</strong>.doc Seite: 8 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
Tooltipps<br />
Webanwendung<br />
XHTML<br />
XML<br />
Ein Tooltipp ist ein allgemeines GUI Benutzer Interface. Er wird in<br />
Verbindung mit einem Cursor, normalerweise dem Mauszeiger,<br />
verwendet. Der Benutzer bewegt den Mauszeiger über ein GUI-<br />
Element auf dem Bildschirm ohne dieses zu klicken. Nach kurzer<br />
Zeit klappt eine kleine Box mit dem Namen und der Beschreibung<br />
des Elementes auf.<br />
Eine Webanwendung oder Webapplikation ist ein Computer-<br />
Programm, das auf einem Webserver ausgeführt wird, wobei eine<br />
Interaktion mit dem Benutzer ausschließlich über einen<br />
Webbrowser erfolgt. Hierzu sind der Computer des Benutzer<br />
(Client) und der Server über ein Netzwerk, wie das Internet oder<br />
über ein Intranet miteinander verbunden, so dass die räumliche<br />
Entfernung zwischen Client und Server unerheblich ist.<br />
Der W3C-Standard Extensible HyperText Markup Language<br />
(XHTML) ist eine Neuformulierung von HTML 4 in XML 1.0: Im<br />
Gegensatz zu seinem Vorgänger HTML, welcher mittels SGML<br />
definiert wurde, verwendet XHTML die strengere und einfacher zu<br />
parsende SGML-Teilmenge XML als Sprachgrundlage. XHTML-<br />
Dokumente entsprechen also den Syntaxregeln von XML.<br />
Die Extensible Markup Language (engl. für „erweiterbare<br />
Auszeichnungs-Sprache“), abgekürzt XML, ist ein Standard zur<br />
Erstellung maschinen- und menschenlesbarer Dokumente in Form<br />
einer Baumstruktur, der vom World Wide Web Consortium (W3C)<br />
definiert wird. XML definiert dabei die Regeln für den Aufbau<br />
solcher Dokumente. Für einen konkreten Anwendungsfall ("XML-<br />
Anwendung") müssen die Details der jeweiligen Dokumente<br />
spezifiziert werden. Dies betrifft insbesondere die Festlegung der<br />
Strukturelemente und ihre Anordnung innerhalb des<br />
Dokumentenbaums. XML ist damit ein Standard zur Definition von<br />
beliebigen in ihrer Grundstruktur jedoch stark verwandten<br />
Auszeichnungssprachen.<br />
3.7 Referenzen<br />
Nr. Beschreibung<br />
[1] Hilfsmittel Projekt-Management von SW-<br />
Entwicklungs-Projekten<br />
[2] Spezifikation von MathML 2.0 des W3 Consortiums.<br />
Mathematical Markup Language (MathML) Version<br />
2.0 (Second Edition)<br />
Quelle<br />
Othmar Bürgi (Dozent SWS)<br />
Info Top AG<br />
CH-7412 Scharans<br />
http://www.w3.org/TR/MathML2<br />
<strong>Pflichtenheft</strong>.doc Seite: 9 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
4 Allgemeine Beschreibung<br />
4.1 Summary of Presentation Elements<br />
Dieses Kapitel gibt eine kurze Übersicht über die wichtigsten Presentation MathML<br />
Elemente und Token [Kapitel 4.1.2] und ihre Bedeutung. Die Tabellen sind Kopien aus der<br />
MathML Spezifikation ([2] Kapitel 3 Presentation Markup). Die Texte wurden absichtlich<br />
nicht übersetzt. Für die wichtigsten Begriffe sind die Übersetzungen im Kapitel<br />
Systemfunktionen 5.2 zu finden.<br />
Die meisten MathML Elemente können als Container verstanden werden, welche<br />
wiederum andere Container oder Token Elemente aufnehmen können.<br />
4.1.1 Table of argument requirements<br />
In dieser Tabelle sind alle MathML Elemente aufgelistet die andere MathML Elemente<br />
aufnehmen können. In der 2. Spalte steht wie viele andere Argumente (Elemente) als<br />
Inhalt erwartet werden. Jedes Argument in Required argument count kann durch ein<br />
mrow Element gekapselt werden, so ist es möglich beliebige Formelteile zu schachteln.<br />
Dies ist vor allem darum wichtig, da die meisten Formeln mehrere Token aufweisen.<br />
Beispiel für (a+b) 2 :<br />
<br />
<br />
(<br />
a<br />
+<br />
b<br />
)<br />
<br />
2<br />
<br />
// mrow kapselt mehrere Token als Basis<br />
// Als Exponent kommt nur eine Zahl vor,<br />
// deshalb ist keine Kapselung nötig<br />
Beispiel für Wurzel aus a+b:<br />
<br />
a<br />
+<br />
b<br />
<br />
// Es ist keine Kapselung nötig ohne die Token<br />
// müsste mindestens ein leeres mrow Element<br />
// vorhanden sein. (Siehe 1* Regel)<br />
1* Regel<br />
Die Anzahl mit 1* in Required argument count bedeutet, dass mindestens ein Token<br />
oder Element enthalten sein muss. Maximal dürfen beliebig viele Token vorhanden sein.<br />
Das Besondere an diesen Containern ist, dass die enthaltenen Token nicht zwingend in<br />
<strong>Pflichtenheft</strong>.doc Seite: 10 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
ein mrow Element gekapselt werden müssen, sie dürfen einfach nacheinander<br />
hingeschrieben werden. Ist hingegen weder ein MathML Element noch ein Token<br />
vorhanden, so ist zwingend ein leeres mrow Element zu erfassen.<br />
Element Required argument Argument roles (when these differ by position)<br />
count<br />
mrow 0 or more<br />
mfrac 2 numerator denominator<br />
msqrt 1*<br />
mroot 2 base index<br />
mstyle 1*<br />
merror 1*<br />
mpadded 1*<br />
mphantom 1*<br />
mfenced 0 or more<br />
menclose 1*<br />
msub 2 base subscript<br />
msup 2 base superscript<br />
msubsup 3 base subscript superscript<br />
munder 2 base underscript<br />
mover 2 base overscript<br />
munderover 3 base underscript overscript<br />
mmultiscripts 1 or more<br />
base (subscript superscript)* [<br />
(presubscript presuperscript)*]<br />
mtable 0 or more rows 0 or more mtr or mlabeledtr elements<br />
mlabeledtr 1 or more a label and 0 or more mtd elements<br />
mtr 0 or more 0 or more mtd elements<br />
mtd 1*<br />
maction 1 or more depend on actiontype attribute<br />
math 1*<br />
4.1.2 Token Elements<br />
Diese Elemente sind die eigentlichen Blätter des MathML Baumes und enthalten die<br />
einzelnen Operatoren, Bezeichner, Zahlen oder Texte.<br />
Element Inhalt<br />
mi identifier<br />
mn number<br />
mo operator, fence, or separator<br />
mtext text<br />
mspace space<br />
ms string literal<br />
mglyph accessing glyphs for characters from MathML<br />
<strong>Pflichtenheft</strong>.doc Seite: 11 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
4.1.3 General Layout Schemata<br />
Diese Elemente gehören dem generellen Layout Schema an, das heisst es sind Container<br />
die mit einem speziellen Layout, wie Bruchstriche, Wurzelzeichen, hoch gestellte Texte,<br />
tief gestellte Texte etc. gerendert werden.<br />
Element Inhalt<br />
mrow group any number of sub expressions horizontally<br />
mfrac form a fraction from two sub-expressions<br />
msqrt form a square root (radical without an index)<br />
mroot form a radical with specified index<br />
mstyle style change<br />
merror enclose a syntax error message from a preprocessor<br />
mpadded adjust space around content<br />
mphantom make content invisible but preserve its size<br />
mfenced surround content with a pair of fences<br />
menclose enclose content with a stretching symbol such as a long division sign.<br />
4.1.4 Script and Limit Schemata<br />
Diese Element erweitern andere Elemente um hoch oder tief gestellte Texte wie Indexe<br />
oder Potenzen.<br />
Element Inhalt<br />
msub attach a subscript to a base<br />
msup attach a superscript to a base<br />
msubsup attach a subscript-superscript pair to a base<br />
munder attach an underscript to a base<br />
mover attach an overscript to a base<br />
munderover attach an underscript-overscript pair to a base<br />
mmultiscripts attach prescripts and tensor indices to a base<br />
4.1.5 Tables and Matrices<br />
Mit diesen Elementen werden Tabellen und Matrizen dargestellt.<br />
Element<br />
Inhalt<br />
mtable<br />
table or matrix<br />
mlabeledtr<br />
row in a table or matrix with a label or equation number<br />
mtr<br />
row in a table or matrix<br />
mtd<br />
one entry in a table or matrix<br />
maligngroup and malignmark alignment markers<br />
<strong>Pflichtenheft</strong>.doc Seite: 12 /25
<strong>Pflichtenheft</strong><br />
4.2 Übersicht<br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
4.2.1 Systemkomponenten<br />
HTML / XHTML<br />
<br />
Web Browser<br />
<br />
Web Server<br />
HTTP (get;post) / XML<br />
Editor Applet<br />
<br />
Modell<br />
<br />
View<br />
<br />
Controller<br />
Systemgrenze<br />
Systemgrenze<br />
4.2.1.1 Editor Applet<br />
Das Editor Applet (im weiteren kurz Editor genannt) enthält den Controller, die View und<br />
das Modell. Falls sich auf dem Web Server bereits ein vorher bearbeitetes Dokument zu<br />
der entsprechenden Seite befindet, wird dieses automatisch geladen. Auf dem Applet<br />
werden sämtliche Interaktionselemente angezeigt.<br />
4.2.1.2 Controller<br />
Der Controller fügt neue Texte oder MathML Elemente in das Dokumenten Modell ein und<br />
entfernt sie bei Bedarf wieder aus dem Modell.<br />
<strong>Pflichtenheft</strong>.doc Seite: 13 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
4.2.1.3 View<br />
Die View bereitet die Daten aus dem Modell so auf, dass sie für den Benutzer bearbeitbar<br />
werden. Das GUI wird laufend den geänderten Daten angepasst.<br />
4.2.1.4 Modell<br />
Das Modell hält die Daten aus dem Dokument.<br />
4.2.1.5 Dokument<br />
Das Dokument ist aus der Sicht des Editors ein Stream, der vom Server gelesen und in<br />
das Modell geladen wird. Nach getaner Arbeit wird das Modell wieder in einen Stream<br />
umgewandelt und auf den Server geschickt. Vorerst ist kein lokales File handling<br />
vorgesehen. Später kann der Editor ausgebaut werden, so dass er auch mit Files arbeiten<br />
kann.<br />
4.2.2 Grundfunktionen des Editors<br />
Der Editor soll die folgenden Funktionalitäten abbilden:<br />
• Einfach in beliebigen Web-Applikationen einsetzbar.<br />
• Text mit beliebig vielen Formeln soll erfasst werden können.<br />
• In Rahmen dieser Arbeit wird ein Ausschnitt aus dem MathML-Teil für die<br />
Präsentation unterstützt. (muss vom Besteller fertig gestellt werden).<br />
• Ein neues Dokument muss erfasst werden können.<br />
• Ein bereits vorher bearbeitetes Dokument soll vom Web Server geladen und<br />
verändert werden können.<br />
• Der bearbeitete Text soll auf den Web Server geschickt und dort gespeichert<br />
werden.<br />
4.3 Abgrenzung des Umfelds<br />
Der Editor ist ein in sich geschlossenes Modul und hat nur minimale Schnittstellen. Da es<br />
in der zur Verfügung stehenden Zeit nicht möglich ist das ganze Spektrum von MathML<br />
abzudecken, wird er sich nur auf ein Subset des Präsentations-Teiles von MathML<br />
konzentrieren. Die Arbeit soll so erledigt werden, dass der Editor Prototype später leicht<br />
fertig gestellt werden kann und für die jeweiligen Bedürfnisse anpassbar ist. Die Auswahl<br />
von bereits bearbeiteten Dokumenten ist eine Aufgabe der Webapplikation die den Editor<br />
benutzt.<br />
4.4 Beziehungen zu anderen Systemen<br />
Der Editor kommuniziert ausschliesslich mit dem Web Server von dem er geladen wurde.<br />
<strong>Pflichtenheft</strong>.doc Seite: 14 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
4.5 Infrastrukturanforderungen<br />
Die Anforderungen sind immer als Mindestanforderungen zu verstehen um mit dem<br />
System einigermassen flüssig arbeiten zu können.<br />
4.5.1 Zielsystem Webserver<br />
4.5.1.1 Hardware<br />
Arbeitsspeicher 512 MB – 3 GB, mindestens 256 MB pro Prozessor<br />
Festplatte<br />
Prozessor<br />
min. 4 GB freier Speicherplatz<br />
Intel Pentium 4, CPU 1600 MHz<br />
4.5.1.2 Software<br />
Betriebsystem: Suse Linux Enterprise-Edition<br />
Web Server<br />
Beliebig z.B. Apache Tomcat<br />
4.5.2 Zielsystem Client<br />
4.5.2.1 Hardware<br />
Arbeitsspeicher 256MB<br />
Festplatte<br />
Prozessor<br />
min. 2 GB freier Speicherplatz<br />
Intel Pentium 3, CPU 800 MHz<br />
4.5.2.2 Software<br />
Betriebsystem: Linux<br />
Web Browser<br />
Mozilla Firefox<br />
Windows 2000 oder Windows XP<br />
Mozilla Firefox oder<br />
Microsoft Intenet Explorer mit MathML Plugin<br />
4.5.2.3 Netz<br />
Übertragungskapazität 128 kb<br />
<strong>Pflichtenheft</strong>.doc Seite: 15 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
4.5.3 Entwicklungsumgebung<br />
4.5.3.1 Hardware<br />
Arbeitsspeicher 256MB<br />
Bildschirmauflösung 1024 x 748 Pixel<br />
Festplatte<br />
min. 1 GB freier Speicherplatz<br />
Prozessor<br />
Intel Pentium 3, CPU 800MHz<br />
4.5.3.2 Software<br />
Betriebsystem<br />
Windows 2000 oder Windows XP Home<br />
Entwicklungsumgebung Eclipse 3.1<br />
http://www.eclipse.org/platform/<br />
Programmiersprache JavaTM 2 Platform Standard Edition 5.0 Development Kit (JDK<br />
5.0)<br />
Microsoft Word<br />
Dokumentation Microsoft Project<br />
Microsoft Visio<br />
Web Browser<br />
Mozilla Firefox, Microsoft Internet Explorer<br />
Web Server Apache Tomcat 5.5<br />
<strong>Pflichtenheft</strong>.doc Seite: 16 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
5 Technische Anforderungen<br />
5.1 Allgemeine Funktionen<br />
5.1.1 Installation<br />
Eine Installation des Editors ist nicht nötig, da er als Applet in beliebige Webapplikationen<br />
eingebunden wird. Wie der Editor in Web Applikationen eingebaut werden kann ist der<br />
Installationsanweisung zu beschreiben. Es sind keine Hilfsmittel oder spezielle<br />
Installationsroutinen vorgesehen. Die Endanwender des Editors sind gehalten entweder<br />
mit dem Firefox Browser oder mit dem Microsoft Internet Explorer zu arbeiten. Die<br />
Anwender die den Editor in ihre Web Seiten einbauen sind Softwareentwickler, welche<br />
über das nötige Know How verfügen.<br />
5.1.2 Selbsttest und Funktionsnachweis<br />
Ein Selbsttest oder ein Funktionsnachweis des Editors wird nicht benötigt.<br />
5.1.3 Dokumentation<br />
In der Diplomarbeit ist folgendes enthalten:<br />
• Entwicklerunterlagen und Funktionsbeschreibung der Applikation (in Form des<br />
Diplomberichts)<br />
• Sourcecode Dokumentation<br />
• Sourcecode auf CD<br />
• Der Editor als Applet auf CD<br />
• Eine kleine Web Applikation zum Testen auf CD<br />
• Installationsanweisung<br />
5.1.4 Hilfesystem<br />
Es wird kein spezielles Hilfesystem eingesetzt werden, der Editor sollte mit Hilfe von<br />
Tooltipps selbsterklärend gestaltet werden können.<br />
5.1.5 Systemstart und Shutdown<br />
Theoretisch können beliebig viele Editoren in einer Web Seite gestartet werden. Der<br />
Webbrowser lädt das Applet vom Server und startet es. Falls das Applet keine Verbindung<br />
zu dem Server hat wird eine Fehlermeldung angezeigt. Woher die Daten geladen und<br />
wohin sie gespeichert werden können ist dem Editor mittels Parametern mitzuteilen.<br />
Beim Herunterfahren ist zu beachten, dass die geänderten Daten aktiv vom Benutzer auf<br />
dem Server gespeichert werden müssen.<br />
<strong>Pflichtenheft</strong>.doc Seite: 17 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
5.1.6 Verhalten bei Stromausfall oder bei<br />
Verbindungsunterbruch<br />
Bei einem Stromausfall oder wenn die Verbindung zum Server nicht wieder hergestellt<br />
werden kann, dürfen alle bisher bearbeiteten und nicht gespeicherten Daten verloren<br />
gehen. Das Selbe gilt auch für den Fall, dass der Benutzer den Webbrowser ohne<br />
vorherige Datensicherung schliesst.<br />
5.1.7 Verbindungsüberwachung<br />
Es ist keine automatische Verbindungsüberwachung vorgesehen. Der Benutzer ist selbst<br />
gehalten seine Arbeit in regelmässigen Abständen auf dem Server sicher zu stellen.<br />
5.1.8 Sprachen<br />
• Die Benutzersprache des Editors ist Deutsch. Alle Meldungen und Beschriftungen<br />
der GUI Komponenten werden in Deutsch ausgegeben. Mehrsprachigkeit wird<br />
vorgesehen.<br />
• Die Diplomarbeit und alle dazu gehörenden Unterlagen werden in Deutsch erfasst.<br />
Treffende Fachbegriffe werden in englischer Sprache beibehalten.<br />
• Alle Programmkommentare werden in Deutsch gehalten.<br />
5.2 Systemfunktionen<br />
5.2.1 Prioritäten der Funktionen<br />
Die nachfolgend aufgeführten Funktionen sind bezüglich ihrer Realisation in drei<br />
Prioritätsstufen unterteilt:<br />
Priorität Beschreibung<br />
1 Basisfunktion<br />
Diese Funktion muss implementiert werden um zu zeigen, dass der Editor<br />
Prototype funktioniert.<br />
2 Erweiterte Funktion<br />
Das System erfüllt auch ohne diese Funktion seinen Zweck. Die<br />
Implementation dieser Funktion ist optional, aber aus Sicht des Benutzers<br />
wichtig. Diese Funktion sollte implementiert werden.<br />
3 Erweiterte Funktion<br />
Das System erfüllt auch ohne diese Funktion seinen Zweck. Die<br />
Implementation dieser Funktion ist optional und ohne besondere Wichtigkeit.<br />
Nice to have.<br />
4 Erweiterte Funktion<br />
Eine Funktion die sehr eng mit dem Fachgebiet zusammenhängt, die aber vom<br />
Kunden nicht eingesetzt wird. Das System erfüllt auch ohne diese Funktion<br />
seinen Zweck. Die Implementation dieser Funktion kann für den Verkauf der<br />
Applikation an andere Kunden interessant sein.<br />
Nice to sell.<br />
<strong>Pflichtenheft</strong>.doc Seite: 18 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
5.2.2 Editor Applet<br />
5.2.2.1 Allgemeine Anforderungen<br />
Funktion Priorität Beschreibung<br />
Dokument laden 1 Der Name des Dokumentes wird dem Applet als Parameter<br />
übergeben und es muss mindestens ein leeres Dokument<br />
vorhanden sein.<br />
Dokument<br />
speichern<br />
1 Ein bearbeitetes Dokument wird auf dem Webserver<br />
abgespeichert. Der Name des Dokumentes wird dem Applet<br />
als Parameter übergeben. Es muss mindestens ein leeres<br />
Dokument vorhanden sein.<br />
Haupt Fenster 1 Hauptfenster in Webseite eingebettet.<br />
Menuleiste oben, Informationsanzeige (Status Bar) unten.<br />
Tool Bar ist nicht vorgesehen.<br />
Hier kann der Text erfasst und mit Formeln ergänzt werden.<br />
Die Formeln werden nur in der editierbaren Form angezeigt,<br />
diese weicht von dem Rendering im Webbrowser wegen des<br />
leicht grösseren Platzbedarfs etwas ab.<br />
Mathematische<br />
Formelzeichen<br />
Neues<br />
Dokument<br />
erstellen<br />
Dokument<br />
drucken<br />
Dokument<br />
löschen<br />
Dokument<br />
suchen<br />
1 Das Menü, mit dem die Formelzeichen in die MathML Token<br />
eingefügt werden können, soll über Konfigurationsfiles frei<br />
zusammengestellt werden können. Es wird immer eine<br />
Zeichengruppe unter einem Pushbutton eingefügt.<br />
1 Es soll ein leeres neues Dokument erstellt werden.<br />
2 Es wird mit den Bordmitteln der Browsers gedruckt und keine<br />
Spezielle Druckfunktion vorgesehen. Eventuell kann die<br />
Webseite so gestaltet werden, dass das abgespeicherte<br />
Dokument in ein eigenes Browserfenster geladen und dort<br />
gedruckt werden kann.<br />
3 Es wird ein neues leeres Dokument erzeugt. Wurden vorher<br />
bereits Änderungen abgespeichert, so kann das Dokument<br />
vom Editor auf dem Webserver nicht mehr gelöscht werden.<br />
Es ist höchstens möglich ein leeres Dokument<br />
abzuspeichern. Das endgültige Löschen von Dokumenten ist<br />
eine Aufgabe der Webapplikation.<br />
3 Ist eine Aufgabe der Webapplikation und wird nicht<br />
implementiert.<br />
5.2.2.2 Mathml Root Element<br />
Element Priorität Inhalt<br />
math 1 Root Element für jede Formel. Dieses Element darf nur einmal pro<br />
Formel vorkommen.<br />
<strong>Pflichtenheft</strong>.doc Seite: 19 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
5.2.2.3 Token Elements<br />
Element Priorität Inhalt<br />
mi 1 Bezeichner entspricht einem beliebigen<br />
Identifier.<br />
mn 1 Zahlen in allen gängigen Schreibweisen<br />
mo 1 mathematischer Operator, Klammer oder<br />
Trennzeichen wie Kommas etc.<br />
mtext 2 Texte<br />
mspace 3 Leerschlag, Space, Blank geht auch mit mtext<br />
ms 3 Zeichenkette, Literal<br />
mglyph 3 Zugriff auf neue bisher noch nicht<br />
standardisierte Zeichensätze um neu erfundene<br />
Formelzeichen darstellen zu können.<br />
5.2.2.4 General Layout Schemata<br />
Element Priorität Inhalt<br />
mrow 1 Beschreibt eine Grundlinie (Zeile) in MathML auf der sich die Formel<br />
oder ein Teil davon befindet, kann auch als leeres Element vor<br />
kommen. Je weiter weg von der Grundlinie, desto kleiner werden die<br />
Zeichen gerendert.<br />
mfrac 1 Brüche mit Bruchstrich (-), ohne Bruchstrich ( ) oder mit schräg<br />
gestelltem Bruchstrich (/)<br />
msqrt 1 Reine Quadratwurzel ohne die Möglichkeit einen Wurzelexponenten<br />
anzugeben.<br />
mroot 2 Beliebige Wurzel, der Wurzelexponenten ist anzugeben.<br />
mstyle 2 Text Formatierungs-Element. Hat eher etwas damit zu tun, wie ein<br />
Zeichen dargestellt wird (bold, italic etc.) und nicht welche Zeichen<br />
dargestellt werden (aus normalen Buchstaben können damit keine<br />
griechischen Buchstaben gemacht werden.).<br />
merror 3 Text Formatierungs-Element um Fehlertexte anzuzeigen<br />
mpadded 3 Text Formatierungs-Element. Bewirkt, dass mehr Freiraum um die<br />
Zeichen gerendert wird.<br />
mphantom 3 Formatierungs-Element um Inhalte unsichtbar zu Rendern, anstelle<br />
der Formelzeichen werden Spaces gerendert. Der Platz bleibt<br />
erhalten.<br />
mfenced 3 Element um Ausdrücke zu klammen, die einzelnen Ausdrücke<br />
können mit einem Trennzeichen z.B. Komma getrennt werden.<br />
menclose 3 Zeichnet Elemente mit Linien dazwischen, kann auch zur<br />
Darstellung eines Bruchstriches oder einer Wurzel verwendet<br />
werden. Wird von Mozilla Firefox nicht sauber gerendert.<br />
<strong>Pflichtenheft</strong>.doc Seite: 20 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
5.2.2.5 Script and Limit Schemata<br />
Element Priorität Inhalt<br />
msub 2 Basis Element mit Subscript (x 1 nach unten gesetzt)<br />
msup 1 Basis Element mit Superscript (x y nach oben gesetzt)<br />
msubsup 2 Basis Element sowohl mit Subscript als auch mit Superscript (so<br />
ähnlich x y 1 der y sollte über der 1 stehen)<br />
munder 2 Basis Element mit einem weiteren Element, das direkt darunter<br />
geschrieben wird, wie ein Bruch ohne Bruchstrich<br />
mover 2 Basis Element mit einem weiteren Element, das direkt darüber<br />
geschrieben wird, wie ein Bruch ohne Bruchstrich<br />
munderover 2 Basis Element, das sowohl Text über sich als auch unter sich<br />
enthält.<br />
mmultiscripts 3 Basis Element das beliebig viele geschachtelte Subscripts als<br />
auch Superscripts enthalten kann, die sowohl vor als auch nach<br />
dem Basiselement stehen können. Kann fast vollständig durch<br />
msub, msup und msubsup ersetzt werden, ausser wenn die<br />
Subscripts oder die Superscripts vor dem Zeichen stehen<br />
müssen.<br />
5.2.2.6 Tables and Matrices<br />
Element<br />
Priorität Inhalt<br />
mtable 4 Tabelle oder Matrix, enthält 0-n mlabeledtr oder mtr<br />
Elemente<br />
mlabeledtr 4 Tabellezeile mit Label und 1-n mtd Elementen.<br />
mtr 4 Tabellen Zeile mit 0-n mtd Elementen<br />
mtd 4 Ein Eintrag in einer Tabelle oder Matrix<br />
maligngroup and<br />
malignmark<br />
4 alignment markers<br />
5.2.2.7 Dynamisches Element<br />
Element Priorität Inhalt<br />
maction 4 Element, mit dem man dynamische Aktionen mit Unterausdrücken<br />
verknüpfen könnte z.B. auf und zu klappen von Fomelteilen. Da aber<br />
die Implementationen reiner Wildwuchs sind, muss vorerst eine<br />
Standardisierung abgewartet werden.<br />
5.2.3 Webapplikation<br />
Für das Testen des Editor Applets und zur Demonstration wie es in eine Webseite<br />
eingebaut werden kann wird eine kleine Webapplikation gebraucht.<br />
<strong>Pflichtenheft</strong>.doc Seite: 21 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
Diese Webapplikation wird auf Windows erstellt und auf den Webserver Apache Tomcat<br />
laufen gelassen.<br />
Wieso nicht Linux<br />
1. Ich hatte bisher nur im Verlauf des Studiums mit Linux und Webapplikationen zu<br />
tun.<br />
2. Ich musste dabei feststellen, dass selbst ausgewachsenen Profis mühe haben<br />
innert vernünftiger Zeit von Grund auf eine lauffähige Infrastruktur mit Linux<br />
und/oder Webapplikationen aufzubauen.<br />
3. Ich habe weder zu Hause noch im Geschäft eine Linux-Infrastruktur zur Verfügung.<br />
4. Der Zeitrahmen dieses Projektes würde gesprengt, wenn ich mich noch intensiv mit<br />
Linux und mit Webapplikationen beschäftigen müsste.<br />
5. Der Kunde betreibt Webapplikationen auf einem Webserver mit Linux-<br />
Betriebssystem. Er ist also Experte und wird den Editor leicht in seine<br />
Webapplikationen einbauen können.<br />
Unten steht eine Liste welche Funktionen die Webapplikation in etwa abdecken sollte. Für<br />
die Dokumentation verweise ich auf den Diplombericht.<br />
Funktion Priorität Beschreibung<br />
Dokument<br />
1 Ein vorhandenes Dokument wird in das Applet geladen<br />
Editieren<br />
Dokumente 1 Eine Liste der vorhandenen Dokumente wird angezeigt<br />
Listen<br />
Neues<br />
1 Öffnet eine leere Seite mit dem Editor Applet<br />
Dokument<br />
Persistenz 1 Es wird ausschliesslich mit Files gearbeitet<br />
Print 2 Ein Dokument aus der Liste wird in den Webbrowser geladen<br />
und kann dann gedruckt werden.<br />
Session handling 3 Nur so weit in Tomcat automatisch vorhanden.<br />
Benutzer<br />
3 Keine Benutzeranmeldung vorgesehen.<br />
Anmeldung<br />
Benutzer-<br />
3 Nicht vorgesehen<br />
Verwaltung<br />
Dokument<br />
3 Ein vorhandenes Dokument wird gelöscht<br />
löschen<br />
Multiuser 3 Es wird ist kein Multiuser Betrieb vorgesehen.<br />
<strong>Pflichtenheft</strong>.doc Seite: 22 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
6 Schnittstellen<br />
6.1 Benutzeroberfläche<br />
Das Erscheinungsbild der Benutzeroberfläche (GUI) wird im Detaildesign spezifiziert. Das<br />
Erscheinungsbild sollte sich an den bekannten Windows-Applikationen anlehnen. Der<br />
Editor sollte so weit als möglich über die Tastatur bedienbar sein.<br />
6.2 Softwareschnittstellen<br />
6.2.1 Parameterübergabe<br />
Dem Editor werden die Informationen, woher er sich bereits bearbeitete Daten laden kann<br />
und der Speicherort für die bearbeiteten Daten, in Form von geeigneten Parametern auf<br />
der Webseite mit gegeben.<br />
6.2.2 Export von Texten<br />
Ein Export von Texten ist nicht vorgesehen. Es ist denkbar eine Funktion ein zu bauen, die<br />
den MathML Text in einem GUI Fenster anzeigt, von dem er dann in die Zwischenablage<br />
kopiert werden könnte.<br />
6.3 Drucker<br />
Es wird nur mit den Bordmitteln des jeweiligen Browsers gedruckt. Damit sollte der Editor<br />
noch unabhängiger vom Betriebssystem werden.<br />
<strong>Pflichtenheft</strong>.doc Seite: 23 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
7 Tests und Abnahme<br />
7.1 Modultest<br />
Alle entwickelten Komponenten werden einem Modultest unterzogen. Der Modultest wird<br />
in Form eines Black-Box Tests von dem Entwickler durchgeführt und protokolliert. Er soll<br />
die korrekte Funktion der einzelnen Module sicherstellen.<br />
Das Erstellen des Testkonzepts und des Testberichtes ist Teil der Diplomarbeit.<br />
7.2 Abnahmetest<br />
Der fertige Editor Prototype wird einem Abnahmetest unterzogen. Der Besteller führt den<br />
Abnahmetest durch. Der Abnahmetest soll über folgendes Aufschluss geben:<br />
• Erfüllung der im <strong>Pflichtenheft</strong> geforderten Funktionalität<br />
• Korrekte Funktion des Editors Prototyps<br />
Das Erstellen des Testkonzepts und des Testberichtes ist Teil der Diplomarbeit.<br />
7.3 Usability Test<br />
Der fertige Editor Prototype wird einem Usability Test unterzogen. Der Entwickler wird<br />
einige Personen aus seinem Umfeld mit dem Editor bekannt machen und deren Meinung<br />
dazu festhalten.<br />
Das Erstellen des Testkonzepts und des Testberichtes ist Teil der Diplomarbeit.<br />
<strong>Pflichtenheft</strong>.doc Seite: 24 /25
<strong>Pflichtenheft</strong><br />
Web-fähiger MathML-Editor<br />
Datum: 21.08.06<br />
Zeit: 17:48<br />
Martin Rüfli<br />
8 Anhang<br />
8.1 Terminplan<br />
<strong>Pflichtenheft</strong>.doc Seite: 25 /25