10.01.2015 Aufrufe

Pflichtenheft

Pflichtenheft

Pflichtenheft

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!