06.08.2013 Aufrufe

Entwurf und Realisierung einer Internetplattform für den Verlag von ...

Entwurf und Realisierung einer Internetplattform für den Verlag von ...

Entwurf und Realisierung einer Internetplattform für den Verlag von ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

TU Wien<br />

Business Informatics Group<br />

Institut <strong>für</strong> Softwaretechnik <strong>und</strong> Interaktive Systeme<br />

________________________________________________________________________________<br />

<strong>Entwurf</strong> <strong>und</strong> <strong>Realisierung</strong> <strong>einer</strong> <strong>Internetplattform</strong><br />

<strong>für</strong> <strong>den</strong> <strong>Verlag</strong> <strong>von</strong> fotounterstützten<br />

Dokumentationen alpiner Touren<br />

Diplomarbeit zur Erlangung des akademischen Grades eines<br />

Diplom Ingenieurs<br />

eingereicht bei o. Univ.­Prof. Mag. Dipl.­Ing. Dr. Gerti Kappel<br />

Dipl.­Ing. Walter Sunk<br />

Wien, 30.08.2006


Eidesstattliche Erklärung<br />

Ich erkläre an Eides statt, dass ich die vorliegende Arbeit selbständig <strong>und</strong> ohne fremde Hilfe<br />

verfasst, andere als die angegebenen Quellen nicht benutzt <strong>und</strong> die <strong>den</strong> benutzten Quellen wörtlich<br />

oder inhaltlich entnommenen Stellen als solche kenntlich gemacht habe.<br />

Wien, 30.08.2006 Walter Sunk<br />

ii


Kurzfassung<br />

Immer mehr Wanderer <strong>und</strong> Bergsteiger wer<strong>den</strong> durch die Faszination der Gebirgswelt sowie deren<br />

Erlebnis­ <strong>und</strong> Erholungswert in das Gebirge gezogen. Voraussetzung zum erfolgreichen <strong>und</strong><br />

sicheren Durchführen <strong>von</strong> Touren im Gebirge ist eine sehr genaue Tourenplanung. Diese erhöht die<br />

Sicherheit <strong>und</strong> somit <strong>den</strong> Erlebniswert.<br />

Von besonderem Interesse bei der Tourenplanung sind genaue Informationen über <strong>den</strong><br />

Tourenverlauf sowie über mögliche Gefahren­ <strong>und</strong> Schlüsselstellen. Die meisten Informationen<br />

wer<strong>den</strong> in Textform angeboten. Sowohl Fachliteratur als auch Informationen im Internet<br />

beschreiben Touren überwiegend in Worten, es fehlt in der Regel gutes Fotomaterial. Doch gerade<br />

dieses verbessert die Vorstellung über eine alpine Tour ganz wesentlich. Sowohl die Orientierung<br />

vor Ort als auch die Einschätzung <strong>von</strong> Schlüsselstellen in der Tour wer<strong>den</strong> durch vorher bekanntes<br />

Fotomaterial wesentlich erleichtert.<br />

Aus diesem Gr<strong>und</strong> beschäftigt sich die vorliegende Arbeit mit der Entwicklung <strong>einer</strong><br />

<strong>Internetplattform</strong> <strong>für</strong> <strong>den</strong> <strong>Verlag</strong> <strong>von</strong> fotounterstützten Dokumentationen alpiner Touren. Jede<br />

Dokumentation soll dabei genügend Fotomaterial enthalten können, um <strong>den</strong> gesamten Verlauf <strong>einer</strong><br />

Tour sowie alle Schlüsselstellen auf der Tour sichtbar zu machen. Die <strong>Internetplattform</strong> unterstützt<br />

also Wanderer <strong>und</strong> Bergsteiger dabei, ausreichend Bildinformation über bevorstehende Touren <strong>für</strong><br />

eine ausführliche Tourenplanung zu erhalten. Umgekehrt haben Tourengeher auch die Möglichkeit,<br />

als Alpinautoren fotounterstützte Dokumentationen alpiner Touren zu publizieren.<br />

Da das Durchführen <strong>und</strong> Erstellen derartiger Dokumentationen stets mit viel Zeit <strong>und</strong> Kosten<br />

verb<strong>und</strong>en ist, sollen die Kosten durch Verkauf der Dokumentationen nach Möglichkeit gedeckt<br />

wer<strong>den</strong>. Die <strong>Internetplattform</strong> stellt da<strong>für</strong> ein geeignetes Verkaufssystem zur Verfügung.<br />

Die Plattform wurde mit Sommerbeginn 2006 eröffnet 1) <strong>und</strong> stellt als Basisinhalt einen Osttirol<br />

Wander­ <strong>und</strong> Hochtourenführer sowie einen kleinen Zentralpyrenäen Wanderführer zur Verfügung.<br />

Da es Berge weltweit gibt <strong>und</strong> Alpinisten unterschiedlichste Sprachen sprechen, wurde die<br />

<strong>Internetplattform</strong> mehrsprachig ausgeführt, zur Zeit in <strong>den</strong> Sprachen Deutsch, Englisch <strong>und</strong><br />

Französisch. So haben Autoren die Möglichkeit, Dokumentationen in mehreren Sprachen zu<br />

publizieren <strong>und</strong> Tourengeher können Dokumentationen in mehreren Sprachen beziehen.<br />

Die vorliegende Arbeit beschäftigt sich mit der Entwicklung dieser Plattform. Zuerst wird eine<br />

Anforderungsanalyse erstellt, welche die Anforderungen <strong>einer</strong> solchen Plattform aufzeigt. Basierend<br />

auf diesen Anforderungen wird die Plattform anschließend modelliert. Der Schwerpunkt der<br />

vorliegen<strong>den</strong> Arbeit liegt in der Modellierung. In dieser wer<strong>den</strong> sämtliche Modelle aufgezeigt, die<br />

<strong>für</strong> eine <strong>Realisierung</strong> <strong>einer</strong> derartigen Plattform notwendig sind. Aufbauend auf der Modellierung<br />

wer<strong>den</strong> die wichtigsten Teile <strong>einer</strong> möglichen Implementierung genauer besprochen. Auch<br />

rechtliche Gr<strong>und</strong>lagen zum Betrieb der Plattform wer<strong>den</strong> abschließend erörtert.<br />

Gezeigt wird, dass <strong>für</strong> die Umsetzung eines derartigen <strong>Verlag</strong>es neben umfangreichen technischen<br />

<strong>und</strong> sprachlichen Kenntnissen sowie neben Erfahrungen in der Alpinistik auch gr<strong>und</strong>legende<br />

Kenntnisse in <strong>den</strong> Gebieten der Buchhaltung <strong>und</strong> im Daten­ <strong>und</strong> Informatikrecht notwendig sind.<br />

Die <strong>Realisierung</strong> der Plattform stellt sich diesbezüglich als ein multidisziplinäres Projekt in dem<br />

spannen<strong>den</strong> Gebiet des Bergsports heraus.<br />

1) http://www.AlpinImageS.com/ iii


Abstract<br />

More and more hikers and mountaineers go on alpine tours because of the great fascination, the<br />

adventure and the possible relaxation that can be enjoyed in the mountains. A precondition for a<br />

successful and safe tour in the alpine area is a detailed tour planning. A well­done tour planning<br />

increases safety during a tour and makes the tour more enjoyable.<br />

While planning a tour information about the route as well as about possible dangerous and difficult<br />

spots is of great interest. Most of the information that can be fo<strong>und</strong> about alpine tours is in a textual<br />

form. Specific literature as well as information in the internet are mostly text based, normally good<br />

photos are missing. However, informative photos can help to improve one's imagination of a tour to<br />

a great extent. Photos can be very helpful to make the orientation during a tour as well as the rating<br />

of difficult spots much easier.<br />

For this reason this thesis deals with the development of a website for publishing photo­assisted<br />

documentations of alpine tours. Thereby each documentation should provide enough photos in order<br />

to get a good overview of the whole route and to provide an insight into difficult spots. Thus the<br />

website assists hikers and mountaineers to get enough photos of upcoming tours in order to perform<br />

a detailed tour planning. On the other hand hikers and mountaineers have the possibility to publish<br />

photo­assisted documentations of alpine tours as alpine authors.<br />

Due to the fact that performing and documenting alpine tours in such an extent costs usually much<br />

money and time, the costs should be covered by selling the documentations. Therefore the website<br />

provides an appropriate selling system.<br />

The website was opened with the beginning of summer 2006 1) and provides a guide for tours in the<br />

mountains of Eastern Tyrol and a small guide for tours in the Central Pyrenees.<br />

Mountains exist all over the world and hence mountaineers speak many different languages. For this<br />

reason the website was developed multilingual and supports the languages English, French and<br />

German. Thereby authors have the possibility to publish documentations in several languages and<br />

mountaineers have the possibility to obtain documentations in several languages.<br />

This thesis deals with the development of the described website. First a requirements analysis shows<br />

the requirements for the website. By means of the requirements the website will be modeled. The<br />

focal point of this thesis will be the modelling. All models necessary for the realisation of the<br />

website are shown. Based on the modelling the most important parts of a possible implementation<br />

are discussed. At last legal issues for running the project are discussed as well.<br />

It will be shown that besides comprehensive technical and linguistic skills as well as experience in<br />

mountaineering, basic skills in the domains of accounting and laws concerning the internet are<br />

necessary for the development of the project. The realisation of the website will emerge as a multi<br />

disciplinary project in the exciting domain of mountaineering.<br />

1) http://www.AlpinImageS.com/ iv


Inhaltsverzeichnis<br />

1 Einführung.........................................................................................................................................1<br />

1.1 Motivation..................................................................................................................................1<br />

1.2 Aufgabenstellung.......................................................................................................................3<br />

1.3 Begriffe <strong>und</strong> Definitionen..........................................................................................................5<br />

1.4 Lösungsstrategie........................................................................................................................6<br />

2 Anforderungsanalyse.........................................................................................................................7<br />

2.1 Funktionale Anforderungen.......................................................................................................7<br />

2.1.1 Empfang <strong>und</strong> Startseite......................................................................................................7<br />

2.1.2 Kauf <strong>von</strong> Dokumentationen...............................................................................................8<br />

2.1.3 Bereich <strong>für</strong> Mitglieder........................................................................................................8<br />

2.1.4 Verwaltungsbereich..........................................................................................................10<br />

2.1.5 Touren­Update.................................................................................................................11<br />

2.1.6 Alben­Update...................................................................................................................13<br />

2.2 Nicht­funktionale Anforderungen............................................................................................14<br />

2.2.1 Internationalisierung........................................................................................................14<br />

2.2.2 Schutz des Dokumentationsmaterials..............................................................................14<br />

2.2.3 Sicherheitsaspekte............................................................................................................16<br />

3 Modellierung...................................................................................................................................19<br />

3.1 Modellierung ausgewählter Use Cases....................................................................................19<br />

3.1.1 Tourenmenü.....................................................................................................................19<br />

3.1.2 Tour anzeigen...................................................................................................................20<br />

3.1.3 Album anzeigen...............................................................................................................22<br />

3.1.4 Dokumentation kaufen.....................................................................................................23<br />

3.1.5 Login................................................................................................................................24<br />

3.1.6 Anmel<strong>den</strong>.........................................................................................................................25<br />

3.1.7 Passwortabfrage...............................................................................................................28<br />

3.2 Klassenmodellierung...............................................................................................................33<br />

3.2.1 Benutzergruppen..............................................................................................................33<br />

3.2.2 Tourtypen.........................................................................................................................37<br />

3.2.3 Klassenbeziehungen <strong>einer</strong> Tour.......................................................................................41<br />

3.2.4 Klassenbeziehungen eines Albums..................................................................................44<br />

3.2.5 Übersetzer........................................................................................................................45<br />

3.2.6 Touren­ <strong>und</strong> Albenberechtigungen...................................................................................46<br />

3.2.7 Aufladung des Guthabens................................................................................................48<br />

3.2.8 Gebiete.............................................................................................................................48<br />

3.2.9 PDF­Dokumente..............................................................................................................50<br />

3.2.10 Werber­Domains............................................................................................................51<br />

3.2.11 Ausgewählte Hilfsklassen..............................................................................................51<br />

3.2.12 Buchhaltung...................................................................................................................52<br />

3.3 Softwarepakete.........................................................................................................................56<br />

3.3.1 Gr<strong>und</strong>gerüst der Softwarepakete......................................................................................56<br />

3.3.2 Aufbau eingeb<strong>und</strong>ener Softwarepakete...........................................................................56<br />

3.3.3 Aufbau der Serverskripte.................................................................................................58<br />

3.3.4 Inhalte des Tourenmenüs.................................................................................................59<br />

3.3.5 Bereich <strong>für</strong> Mitglieder......................................................................................................60<br />

4 Ausgewählte Bereiche der Implementierung...................................................................................62<br />

4.1 Systemarchitektur....................................................................................................................62<br />

v


4.2 Internationalisierung ­ Übersetzung der Plattform..................................................................65<br />

4.3 Fotoverwaltung........................................................................................................................67<br />

5 Benutzungstests...............................................................................................................................71<br />

5.1 Allgemeine Benutzungsprobleme............................................................................................71<br />

5.2 Spezielle Benutzungsprobleme auf der realisierten Internetseite............................................75<br />

5.3 Sicherheit versus Benutzerfre<strong>und</strong>lichkeit................................................................................76<br />

6 Rechtliche Gr<strong>und</strong>lagen....................................................................................................................78<br />

6.1 Providerhaftung.......................................................................................................................78<br />

6.2 Geschäfte im Internet...............................................................................................................80<br />

6.3 Versand <strong>von</strong> Werbemails.........................................................................................................82<br />

6.4 Datenschutz <strong>und</strong> Urheberrecht.................................................................................................83<br />

6.5 Tätigkeit als Autor...................................................................................................................84<br />

7 Zusammenfassung <strong>und</strong> Ausblick.....................................................................................................86<br />

7.1 Ergebnisse der Arbeit...............................................................................................................86<br />

7.2 Ausblick...................................................................................................................................88<br />

8 Literatur...........................................................................................................................................89<br />

vi


1 Einführung 30. August 2006<br />

1 Einführung<br />

Der Bergsport erfreut sich in <strong>den</strong> letzten Jahren zunehmender Beliebtheit. Der Erlebnis­ <strong>und</strong><br />

Erholungswert, das Bewältigen neuer Herausforderungen, das Begegnen <strong>von</strong> <strong>und</strong> der Umgang mit<br />

alpinen Gefahren, die persönliche Entwicklung <strong>und</strong> Selbsterkenntnis <strong>und</strong> viele weitere<br />

Einflussfaktoren auf alpinen <strong>und</strong> hochalpinen Touren sind <strong>für</strong> viele Wanderer <strong>und</strong> Bergsteiger<br />

zentrale Motivationsquellen, solche Touren zu bestreiten. Der Erlebniswert <strong>einer</strong> alpinen Tour ist<br />

dabei <strong>für</strong> die meisten Tourengeher die Hauptmotivation <strong>für</strong> das Begehen der Tour.<br />

Um die Erlebnisse auf <strong>einer</strong> Tour tatsächlich genießen zu können, ist eine genaue Tourenplanung<br />

<strong>von</strong> großer Wichtigkeit, in der mögliche Situationen bereits im Vorhinein durchdacht wer<strong>den</strong>.<br />

Unzureichende Vorbereitung führt im alpinen Bereich nur allzuschnell zu unliebsamen<br />

Überraschungen, aus <strong>den</strong>en sich ernsthafte Gefahren entwickeln können.<br />

Für Tourengeher ist oftmals Bildinformation über eine Tour <strong>von</strong> hohem Interesse, weil dadurch die<br />

Tourenplanung erheblich unterstützt wird. Die Orientierung vor Ort sowie die Einschätzung <strong>von</strong><br />

Schlüsselstellen in der Tour wer<strong>den</strong> durch vorher bekanntes Bildmaterial wesentlich erleichtert. In<br />

der vorliegen<strong>den</strong> Arbeit wird die Entwicklung der Bergsportplattform [AIS] gezeigt, deren<br />

Herausgeber ich bin. Die Plattform ermöglicht <strong>den</strong> <strong>Verlag</strong> <strong>von</strong> fotounterstützten Dokumentationen<br />

alpiner Touren <strong>und</strong> stellt dem Tourengeher somit ausreichendes Bildmaterial <strong>für</strong> eine umfassende<br />

Tourenplanung zur Verfügung.<br />

1.1 Motivation<br />

Ein gute Tourenplanung ist die Gr<strong>und</strong>lage <strong>für</strong> tolle Erlebnisse <strong>und</strong> <strong>für</strong> die Sicherheit auf <strong>einer</strong><br />

alpinen Tour. Wie eine Tourenplanung <strong>für</strong> alpine Touren am besten ganzheitlich durchgeführt wird,<br />

ist Diskussionsthema vieler alpiner Vereine <strong>und</strong> vieler Fachleute. Einen guten Anhaltspunkt <strong>für</strong> die<br />

Planung <strong>von</strong> Touren im alpinen Gelände bietet u.a. der Alpinlehrplan <strong>für</strong> Hochtouren [AlLp01].<br />

Laut diesem Lehrplan kommt in der Vorbereitung Fachliteratur zur Anwendung, die über <strong>den</strong><br />

Verlauf der Tour, deren Schwierigkeiten <strong>und</strong> Schlüsselstellen genaue Informationen gibt.<br />

Fachliteratur<br />

Als Fachliteratur zu alpinen Touren kamen in <strong>den</strong> letzten Jahren immer mehr Bücher im Alpenraum<br />

(Österreich, Schweiz, Italien, Frankreich) heraus. Im wesentlichen können hier zwei Arten <strong>von</strong><br />

Büchern unterschie<strong>den</strong> wer<strong>den</strong>. Zum einen textbasierte Tourenbücher, die Touren in Textform<br />

beschreiben, zum anderen Bildbände, die Bildmaterial über bestimmte Gebiete präsentieren.<br />

Tourenbücher in Textform haben oft <strong>den</strong> Nachteil, dass diese kaum oder nur ungenügend<br />

Fotomaterial beinhalten. Aufgr<strong>und</strong> der beschränkten Seitenanzahl <strong>und</strong> der erhöhten Druckkosten in<br />

Farbe enthalten fast alle derartigen Tourenbücher wenn überhaupt maximal 1­2 Fotos pro Tour.<br />

Eines der ersten Standardwerke <strong>für</strong> die Ostalpen war [MaKo02]. Dieser Führer beinhaltet<br />

ausgezeichnete Texte über die beschriebenen Touren, jedoch fast keine Fotos zur jeweiligen Tour.<br />

Übersichtsfotos fehlen praktisch gänzlich. Der Tourengeher erhält somit leider keine wesentliche<br />

Bildinformation über die Touren. Ähnlich arbeiten diverse Alpenvereinsführer, nur dass diese nicht<br />

so genau geschrieben sind. Alpenvereinsführer enthalten eine Unmenge <strong>von</strong> Touren, zu <strong>den</strong>en<br />

jedoch meistens nur ein paar Zeilen Text zu fin<strong>den</strong> sind.<br />

Bildbände beeindrucken meist durch grandiose <strong>und</strong> stimmungsvolle Landschaftsaufnahmen <strong>und</strong><br />

Walter Sunk 1


1 Einführung 30. August 2006<br />

verlocken somit sehr, das dokumentierte Gebiet selbst einmal zu besuchen. Bildbände eigenen sich<br />

sehr gut dazu, sich einen Gesamteindruck über das Gebiet <strong>und</strong> die Landschaft zu machen.<br />

Beispielsweise beinhaltet [PeDo03] beeindruckende Landschaftsaufnahmen <strong>von</strong> allen 4000ern der<br />

Alpen. Nachdem man derartige atemberaubende Aufnahmen gesehen hat, muss man als begeisterter<br />

Bergsteiger das Gebiet einfach einmal selbst besuchen. Der Nachteil <strong>von</strong> Bildbän<strong>den</strong> ist jedoch<br />

offensichtlich. Sie vermitteln leider meist nur Eindrücke über die Landschaft, eigenen sich jedoch in<br />

der Regel nicht als Führerliteratur. Oft verweisen Bildbände auch direkt auf weitere Literatur (wie<br />

dies z.B. in [PeDo03] der Fall ist), die zum Durchführen der Tour unbedingt empfohlen wird.<br />

Zudem sind die Kosten <strong>von</strong> Bildbän<strong>den</strong> verglichen mit Büchern in Textform aufgr<strong>und</strong> der farbigen<br />

Fotos klarerweise um einiges höher. Bildbände haben außerdem generell mit dem Problem zu<br />

kämpfen, dass man in einem Buch eben nicht beliebig viele Fotos abbil<strong>den</strong> kann. Nehmen wir an,<br />

wir wollten <strong>für</strong> je<strong>den</strong> Normalweg auf alle 4000er der Alpen (nur) 30 Fotos abbil<strong>den</strong>. Offiziell sind<br />

82 Gipfel als eigenständige 4000er anerkannt. Unter der Annahme, dass ein Foto eine Seite Platz<br />

braucht, kämen wir dann auf 82*30 = 2460 Seiten. Aus Platz­ <strong>und</strong> Kostengrün<strong>den</strong> ist dies in einem<br />

Buch kaum realisierbar. Die weitaus schwierigere Aufgabe würde überdies darin bestehen, zu jeder<br />

dieser Touren erst einmal die Fotos (bei angebrachten Wetterverhältnissen) zu bekommen.<br />

Ansätze im Internet<br />

Mit der Zeit haben sich einige <strong>Internetplattform</strong>en gebildet, die Dokumentationen alpiner Touren<br />

anbieten. In der Regel funktionieren diese Plattformen so, dass ein jeder Tourengeher seine Tour<br />

eintragen kann. Hintergr<strong>und</strong> dabei ist, möglichst viele Tourendokumentationen zu erhalten. Genau<br />

darin steckt jedoch das Problem solcher Plattformen. Ein jeder kann alles schreiben. Es gibt<br />

k<strong>einer</strong>lei Qualitätskriterien. Oftmals ist eine Überarbeitung der Administration erforderlich, um die<br />

Tourendokumentationen in einem stilistisch einwandfreien Text wiederzugeben. Meist sind die<br />

Touren wieder nur in Worten beschrieben, weil die Aufbereitung <strong>und</strong> die Verarbeitung <strong>von</strong> Fotos zu<br />

zeitaufwendig <strong>für</strong> <strong>den</strong> Verfasser ist. Falls Fotos überhaupt vorhan<strong>den</strong> sind, dann wer<strong>den</strong> diese<br />

zumeist in k<strong>einer</strong>lei Bezug zum Text gebracht. In der Regel sind auch keine Karten vorhan<strong>den</strong>. Dies<br />

geschieht entweder aus Urheberrechtsgrün<strong>den</strong> oder einfach deshalb, weil es zu aufwendig <strong>für</strong> <strong>den</strong><br />

Verfasser ist, eine Karte selbst zu erstellen.<br />

Entstehung des Projektes [AIS]<br />

Als aktiver Tourengeher bin ich selbst stets auf der Suche nach genauen Informationen über meine<br />

bevorstehen<strong>den</strong> Touren. Eine genaue Tourenplanungen ist <strong>für</strong> mich stets <strong>von</strong> großer Wichtigkeit<br />

<strong>und</strong> bildet <strong>für</strong> mich eine ganz wesentliche Voraussetzung zur erfolgreichen Durchführung m<strong>einer</strong><br />

bevorstehen<strong>den</strong> Touren.<br />

In der Regel wer<strong>den</strong> Gletschertouren aufgr<strong>und</strong> der Spaltengefahr immer zu zweit am Seil<br />

durchgeführt. Ich habe mit Stefan Lamprechter einen guten Bergkammera<strong>den</strong> gef<strong>und</strong>en, mit dem<br />

ich die meisten m<strong>einer</strong> Touren unternommen habe. Wir haben uns zur Tourenplanung daher stets<br />

Informationen <strong>von</strong> Bekannten, aus Büchern <strong>und</strong> Internet besorgt. Das Suchen <strong>von</strong> Informationen<br />

war dabei immer extrem zeitaufwendig. Trotz unserer Recherchen haben wir die <strong>für</strong> uns optimale<br />

Tourendokumentation nie wirklich gef<strong>und</strong>en. Wir haben uns gefragt, warum?<br />

Wie bereits besprochen waren Texte aus Tourenbüchern zwar stets sehr gut verfasst, doch in unserer<br />

Praxis hat sich herausgestellt, dass <strong>für</strong> uns dokumentiertes Fotomaterial zu <strong>einer</strong> Tour noch viel<br />

wichtiger ist. Wir kamen durch Bekannte zu sehr gutem Fotomaterial <strong>von</strong> diversen Touren. Dadurch<br />

Walter Sunk 2


1 Einführung 30. August 2006<br />

konnten wir uns schon im Vorhinein eine Vorstellung <strong>von</strong> der gesamten Tour verschaffen. Die<br />

Fotos ermöglichten uns Einsicht in Schlüsselstellen sowie eine wesentlich erleichterte Orientierung<br />

im Gelände. Im weiteren lösten die Fotos dieser Touren bei uns eine solche Begeisterung aus,<br />

sodass wir eigentlich sofort aufbrechen wollten.<br />

Im Zuge dessen kam unsere erste Idee. Wir dachten uns, wir könnten Autoren die Möglichkeit<br />

geben, Dokumentationen mit vollständigem Fotomaterial zu veröffentlichen. Und dieses<br />

Fotomaterial müsste <strong>für</strong> einen je<strong>den</strong> Tourengeher gleich nach Verfassen der Dokumentation<br />

zugänglich sein. Gleichzeitig war uns klar, dass Autoren <strong>für</strong> derartig qualitativ hochstehende<br />

Dokumentationen entsprechend entlohnt wer<strong>den</strong> müssen. Sie sind nicht nur ständig allen alpinen<br />

Gefahren ausgesetzt, sondern liefern durch ihre Dokumentationen eine wesentliche Gr<strong>und</strong>lage zur<br />

Auswahl <strong>und</strong> erfolgreichen eigenständigen Durchführung alpiner Touren. Die Lösung lag auf der<br />

Hand: ein Online Redaktionssystem, in dem Autoren Ihre Dokumentationen selbständig zu eigenen<br />

Preisen direkt verkaufen können. Der erste Gr<strong>und</strong>stein zu dem Projekt [AIS] war gelegt.<br />

Gebirge gibt es in vielen Ländern, in jedem dieser Länder wer<strong>den</strong> unterschiedliche Sprachen<br />

gesprochen. Begeisterte Alpinsportler möchten jedoch die Gebirge auf der ganzen Welt kennen<br />

lernen, ohne dabei durch sprachliche Barrieren eingeschränkt zu sein. Somit dachten wir uns, es<br />

wäre äußerst nützlich, wenn es eine mehrsprachige internationale Plattform gäbe. Tourengeher aus<br />

allen alpinen Staaten haben dadurch etwa die Möglichkeit, Tourendokumentationen <strong>von</strong> Autoren<br />

vor Ort zu erwerben. Autoren ihrerseits haben wieder die Möglichkeit, Tourendokumentationen <strong>von</strong><br />

Touren vor Ort ständig zu erneuern, wodurch die Qualität der Dokumentationen stets auf hohem<br />

Niveau bleibt. Der zweite Gr<strong>und</strong>stein zu [AIS] war gelegt.<br />

Mein Tourenfre<strong>und</strong> <strong>und</strong> ich haben aufgr<strong>und</strong> dieser bei<strong>den</strong> Gr<strong>und</strong>steine beschlossen, alle Vorteile<br />

der bisher diskutierten Dokumentationsmetho<strong>den</strong> <strong>von</strong> alpinen Touren zu vereinen, zu verbessern<br />

<strong>und</strong> auszubauen <strong>und</strong> damit die Bergsportplattform [AIS] zu grün<strong>den</strong>. Ich selbst bin zuständig <strong>für</strong> die<br />

technische Umsetzung, habe [AIS] im Zuge der vorliegen<strong>den</strong> Arbeit realisiert <strong>und</strong> bin somit<br />

Herausgeber der Internetseite. Stefan Lamprechter ist <strong>für</strong> die englische <strong>und</strong> Veronika Zenz <strong>für</strong> die<br />

französische Übersetzung zuständig.<br />

1.2 Aufgabenstellung<br />

Nach dem Gründungsentschluss wurde folgende Aufgabenstellung entwickelt.<br />

<strong>Verlag</strong> <strong>von</strong> Touren <strong>und</strong> Tourenalben – der erste Gr<strong>und</strong>stein<br />

Mit der Bergsportplattform [AIS] soll ein <strong>Verlag</strong>ssystem geschaffen wer<strong>den</strong>, dass <strong>den</strong> <strong>Verlag</strong> <strong>von</strong><br />

fotounterstützten Dokumentationen alpiner Touren ermöglicht. Autoren sollen auf der<br />

Bergsportplattform derartige Dokumentationen online erstellen, jederzeit warten <strong>und</strong> selbständig zu<br />

eigenen Preisen direkt an K<strong>und</strong>en verkaufen können. Die Dokumentationsinhalte <strong>einer</strong> Tour sollen<br />

dabei sowohl online als auch in Form <strong>von</strong> PDF­Dokumenten bezogen wer<strong>den</strong> können. Überdies<br />

sollen Autoren ausgewählte Touren zu Tourenalben zusammenfassen können. Beim Erwerb eines<br />

Tourenalbums wer<strong>den</strong> dann alle Tourendokumentationen, die sich in diesem Album befin<strong>den</strong>,<br />

erworben. Autoren sollen die Möglichkeit haben, Tourenalben gemeinsam zu erstellen.<br />

Internationalität ­ der zweite Gr<strong>und</strong>stein<br />

Die Plattform soll mehrsprachig ausgelegt wer<strong>den</strong>. Als Basissprachen sollen Deutsch, Englisch <strong>und</strong><br />

Walter Sunk 3


1 Einführung 30. August 2006<br />

Französisch verfügbar sein.<br />

Schutz des Dokumentationsmaterials<br />

PDF­Dokumente <strong>und</strong> Fotos sollen nach Möglichkeit urheberrechtlich vor unerlaubter<br />

Vervielfältigung <strong>und</strong> unerlaubter Veröffentlichung geschützt wer<strong>den</strong>. Auf allen Fotos muss der<br />

Urheber erkennbar sein <strong>und</strong> auf das Urheberrechtsgesetz durch das Copyright­Logo hingewiesen<br />

wer<strong>den</strong>. Es sind weitere Möglichkeiten zum Schutz vor unerlaubter Vervielfältigung <strong>und</strong><br />

unerlaubter Veröffentlichung zu diskutieren <strong>und</strong> zu implementieren.<br />

Rechtliche Gr<strong>und</strong>lagen<br />

Die rechtlichen Gr<strong>und</strong>lagen zum Betreiben <strong>einer</strong> derartigen Bergsportplattform sollen recherchiert<br />

<strong>und</strong> dargelegt wer<strong>den</strong>. Für Internetseiten, auf <strong>den</strong>en Produkte verkauft wer<strong>den</strong>, gilt insbesondere das<br />

E­Commerce Gesetz. Insbesondere sollen die auf die Plattform zutreffen<strong>den</strong> Bestimmungen dieses<br />

Gesetztes eingehalten wer<strong>den</strong>.<br />

Übersetzung <strong>von</strong> Dokumentationen<br />

Autoren sollen ihre Dokumentationen in andere Sprachen übersetzen lassen können. Zum<br />

Übersetzen <strong>einer</strong> Dokumentation soll ein Autor einem <strong>von</strong> ihm gewählten Übersetzer Zugriff auf<br />

die übersetzbaren Teile der Dokumentation gewähren können.<br />

Ausgliederung des Aufladesystems <strong>und</strong> s<strong>einer</strong> Voraussetzungen<br />

Dokumentationen sollen ab 1EUR netto käuflich erwerbbar sein. Aufgr<strong>und</strong> geringerer<br />

Überweisungsspesen muss ein K<strong>und</strong>e zuerst ein Mindestguthaben <strong>von</strong> 5EUR (brutto) aufla<strong>den</strong>,<br />

danach kann der K<strong>und</strong>e dann Dokumentationen erwerben. Aufgr<strong>und</strong> der Komplexität <strong>und</strong> des<br />

Umfangs der gesamten Plattform wurde das Aufladesystem mitsamt seinen Voraussetzungen<br />

(Session Management System, Log In System, Brute Force Abwehr, Secure Codes (Captchas, siehe<br />

auch [CMU])) in der Praktikumsarbeit [WaSu06] realisiert. Die Arbeit [WaSu06] befasst sich u.a.<br />

auch mit allen relevanten sicherheitskritischen Aspekten im Aufladesystem.<br />

Werbung durch Werber<br />

Es soll die Möglichkeit bestehen, dass Personen oder juristische Personen Werbung <strong>für</strong> die<br />

Bergsportplattform machen. Solche Personen oder juristische Personen wer<strong>den</strong> in dieser Arbeit<br />

Werber genannt. K<strong>und</strong>en können also durch Werber geworben wer<strong>den</strong>. Werber wer<strong>den</strong> <strong>von</strong> <strong>den</strong><br />

Einkäufen der K<strong>und</strong>en bezahlt. Es sind geeignete Maßnahmen zu implementieren, um <strong>den</strong> Werber<br />

eines K<strong>und</strong>en bestimmen zu können.<br />

Basisinhalt an Dokumentationen<br />

Als Basisinhalt soll auf der Plattform ein Osttirol Wander­ <strong>und</strong> Hochtourenführer sowie ein kl<strong>einer</strong><br />

Zentralpyrenäen Wanderführer herausgegeben wer<strong>den</strong>. Die beschriebenen Führer wer<strong>den</strong> dabei in<br />

Form <strong>von</strong> Tourenalben veröffentlicht.<br />

Umfang an Tourtypen<br />

Mit Beginn des Sommers 2006 sollen Wanderungen <strong>und</strong> Hochtouren dokumentiert wer<strong>den</strong> können,<br />

Walter Sunk 4


1 Einführung 30. August 2006<br />

andere Tourtypen (z.B. Skitouren, Skihochtouren, Schneeschuhwanderungen) sollen bereits in der<br />

Modellierung berücksichtigt wer<strong>den</strong>, brauchen jedoch noch nicht implementiert zu sein.<br />

1.3 Begriffe <strong>und</strong> Definitionen<br />

Tour, Tourendokumentationen<br />

Eine Tour ist eine Unternehmung im freien Gelände oder im Gebirge. An manchen Stellen wird als<br />

Abkürzung <strong>für</strong> <strong>den</strong> Begriff Tourendokumentation lediglich das Wort "Tour" verwendet (z.B. "Tour<br />

kaufen" <strong>für</strong> "Tourendokumentation kaufen").<br />

Album, Tourenalbum<br />

Beide Begriffe wer<strong>den</strong> aus der Sicht eines Benutzers gleichwertig verwendet. Aus Benutzersicht ist<br />

ein Album bzw. ein Tourenalbum eine Zusammenstellung ausgewählter Tourendokumentationen.<br />

In der Modellierung besteht jedoch ein Unterschied. Im Modell versteht man unter einem<br />

Tourenalbum vereinfacht das Hinzufügen <strong>von</strong> Touren zu einem Album. Ein Album kann daher auch<br />

alleine existieren, ohne Touren zu beinhalten. Ein Tourenalbum hingegen muss Touren beinhalten.<br />

Dokumentation<br />

Eine Dokumentation ist entweder eine Tourendokumentation oder ein Tourenalbum.<br />

Autor bzw. Alpinautor:<br />

Beide Begriffe wer<strong>den</strong> gleichwertig verwendet. Ein Autor bzw. Alpinautor ist ein Schriftsteller, der<br />

Dokumentationen direkt an K<strong>und</strong>en verkauft.<br />

Anmeldung, Registrierung<br />

Beide Begriffe wer<strong>den</strong> gleichwertig verwendet. Unter der Anmeldung (oder Registrierung) auf der<br />

Bergsportplattform wird der Prozess zur Eröffnung eines K<strong>und</strong>enaccounts verstan<strong>den</strong>. Mit dem<br />

K<strong>und</strong>enaccount kann der K<strong>und</strong>e dann Dokumentationen erwerben. Bei der Anmeldung wer<strong>den</strong><br />

persönliche Daten des K<strong>und</strong>en aufgenommen, die vertraulich behandelt wer<strong>den</strong>. Im Zuge der<br />

Anmeldung kann der K<strong>und</strong>e seinen Benutzernamen <strong>und</strong> sein Passwort selbst auswählen.<br />

Mitgliedsbereich, Bereich <strong>für</strong> Mitglieder<br />

Beide Begriffe wer<strong>den</strong> gleichwertig verwendet. Sie bezeichnen jenen Bereich auf der<br />

Bergsportplattform, der nur <strong>von</strong> angemeldeten Benutzern betreten wer<strong>den</strong> kann.<br />

Sommersaison, Winter­ <strong>und</strong> Frühjahrssaison:<br />

• Sommersaison: 01.05. bis 31.10. des gleichen Jahres<br />

• Winter­ <strong>und</strong> Frühjahrssaison: 01.11. bis 31.04. des Folgejahres<br />

Saison<br />

Eine Saison bezeichnet entweder eine Sommersaison oder eine Winter­ <strong>und</strong> Frühjahrssaison.<br />

Walter Sunk 5


1 Einführung 30. August 2006<br />

1.4 Lösungsstrategie<br />

In Kapitel 2 wird zunächst eine Anforderungsanalyse unternommen, welche die notwendigen<br />

funktionalen <strong>und</strong> nicht­funktionalen Anforderungen an die Bergsportplattform aufzeigt. Funktionale<br />

Anforderungen wer<strong>den</strong> in Form <strong>von</strong> Use Cases dokumentiert. Daran anschließend wer<strong>den</strong> die<br />

wichtigsten nicht­funktionalen Anforderungen in Textform dargestellt.<br />

Aufbauend auf <strong>den</strong> funktionalen <strong>und</strong> nicht­funktionalen Anforderungen wird dann in Kapitel 3 die<br />

Bergsportplattform modelliert. Die Modellierung soll dabei jederzeit eine Implementierung der<br />

Bergsportplattform ermöglichen. Daher bildet auch die Modellierung <strong>den</strong> Schwerpunkt der<br />

vorliegen<strong>den</strong> Arbeit. Zu Beginn der Modellierung wer<strong>den</strong> komplexere Use Cases modelliert, die<br />

<strong>einer</strong> genaueren Beschreibung bedürfen. Danach wer<strong>den</strong> in <strong>einer</strong> Klassenmodellierung alle<br />

notwendigen Klassen beschrieben <strong>und</strong> nachfolgend die notwendigen Softwarepakete zur<br />

Umsetzung der Plattform diskutiert. Sämtliche zum Einsatz kommende Diagramme in der<br />

Modellierung sind nach dem UML 2 Standard gemäß [UML205] erstellt. In Einzelfällen kommt es<br />

vor, dass bestimmte Notationen nicht vollkommen dem UML 2 Standard entsprechen. Die ist<br />

bedingt durch die verwendeten Tools zur Erzeugung der Diagramme.<br />

Auf Basis der zugr<strong>und</strong>e gelegten Modellierung aus Kapitel 3 wer<strong>den</strong> in Kapitel 4 ausgewählte <strong>und</strong><br />

wichtige Bereiche der Implementierung der Plattform besprochen. Dabei wird zuerst eine<br />

Systemarchitektur entwickelt. Da die Plattform mehrsprachig sein soll, wird nachfolgend die<br />

Übersetzung der Plattform gezeigt. Der wohl wichtigste Punkt der Implementierung ist die<br />

Fotoverwaltung, die die Fotos der dokumentierten Touren verwalten <strong>und</strong> bereit stellen soll.<br />

Um zu testen, wie unterschiedliche erfahrene Internetbenutzer mit der Plattform umgehen, wer<strong>den</strong><br />

Benutzungstests unternommen, deren wichtigste Ergebnisse in Kapitel 5 dargestellt sind. Es wer<strong>den</strong><br />

Maßnahmen besprochen, wie eher unerfahrenen Internetbenutzern bei wichtigen Interaktionen<br />

geholfen wer<strong>den</strong> kann. Den Abschluss bildet Kapitel 6 mit <strong>einer</strong> Diskussion der rechtlichen<br />

Gr<strong>und</strong>lagen <strong>für</strong> das Projekt.<br />

Walter Sunk 6


2 Anforderungsanalyse 30. August 2006<br />

2 Anforderungsanalyse<br />

In diesem Kapitel beschäftigen wir uns mit <strong>den</strong> funktionalen <strong>und</strong> nicht­funktionalen Anforderungen<br />

an das <strong>Verlag</strong>ssystem. Die funktionalen Anforderungen wer<strong>den</strong> dabei in Abschnitt 2.1 in der Regel<br />

durch Use Cases beschrieben, die vom jeweiligen Benutzer der Plattform abhängen. Zu <strong>den</strong><br />

Benutzergruppen, die direkt mit der Internetseite interagieren, zählen gemäß Abschnitt 3.2.1<br />

Besucher, K<strong>und</strong>en, Autoren, Autorenbetreuer, Übersetzer, Werber <strong>und</strong> Administratoren. Die nichtfunktionalen<br />

Anforderungen wer<strong>den</strong> anschließend in Abschnitt 2.2 behandelt. Diese beschreiben<br />

wichtige Umstände, unter <strong>den</strong>en die Plattform zu arbeiten hat.<br />

2.1 Funktionale Anforderungen<br />

2.1.1 Empfang <strong>und</strong> Startseite<br />

Empfang<br />

Beim Empfang auf der Internetseite soll ein Benutzer die Sprachauswahl treffen. Nach der<br />

Sprachauswahl muss der Benutzer aus rechtlichen Grün<strong>den</strong> die Allgemeinen Geschäftsbedingungen<br />

<strong>und</strong> <strong>den</strong> Haftungsausschluss akzeptieren. Der Haftungsausschluss schließt die Bergsportplattform<br />

im Falle <strong>von</strong> Bergsportunfällen im Zusammenhang mit der Plattform <strong>von</strong> der Verantwortung aus.<br />

Natürlich muss der Benutzer auch beide Dokumente dazu lesen können. Wenn der Benutzer<br />

akzeptiert, darf er die Willkommensseite betreten <strong>und</strong> kann dort z.B. zu <strong>den</strong> Dokumentation gehen.<br />

Die Willkommensseite ist auch gleichzeitig die Startseite der Plattform. Abbildung 2.1.1 stellt<br />

diesen einzelnen Use Case als Aktivitätsdiagramm dar.<br />

Startseite<br />

Abbildung 2.1.1: Darstellung des Use Case Empfang<br />

Auf der Startseite haben Benutzer als erstes die Möglichkeit, kostenfreie Beispieltouren einzusehen.<br />

Eine Beispieltour zeigt <strong>den</strong> vollen Funktionsumfang <strong>und</strong> Inhalt <strong>einer</strong> Tourendokumentationen. Zu<br />

Walter Sunk 7


2 Anforderungsanalyse 30. August 2006<br />

<strong>den</strong> weiteren Bereichen, die <strong>von</strong> der Startseite aus erreichbar sind, zählen das Tourenmenü, der<br />

Infobereich <strong>und</strong> das Login. Abbildung 2.1.2 zeigt die auftreten<strong>den</strong> Use Cases.<br />

Im Tourenmenü bekommt der Benutzer Infos über neue Touren <strong>und</strong> Tourenalben, kann einzelne<br />

bereits bestehende Touren <strong>und</strong> Tourenalben auswählen <strong>und</strong> nach Dokumentationen suchen. Im<br />

Infobereich erhält der Benutzer Projektinformationen, rechtliche Informationen (dazu zählen der<br />

Haftungsausschluss <strong>und</strong> die Allgemeinen Geschäftsbedingungen), Kontaktdaten <strong>und</strong> eine<br />

Feedbackmöglichkeit zur Internetseite. Im Login Bereich kann sich der Benutzer entweder<br />

einloggen (wenn er bereits ein Mitglied ist), einen neuen K<strong>und</strong>enaccount eröffnen (wenn er noch<br />

kein Mitglied ist) oder die Interaktion zur Passwortabfrage starten, falls der Benutzer sein Passwort<br />

vergessen hat.<br />

Abbildung 2.1.2: Use Cases auf der Startseite<br />

2.1.2 Kauf <strong>von</strong> Dokumentationen<br />

Nachdem sich ein Benutzer angemeldet hat, wird er automatisch zum K<strong>und</strong>en <strong>und</strong> kann<br />

Dokumentationen, also Touren oder Alben kaufen. Abbildung 2.1.3 zeigt die bei<strong>den</strong> entsprechen<strong>den</strong><br />

Use Cases. Diese wer<strong>den</strong> in Abschnitt 3.1.4 im Detail modelliert.<br />

Abbildung 2.1.3: Use Cases zum Kauf <strong>von</strong> Dokumentationen (Touren oder Alben)<br />

2.1.3 Bereich <strong>für</strong> Mitglieder<br />

Der Mitgliedsbereich unterteilt sich je nach Benutzergruppe in folgende 5 weitere Bereiche:<br />

K<strong>und</strong>enbereich, Autorenbereich, Autorenbetreuerbereich, Übersetzerbereich, Werberbereich. Betritt<br />

ein Benutzer <strong>den</strong> Mitgliedsbereich, dann hat er Zugang zu <strong>den</strong> Bereichen jener Benutzergruppen,<br />

<strong>den</strong>en er angehört. Abbildung 2.1.4 zeigt die verschie<strong>den</strong>en Mitgliedsbereiche.<br />

Im K<strong>und</strong>enbereich können K<strong>und</strong>en Neuigkeiten lesen, gekaufte Touren <strong>und</strong> Alben beziehen, ihre<br />

Walter Sunk 8


2 Anforderungsanalyse 30. August 2006<br />

Abbildung 2.1.4: Use Cases im Mitgliedsbereich<br />

Umsätze einsehen, ihr K<strong>und</strong>enprofil ändern <strong>und</strong> ihr Guthaben aufla<strong>den</strong>. Das Aufla<strong>den</strong> des<br />

Guthabens ist gemäß Abschnitt 1.2 nicht Gegenstand dieser Arbeit, kann jedoch in [WaSu06]<br />

Walter Sunk 9


2 Anforderungsanalyse 30. August 2006<br />

nachgelesen wer<strong>den</strong>. Die Möglichkeit zur Änderung des K<strong>und</strong>enprofils ist aus rechtlicher Sicht <strong>von</strong><br />

Bedeutung, da ein Kauf <strong>einer</strong> Dokumentation ein Kaufvertrag zwischen dem K<strong>und</strong>en <strong>und</strong> dem<br />

Autor ist. Notwendig <strong>für</strong> die Gültigkeit <strong>von</strong> Kaufverträgen sind korrekte Angaben der beteiligten<br />

Personen. Daher müssen sowohl Autor als auch K<strong>und</strong>e ihre Profile updaten können.<br />

Im Autorenbereich kann ein Autor Touren <strong>und</strong> Alben (auch Partneralben) updaten, sein<br />

Autorenprofil ändern <strong>und</strong> seine Umsätze sowie seine Verkaufsstatistik einsehen. Die Use Cases<br />

Tour updaten <strong>und</strong> Album updaten bestehen tatsächlich aus <strong>einer</strong> Vielzahl einzelner Use Cases.<br />

Zwecks Übersicht wer<strong>den</strong> diese Use Cases in <strong>den</strong> Abschnitten 2.1.5 <strong>und</strong> 2.1.6 extra besprochen.<br />

Übersetzer können im Übersetzerbereich Touren <strong>und</strong> Alben übersetzen sowie ihr Übersetzerprofil<br />

ändern. Es ist darauf zu achten, dass Übersetzer auch wirklich nur zu übersetzende Daten in <strong>den</strong><br />

vom Autor freigegebenen Sprachen ändern können.<br />

Autorenbetreuer betreuen Autoren. Im Autorenbetreuerbereich können Autorenbetreuer Touren <strong>und</strong><br />

Alben <strong>für</strong> ihre Autoren anlegen. Ein Autorenbetreuer kann alle Aktionen durchführen, die auch der<br />

zu betreuende Autor durchführen kann. Zu diesem Zweck muss der Betreuer zuerst <strong>den</strong><br />

entsprechen<strong>den</strong> Autor auswählen. Betreuer erhalten eine Betreuerprovision. In ihrem Bereich<br />

können sie diese einsehen. Im weiteren können Betreuer natürlich auch ihr Profil ändern.<br />

Werber können in ihrem Bereich ihre Werberprovision einsehen <strong>und</strong> ihr Profil ändern.<br />

2.1.4 Verwaltungsbereich<br />

Der Verwaltungsbereich kann nur <strong>von</strong> Administratoren betreten wer<strong>den</strong>. Abbildung 2.1.5 zeigt die<br />

entsprechen<strong>den</strong> Use Cases, die <strong>von</strong> Administratoren durchgeführt wer<strong>den</strong>.<br />

Abbildung 2.1.5: Use Cases im Verwaltungsbereich<br />

Die Aufgaben <strong>von</strong> Administratoren im Verwaltungsbereich sind Berechtigungen zu setzen,<br />

Walter Sunk 10


2 Anforderungsanalyse 30. August 2006<br />

Werbern <strong>den</strong> geworbenen K<strong>und</strong>en zuzuordnen, die Buchhaltung zu prüfen <strong>und</strong> durchzuführen sowie<br />

die Datenbankadministration. Zu jedem Saisonende müssen die Buchhaltung abgeschlossen <strong>und</strong> die<br />

Verdienste ausbezahlt wer<strong>den</strong>.<br />

Ein besonderes Service <strong>für</strong> Autoren ist die Datenbank. Autoren können sämtliche Daten, die sie <strong>für</strong><br />

ihre Dokumentationen benötigen (z.B. Gipfel (Ziele), Hütten (Ziele), Talorte, etc.) aus der<br />

Datenbank beziehen. Dies bedeutet <strong>für</strong> Autoren nicht nur eine Erleichterung beim Dokumentieren,<br />

sondern gewährleistet auch, dass Dokumentationsdaten wie z.B. die Höhe oder der Name eines<br />

Berges in unterschiedlichen Dokumentationen gleich sind.<br />

Wie in [WaSu06] beschrieben können K<strong>und</strong>en ihr Guthaben mittels Banküberweisung aufla<strong>den</strong>.<br />

Administratoren sind da<strong>für</strong> zuständig, bei <strong>einer</strong> Aufladung mittels Überweisung das aufgela<strong>den</strong>e<br />

Guthaben dem jeweiligen K<strong>und</strong>enaccount anzurechnen (Use Case K<strong>und</strong>enguthaben aufla<strong>den</strong>).<br />

2.1.5 Touren­Update<br />

Alle Touren auf der Bergsportplattform können wie in Abbildung 2.1.6 gezeigt upgedatet wer<strong>den</strong>.<br />

Dadurch besteht die Möglichkeit, Touren regelmäßig zu warten. Dies ist ein besonders wichtiges<br />

Qualitätskriterium, weil dadurch Touren auf einem aktuellen Stand gehalten wer<strong>den</strong> können.<br />

Autoren, die Touren regelmäßig begehen (z.B. Autoren, die vor Ort leben), können dadurch stets<br />

neueste Informationen zu ihren Touren bereitstellen.<br />

Wie in Abschnitt in 3.1.2 diskutiert besteht eine Tour im wesentlichen aus <strong>den</strong> Komponenten<br />

Übersicht, Fotos, Karten <strong>und</strong> Beschreibung. Außerdem können Autoren <strong>für</strong> jede Tour einen oder<br />

mehrere Übersetzer bestimmen. Im weiteren müssen Autoren die Öffentlichkeitsrechte <strong>für</strong> ihre<br />

Touren bestimmen. Damit die Öffentlichkeitsrechte aktiv wer<strong>den</strong>, muss der jeweilige Betreuer des<br />

Autors seine Zustimmung erteilen.<br />

In der Übersicht <strong>einer</strong> Tour können neben deren Basisdaten (Name, Charakteristik, Länge, Höhe,<br />

etc.) deren Tourenziele, Tourenstützpunkte <strong>und</strong> Tourentalorte mit Hilfe der Datenbank upgedated<br />

wer<strong>den</strong>. Außerdem kann der Autor jede Tour zu einem eigenen oder zu einem Album eines<br />

Partnerautors hinzufügen.<br />

Das Herzstück <strong>einer</strong> je<strong>den</strong> Tourendokumentation sind deren Fotos <strong>und</strong> die Verlinkung der Fotos mit<br />

dem Text, der Karte <strong>und</strong> mit anderen Fotos. Um neue Fotos zu <strong>einer</strong> Tour hinzuzufügen, müssen<br />

diese zuerst einmal auf <strong>den</strong> Server hinaufgela<strong>den</strong> wer<strong>den</strong>. Dazu erhält der Autor einen FTP­Zugang<br />

zum Webserver. Aus Sicherheitsgrün<strong>den</strong> bietet der Server die Verschlüsselung TLS an, dadurch ist<br />

gewährleistet, dass FTP­Benutzername, FTP­Passwort sowie die Fotos des Autors bei der<br />

Übertragung nicht im Klartext aufgezeichnet wer<strong>den</strong> können. Nachdem der Autor die Fotos<br />

hinaufgela<strong>den</strong> hat, muss er sie „einchecken“. Beim sogenannten Check In wer<strong>den</strong> Fotos auf ihre<br />

Gültigkeit überprüft. Verläuft der Check In positiv, so kann der Autor Fotos zur Tour hinzufügen.<br />

Es besteht die Möglichkeit, die Anzeige­Reihenfolge <strong>von</strong> Fotos innerhalb derselben Tour jederzeit<br />

zu ändern. Im weiteren kann jedes Fotos beschriftet wer<strong>den</strong>.<br />

Eine Besonderheit ist, dass Fotos untereinander (mit sogenannten Fotolinks), Fotos mit Karten (mit<br />

so genannten Kartenfotolinks) <strong>und</strong> Fotos aus dem Beschreibungstext heraus (beim Updaten des<br />

Tourenverlaufs) verlinkt wer<strong>den</strong> können. Die entsprechen<strong>den</strong> Use Cases fin<strong>den</strong> sich in <strong>den</strong> 3<br />

entsprechen<strong>den</strong> Subsystemen.<br />

Karten wer<strong>den</strong> im Gegensatz zu Fotos direkt über HTTP auf <strong>den</strong> Server hinaufgela<strong>den</strong>. Eine<br />

Gültigkeitsprüfung der jeweiligen Karte erfolgt direkt nach dem Hinaufla<strong>den</strong>. Jede Karte kann<br />

natürlich einzeln beschriftet wer<strong>den</strong>.<br />

Walter Sunk 11


2 Anforderungsanalyse 30. August 2006<br />

Abbildung 2.1.6: Use Cases beim Touren­Update<br />

Die Beschreibung <strong>einer</strong> Tour besteht aus 3 Komponenten, <strong>und</strong> zwar aus der „Anreise <strong>und</strong> Zufahrt“,<br />

dem „Tourenverlauf“ <strong>und</strong> <strong>den</strong> „Erlebnissen <strong>und</strong> Eindrücken“. Jede Komponente kann einzeln<br />

upgedatet wer<strong>den</strong>, wobei in <strong>den</strong> Tourenverlauf Links zu <strong>den</strong> jeweiligen Fotos eingebaut wer<strong>den</strong><br />

können. Ein Benutzer kann dann die Tour anhand des Tourenverlaufs mit <strong>den</strong> verlinkten Fotos vom<br />

Start bis zum Ziel virtuell durchgehen.<br />

Öffentlichkeitsupdate<br />

Im Öffentlichkeitsupdate kann die Tour publiziert <strong>und</strong> veröffentlicht wer<strong>den</strong>. Es wird also zwischen<br />

<strong>den</strong> Begriffen „Publikation“ <strong>und</strong> „Veröffentlichung“ unterschie<strong>den</strong>. Publikation bedeutet, der<br />

Name der Tour wird bei <strong>einer</strong> Suche gef<strong>und</strong>en. Veröffentlichung bedeutet, dass die öffentlichen<br />

Walter Sunk 12


2 Anforderungsanalyse 30. August 2006<br />

Basisdaten der Tour angezeigt wer<strong>den</strong>. Die Veröffentlichung <strong>einer</strong> Tour erfolgt in <strong>einer</strong> bestimmten<br />

Sprache. Ist eine Tour z.B. publiziert, jedoch nicht veröffentlicht, dann wird die Meldung „Tour in<br />

Bearbeitung“ angezeigt. Benutzer sehen dadurch, dass die Tour zumindest existiert <strong>und</strong> können in<br />

ein paar Tagen zurückkommen um zu sehen, ob die Tour bereits verfügbar ist. Die Unterscheidung<br />

zischen „publizieren“ <strong>und</strong> „veröffentlichen“ macht z.B. dann Sinn, wenn ein Autor die Tour<br />

kurzfristig überarbeiten möchte.<br />

Ist eine Tour veröffentlicht, dann wird sie jedoch noch nicht verkauft. Der Verkauf <strong>einer</strong> Tour muss<br />

extra freigegeben wer<strong>den</strong>. Dies ist z.B. notwendig, wenn ein Autor eine Tour nicht mehr anbieten<br />

möchte, die Tour aufgr<strong>und</strong> <strong>von</strong> vertraglichen Bestimmungen jedoch noch <strong>von</strong> K<strong>und</strong>en verwendet<br />

wer<strong>den</strong> darf. Alle Öffentlichkeitsrechte wer<strong>den</strong> erst dann wirksam, wenn der jeweilige<br />

Autorenbetreuer seine Zustimmung erteilt hat. Das ist notwendig, damit Qualitätskriterien überprüft<br />

wer<strong>den</strong> können <strong>und</strong> somit eingehalten wer<strong>den</strong>.<br />

2.1.6 Alben­Update<br />

Genau wie alle Touren können auch alle Alben (gemäß Abbildung 2.1.7) upgedatet wer<strong>den</strong> (aus<br />

welchen Teilen ein Album besteht, wird in Abschnitt 3.1.3 gezeigt).<br />

Abbildung 2.1.7: Use Cases beim Alben­Update<br />

Bei Alben kommt jedoch noch hinzu, dass diese im Team verfasst wer<strong>den</strong> können. Für ein im Team<br />

verfasstes Album muss ein hauptverantwortlicher Autor gewählt wer<strong>den</strong>. Der hauptverantwortliche<br />

Walter Sunk 13


2 Anforderungsanalyse 30. August 2006<br />

Autor kann Partnerautoren suchen <strong>und</strong> diese Partnerautoren zum Album hinzufügen. Die<br />

hinzugefügten Partnerautoren können daraufhin Touren zu diesem Album hinzufügen.<br />

Durch Teamarbeit können Tourenalben relativ schnell <strong>und</strong> einfach herausgegeben wer<strong>den</strong>. Ein<br />

Autor braucht eben nicht alle Touren des Albums selbst gehen, sondern kann sich die Touren mit<br />

anderen Autoren teilen. Dies hat <strong>den</strong> Vorteil, dass dadurch die „Time­to­Market“ wesentlich<br />

reduziert wer<strong>den</strong> kann. Außerdem können Touren in mehrere Tourenalben aufgenommen wer<strong>den</strong>.<br />

Es besteht daher die Möglichkeit, quasi aus einem Topf <strong>von</strong> Touren unterschiedlichste Tourenalben<br />

zusammenzustellen, ohne dabei Touren doppelt gehen zu müssen. Dadurch können unterschiedliche<br />

Zielgruppen angesprochen wer<strong>den</strong>.<br />

Zum Album können Impressionsfotos über HTTP hinaufgela<strong>den</strong> wer<strong>den</strong>. Impressionsfotos sollen<br />

Stimmungsbilder des Tourenalbums wiedergeben <strong>und</strong> Vorfreude bei Tourengehern wecken.<br />

Das Übersichtsupdate, das Öffentlichkeitsupdate <strong>und</strong> die Übersetzung der Albumdaten<br />

funktionieren analog zum Touren­Update wie in Abschnitt 2.1.5 beschrieben. Für jedes<br />

Öffentlichkeitsrecht ist wieder die Zustimmung des jeweiligen Betreuers notwendig.<br />

2.2 Nicht­funktionale Anforderungen<br />

2.2.1 Internationalisierung<br />

Gemäß der Aufgabenstellung aus Abschnitt 1.2 muss die Plattform mehrsprachig ausgelegt wer<strong>den</strong>.<br />

Das W3C führt eine Vielzahl <strong>von</strong> Aktivitäten durch, um Standards zu definieren, nach <strong>den</strong>en<br />

internationalisierte Software modelliert <strong>und</strong> implementiert wer<strong>den</strong> soll [i18nW3C].<br />

Internationalisierung der Software bedeutet dabei, dass diese leicht (ohne <strong>den</strong> Quellcode ändern zu<br />

müssen) an andere Sprachen <strong>und</strong> Kulturen angepasst wer<strong>den</strong> kann. Internationalisierung wird im<br />

englischsprachigen Raum oft mit i18n abgekürzt, wobei 18 <strong>für</strong> die ausgelassenen Buchstaben der<br />

englischen Schreibweise steht (also 18 steht <strong>für</strong> „nternationalisatio“) im Wort „internationalisation“.<br />

Eine gute Einführung in das Gebiet der Internationalisierung findet sich unter [i18nDb].<br />

Der meist benutzte Ansatz um Übersetzungen <strong>und</strong> Sourcecode zu trennen funktioniert durch die<br />

Verwendung <strong>von</strong> I<strong>den</strong>tifiern im Sourcecode. Diese I<strong>den</strong>tifier wer<strong>den</strong> dann aus dem Sourcecodein<br />

eigene Sprachdateien (eine Sprachdatei pro Sprache) extrahiert. Unterhalb eines je<strong>den</strong> I<strong>den</strong>tifiers<br />

wird dann die Übersetzung notiert.<br />

Dieses Modell soll auch bei der Implementierung der Bergsportplattform zur Anwendung kommen.<br />

Übersetzer der Plattform kommen dadurch mit der Software nicht in Berührung <strong>und</strong> können sich auf<br />

die Übersetzung der Sprachdateien konzentrieren.<br />

2.2.2 Schutz des Dokumentationsmaterials<br />

Gemäß der Aufgabenstellung in Abschnitt 1.2 muss das Dokumentationsmaterial urheberrechtlich<br />

vor unerlaubter Vervielfältigung <strong>und</strong> unerlaubter Veröffentlichung geschützt wer<strong>den</strong>. Aus diesem<br />

Gr<strong>und</strong> muss zuerst definiert wer<strong>den</strong>, was überhaupt geschützt wer<strong>den</strong> soll. Nachdem Fotos das<br />

Herzstück der Bergsportplattform darstellen, müssen in erster Linie Fotos urheberrechtlich<br />

geschützt wer<strong>den</strong>. Da PDF­Dokumente das gesamte Dokumentationsmaterial beinhalten, müssen<br />

speziell PDF­Dokumente vor unerlaubter Weitergabe geschützt wer<strong>den</strong>.<br />

Eine wichtige Frage ist weiters, was überhaupt unter Schutz zu verstehen ist. Weil man aus<br />

technischer Sicht keine Person an der Weitergabe <strong>und</strong> der Veröffentlichung digitaler, aus dem<br />

Internet bezogener Daten, hindern kann, ist unter dem Schutz des Dokumentationsmaterials<br />

Walter Sunk 14


2 Anforderungsanalyse 30. August 2006<br />

vielmehr die Möglichkeit zu verstehen, die rechtswidrig handelnde Person mit Hilfe des<br />

weitergegebenen oder veröffentlichten Dokumentationsmaterials ausfindig zu machen. Kennt man<br />

die Person, dann kann man rechtliche Schritte gegen diese einleiten. Aus diesem Gr<strong>und</strong> wird der<br />

Schutz des Dokumentationsmaterials wie folgt definiert:<br />

Personen, die rechtswidrig handeln <strong>und</strong> Dokumentationsmaterial weitergeben oder veröffentlichen,<br />

sollen bei Auffindung des Dokumentationsmaterials i<strong>den</strong>tifiziert wer<strong>den</strong> können.<br />

Es muss also das Dokumentationsmaterial Rückschlüsse auf die rechtswidrig handelnde Person<br />

erlauben. Nachdem Personen anhand ihres Benutzernamens i<strong>den</strong>tifiziert wer<strong>den</strong>, sollte also der<br />

Benutzername in sämtliches Dokumentationsmaterial in verschie<strong>den</strong>ster Form eingebaut wer<strong>den</strong>.<br />

Schutz <strong>von</strong> Fotos<br />

Fotos sollen durch nachfolgend beschriebene Metho<strong>den</strong> geschützt wer<strong>den</strong>.<br />

Beschreibung der Header­Tags:<br />

Jedes digitale Bild besitzt Header Informationen, die beschrieben wer<strong>den</strong> können. Diese Header­<br />

Tags können nur <strong>von</strong> besseren Graphikprogrammen, nicht jedoch <strong>von</strong> einfachen<br />

Graphikprogrammen manipuliert wer<strong>den</strong>.<br />

Annotierung:<br />

Unter Annotierung versteht man, dass Text in das Bild integriert wird. Auf mittelgroßen Fotos <strong>und</strong><br />

auf Originalfotos sollen durch Annotierung Copyright­Vermerke <strong>und</strong> Benutzerdaten angebracht<br />

wer<strong>den</strong>. Auf Originalfotos sollen zusätzlich sensitive Benutzerdaten angebracht wer<strong>den</strong>, sodass<br />

Benutzer vor Weitergabe der Fotos aufgr<strong>und</strong> der sensitiven Daten abgeschreckt wer<strong>den</strong>.<br />

Wasserzeichen:<br />

Auf jedem Foto soll ein Wasserzeichen angebracht wer<strong>den</strong>. Als Wasserzeichen soll das Logo der<br />

Bergsportplattform verwendet wer<strong>den</strong>. Aufgr<strong>und</strong> des Wasserzeichens kann sofort festgestellt<br />

wer<strong>den</strong>, dass das Foto <strong>von</strong> der Bergsportplattform kommt. Wasserzeichen schützen somit<br />

insbesondere vor der Veröffentlichung <strong>von</strong> Fotos im Internet (in Staaten, in <strong>den</strong>en das Urheberrecht<br />

auch durchgesetzt wer<strong>den</strong> kann). Das Wasserzeichen soll in <strong>einer</strong> solchen Größe angebracht<br />

wer<strong>den</strong>, dass es einen möglichst großen Teil des Fotos abdeckt ohne dabei aufdringlich zu wer<strong>den</strong>.<br />

Eine gute Einführung in <strong>den</strong> theoretischen Hintergr<strong>und</strong> zu Wasserzeichen bietet [DigWm99].<br />

Steganographie:<br />

Darunter versteht man das Verstecken eines Bildes in einem anderen Bild. Oft wird <strong>für</strong> <strong>den</strong> Begriff<br />

„Steganographie“ auch der Begriff „Unsichtbare Wasserzeichen“ verwendet. Durch Steganographie<br />

kann sehr effizient der Benutzer, der das Foto heruntergela<strong>den</strong> hat, ausfindig gemacht wer<strong>den</strong>. Um<br />

diesen Schutz einzusetzen, wird zuerst ein kleines Bild mit dem Benutzernamen des Benutzers<br />

erstellt. Dieses kleine Bild wird dann im gewünschten Foto versteckt. Wo das kleine Bild versteckt<br />

ist, wird geheim gehalten. Ohne die geheim gehaltenen Zusatzinformation ist das kleine Bild im<br />

Foto nicht auffindbar. Umgekehrt kann aber mit der geheim gehaltenen Information das kleine Bild<br />

angezeigt <strong>und</strong> dadurch der Benutzer, der das Foto heruntergela<strong>den</strong> hat, bestimmt wer<strong>den</strong>.<br />

Theoretische Gr<strong>und</strong>lagen hierzu bietet u.a. [DigWm99].<br />

Walter Sunk 15


2 Anforderungsanalyse 30. August 2006<br />

Schutz <strong>von</strong> PDF­Dokumenten<br />

PDF­Dokumente können vor unerlaubter Vervielfältigung durch ein Passwort geschützt wer<strong>den</strong>.<br />

Dieser Passwortschutz soll bei <strong>den</strong> PDF­Dokumenten <strong>von</strong> erworbenen Dokumentationen verwendet<br />

wer<strong>den</strong>. Als Passwort der PDF­Dokumente soll dabei nicht irgendein Passwort, sondern das Login­<br />

Passwort des jeweiligen Benutzers verwendet wer<strong>den</strong>. Ziel dieser Maßnahme ist es, <strong>den</strong> Benutzer<br />

davor abzuhalten, das Passwort der PDF­Dokumente weiterzugeben. Würde ein Benutzer das<br />

Passwort der PDF­Dokumente weitergeben, dann würde der Benutzer auch gleichzeitig sein Login­<br />

Passwort weitergeben. Dadurch könnte der Annehmer des Passwortes <strong>den</strong> Benutzeraccount des<br />

betreffen<strong>den</strong> Benutzers missbrauchen.<br />

Aufgr<strong>und</strong> der Tatsache, dass das Login­Passwort gleich dem Passwort zum Öffnen der PDF­<br />

Dokumente ist, darf das Login­Passwort auch nicht änderbar sein. Für <strong>den</strong> Fall, dass Benutzer ihr<br />

Passwort vergessen, muss dieses also rekonstruierbar sein. Zu diesem Zweck erhalten Benutzer bei<br />

der Registrierung einen Kontoschlüssel, mit dem das vergessene Passwort im Zuge <strong>einer</strong><br />

Passwortabfrage entschlüsselt <strong>und</strong> nachfolgend angezeigt wer<strong>den</strong> kann.<br />

Die PDF­Dokumente sollen außerdem sensitive Benutzerdaten enthalten, sodass Benutzer vor der<br />

Weitergabe der PDF­Dokumente abgeschreckt wer<strong>den</strong>. Gedruckte Fotos in PDF­Dokumenten<br />

sollen aus Sicherheitsgrün<strong>den</strong> ebenso annotiert wer<strong>den</strong> wie die entsprechen<strong>den</strong> digitalen Fotos.<br />

PDF­Dokumente wer<strong>den</strong> überdies mit einem Admin­Passwort versehen. Mit diesem Admin­<br />

Passwort kann das betreffende PDF­Dokument ebenfalls geöffnet wer<strong>den</strong>. Dadurch wird erreicht,<br />

dass ein Administrator ein weitergegebenes PDF­Dokument öffnen <strong>und</strong> <strong>den</strong> Weitergeber bestimmen<br />

kann, um gegebenenfalls rechtliche Schritte gegen diesen einleiten zu können.<br />

Allgemeines Schutzkonzept<br />

Aus technischer Sicht ist zur Zeit kein 100%­Schutz des Dokumentationsmaterials möglich. Bei<br />

Fotos können mit fortschrittlichen Graphikprogrammen Header­Tags manipuliert wer<strong>den</strong>.<br />

Annotierte Teile des Fotos können abgeschnitten wer<strong>den</strong>. Gemäß [AttWm04] sind Angriffe auf<br />

Wasserzeichen möglich. Im Falle der Steganographie kann der Ort eines im Foto versteckten<br />

kleinen Bildes erraten <strong>und</strong> der betreffende Teil des Fotos ausgeschnitten wer<strong>den</strong>. PDF­Dokumente<br />

können mittels Passwort­Cracker angegriffen wer<strong>den</strong>.<br />

Ein Angreifer, der alle diese Angriffe durchführen möchte, braucht jedoch neben großem Know­<br />

How auch mitunter viel Arbeitszeit. Die Sicherheitsmaßnahmen zum Schutz des<br />

Dokumentationsmaterials zielen daher darauf ab, dass Angreifer aufgr<strong>und</strong> eines zu hohen Aufwands<br />

erst gar keine Angriffe unternehmen. Als allgemeines Schutzkonzept wird daher der Ansatz<br />

verfolgt, <strong>den</strong> Aufwand <strong>für</strong> mögliche Angriffe derart zu erhöhen, dass der Aufwand verglichen mit<br />

dem Nutzen eines Angriffs zu hoch ist <strong>und</strong> aus diesem Gr<strong>und</strong> <strong>von</strong> einem Angriff abgesehen wird.<br />

Dieselbe Überlegung gilt auch <strong>für</strong> die Weitergabe <strong>von</strong> Dokumentationsmaterial. Damit ein Benutzer<br />

<strong>von</strong> <strong>einer</strong> Weitergabe absieht, müssen der Aufwand <strong>und</strong> das Risiko, das Dokumentationsmaterial<br />

weiterzugeben, wesentlich höher sein, als der Aufwand, das Dokumentationsmaterial zu erwerben.<br />

Umgekehrt soll ein umfangreiches Online­Service nach dem Erwerb <strong>einer</strong> Dokumentation<br />

bewirken, dass Benutzer Offline­Dokumentationsmaterial <strong>von</strong> dritten erst gar nicht annehmen, weil<br />

sie auf das Online­Service nicht verzichten möchten.<br />

2.2.3 Sicherheitsaspekte<br />

In diesem Abschnitt wer<strong>den</strong> die wichtigsten Sicherheitsaspekte der Bergsportplattform besprochen.<br />

Walter Sunk 16


2 Anforderungsanalyse 30. August 2006<br />

Log In System, Session Management, Aufladesystem<br />

Das Log In System, das Session Management System <strong>und</strong> das Aufladesystem der<br />

Bergsportplattform sollen vor Angriffen geschützt wer<strong>den</strong>. Nachdem diese Bereiche gemäß der<br />

Aufgabenstellung in Abschnitt 1.2 in das Praktikum [WaSu06] ausgegliedert wur<strong>den</strong>, sind<br />

sämtliche Sicherheitsvorkehrungen in diesen Systemen Inhalt der Arbeit [WaSu06] <strong>und</strong> können dort<br />

nachgelesen wer<strong>den</strong>.<br />

SSL Verschlüsselung<br />

Auf der Bergsportplattform wer<strong>den</strong> sensitive Benutzerdaten übertragen. Zu diesen Daten zählen<br />

neben personenbezogenen Daten auch administrative Daten wie etwa Session I<strong>den</strong>tifier. Wie in<br />

Abschnitt 6.4 beschrieben müssen aus datenschutzrechtlichen Grün<strong>den</strong> personenbezogene Daten<br />

<strong>und</strong> aus Grün<strong>den</strong> der Internet Security (gemäß [InetSec]) administrative Benutzerdaten geheim<br />

gehalten wer<strong>den</strong>. Deshalb sollen sensitive Daten zwischen Webserver <strong>und</strong> dem Browser des<br />

Benutzers SSL­verschlüsselt übertragen wer<strong>den</strong>.<br />

Passwörter<br />

Aus Grün<strong>den</strong> der Internet Security gemäß [InetSec] sollten Passwörter mindestens einen Groß­,<br />

einen Kleinbuchstaben <strong>und</strong> eine Zahl beinhalten. Dies reduziert die Wahrscheinlichkeit drastisch,<br />

dass durch Ausprobieren Passwörter gef<strong>und</strong>en wer<strong>den</strong>. Aus diesem Gr<strong>und</strong> sollen auf der Plattform<br />

nur starke Passwörter zugelassen wer<strong>den</strong>. Nachdem Benutzer oft dazu neigen, als einzige Zahl am<br />

Ende des Passwortes eine 1 anzugeben, soll auch eine 1 am Ende des Passwortes verhindert wer<strong>den</strong>.<br />

Nachdem gemäß Abschnitt 2.2.2 Passwörter nicht geändert wer<strong>den</strong> dürfen, kann in dem Fall, dass<br />

der Benutzer sein Passwort vergisst, kein neues Passwort vergeben wer<strong>den</strong>. Aufgr<strong>und</strong> dessen erhält<br />

der Benutzer bei s<strong>einer</strong> Anmeldung einen Schlüssel, <strong>den</strong> sogenannten Kontoschlüssel, mit dem er<br />

sein Passwort entschlüsseln kann. Um zu verhindern, dass im Falle eines Einbruchs alle<br />

Kontoschlüssel gestohlen wer<strong>den</strong> könnten <strong>und</strong> somit sämtliche Passwörter in Gefahr wären, wer<strong>den</strong><br />

Kontoschlüssel nicht am Server aufbewahrt. Damit nun der Benutzer sein Passwort auch<br />

entschlüsseln kann, wird es mit dem Kontoschlüssel verschlüsselt am Server aufbewahrt.<br />

Um ein Login mit Benutzername <strong>und</strong> Passwort zu verifizieren, muss das Passwort des Benutzers<br />

geprüft wer<strong>den</strong>. Um das Passwort gleichzeitig vor Einbrüchen am Server zu schützen, wird es am<br />

Server einweg­verschlüsselt gespeichert (eine Entschlüsselung ist also nicht möglich). Dazu soll ein<br />

Hashverfahren zur Anwendung kommen. Zur Überprüfung des Passwortes beim Login muss dann<br />

das eingegebene Passwort ebenfalls einweg­verschlüsselt <strong>und</strong> mit dem einweg­verschlüsselten<br />

gespeicherten Passwort verglichen wer<strong>den</strong>.<br />

Auf der Bergsportplattform wird also ein Passwort in folgen<strong>den</strong> 2 Formen gespeichert:<br />

• zweiweg­verschlüsselt zur Passwortabfrage, wobei der Schlüssel zum Entschlüsseln (der<br />

sogenannte Kontoschlüssel) beim Benutzer liegt<br />

• einweg­verschlüsselt zur Überprüfung des Passwortes beim Login<br />

Cachen <strong>von</strong> Fotos am Browser des Benutzers<br />

Nachdem <strong>von</strong> der Bergsportplattform umfangreiche Originalfotos heruntergela<strong>den</strong> wer<strong>den</strong> können,<br />

kann es zu Engpässen der zur Verfügung stehen<strong>den</strong> Bandbreite kommen. Um dies bestmöglich zu<br />

verhindern, sollen Fotos nicht immer neu vom Server gela<strong>den</strong>, sondern im Cache des Browsers des<br />

jeweiligen Benutzers gespeichert wer<strong>den</strong>. Es sind geeignete Maßnahmen zu treffen, dass der<br />

Walter Sunk 17


2 Anforderungsanalyse 30. August 2006<br />

jeweilige Browser die betreffen<strong>den</strong> Fotos auch tatsächlich in seinem Cache aufnimmt. Umgekehrt<br />

muss aber auch sichergestellt wer<strong>den</strong>, dass Fotos nach Änderungen am Server wieder neu <strong>und</strong> nicht<br />

vom Cache gela<strong>den</strong> wer<strong>den</strong>, damit der Benutzer die Änderungen mitbekommt. Daher soll <strong>von</strong><br />

jedem Foto die Zeit der letzten Änderung gespeichert wer<strong>den</strong>. Dadurch kann dem Browser des<br />

Benutzers mitgeteilt wer<strong>den</strong>, ob das Foto neu gela<strong>den</strong> wer<strong>den</strong> muss oder ob es aus dem Cache<br />

gela<strong>den</strong> wer<strong>den</strong> kann.<br />

User­Interface zur Administration<br />

Die gesamte Internetseite soll online per User­Interface administrierbar sein. Nachdem dies jedoch<br />

ein großes Sicherheitsrisiko darstellt (<strong>für</strong> <strong>den</strong> Fall dass ein Angreifer das Passwort eines<br />

Administrators herausfindet), soll die Administration nur bei Bekanntgabe der IP­Adresse des<br />

jeweiligen Administrators möglich sein. Ein jeder Administrator, der die Internetseite online über<br />

das User­Interface administrieren möchte, muss also zuerst im System seine IP­Adresse bekannt<br />

geben. Zu diesem Zweck muss sich der jeweilige Administrator zuerst über eine SSH­Verbindung<br />

einloggen <strong>und</strong> seine IP­Adresse im System eintragen. Eine Online­Administration ist somit nur <strong>für</strong><br />

die Zeit eines gültigen IP­Adresseintrags möglich. Aus Sicherheitsgrün<strong>den</strong> muss daher nach jeder<br />

Administration die eingetragene IP­Adresse wieder aus dem System entfernt wer<strong>den</strong>.<br />

Walter Sunk 18


3 Modellierung 30. August 2006<br />

3 Modellierung<br />

In diesem Kapitel wird die Modellierung der Bergsportplattform aufbauend auf die Use Cases aus<br />

Kapitel 2 gezeigt. Viele in Kapitel 2 beschriebene Use Cases können direkt implementiert wer<strong>den</strong>,<br />

manche Use Cases müssen jedoch genauer modelliert wer<strong>den</strong>. Dies erfolgt in Abschnitt 3.1. Im<br />

Anschluss daran wird die <strong>für</strong> die Plattform notwendige Klassenmodellierung in Abschnitt 3.2<br />

vorgenommen. Aufbauend auf der Klassenmodellierung <strong>und</strong> <strong>den</strong> Use Cases aus Kapitel 2 wird die<br />

Modellierung der einzelnen Softwarepakete in Abschnitt 3.3 besprochen. Die Modellierung soll<br />

eine vollständige Implementierung der Bergsportplattform ermöglichen <strong>und</strong> ist daher auch<br />

Schwerpunkt der vorliegen<strong>den</strong> Arbeit.<br />

3.1 Modellierung ausgewählter Use Cases<br />

Im folgen<strong>den</strong> Abschnitt wer<strong>den</strong> wichtige Use Cases aus Kapitel 2 besprochen, deren Abläufe <strong>einer</strong><br />

genaueren Modellierung bedürfen.<br />

3.1.1 Tourenmenü<br />

Das Subsystem Tourenmenü der Startseite (siehe Abschnitt 2.1.1) bietet die Möglichkeiten, Touren<br />

<strong>und</strong> Alben auszuwählen oder zu suchen. Dementsprechend müssen die Use Cases Tourenauswahl,<br />

Albenauswahl <strong>und</strong> Suche genauer modelliert wer<strong>den</strong>. Die zugehörigen Aktivitätsdiagramme zeigt<br />

Abbildung 3.1.1. Beim Auffin<strong>den</strong> <strong>von</strong> Touren <strong>und</strong> Alben wer<strong>den</strong> folgende 3 Strategien verfolgt:<br />

Abbildung 3.1.1: Modellierung der Use Cases im Tourenmenü<br />

1) Der Benutzer möchte sich einen Überblick verschaffen, welche Touren es in einem<br />

bestimmten Gebiet überhaupt gibt. Eine Gebietsauswahl (nach Gebirgen hierarchisch<br />

geordnet) soll das Auffin<strong>den</strong> <strong>von</strong> Touren im gewünschten Gebiet ermöglichen. In diesem Fall<br />

kommt der Use Case Tourenauswahl zur Anwendung.<br />

Walter Sunk 19


3 Modellierung 30. August 2006<br />

2) Der Benutzer möchte sich einen Überblick verschaffen, in welchen Gebieten mehrere Touren<br />

eines bestimmten Typs (z.B. Wanderungen) dokumentiert sind, um z.B. eine ganze Woche<br />

Bergurlaub zu planen. Eine Albenauswahl soll dem Benutzer Tourenalben zeigen, die<br />

derartige ausgewählte Touren beinhalten. In diesem Fall kommt der Use Case Albenauswahl<br />

zur Anwendung.<br />

3) Der Benutzer möchte Touren <strong>und</strong> Tourenalben mit Hilfe <strong>von</strong> Schlüsselwörtern suchen. Z.B.<br />

weiß der Benutzer genau, welche Tour mit welchem Ziel (z.B. ein Gipfel, eine Hütte oder ein<br />

See) er unternehmen möchte. Eine direkte Suche soll zur Anwendung kommen, in der der<br />

Benutzer nach Touren <strong>und</strong> Tourenalben durch Eingabe <strong>von</strong> Schlüsselwörtern suchen kann. In<br />

diesem Fall kommt der Use Case Suche zur Anwendung.<br />

Tourenauswahl<br />

Im ersten Fall ist eine 3­stufige Gliederung nach Gebirgsregion, Gebirge <strong>und</strong> Gebirgsgruppe<br />

sinnvoll, weil diese auf die meisten alpinen Ziele zutrifft. So befindet sich beispielsweise der<br />

Großglockner (der höchste Berg Österreichs) in <strong>den</strong> Ostalpen (Gebirgsregion), dort in <strong>den</strong> Hohen<br />

Tauern (Gebirge), <strong>und</strong> dort in der Glocknergruppe (Gebirgsgruppe).<br />

Ziele <strong>von</strong> Wanderungen müssen nicht immer Gipfel sein, oft ist auch ein See oder eine Hütte ein<br />

schönes Ziel <strong>für</strong> einen Tagesausflug. Deshalb erfolgt innerhalb der Gebirgsgruppe eine Zielauswahl,<br />

die dem Benutzer sämtliche dokumentierte Ziele in dieser Gebirgsgruppe zeigt. Eine Tour kann<br />

auch mehrere Ziele beinhalten. Nachdem der Benutzer ein Ziel ausgewählt hat, wer<strong>den</strong> ihm alle<br />

Touren angezeigt, die dieses Ziel beinhalten. Die Anzeige <strong>einer</strong> Tour besteht aus <strong>einer</strong> Menge <strong>von</strong><br />

Unteraktivitäten <strong>und</strong> wird in Abschnitt 3.1.2 genauer beschrieben.<br />

Albenauswahl<br />

Bei der Albenauswahl wählt der Benutzer zuerst einen Albumtyp aus (z.B. ein Wanderalbum oder<br />

ein Hochtourenalbum). Danach wer<strong>den</strong> ihm alle Tourenalben dieses Typs angezeigt. Die Anzeige<br />

eines einzelnen Albums wird in Abschnitt 3.1.3 genauer beschrieben. Jedes Tourenalbum beinhaltet<br />

ausgewählte Touren, die wiederum einzeln angezeigt wer<strong>den</strong> können.<br />

Suche<br />

In <strong>einer</strong> Suche wer<strong>den</strong> entweder Touren oder Alben gef<strong>und</strong>en. Wer<strong>den</strong> Touren gef<strong>und</strong>en, dann wird<br />

eine Tourenauswahl mit <strong>den</strong> gef<strong>und</strong>enen Touren angezeigt, Gleiches gilt <strong>für</strong> Alben. Wer<strong>den</strong> keine<br />

Touren <strong>und</strong> Alben gef<strong>und</strong>en, so wird der Benutzer informiert <strong>und</strong> kann eine neue Suche mit anderen<br />

Schlüsselwörtern beginnen.<br />

3.1.2 Tour anzeigen<br />

Die Aktivität Tour anzeigen ist Inhalt der Use Cases des Subsystems Tourenmenü der Startseite<br />

(siehe Abschnitt 2.1.1) Sie wird auch in Abschnitt 3.1.1 zur Modellierung der Use Cases des<br />

Tourenmenüs verwendet. Diese Aktivität besteht intern aus <strong>einer</strong> Menge <strong>von</strong> weiteren Aktivitäten,<br />

wobei alle Aktivitäten gemeinsam das gesamte Dokumentationsmaterial <strong>einer</strong> Tour zeigen.<br />

Abbildung 3.1.2 zeigt <strong>den</strong> Aufbau. Auf der Internetseite sollen die Aktivitäten durch Links<br />

verb<strong>und</strong>en wer<strong>den</strong>. Daher besitzen die Kannten die Namen der Links.<br />

Das Dokumentationsmaterial <strong>einer</strong> Tour besteht dabei aus folgen<strong>den</strong> Teilen:<br />

Walter Sunk 20


3 Modellierung 30. August 2006<br />

Abbildung 3.1.2: Aktivität Tour anzeigen<br />

• <strong>den</strong> Übersichtsdaten (Name, Tourenziele, Stützpunkte, Höhe, Länge, Zeit, etc.)<br />

• dem Beschreibungs­PDF <strong>und</strong> dem Foto­PDF<br />

• dem Fotomenü<br />

• der Beschreibung der Tour<br />

• Informationen über <strong>den</strong> Autor<br />

Eine jede Tour kann auch in Form <strong>von</strong> 2 PDF­Dokumenten bezogen wer<strong>den</strong>. Ein PDF­Dokument<br />

enthält dabei sämtliche textliche Daten der Tour (das Beschreibungs­PDF) <strong>und</strong> das andere PDF­<br />

Dokument (das Foto­PDF) enthält alle Fotos der Tour (1 Foto pro Seite).<br />

Über das Fotomenü gelangt der Benutzer zum gesamten Foto­ <strong>und</strong> Kartenmaterial der Tour. Das<br />

Fotomenü besteht daher intern aus folgen<strong>den</strong> Teilen:<br />

Walter Sunk 21


3 Modellierung 30. August 2006<br />

• aus der Fotogalerie: In dieser wer<strong>den</strong> alle Fotos der Tour in einem kleinen Format angezeigt.<br />

• aus <strong>den</strong> Einzelfotos: In diesem Teil wird ein Foto pro Webseite angepasst auf die Größe der<br />

Webseite angezeigt. Die Einzelfotos sind dabei untereinander verlinkt. Ein Link in einem Foto<br />

bedeutet dabei, dass das verlinkte Foto an der Stelle des Links aufgenommen wurde.<br />

• aus <strong>den</strong> Originalfotos: In diesem Teil wird ein Originalfoto pro Webseite angezeigt. Die<br />

Auswahl des Originalfotos erfolgt dabei durch einen Klick auf ein Thumbnail. Jedes<br />

Originalfoto kann heruntergela<strong>den</strong> wer<strong>den</strong>.<br />

• aus <strong>den</strong> Karten zur Tour: Hier können die Karten der Tour online eingesehen <strong>und</strong> auch<br />

heruntergela<strong>den</strong> wer<strong>den</strong>. Die Karten sind dabei mit <strong>den</strong> vorhan<strong>den</strong>en Fotos verlinkt. Ein Link<br />

in <strong>einer</strong> Karte bedeutet, dass das verlinkte Foto an der Stelle des Links aufgenommen wurde.<br />

Dadurch kann der Benutzer auf der Karte durch die Tour virtuell durchgehen.<br />

Die Beschreibung <strong>einer</strong> Tour setzt sich intern aus folgen<strong>den</strong> Teilen zusammen (diese Teile sollen<br />

alle auf der gleichen Internetseite angezeigt wer<strong>den</strong>):<br />

• aus der Anreise <strong>und</strong> der Zufahrt: Unter der Anreise versteht man die Reise bis zum<br />

nächstgelegenen Ort der Tour. Unter der Zufahrt versteht man die Fahrt vom nächstgelegenen<br />

Ort bis zum Ausgangspunkt der Tour. Dieser Teil der Beschreibung ist sachlich verfasst.<br />

• aus dem Tourenverlauf: Der Tourenverlauf beschreibt <strong>den</strong> gesamten Weg der Tour. In <strong>den</strong><br />

Tourenverlauf können Links zu <strong>den</strong> Fotos eingebaut wer<strong>den</strong>. Der Benutzer kann dadurch<br />

anhand des Tourenverlaufs durch die Tour virtuell durchgehen. Der Tourenverlauf ist ebenfalls<br />

sachlich verfasst.<br />

• aus <strong>den</strong> Erlebnissen <strong>und</strong> Eindrücken: Hier kann der Autor über seine Erlebnisse während der<br />

Tour <strong>und</strong> über seine Eindrücke <strong>von</strong> der Tour erzählen. Die Erlebnisse <strong>und</strong> Eindrücke können<br />

subjektiv <strong>und</strong> persönlich verfasst sein.<br />

3.1.3 Album anzeigen<br />

Die Aktivität Album anzeigen ist ebenfalls Inhalt der Use Cases des Subsystems Tourenmenü der<br />

Startseite (siehe Abschnitt 2.1.1). Sie wird auch in Abschnitt 3.1.1 zur Modellierung der Use Cases<br />

des Tourenmenüs verwendet. Diese Aktivität besteht intern wieder aus <strong>einer</strong> Menge <strong>von</strong> weiteren<br />

Aktivitäten, wobei alle Aktivitäten gemeinsam das gesamte Dokumentationsmaterial des Albums<br />

zeigen. Abbildung 3.1.3 zeigt <strong>den</strong> Aufbau. Auf der Internetseite sollen die Aktivitäten durch Links<br />

verb<strong>und</strong>en wer<strong>den</strong>. Daher besitzen die Kannten die Namen der Links.<br />

Das Dokumentationsmaterial eines Tourenalbums besteht aus folgen<strong>den</strong> Teilen:<br />

• aus <strong>den</strong> Übersichtsdaten: Die Übersichtsdaten bestehen aus dem Namen <strong>und</strong> <strong>einer</strong> (kurzen)<br />

Beschreibung des Albums, einem Vorwort zum Album, aus Impressionsfotos <strong>und</strong> aus <strong>einer</strong><br />

Liste, welche die Touren des Albums auflistet. Die Übersichtsdaten des Albums wer<strong>den</strong> alle<br />

auf <strong>einer</strong> gemeinsamen Seite angezeigt.<br />

• aus <strong>den</strong> Touren zum Album: Eine jede Tour besteht dabei aus <strong>den</strong> einzelnen Teilen wie in<br />

Abschnitt 3.1.2 beschrieben.<br />

Möchte ein Benutzer eine Tour eines Albums einsehen (genauer: der Benutzer führt einen Link aus,<br />

der die Tour zum entsprechen<strong>den</strong> Album la<strong>den</strong> soll), dann muss zuerst geprüft wer<strong>den</strong>, ob die Tour<br />

überhaupt zum Album gehört. Ist dies der Fall, so kann die Tour angezeigt wer<strong>den</strong>, andernfalls<br />

bedarf es <strong>einer</strong> Fehlermeldung. Diese Überprüfung ist insbesondere dann wichtig, wenn ein<br />

Walter Sunk 22


3 Modellierung 30. August 2006<br />

Benutzer ein Album erworben hat <strong>und</strong> eine Tour anfordert. Diese Tour muss dann zum Album<br />

gehören, andernfalls ist der Benutzer nicht berechtigt, die Tour zu beziehen.<br />

Abbildung 3.1.3: Aktivität Album anzeigen<br />

3.1.4 Dokumentation kaufen<br />

Gemäß Abschnitt 2.1.2 muss der Use Case Doku kaufen genauer beschrieben wer<strong>den</strong>. Dieser<br />

abstrahiert die Use Cases Tour kaufen <strong>und</strong> Album kaufen. Nachdem der Kaufvorgang <strong>für</strong> eine Tour<br />

<strong>und</strong> <strong>für</strong> ein Album im wesentlichen derselbe ist, wer<strong>den</strong> gemäß Abschnitt 2.1.2 beide Use Cases<br />

gleich behandelt <strong>und</strong> können durch <strong>den</strong> einzigen Use Case Doku kaufen beschrieben wer<strong>den</strong>. Zu<br />

diesem Zweck wird <strong>für</strong> Tour <strong>und</strong> <strong>für</strong> Album das Wort „Doku“ (<strong>für</strong> Dokumentation) verwendet.<br />

Das zugehörige Aktivitätsdiagramm zeigt Abbildung 3.1.4. Ein Benutzer der Internetseite lässt sich<br />

eine Doku anzeigen. Bei Dokus, die käuflich erworben wer<strong>den</strong>, sind nur die Übersichtsdaten frei<br />

zugänglich. In <strong>den</strong> Übersichtsdaten befindet sich ein Link, um die Doku zu kaufen. Nach<br />

Ausführung dieses Links ist das weitere Verfahren da<strong>von</strong> abhängig, ob der Benutzer bereits<br />

eingeloggt ist, d.h. eine Session vorhan<strong>den</strong> ist, oder nicht.<br />

Um gekaufte Dokus mit ihren Käufern in Beziehung zu stellen, ist es notwendig, dass sich Benutzer<br />

vor dem Kauf <strong>einer</strong> Dokumentation auf der Bergsportplattform anmel<strong>den</strong>. Eine Doku kann also nur<br />

dann gekauft wer<strong>den</strong>, wenn sich der Benutzer eingeloggt hat <strong>und</strong> eine Session (bzw. eine Session­<br />

ID) des Benutzers vorhan<strong>den</strong> ist.<br />

Für <strong>den</strong> Fall, dass der Benutzer nicht eingeloggt ist, wird er zum Login weitergeleitet <strong>und</strong><br />

aufgefordert, sich einzuloggen. Neue Benutzer haben noch keine Login­Daten (Benutzername <strong>und</strong><br />

Passwort). Daher wird neuen Benutzern angeboten, sich auf der Bergsportplattform anzumel<strong>den</strong>.<br />

Nach der Anmeldung wer<strong>den</strong> die Benutzer zum Login weitergeleitet. Ist das Login erfolgreich, so<br />

wird der Benutzer wieder zur Doku zurückgeleitet.<br />

Gemäß der Aufgabenstellung in Abschnitt 1.2 muss aufgr<strong>und</strong> geringerer Überweisungsspesen<br />

zuerst ein Guthaben aufgela<strong>den</strong> wer<strong>den</strong>, danach kann der K<strong>und</strong>e dann Dokumentationen erwerben.<br />

Für <strong>den</strong> Fall, dass der Benutzer bereits eingeloggt ist (es existiert in diesem Fall eine zugehörige<br />

Session), muss also zuerst geprüft wer<strong>den</strong>, ob das Guthaben des K<strong>und</strong>en ausreicht, die Doku zu<br />

kaufen. Ist das Guthaben ausreichend, dann kann der Kauf durchgeführt wer<strong>den</strong>. Andernfalls muss<br />

das Guthaben aufgela<strong>den</strong> wer<strong>den</strong>. Die Aufladung des Guthabens ist selbst wieder ein komplexer<br />

Prozess, wurde gemäß der Aufgabenstellung in Abschnitt 1.2 aus dieser Arbeit ausgegliedert <strong>und</strong><br />

Walter Sunk 23


3 Modellierung 30. August 2006<br />

kann in [WaSu06] nachgelesen wer<strong>den</strong>.<br />

Abbildung 3.1.4: Modellierung des Use Case Doku kaufen<br />

Wenn noch nicht alle Voraussetzungen <strong>für</strong> dem Kauf erfüllt sind, dann ist es im Kaufprozess<br />

wichtig, dass der Benutzer immer wieder zur Doku zurückgeleitet wird. Ansonsten müsste er die<br />

gewünschte Doku immer neu suchen, wodurch man einen Benutzer verärgern könnte.<br />

3.1.5 Login<br />

Der Use Case Login ist Inhalt der Use Cases des Subsystems Login der Startseite (siehe Abschnitt<br />

2.1.1). Er wird nun im Hinblick auf die Funktionalität genauer beschrieben. Die technische<br />

<strong>Realisierung</strong> <strong>und</strong> die notwendigen Sicherheitsmaßnahmen beim Login sind nicht Gegenstand dieser<br />

Arbeit. Diese wer<strong>den</strong> in [WaSu06] beschrieben. Daher beschränkt sich die Beschreibung in dieser<br />

Arbeit lediglich auf die Funktionalität, die in Abbildung 3.1.5 dargestellt ist.<br />

Ein Benutzer kann durch 2 Möglichkeiten zum Login gelangen. Entweder er klickt auf einen Link<br />

„Einloggen“ oder er ruft eine Mitgliederseite auf, die nur <strong>für</strong> eingeloggte Benutzer zugänglich ist. In<br />

letzterem Fall wird der Benutzer zum Login weitergeleitet. Hat der Benutzer noch keine Login­<br />

Daten (Benutzername <strong>und</strong> Passwort), dann muss er sich zuerst auf der Bergsportplattform<br />

anmel<strong>den</strong>. Nicht erfolgreiche Logins führen dazu, dass der Benutzer erneut seine Login­Daten<br />

eingeben muss (wie in [WaSu06] beschrieben hat der Benutzer aus Sicherheitsgrün<strong>den</strong> innerhalb<br />

Walter Sunk 24


3 Modellierung 30. August 2006<br />

eines bestimmten Zeitraums nur eine bestimmte Anzahl an Login­Versuchen).<br />

Abbildung 3.1.5: Modellierung der Funktionalität des Use Case Login<br />

Nach einem erfolgreichen Login sollte aus Grün<strong>den</strong> der Benutzerfre<strong>und</strong>lichkeit wie folgt<br />

vorgegangen wer<strong>den</strong>:<br />

• Falls der Benutzer über einen Link „Einloggen“ gekommen ist, dann sollte ihm der Referer,<br />

also ein Link auf die zuletzt besuchte Seite angeboten wer<strong>den</strong>.<br />

• Falls der Benutzer über <strong>den</strong> Aufruf <strong>einer</strong> Mitgliederseite gekommen ist, dann sollte der<br />

Benutzer auch wieder zu dieser Mitgliederseite zurückgeleitet wer<strong>den</strong>.<br />

In bei<strong>den</strong> Fällen sollen die entsprechen<strong>den</strong> Vorgehensweisen nach einem erfolgreichen Login auch<br />

dann durchgeführt wer<strong>den</strong>, wenn der Benutzer zuvor eine Anmeldung durchgeführt hat <strong>und</strong> / oder<br />

Loginversuche des Benutzers fehlgeschlagen sind.<br />

3.1.6 Anmel<strong>den</strong><br />

Der Use Case Anmel<strong>den</strong> ist Inhalt der Use Cases des Subsystems Login der Startseite (siehe<br />

Abschnitt 2.1.1). Dieser wird nun genauer behandelt. Wie bereits in Abschnitt 3.1.4 besprochen ist<br />

es <strong>für</strong> <strong>den</strong> Kauf <strong>von</strong> Dokumentationen notwendig, dass sich Benutzer auf der Plattform anmel<strong>den</strong>.<br />

Die Anmeldung verläuft dabei in 2 Stufen. In der ersten Stufe wer<strong>den</strong> die Daten des Benutzers<br />

entgegengenommen. Danach wird dem Benutzer eine E­Mail mit einem Aktivierungslink geschickt.<br />

Nach Ausführung dieses Links wird dann in der zweiten Stufe ein neuer Account <strong>für</strong> <strong>den</strong> Benutzer<br />

eingerichtet. Wie die bei<strong>den</strong> Stufen im Detail verlaufen, zeigen die Abbildungen 3.1.6 <strong>und</strong> 3.1.7.<br />

In bei<strong>den</strong> Stufen wird angenommen, dass das Format aller Benutzereingaben vor dem Eintrag in die<br />

Datenbank geprüft wird, um sogenannte Code­Injections zu vermei<strong>den</strong>. Wie in [WaSu06]<br />

beschrieben, müssen derartige Code­Injections unbedingt vermie<strong>den</strong> wer<strong>den</strong>, weil dadurch<br />

Angreifer die Datenbank manipulieren können. Wie derartige Prüfungen effizient durchgeführt<br />

Walter Sunk 25


3 Modellierung 30. August 2006<br />

wer<strong>den</strong> können, wird ebenfalls in [WaSu06] diskutiert.<br />

Abbildung 3.1.6: Modellierung der ersten Stufe der Anmeldung<br />

Die Anmeldung wird durch ein sogenanntes „Captcha“ vor automatischen Anmeldungen durch<br />

Maschinen geschützt. Wie auf [CMU] beschrieben, ist ein Captcha ein Test, der in der Regel nur<br />

<strong>von</strong> Menschen, nicht aber <strong>von</strong> Maschinen lösbar ist. Derartige Tests wer<strong>den</strong> z.B. durch<br />

Walter Sunk 26


3 Modellierung 30. August 2006<br />

Interpretieren <strong>einer</strong> Zeichenkette in einem Bild durchgeführt. Wie ein Captcha genau funktioniert<br />

<strong>und</strong> wie es auf der Bergsportplattform Anwendung findet, kann in [WaSu06] nachgelesen wer<strong>den</strong><br />

<strong>und</strong> ist nicht Thema dieser Arbeit.<br />

In der ersten Stufe (dargestellt in Abbildung 3.1.6) schickt der Benutzer einen Request zum<br />

Anmel<strong>den</strong> (register) an <strong>den</strong> Server. Der Server startet daraufhin eine neue Registrierung <strong>und</strong> fordert<br />

<strong>den</strong> Benutzer auf, Benutzername <strong>und</strong> Passwort einzugeben. Sollte der Benutzername bereits<br />

vorhan<strong>den</strong> sein, muss ein anderer Benutzername gewählt wer<strong>den</strong>. Diese Überprüfung läuft in <strong>einer</strong><br />

Schleife ab, solange bis ein nicht existierender Benutzername eingeben wurde. Ist der<br />

Benutzername gültig, dann wird die Registrierung mit diesem upgedatet.<br />

Danach wird der Benutzer aufgefordert, seine E­Mail Adresse einzugeben. Die E­Mail Adresse<br />

muss im System ebenfalls eindeutig sein, um Neuigkeiten über die Internetseite eindeutig an<br />

Benutzer zusen<strong>den</strong> zu können. Gibt der Benutzer eine E­Mail Adresse ein, die bereits in<br />

Verwendung ist, dann muss er eine andere zur Verfügung stellen.<br />

Danach wer<strong>den</strong> die Profildaten des Benutzers aufgenommen, das sind Anrede*, Titel, Vor­* <strong>und</strong><br />

Nachname*, Geburtsdatum*, Anschrift*, PLZ*, Wohnort*, Staat*, Handy­Nummer,<br />

Telefonnummer, Homepage, wobei die mit * gekennzeichneten Angaben <strong>für</strong> <strong>den</strong> Benutzer<br />

verpflichtend sind. Nachdem das Profil aufgenommen wurde, wird die Registrierung mit <strong>den</strong><br />

Profildaten upgedatet <strong>und</strong> der Benutzer erhält eine E­Mail mit einem Aktivierungslink. Der<br />

Benutzer muss diesen Link ausführen, um zur zweiten Stufe zu gelangen. Dieses Vorgehen ist<br />

notwendig, damit die E­Mail Adresse des Benutzers verifiziert wer<strong>den</strong> kann. Sollte ein Benutzer<br />

eine ungültige E­Mail Adresse angeben, dann erhält er auch nicht <strong>den</strong> Aktivierungslink <strong>und</strong> kann<br />

somit keinen neuen Benutzeraccount eröffnen.<br />

Nachdem der Benutzer <strong>den</strong> Aktivierungslink in der E­Mail Adresse ausgeführt hat, gelangt er zur<br />

zweiten Stufe der Registrierung, dargestellt in Abbildung 3.1.7. In dieser Stufe wird der<br />

Benutzeraccount des K<strong>und</strong>en im Falle eines gültigen Aktivierungslinks eröffnet.<br />

Der Aktivierungslink muss einen Registrierungsi<strong>den</strong>tifyer (eine RegID) beinhalten, mit dem die<br />

zugehörige Registrierung i<strong>den</strong>tifiziert wer<strong>den</strong> kann. Durch Ausführung des Aktivierungslinks wird<br />

also die RegID übertragen. Danach wird in der Datenbank nachgesehen, ob eine Registrierung mit<br />

dieser RegID existiert. Ist dies nicht der Fall, so wird der Vorgang abgebrochen <strong>und</strong> der Benutzer<br />

erhält eine Fehlermeldung. Aus Administrationsgrün<strong>den</strong> hat jede Registrierung eine Ablaufzeit (ein<br />

Feld ExpireTime), d.h. eine Registrierung muss innerhalb <strong>einer</strong> bestimmten Zeit abgeschlossen sein.<br />

Dies dient dazu, dass angefangene Registrierungen, zu <strong>den</strong>en kein Aktivierungslink gesendet wurde,<br />

nach der Ablaufzeit aus der Datenbank gelöscht wer<strong>den</strong> können. Ist die Registrierung noch nicht<br />

abgelaufen, kann eine neuer Benutzeraccount eingerichtet wer<strong>den</strong>.<br />

Gemäß Abschnitt 2.2.3 wird das Passwort des Benutzers aus Sicherheitsgrün<strong>den</strong> in der Datenbank<br />

zweifach wie folgt gespeichert. Zum einen als Hash <strong>und</strong> zum zweiten Mal mit einem Schlüssel<br />

verschlüsselt, der beim Benutzer (nicht jedoch auf der Plattform) aufbewahrt wird. Der Schlüssel<br />

zum Entschlüsseln des Passwortes wird Kontoschlüssel (AccountKey) genannt <strong>und</strong> dem Benutzer<br />

nach <strong>einer</strong> erfolgreichen Anmeldung per E­Mail zugeschickt. Zu diesem Zweck müssen nun das<br />

Hash­Passwort <strong>und</strong> der Kontoschlüssel generiert <strong>und</strong> das Passwort mit dem Kontoschlüssel<br />

verschlüsselt wer<strong>den</strong>. Dazu kommt ein Crypter­Modul zum Einsatz.<br />

Die Registrierungsdaten, das Hash­Passwort <strong>und</strong> das verschlüsselte Passwort wer<strong>den</strong> nun in Form<br />

eines neuen Benutzeraccounts in der Datenbank gespeichert. Danach wird dem Benutzer eine E­<br />

Mail geschickt, in der sich wichtige Informationen zu seinem Benutzeraccount befin<strong>den</strong>. Unter<br />

Walter Sunk 27


3 Modellierung 30. August 2006<br />

diesen Informationen befin<strong>den</strong> sich der Benutzername <strong>und</strong> der Kontoschlüssel zum Entschlüsseln<br />

des Passwortes, <strong>für</strong> <strong>den</strong> Fall, dass der Benutzer sein Passwort vergessen sollte. Die erfolgreiche<br />

Einrichtung des Benutzeraccounts wird dem Benutzer mitgeteilt <strong>und</strong> er wird über die Zusendung<br />

der E­Mail mit <strong>den</strong> Accountdaten informiert.<br />

Abbildung 3.1.7: Modellierung der zweiten Stufe der Anmeldung<br />

3.1.7 Passwortabfrage<br />

Der Use Case Passwortabfrage ist Inhalt der Use Cases des Subsystems Login der Startseite (siehe<br />

Abschnitt 2.1.1). Er <strong>und</strong> wird nun im Detail diskutiert. Sollte ein Benutzer sein Passwort zum Login<br />

vergessen haben, dann kann er, wie in Abschnitt 2.2.3 erklärt, sein Passwort mit Hilfe seines<br />

Kontoschlüssels entschlüsseln. Es wird da<strong>von</strong> ausgegangen, dass der Benutzer <strong>den</strong> Kontoschlüssel<br />

bei der Registrierung in der E­Mail mit seinen Accountdaten gemäß Abschnitt 3.1.6 erhalten hat.<br />

Walter Sunk 28


3 Modellierung 30. August 2006<br />

Angriffsmöglichkeiten<br />

Im wesentlichen läuft die Passwortabfrage wie folgt ab (die Details folgen später in diesem<br />

Abschnitt). Um <strong>den</strong> Benutzer zu i<strong>den</strong>tifizieren, muss dieser zu Beginn der Passwortabfrage seine E­<br />

Mail Adresse eingeben. Danach wird an diese Adresse eine E­Mail mit einem Abfragelink<br />

geschickt, der einen Request­I<strong>den</strong>tifyer, kurz eine RequestID, beinhaltet. Der Benutzer muss nun<br />

diesen Abfragelink ausführen. Nach Ausführung des Abfragelinks kann der Benutzer durch die<br />

RequestID i<strong>den</strong>tifiziert wer<strong>den</strong>. Der Benutzer gelangt dann zur Eingabe des Kontoschlüssels, mit<br />

dessen Hilfe dann das Passwort entschlüsselt wird. Dadurch ergeben sich folgende Möglichkeiten,<br />

die Passwortabfrage zu manipulieren, anzugreifen oder auszunützen.<br />

1) Nachdem die Passwortabfrage öffentlich zugänglich ist, könnte ein Angreifer versuchen,<br />

beliebig viele E­Mail Adressen anzugeben. Dadurch kann ein Angreifer herausfin<strong>den</strong>, welche<br />

E­Mail Adressen in der Datenbank vorhan<strong>den</strong> sind.<br />

2) Nachdem nach der Eingabe <strong>einer</strong> in der Datenbank vorhan<strong>den</strong>en E­Mail Adresse eine E­Mail<br />

an diese Adresse gesendet wird, könnte ein Angreifer, der die E­Mail Adresse eines Benutzers<br />

kennt, beliebig viele E­Mails an einen Benutzer schicken. Das wäre nicht nur <strong>für</strong> <strong>den</strong> Benutzer<br />

sehr störend, sondern auch aus rechtlichen Grün<strong>den</strong> <strong>für</strong> die Plattform gefährlich.<br />

3) Nachdem E­Mails immer Plain­Text <strong>und</strong> in der Regel unverschlüsselt übertragen wer<strong>den</strong>,<br />

kann ein Angreifer versuchen, <strong>den</strong> Abfragelink mit der RequestID abzuhören (zu „sniffen“)<br />

<strong>und</strong> könnte dadurch zur Eingabe des Kontoschlüssels gelangen.<br />

4) Ein Angreifer, der es bis zur Eingabe des Kontoschlüssels geschafft hat, könnte beliebig viele<br />

verschie<strong>den</strong>e Kontoschlüssel ausprobieren, um das Passwort des Benutzers zu entschlüsseln.<br />

Alle diese 4 Möglichkeiten des Angriffs der Passwortabfrage wer<strong>den</strong> wie nachfolgend beschrieben<br />

verhindert:<br />

1) Um zu verhindern, dass beliebig viele E­Mail Adressen ausprobiert wer<strong>den</strong> können, wurde in<br />

der Arbeit [WaSu06] ein BruteForceRequest­Modul entworfen. Dieses Modul prüft, ob ein<br />

bestimmter Benutzer probiert. Ist dies der Fall, so meldet das Modul eine Brute Force Attacke,<br />

woraufhin die Passwortabfrage abgebrochen wird.<br />

2) Um zu verhindern, dass dieselbe E­Mail Adresse immer wieder neu eingegeben wird, wer<strong>den</strong><br />

Requests mit derselben E­Mail Adresse innerhalb eines Zeitfensters (dem<br />

REQUEST_WINDOW) gezählt. Sind zu viele Requests vorhan<strong>den</strong>, wird die Passwortabfrage<br />

abgebrochen.<br />

3) Um zu verhindern, dass ein Angreifer einen abgehörten Abfragelink verwen<strong>den</strong> kann, wird IP­<br />

Checking verwendet. Darunter wird verstan<strong>den</strong>, dass die IP­Adresse des Benutzers<br />

aufgezeichnet wird. Nachdem ein Angreifer in der Regel auf <strong>einer</strong> anderen Maschine sitzt, hat<br />

er in der Regel auch eine andere IP Adresse. Sollte also ein Request mit <strong>einer</strong> unerwarteten IP­<br />

Adresse auftreten, dann wird die Passwortabfrage abgebrochen. Es könnte sein, dass der<br />

Angreifer <strong>den</strong>noch dieselbe IP­Adresse hat oder in der Lage ist, die IP­Adresse zu<br />

manipulieren. Es wird jedoch da<strong>von</strong> ausgegangen, dass dies sehr selten der Fall ist. Es besteht<br />

also ein gewisses Restrisiko, das aufgr<strong>und</strong> <strong>einer</strong> klein geschätzten Wahrscheinlichkeit in Kauf<br />

genommen wird.<br />

4) Um zu verhindern, dass beliebig viele Kontoschlüssel zum Entschlüsseln des Passwortes<br />

ausprobiert wer<strong>den</strong>, wer<strong>den</strong> die Entschlüsselungsversuche gezählt. Es wer<strong>den</strong> nur eine<br />

Walter Sunk 29


3 Modellierung 30. August 2006<br />

bestimmte Anzahl an Versuchen zugelassen, danach wird die Passwortabfrage abgebrochen.<br />

5) Im weiteren ist die Passwortabfrage durch ein Timeout geschützt. Das Passwort muss also<br />

innerhalb <strong>einer</strong> bestimmten Zeit abgefragt wer<strong>den</strong>. Die Zeit <strong>für</strong> einen möglichen Angriff ist<br />

dadurch beschränkt. Außerdem erleichtert die Verwendung eines Timeouts die Administration,<br />

weil dadurch abgelaufene Passwortabfragen aus der Datenbank gelöscht wer<strong>den</strong> können.<br />

Klassenmodellierung<br />

Um die besprochenen Sicherheitsmaßnahmen zu modellieren, wird eine Passwortabfrage durch die<br />

Klasse PwRequest beschrieben <strong>und</strong> in der Datenbank aufgezeichnet. Abbildung 3.1.8 zeigt das<br />

zugehörige Klassendiagramm.<br />

Abbildung 3.1.8: Klassendiagramm zur Passwortabfrage<br />

Um Angriff 2) zu verhindern, wer<strong>den</strong> wie besprochen die maximal ausführbaren Requests bezüglich<br />

<strong>einer</strong> E­Mail Adresse (MAX_REQUESTS_PER_EMAIL) innerhalb eines vorgegebenen<br />

Zeitfensters (REQUEST_WINDOW) definiert. Um Angriff 3) zu verhindern, wird wie beschrieben<br />

IP­Checking verwendet. Dazu wird die IP­Adresse des zugehörigen Benutzers aufgezeichnet. Um<br />

Angriff 4) zu verhindern, müssen die Entschlüsselungsversuche gezählt wer<strong>den</strong>. Dazu wird das Feld<br />

Tries verwendet <strong>und</strong> die maximal möglichen Versuche wer<strong>den</strong> definiert<br />

(MAX_DECRYPT_TRIES). Um die Passwortabfrage zeitlich zu begrenzen, wird wie besprochen<br />

ein Timeout definiert (REQUEST_TIMEOUT). Mit Hilfe dieses Timeouts kann die Ablaufzeit<br />

(ExpireTime) der Passwortabfrage zu ExpireTime = RequestTime + REQUEST_TIMEOUT<br />

berechnet wer<strong>den</strong>, wobei die RequestTime der Zeitpunkt des Starts der Passwortabfrage ist. Wie<br />

bereits eingangs in diesem Kapitel besprochen, wird der Benutzer anhand der RequestID<br />

i<strong>den</strong>tifiziert. Zur Aufzeichnung der RequestID dient das Feld RequestID. Aus Sicherheitsgrün<strong>den</strong><br />

wird zu jeder Passwortabfrage auch noch die E­Mail Adresse gespeichert, um feststellen zu können,<br />

ob sich manche E­Mail Adressen ungewöhnlich verhalten.<br />

Jede Passwortabfrage wird also in der Datenbank in <strong>einer</strong> Tabelle gespeichert. Dazu muss ein<br />

Schlüssel definiert wer<strong>den</strong>. Als Schlüssel kann die RequestID dienen. Sollte es möglich sein, dass<br />

diese nicht eindeutig ist, dann kann als Schlüssel auch eine Kombination aus <strong>den</strong> Feldern Email <strong>und</strong><br />

/ oder RequestTime <strong>und</strong> / oder RequestID verwendet wer<strong>den</strong>.<br />

Die Klasse PwRequestHandler dient dazu, Instanzen der Klasse PwRequest in der Datenbank zu<br />

administrieren. Die Namen der Metho<strong>den</strong> sollten selbsterklärend sein. Zu beachten ist, dass die<br />

Methode getRequestsPerEmail() die Anzahl der Passwortabfragen zu <strong>einer</strong> E­Mail Adresse<br />

innerhalb eines bestimmten Zeitfensters zurückliefert. Dadurch kann Angriff 2) verhindert wer<strong>den</strong>.<br />

Walter Sunk 30


3 Modellierung 30. August 2006<br />

Dynamische Modellierung<br />

Wie die Passwortabfrage nun im Detail gemäß <strong>den</strong> besprochenen Sicherheitsüberlegungen<br />

durchgeführt wird, zeigen die Abbildungen 3.1.9 <strong>und</strong> 3.1.10. Die Passwortabfrage wird dabei in<br />

zwei Stufen durchgeführt. In der ersten Stufe (Abbildung 3.1.9) wird der Abfragelink an <strong>den</strong><br />

Benutzer geschickt, in der zweiten Stufe (Abbildung 3.1.10) wird das Passwort des Benutzers mit<br />

Abbildung 3.1.9: Sequenzdiagramm zur Modellierung der ersten Stufe der Passwortabfrage<br />

Hilfe des Kontoschlüssels entschlüsselt.<br />

Walter Sunk 31


3 Modellierung 30. August 2006<br />

Abbildung 3.1.10: Sequenzdiagramm zur Modellierung der zweiten Stufe der Passwortabfrage<br />

Walter Sunk 32


3 Modellierung 30. August 2006<br />

In der ersten Stufe (Abbildung 3.1.9) fordert der Benutzer eine Passwortabfrage an <strong>und</strong> wird<br />

daraufhin aufgefordert, seine E­Mail Adresse bekannt zu geben. Danach wird mit dem in [WaSu06]<br />

entwickelten BruteForceRequest­Modul geprüft, ob eine Brute Force Attacke vorliegt. Ist dies der<br />

Fall, wird der Benutzer darüber informiert <strong>und</strong> die Passwortabfrage wird gestoppt. Danach wird<br />

geprüft, ob die angegebene E­Mail Adresse in der Datenbank in einem Benutzeraccount vorkommt.<br />

Ist dies nicht der Fall, erfolgt ein Abbruch der Passwortabfrage. Ist die E­Mail Adresse gültig, wird<br />

nachfolgend geprüft, ob der Benutzer bereits mehrere Passwortabfragen mit derselben E­Mail<br />

Adresse innerhalb eines vorgegebenen Zeitfensters begonnen hat. Wird eine bestimmte Anzahl an<br />

begonnenen Passwortabfragen überschritten, so muss die vorliegende Passwortabfrage gemäß <strong>den</strong><br />

vorigen Sicherheitsüberlegungen abgebrochen wer<strong>den</strong>. Nachdem alle Prüfungen positiv absolviert<br />

wur<strong>den</strong>, wird eine neue Passwortabfrage gestartet, eine E­Mail mit dem Abfragelink wird an die E­<br />

Mail Adresse des Benutzers geschickt <strong>und</strong> der Benutzer wird über die gesendete E­Mail informiert.<br />

Mit dem Ausführen des Abfragelinks in der E­Mail Adresse beginnt die zweite Stufe (Abbildung<br />

3.1.10). Durch Ausführen des Links sendet der Benutzer die RequestID. Daraufhin wird in der<br />

Datenbank nachgesehen, ob eine zur RequestID zugehörige Passwortabfrage existiert. Ist dies nicht<br />

der Fall, wird die Abarbeitung abgebrochen. Existiert die Passwortabfrage, so muss nun überprüft<br />

wer<strong>den</strong>, ob sie noch nicht abgelaufen ist. Ist diese Prüfung positiv, wird der Benutzer aufgefordert,<br />

seinen Kontoschlüssel einzugeben. Mit dem Abschicken des Kontoschlüssels muss auch die<br />

RequestID wieder mitgeschickt wer<strong>den</strong>, weil ja der Benutzer mit jedem HTTPS­Request<br />

i<strong>den</strong>tifiziert wer<strong>den</strong> muss. Nachdem also der Benutzer in einem weiteren HTTPS­Request <strong>den</strong><br />

Kontoschlüssel gesendet hat, muss zu Beginn der Abarbeitung des HTTPS­Requests wieder die<br />

RequestID überprüft wer<strong>den</strong>. Wie besprochen hat der Benutzer nur eine bestimmte vorgegebene<br />

Anzahl an Versuchen, <strong>den</strong> Kontoschlüssel einzugeben <strong>und</strong> damit das Passwort zu entschlüsseln.<br />

Daher muss nun geprüft wer<strong>den</strong>, ob die maximale Versuchsanzahl nicht überschritten wurde. Nach<br />

der Prüfung muss dann die Anzahl bereits getätigter Versuche um 1 erhöht wer<strong>den</strong>. Nun wird das<br />

verschlüsselte Passwort aus der Datenbank geholt <strong>und</strong> zusammen mit dem Kontoschlüssel an das<br />

Crypter­Modul zur Entschlüsselung weitergegeben. Konnte das Passwort nicht entschlüsselt wer<strong>den</strong><br />

(dies kann einfach durch eine Überprüfung des Passwort­Formates geprüft wer<strong>den</strong>), so hat der<br />

Benutzer offensichtlich <strong>den</strong> Kontoschlüssel falsch eingegeben. In diesem Fall wird der Benutzer<br />

darüber informiert, dass der eingegebene Kontoschlüssel falsch war. Konnte das Passwort<br />

erfolgreich entschlüsselt wer<strong>den</strong>, so wird es angezeigt.<br />

3.2 Klassenmodellierung<br />

In folgen<strong>den</strong> Abschnitten wer<strong>den</strong> die Klassen, die <strong>für</strong> die Modellierung der Bergsportplattform<br />

notwendig sind, im Detail besprochen.<br />

3.2.1 Benutzergruppen<br />

Nachfolgend wer<strong>den</strong> alle Benutzergruppen aufgezeigt <strong>und</strong> diskutiert, die die Internetseite der<br />

Bergsportplattform verwen<strong>den</strong>. Insbesondere wer<strong>den</strong> auch die Rechte <strong>und</strong> Aufgaben der einzelnen<br />

Benutzergruppen dargestellt. Abbildung 3.2.1 zeigt das zugehörige Klassendiagramm. Im<br />

Klassendiagramm sind nur jene Benutzergruppen enthalten, <strong>von</strong> <strong>den</strong>en die Bergsportplattform<br />

Daten aufnimmt, weil nur <strong>für</strong> solche Benutzergruppen Software implementiert wird.<br />

Walter Sunk 33


3 Modellierung 30. August 2006<br />

Benutzerrechte<br />

Jede Benutzergruppe hat unterschiedliche Rechte. Die Rechte eines einzelnen Benutzers auf der<br />

Bergsportplattform hängen daher da<strong>von</strong> ab, welcher Benutzergruppe er angehört.<br />

Abbildung 3.2.1: Klassendiagramm zur Modellierung der Benutzergruppen<br />

Person<br />

Alle auf der Bergsportplattform angemeldeten Benutzer sind Personen. Eine jede angemeldete<br />

Person hat einen Benutzernamen <strong>und</strong> ein Passwort. Wie in Abschnitt 2.2.3 besprochen wird das<br />

Passwort zum einen als Hash (Feld Passwort) <strong>und</strong> zum anderen als zweiweg­verschlüsseltes<br />

Passwort (Passwort2W) gespeichert. Zu jeder Person wer<strong>den</strong> die Daten Anrede, Titel, Vorname,<br />

Nachname <strong>und</strong> E­Mail Adresse aufgenommen. Um in der Datenbank nicht <strong>für</strong> je<strong>den</strong> HTTPS­<br />

Request <strong>einer</strong> Person mehrere Joins zum Bestimmen der Rechte der Person durchführen zu müssen,<br />

wer<strong>den</strong> die Rechte <strong>einer</strong> Person aus Effizienzgrün<strong>den</strong> in dem eigenen Feld Berechtigung<br />

gespeichert. Aus rechtlichen oder administrativen Grün<strong>den</strong> kann es notwendig sein, einen<br />

Walter Sunk 34


3 Modellierung 30. August 2006<br />

Benutzeraccount vorübergehend zu sperren. Zu diesem Zweck wird das Feld Accountfreigabe<br />

eingeführt, das anzeigt, ob der Benutzeraccount frei verwendet wer<strong>den</strong> kann (true) oder zur Zeit<br />

gesperrt ist (false).<br />

Besucher<br />

Ein Besucher ist ein Benutzer, welcher die Bergsportplattform besucht, sich jedoch nicht anmeldet.<br />

Besucher sollen Zugang zu Beispieltouren erhalten, damit sie sich selbst ein Bild vom Angebot der<br />

Internetseite machen können. Außerdem sollen Besucher Zugang zu einem Informationsbereich<br />

haben, der Auskunft über die Bergsportplattform <strong>und</strong> das gesamte Projekt gibt. Voraussetzung zum<br />

Erwerben <strong>von</strong> Dokumentationen ist, dass sich Benutzer auf der Bergsportplattform anmel<strong>den</strong>.<br />

Mitglieder<br />

Mitglieder sind auf der Bergsportplattform angemeldete Personen. Zu jedem Mitglied wer<strong>den</strong> die<br />

Daten Geburtsdatum*, Straße*, PLZ*, Wohnort*, Staat*, Telefonnummer, Handynummer <strong>und</strong><br />

Homepage aufgenommen, wobei die mit * gekennzeichneten Felder verpflichtend sind. Das Feld<br />

News gibt an, ob das Mitglied <strong>den</strong> Newsletter erhalten möchte. Jedes Mitglied wird durch einen<br />

Werber geworben (sollte das Mitglied in der Realität durch keinen Werber geworben wer<strong>den</strong>, dann<br />

erhält es einen Default­Werber). Aus rechtlichen Grün<strong>den</strong> (zum Nachweis der Daten gegenüber<br />

Werbern) <strong>und</strong> um <strong>den</strong> Werber eines Mitglieds besser bestimmen zu können, wer<strong>den</strong> die Daten<br />

Werbertext <strong>und</strong> WerberHttpReferer zu jedem Mitglied gespeichert. Beide Daten kommen aus der<br />

Anmeldung des Mitglieds. Der Werbertext ist jener Text, <strong>den</strong> das Mitglied während der Anmeldung<br />

auf die Frage, wie er oder sie zur Bergsportplattform gekommen sei, eingeben muss. Der<br />

WerberHttpRefer ist jene URL, <strong>von</strong> der aus das Mitglied die Internetseite der Bergsportplattform<br />

betreten hat (durch <strong>den</strong> Referer können besonders jene Werber einfach bestimmt wer<strong>den</strong>, die durch<br />

einen Link auf Ihrer Internetseite auf die Internetseite der Bergsportplattform referenzieren).<br />

Zwecks möglichen zukünftigen Statistikauswertungen wird der Anmeldezeitpunkt<br />

(RegistrierungsTimestamp) eines je<strong>den</strong> Mitglieds gespeichert.<br />

K<strong>und</strong>en<br />

K<strong>und</strong>en sind angemeldete Mitglieder der Bergsportplattform, die Dokumentationen nach Aufladung<br />

eines Guthabens erwerben können. K<strong>und</strong>en haben Zugang zum Mitgliedsbereich, in welchem Sie<br />

alle ihre erworbenen Dokumentationen einsehen können. Im weiteren können K<strong>und</strong>en im<br />

Mitgliedsbereich auch ihre getätigten Käufe einsehen. Jeder K<strong>und</strong>e hat somit ein eigenes<br />

K<strong>und</strong>enkonto. K<strong>und</strong>en können entweder Privat­ (default) oder Geschäftsk<strong>und</strong>en sein.<br />

Autoren<br />

Autoren sind angemeldete Mitglieder, die das Recht haben, Dokumentationen zu verfassen <strong>und</strong> (mit<br />

Zustimmung ihres Autorenbetreuers) zu publizieren. Autoren können auch im Team arbeiten <strong>und</strong><br />

gemeinsam Tourenalben verfassen. Autoren können im Mitgliedsbereich sämtliche Umsätze<br />

einsehen. Jeder Autor hat somit ein eigenes Autorenkonto. Um K<strong>und</strong>en Auskunft über Autoren<br />

geben zu können, wer<strong>den</strong> zu jedem Autor die Daten Verein, Alpinausbildung <strong>und</strong> alpine<br />

Erfahrungen gespeichert. Aus rechtlichen Grün<strong>den</strong> müssen noch ein paar weitere Geschäftsdaten<br />

des Autors, wie in Abbildung 3.2.1 gezeigt, aufgenommen wer<strong>den</strong>.<br />

Walter Sunk 35


3 Modellierung 30. August 2006<br />

Autorenbetreuer<br />

Jeder Autor erhält einen <strong>für</strong> ihn zuständigen Autorenbetreuer, der ebenfalls ein angemeldetes<br />

Mitglied ist. Dokumentationen wer<strong>den</strong> nur mit der Zustimmung des Betreuers veröffentlicht. Wenn<br />

Autoren Dokumentationen veröffentlichen möchten, müssen diese also die Zustimmung ihres<br />

Betreuers einholen. Der Autorenbetreuer hat somit folgende Aufgaben:<br />

• Er steht dem Autor <strong>für</strong> Fragen per E­Mail zur Verfügung. Zu diesem Zweck muss ein<br />

Autorenbetreuer eine eigene geschäftliche E­Mail Adresse (Feld OfficeEmail) bekanntgeben.<br />

• Er legt neue Dokumentationen an <strong>und</strong> kann alte Dokumentationen löschen.<br />

• Er unterstützt <strong>den</strong> Autor beim Erstellen s<strong>einer</strong> ersten Dokumentationen.<br />

• Er führt Qualitätsprüfungen der Dokumentationen durch.<br />

• Er erteilt nach positiver Qualitätsprüfung die Zustimmung zur Veröffentlichung <strong>von</strong><br />

Dokumentationen.<br />

Autorenbetreuer können im Mitgliedsbereich sämtliche Umsätze einsehen. Jeder Autorenbetreuer<br />

hat somit ein eigenes Autorenbetreuerkonto.<br />

Übersetzer<br />

Übersetzer sind angemeldete Mitglieder, die Dokumentationen <strong>von</strong> Autoren übersetzen. Ein Autor<br />

kann seine Übersetzer selbst bestimmen. Übersetzer dürfen nur jene Teile <strong>einer</strong> Dokumentation<br />

updaten, die übersetzbar sind. Ein Autor kann überdies bestimmen, welche Sprache der jeweilige<br />

Übersetzer updaten darf. Übersetzer dürfen prinzipiell nur bestimmte Ausgangssprachen in<br />

bestimmte Zielsprachen übersetzen. Aus diesem Gr<strong>und</strong> wer<strong>den</strong> die Ausgangssprachen <strong>und</strong> die<br />

Zielsprachen eines je<strong>den</strong> Übersetzers als Set gespeichert. Damit ein Übersetzer <strong>von</strong> der<br />

Administration kontaktiert wer<strong>den</strong> kann, muss er eine eigene geschäftliche E­Mail Adresse (Feld<br />

OfficeEmail) bekanntgeben.<br />

Werber<br />

Ein Werber macht Werbung <strong>für</strong> die Bergsportplattform. Der Werber erhält <strong>von</strong> <strong>den</strong> Einkäufen<br />

geworbener K<strong>und</strong>en eine Provision <strong>von</strong> <strong>den</strong> Netto­Einkaufspreisen. Der Werber wird entweder über<br />

<strong>den</strong> HTTP­Referer (die URL, auf der der Werber einen Link zur Bergsportplattform anbringt) oder<br />

über <strong>den</strong> Werbertext, <strong>den</strong> der K<strong>und</strong>e bei der Anmeldung eingeben muss, i<strong>den</strong>tifiziert. Auf Wunsch<br />

des Werbers wird dieser über je<strong>den</strong> neu geworbenen K<strong>und</strong>en per E­Mail informiert (Felder<br />

Benachrichtigung, BenachrichtigungsEmail, Benachrichtigunssprache). Dadurch ist es möglich,<br />

dass der Werber selbst die Funktionsweise der Internetseite prüfen <strong>und</strong> sich somit <strong>von</strong> der<br />

Funktionalität selbst überzeugen kann.<br />

Mitarbeiter<br />

Mitarbeiter sind Personen, die bei der Bergsportplattform mitarbeiten, jedoch nicht<br />

notwendigerweise angemeldet sein müssen. Mitarbeiter erhalten eine E­Mail Adresse <strong>von</strong> der<br />

Bergsportplattform.<br />

Administratoren<br />

Administratoren sind <strong>für</strong> die technische <strong>Realisierung</strong> <strong>und</strong> Verwaltung der Plattform zuständig.<br />

Administratoren bekommen einen SSH­Zugang zum Server.<br />

Walter Sunk 36


3 Modellierung 30. August 2006<br />

3.2.2 Tourtypen<br />

Im Bergsport trifft man auf eine Vielfalt <strong>von</strong> verschie<strong>den</strong>en Arten <strong>von</strong> Touren, die im folgen<strong>den</strong> als<br />

Tourtypen bezeichnet wer<strong>den</strong>. Tourtypen sind z.B. Wanderungen, Hochtouren, Skitouren,<br />

Skihochtouren, Schneeschuhwanderungen, Klettersteige, Klettertouren, Eisklettertouren,<br />

Mountainbiketouren, etc.. Jeder Tourtyp hat bestimmte Eigenschaften. Alle Tourtypen haben jedoch<br />

auch bestimmte Eigenschaften gemeinsam. Die gemeinsamen Eigenschaften aller Tourtypen<br />

wer<strong>den</strong> im folgen<strong>den</strong> generalisiert <strong>und</strong> als Tour bezeichnet.<br />

Mit Eröffnung der Bergsportplattform im Sommer 2006 soll diese gemäß der Aufgabenstellung in<br />

Abschnitt 1.2 in der Lage sein, Wanderungen <strong>und</strong> Hochtouren zu verwalten. Das Hinzufügen <strong>von</strong><br />

weiteren Tourtypen soll jedoch bereits geplant wer<strong>den</strong> <strong>und</strong> die Implementierung soll eine einfache<br />

Erweiterung der Plattform auf weitere Tourtypen ermöglichen.<br />

Bewertungsskalen<br />

Für viele Tourtypen existieren eigene Bewertungsskalen, die die Schwierigkeit <strong>und</strong> Anforderungen<br />

der jeweiligen Tour bewerten. Der Schweizer Alpen Club ist ein international anerkannter<br />

Herausgeber solcher Bewertungsskalen, die auf [SAC] veröffentlicht sind. Aus diesem Gr<strong>und</strong> soll<br />

die Schwierigkeit <strong>von</strong> Touren auf der Bergsportplattform nach <strong>den</strong> Bewertungsskalen des<br />

Schweizer Alpen Clubs bewertet wer<strong>den</strong>, falls <strong>von</strong> diesem eine Bewertungsskala zur Verfügung<br />

steht. Ansonsten fin<strong>den</strong> andere international anerkannte Skalen Anwendung. Im folgen<strong>den</strong> wer<strong>den</strong><br />

die auf der Bergsportplattform zur Zeit verwendeten Bewertungsskalen erläutert.<br />

Bewertungsskala <strong>für</strong> Wanderungen<br />

Wanderungen wer<strong>den</strong> in ihrer Gesamtheit nach der international anerkannten Wanderskala des<br />

Schweizer Alpen Clubs [SAC] bewertet. Die Stufen der Wanderskala sind T1 (Wandern), T2<br />

(Bergwandern), T3 (Anspruchsvolles Bergwandern), T4 (Alpinwandern), T5 (Anspruchsvolles<br />

Alpinwandern) <strong>und</strong> T6 (Schwieriges Alpinwandern), wobei einzelne Zwischenstufen durch +/­<br />

Vorzeichen bewertet wer<strong>den</strong> können (z.B. T3+ oder T4­).<br />

Bewertungsskala <strong>für</strong> Hochtouren<br />

Hochtouren wer<strong>den</strong> in ihrer Gesamtheit nach der international anerkannten Hochtourenskala des<br />

Schweizer Alpen Clubs [SAC] bewertet. Die Stufen der Hochtourenskala sind L (leicht), WS<br />

(wenig schwierig), ZS (ziemlich schwierig), S (schwierig), SS (sehr schwierig), AS<br />

(außeror<strong>den</strong>tlich schwierig) <strong>und</strong> EX (extrem schwierig), wobei einzelne Zwischenstufen durch +/­<br />

Vorzeichen bewertet wer<strong>den</strong> können (z.B. ZS+ oder S­).<br />

Bewertungsskala <strong>für</strong> das Felsgelände<br />

Das Felsgelände wird nach der international anerkannten UIAA­Skala bewertet [UIAA]. Die UIAA­<br />

Skala verwendet römische Ziffern (I,II,III,IV,V,VI,VII). Zwecks Übersichtlichkeit wer<strong>den</strong> auf der<br />

Bergsportplattform die entsprechen<strong>den</strong> arabischen Ziffern (1,2,3,4,5,6,7) verwendet. Eine<br />

ausführliche Erklärung der UIAA­Skala in Deutsch kann <strong>von</strong> der Internetseite des Schweizer<br />

Alpen­Clubs [SAC] heruntergela<strong>den</strong> wer<strong>den</strong>.<br />

Bewertungsskala <strong>für</strong> Klettersteige<br />

Klettersteige oder Klettersteig­Passagen wer<strong>den</strong> nach der im europäischen Alpenraum<br />

Walter Sunk 37


3 Modellierung 30. August 2006<br />

gebräuchlichen 5­teiligen Klettersteigskala <strong>von</strong> A bis E angegeben. Eine ausführliche Erklärung der<br />

Klettersteigskala in Deutsch findet man z.B. auf der Klettersteigseite <strong>von</strong> Wikipedia [KstWiki].<br />

Gr<strong>und</strong>legende Klassenmodellierung<br />

Die gr<strong>und</strong>legende Klassenmodellierung der verschie<strong>den</strong>en Tourtypen zeigt Abbildung 3.1.2. Aus<br />

Grün<strong>den</strong> der Übersichtlichkeit wer<strong>den</strong> die Eigenschaften der Tourtypen erst nachfolgend in<br />

Abbildung 3.2.3 beschrieben. Jede Tour wird <strong>von</strong> einem bestimmten Autor verfasst. Die<br />

Gemeinsamkeiten aller Tourtypen wer<strong>den</strong> zur Klasse Tour generalisiert. Jeder spezielle Tourtyp<br />

wird mit <strong>einer</strong> eigenen Klasse modelliert <strong>und</strong> ist eine Spezialisierung der Klasse Tour. Jeder<br />

Tourtyp bekommt somit die Eigenschaften der Klasse Tour <strong>und</strong> fügt weitere Eigenschaften, wie<br />

z.B. die Bewertung nach <strong>einer</strong> Bewertungsskala hinzu.<br />

Abbildung 3.2.2: Klassendiagramm der verschie<strong>den</strong>en Tourtypen<br />

Skihochtouren bil<strong>den</strong> eine kleine Ausnahme. Sie bil<strong>den</strong> eine Mischung aus Hochtouren <strong>und</strong><br />

Skitouren. Hochtouren wer<strong>den</strong> im Sommer begangen <strong>und</strong> führen in der Regel über Gletscher.<br />

Skitouren wer<strong>den</strong> im Winter begangen <strong>und</strong> führen in der Regel über keine Gletscher. Eine<br />

Skihochtour wird im Winter begangen <strong>und</strong> führt in der Regel über einen Gletscher. Skihochtouren<br />

sind daher eigentlich Spezialisierungen sowohl <strong>von</strong> der Klasse Hochtour als auch <strong>von</strong> der Klasse<br />

Skitour. Um die Probleme der Mehrfachvererbung auszuschließen, wird die Klasse Skihochtour als<br />

Spezialisierung der Klasse Hochtour gesehen, implementiert da<strong>für</strong> aber das Interface ISkitour,<br />

welches ebenfalls <strong>von</strong> der Klasse Skitour implementiert wird <strong>und</strong> die wichtigsten Eigenschaften<br />

<strong>einer</strong> Skitour widerspiegelt.<br />

Modellierung der Eigenschaften<br />

Die Modellierung der Eigenschaften der Tourtypen zeigt Abbildung 3.2.3. Nachdem die<br />

Bergsportplattform mehrere Sprachen unterstützt, müssen auch Textfelder in mehreren Sprachen<br />

vorhan<strong>den</strong> sein. Alle diese Textfelder sind in Abbildung 3.2.3 mit einem * gekennzeichnet. Der<br />

Zusatz „_Erg“ bei einigen Textfeldern bedeutet, dass hier der Autor zusätzlichen Text in Form <strong>einer</strong><br />

Ergänzung hinzufügen kann. Ergänzungen eigenen sich besonders gut, um Bewertungen <strong>einer</strong> Tour<br />

zu kommentieren. Nachfolgend wer<strong>den</strong> die wichtigsten Eigenschaften der verschie<strong>den</strong>en Klassen<br />

besprochen <strong>und</strong> erklärt.<br />

Walter Sunk 38


3 Modellierung 30. August 2006<br />

Klasse Tour<br />

Gemäß Abschnitt 1.3 ist eine Tour ist eine Unternehmung im freien Gelände oder im Gebirge. Jede<br />

Tour wird eindeutig durch eine Nummer i<strong>den</strong>tifiziert. Sie besitzt einen Namen <strong>und</strong> einen<br />

ergänzen<strong>den</strong> Namen (Feld Name_Erg). Der Name der Tour soll mit dem Hauptziel der Tour in<br />

Verbindung gebracht wer<strong>den</strong>, während der ergänzende Namen einen Hinweis auf <strong>den</strong> Aufstiegsweg<br />

geben soll. Mögliche Kombinationen der Form „Name – Name_Erg“ sind z.B. „Großglockner ­<br />

Normalweg <strong>von</strong> Kals“ oder „Großglockner – Aufstieg über <strong>den</strong> NW­Grat“.<br />

Abbildung 3.2.3: Modellierung der Eigenschaften der Tourtypen<br />

Zu jeder Tour muss der Umfang notiert wer<strong>den</strong>, im Falle dass dieser aus dem Namen (inkl.<br />

Name_Erg) der Tour nicht klar ersichtlich sein. Dies ist z.B. <strong>für</strong> anspruchsvolle Touren sinnvoll, bei<br />

<strong>den</strong>en der Aufstieg über anspruchsvolles Gelände führt (z.B. über einen Grat) <strong>und</strong> der Abstieg dann<br />

über einen Normalweg (z.B. einen Wanderweg) verläuft. Meistens ist der Normalweg bereits in<br />

<strong>einer</strong> eigenen Dokumentation vorhan<strong>den</strong> <strong>und</strong> braucht daher nicht extra neu dokumentiert zu wer<strong>den</strong><br />

(oft ist <strong>für</strong> fortgeschrittene Tourengeher auch nur der anspruchsvolle Aufstieg interessant). In einem<br />

solchen Fall kann im Umfang der anspruchsvollen Tour notiert wer<strong>den</strong>, dass die Dokumentation nur<br />

<strong>den</strong> Aufstieg beschreibt, der Abstieg der Tour jedoch in <strong>einer</strong> anderen Dokumentation beschrieben<br />

wird. Oft kommt es auch vor, dass Hüttenzustiege zwecks Übersicht in <strong>einer</strong> eigenen<br />

Dokumentation beschrieben wer<strong>den</strong>, auch das kann im Umfang notiert wer<strong>den</strong>.<br />

Eine kurze Charakteristik der Tour soll Tourengehern helfen, einen ersten Eindruck <strong>von</strong> der Tour zu<br />

bekommen. Zu jeder Tour wer<strong>den</strong> außerdem Ausgangspunkt <strong>und</strong> dessen Höhe (Ausgangspunkt_m),<br />

Endpunkt <strong>und</strong> dessen Höhe (Endpunkt_m), die Höhenmeter im Aufstieg (Ges_Hm, Ges_Hm_Erg),<br />

Walter Sunk 39


3 Modellierung 30. August 2006<br />

die Länge des Weges in Kilometern (Ges_km, Ges_km_Erg), der Zeitaufwand (Ges_t, Ges_t_Erg),<br />

die Exposition (Exposition, Exposition_Erg) <strong>und</strong> im Handel erhältliches Kartenmaterial gespeichert.<br />

Die Freigabe­Felder sind entsprechend <strong>den</strong> Freigabemöglichkeiten im Öffentlichkeitsupdate aus<br />

Abschnitt 2.1.5 zu interpretieren. Publizieren bedeutet demnach, dass die Tour öffentlich gef<strong>und</strong>en<br />

wird, öffentliche Anzeige (entspricht der Veröffentlichung) in <strong>einer</strong> Sprache bedeutet, dass die<br />

öffentlichen Basisdaten der Tour angezeigt wer<strong>den</strong>. Alle Freigaben wer<strong>den</strong> erst mit der<br />

Zustimmung des zugehörigen Autorenbetreuers wirksam, daher existiert <strong>für</strong> jedes Freigabefeld des<br />

Autors ein eigenes Freigabefeld <strong>für</strong> die Zustimmung des Betreuers.<br />

Gemäß Abschnitt 3.1.2 hat jede Tour im weiteren eine Beschreibung (bestehend aus Anreise <strong>und</strong><br />

Zufahrt, Tourenverlauf, Erlebnissen <strong>und</strong> Eindrücken). Aufgr<strong>und</strong> dessen, dass diese Inhalte beliebig<br />

lange Texte sein können, wer<strong>den</strong> sie nicht durch eigene Klassen repräsentiert, sondern in eigenen<br />

Textdateien im Dateisystem <strong>und</strong> nicht in der Datenbank abgelegt. Deshalb scheinen diese Inhalte<br />

auch nicht im Klassendiagramm auf.<br />

Klasse Wanderung<br />

Nachdem Wanderungen <strong>von</strong> <strong>einer</strong> Vielzahl <strong>von</strong> Menschen begangen wer<strong>den</strong>, wird bei<br />

Wanderungen auf die Beschreibung der Wegbeschaffenheit Wert gelegt (Feld Wegbeschaffenheit).<br />

Dies ist insbesonders bei relativ einfachen Wanderungen sinnvoll, damit Wanderer z.B.<br />

entsprechendes Schuhwerk aussuchen oder beurteilen können, ob der Weg auch <strong>für</strong> das Mitnehmen<br />

<strong>von</strong> Kindern oder Kleinkindern geeignet ist.<br />

Wie bereits diskutiert wird die Gesamtschwierigkeit <strong>von</strong> Wanderungen nach der SAC­Wanderskala<br />

[SAC] bewertet. Zu diesem Zweck besitzt eine Wanderung die Felder S_W, SSt_W <strong>und</strong> S_Erg_W.<br />

Im Feld S_W wird die Schwierigkeit (T1 bis T6) abgelegt, im Feld SSt_W die Zwischenstufe<br />

(keine, +, ­). Wanderungen können einfache Felspassagen beinhalten, die bereits ein wenig<br />

Klettergeschick erfordern. Wie besprochen wer<strong>den</strong> Felspassagen nach der UIAA­Skala [UIAA]<br />

bewertet. Zu diesem Zweck besitzt eine Wanderung die Felder Fels_S, Fels_SSt <strong>und</strong> Fels_Erg. Im<br />

Feld Fels_W wird die Schwierigkeit (1 bis maximal 3) abgelegt, im Feld Fels_SSt die<br />

Zwischenstufe (keine, +, ­). Im weiteren können Wanderungen auch einfache Klettersteige<br />

enthalten, wie besprochen, bewertet nach der im Alpenraum 5­teiligen Klettersteigskala. Zu diesem<br />

Zweck besitzt eine Wanderung die Felder Klettersteig_S, Klettersteig_SSt <strong>und</strong> Klettersteig_Erg. Im<br />

Feld Klettersteig_S wird die Schwierigkeit (A bis maximal C) abgelegt, im Feld Klettersteig_SSt<br />

die Zwischenstufe (keine, +, ­). In <strong>den</strong> Ergänzungsfeldern („_Erg“) kann der Autor Anmerkungen<br />

zur jeweiligen Schwierigkeit angeben (z.B. „fast durchgehend T2, eine Stelle T3“).<br />

Klasse Hochtour<br />

Hochtouren beinhalten an Zusatzinformation ebenfalls eine ausführliche Bewertung der<br />

auftreten<strong>den</strong> Schwierigkeiten. Die Gesamtschwierigkeit <strong>von</strong> Hochtouren wird wie besprochen nach<br />

der SAC­Hochtourenskala [SAC] bewertet. Zu diesem Zweck besitzt eine Hochtour die Felder S_H,<br />

SSt_H <strong>und</strong> S_Erg_H. Im Feld S_H wird die Schwierigkeit (L bis EX) abgelegt, im Feld SSt_H die<br />

Zwischenstufe (keine, +, ­). Die Felder zur Bewertung der Schwierigkeiten im Fels sind dieselben<br />

wie bei der Wanderung, nur dass nun die volle Skala (<strong>von</strong> 1 bis 7) zur Verfügung steht. Außerdem<br />

wird bei Hochtouren die maximale Steilheit (in Grad) <strong>von</strong> Schneefeldern <strong>und</strong> Eisflächen<br />

(Gletscheranstiege, Eisrinnen, Eiswände, etc.) in <strong>den</strong> Feldern Eis_Grad <strong>und</strong> Eis_Erg angegeben.<br />

Walter Sunk 40


3 Modellierung 30. August 2006<br />

Klassen Skitour, Skihochtour <strong>und</strong> Schneeschuhwanderung <strong>und</strong> Interface ISkitour<br />

Gemäß der Aufgabenstellung in Abschnitt 1.2 wur<strong>den</strong> diese Klassen bereits in der Modellierung<br />

berücksichtigt, jedoch aus Zeitgrün<strong>den</strong> noch nicht gänzlich implementiert. Skitouren <strong>und</strong><br />

Skihochtouren wer<strong>den</strong> vermutlich mit der Wintersaison 2006/2007 zur Verfügung stehen.<br />

Der Aufbau der Klassen ist analog dem Aufbau <strong>von</strong> Wanderungen <strong>und</strong> Hochtouren zu verstehen. In<br />

<strong>den</strong> Feldern wer<strong>den</strong> wieder Angaben zur Schwierigkeit abgelegt. Als Gr<strong>und</strong>lage <strong>für</strong> die Bewertung<br />

dienen wieder die entsprechen<strong>den</strong> Bewertungsskalen des Schweizer Alpen Clubs [SAC]. Bei<br />

Wintertouren ist eine Bewertung der Steilheit <strong>und</strong> der Exposition des Geländes <strong>und</strong> eine Bewertung<br />

der damit verb<strong>und</strong>enen möglichen Lawinengefahr besonders zu berücksichtigen.<br />

3.2.3 Klassenbeziehungen <strong>einer</strong> Tour<br />

Im folgen<strong>den</strong> wer<strong>den</strong> jene Klassen modelliert, die mit der Klasse Tour aus Abschnitt 3.2.2 in<br />

Beziehung stehen. Das zugehörige Klassendiagramm ist in Abbildung 3.2.4 dargestellt. Felder, die<br />

<strong>für</strong> jede Sprache einmal vorkommen, sind dabei mit einem * gekennzeichnet.<br />

Fotos <strong>und</strong> Tourenfotos<br />

Unter einem Tourenfoto versteht man ein Foto, dass zu <strong>einer</strong> Tour hinzugefügt wurde. Jedes Foto<br />

hat eine eindeutige Nummer, einen Dateinamen <strong>und</strong> kann beschriftet wer<strong>den</strong>. Ein Tourenfoto hat<br />

eine Reihenfolge, in der es in der Tourendokumentation angezeigt wird. Die Reihenfolge der<br />

einzelnen Tourenfotos kann dabei vom Autor bestimmt wer<strong>den</strong>. Zu jedem Tourenfoto wird die Zeit<br />

festgehalten, wann es zum letzten Mal upgedatet wurde (LastUpdateTime). Dies ist wichtig, damit<br />

im Falle eines upgedateten Tourenfotos dem Browser eines Benutzers mitgeteilt wer<strong>den</strong> kann, das<br />

Tourenfoto nicht aus dem Cache, sondern vom Server zu la<strong>den</strong>.<br />

Fototypen<br />

Ein jedes Foto hat einen Fototyp. Dieser dient dazu, dass ein Benutzer <strong>den</strong> dargestellten Inhalt eines<br />

Fotos besser in seine Vorstellung vom realen Tourenverlauf einbauen kann. Tabelle 3.2.1 zeigt die<br />

Fototypen, die die Plattform unterstützt.<br />

Abk. Typ Beschreibung<br />

V Verlauf Ein Foto, das <strong>den</strong> Wegverlauf zeigt. Der Blick ist nach vorne gerichtet.<br />

R Rückblick Ein Rückblick auf der Tour. Der Blick ist nach hinten gerichtet.<br />

L lokal Ein Foto <strong>von</strong> <strong>einer</strong> bestimmten Stelle auf der Tour, z.B. ein Wegweiser.<br />

Ü Übersicht Ein Foto, das weite Teile des Wegverlaufs bis zum gesamten Wegverlauf zeigt.<br />

Z Ziel Ein lokales Foto vom Ziel der Tour, z.B. ein Gipfelkreuz.<br />

A Aussicht Ein Foto, das eine Aussicht auf der Tour zeigt.<br />

Tabelle 3.2.1: Übersicht über die Fototypen<br />

Fotolinks<br />

Wie in Abschnitt 3.1.2 beschrieben können Fotos derselben Tour untereinander verlinkt wer<strong>den</strong>.<br />

Dabei können in jedem Foto Links zu anderen Fotos derselben Tour angebracht wer<strong>den</strong>. Das Foto,<br />

in dem die Links angebracht wer<strong>den</strong>, wird Source­Foto (srcFoto) genannt. Das jeweils verlinkte<br />

Walter Sunk 41


3 Modellierung 30. August 2006<br />

Zielfoto wird Destination­Foto (destFoto) genannt. Ein Fotolink kann also als eine n:m Beziehung<br />

unter der Bedingung modelliert wer<strong>den</strong>, dass die Tourennummer des srcFoto <strong>und</strong> die des destFoto<br />

gleich sind. Um die Links der Destination­Fotos im Source­Foto einzeichnen zu können, müssen <strong>für</strong><br />

jedes Destination­Foto die x/y Koordinaten im Source­Foto gespeichert wer<strong>den</strong>.<br />

Abbildung 3.2.4: Modellierung der Klassenbeziehungen <strong>einer</strong> Tour<br />

Karten <strong>und</strong> Tourenkarten<br />

Unter <strong>einer</strong> Tourenkarte versteht man eine Karte, die zu <strong>einer</strong> Tour hinzugefügt wurde. Jede Karte<br />

hat eine eindeutige Nummer, einen Dateinamen, einen Maßstab <strong>und</strong> kann beschriftet wer<strong>den</strong>. Eine<br />

Tourenkarte hat eine Reihenfolge, in der sie in der Tourendokumentation angezeigt wird. Die<br />

Reihenfolge der einzelnen Tourenkarten kann dabei vom Autor bestimmt wer<strong>den</strong>. Wie bei <strong>den</strong><br />

Tourenfotos wird zu jeder Tourenkarte die Zeit festgehalten, wann sie zum letzten Mal upgedatet<br />

wurde (LastUpdateTime). Dies ist wichtig, damit im Falle <strong>einer</strong> upgedateten Tourenkarte dem<br />

Walter Sunk 42


3 Modellierung 30. August 2006<br />

Browser eines Benutzers mitgeteilt wer<strong>den</strong> kann, die Tourenkarte nicht aus dem Cache, sondern<br />

vom Server zu la<strong>den</strong>.<br />

Kartentyp bzw. Kartenhersteller<br />

Der Kartentyp beschreibt <strong>den</strong> Hersteller der Karte (diese Klasse könnte daher auch Kartenhersteller<br />

heißen). Zwecks Konformität zu <strong>den</strong> anderen auftreten<strong>den</strong> Typen wurde jedoch die Bezeichnung<br />

Kartentyp gewählt. Ein Kartentyp ist eindeutig i<strong>den</strong>tifiziert durch eine Nummer, hat eine<br />

Bezeichnung <strong>und</strong> einen Namen. Folgende Kartentypen sollen anfänglich unterstützt wer<strong>den</strong>: Karten<br />

vom B<strong>und</strong>esamt <strong>für</strong> Eich­ <strong>und</strong> Vermessungswesen [BEV] <strong>und</strong> Karten, die der Autor selbst<br />

hergestellt hat (in letzterem Fall ist der Kartentyp „Eigenproduktion“ zu vergeben).<br />

Kartenfotolinks<br />

Wie in Abschnitt 3.1.2 können in jeder Karte Links zu anderen Fotos derselben Tour angebracht<br />

wer<strong>den</strong>. Die Karte, in der die Links angebracht wer<strong>den</strong>, wird Source­Karte (srcKarte) genannt. Das<br />

jeweils verlinkte Zielfoto wird Destination­Foto (destFoto) genannt. Ein Kartenfotolink kann also<br />

als eine n:m Beziehung zwischen <strong>den</strong> Klassen Tourenfoto <strong>und</strong> Tourenkarte unter der Bedingung<br />

modelliert wer<strong>den</strong>, dass die Tourennummer der srcKarte <strong>und</strong> die des destFoto gleich sind. Um die<br />

Links der Destination­Fotos in der Source­Karte einzeichnen zu können, müssen <strong>für</strong> jedes<br />

Destination­Foto die x/y Koordinaten in der Source­Karte gespeichert wer<strong>den</strong>.<br />

Zieltypen, Ziele, Tourenziele, Tourenstützpunkte<br />

Unter einem Ziel versteht man ein konkretes Ziel auf <strong>einer</strong> Tour, z.B. <strong>den</strong> Gipfel des<br />

Großvenedigers, <strong>den</strong> Gosausee oder die Lienzer Hütte. Ein Ziel hat einen Namen <strong>und</strong> stets eine<br />

Höhe, die <strong>für</strong> Tourengeher stets <strong>von</strong> großem Interesse ist. Ein Tourenziel ist ein Ziel, das zu <strong>einer</strong><br />

Tour hinzugefügt wurde. Aus Effizienzgrün<strong>den</strong> wird zu jedem Ziel die Anzahl der Touren<br />

gespeichert, zu <strong>den</strong>en es hinzugefügt wurde (Feld GesAnzTouren). Die Gesamtanzahl der Touren<br />

ist damit gleichbedeutend mit der Anzahl der Tourenziele, in <strong>den</strong>en das Ziel vorkommt.<br />

Ein Zieltyp beschreibt ein Ziel näher. Zieltypen können z.B. ein Gipfel, ein See, eine Hütte, ein<br />

Wasserfall, eine Seilbahnstation, etc. sein. Ein Zieltyp wird eindeutig durch eine Nummer<br />

i<strong>den</strong>tifiziert <strong>und</strong> durch einen Namen beschrieben. Ein Zieltyp kann selbst wieder einen bestimmten<br />

Typ haben. Der Typ eines Zieltyps ist entweder „Gelände“ oder „Stützpunkt“. So sind z.B. ein<br />

Gipfel, ein See <strong>und</strong> ein Wasserfall vom Typ „Gelände“, eine Hütte <strong>und</strong> eine Seilbahnstation jedoch<br />

vom Typ „Stützpunkt“.<br />

Die Unterscheidung zwischen dem Typ „Gelände“ <strong>und</strong> dem Typ „Stützpunkt“ ist aus folgendem<br />

Gr<strong>und</strong> wichtig. Alle Stützpunkte (konkrete Hütten, konkrete Biwaks, konkrete Gasthäuser, etc.)<br />

können auch Ziele <strong>einer</strong> Tour sein. Umgekehrt können aber nicht alle Ziele auch Stützpunkte sein.<br />

Ein Tourenziel ist somit genauer gesagt ein Ziel, das zu <strong>einer</strong> Tour hinzugefügt wurde <strong>und</strong> dessen<br />

Zieltyp <strong>den</strong> Typ „Gelände“ oder „Stützpunkt“ hat. Ein Tourenstützpunkt ist ein Ziel, das zu <strong>einer</strong><br />

Tour hinzugefügt wurde <strong>und</strong> dessen Zieltyp jedoch nur <strong>den</strong> Typ „Stützpunkt“ hat.<br />

Zu jedem Tourenziel <strong>und</strong> zu jedem Tourenstützpunkt kann der Autor der Tour eine kleine<br />

Anmerkung (Felder Erg) notieren.<br />

Walter Sunk 43


3 Modellierung 30. August 2006<br />

Talorte <strong>und</strong> Tourentalorte<br />

Talorte sind eindeutig i<strong>den</strong>tifiziert durch eine Nummer, haben einen Namen, einen Zusatz zum<br />

Namen, eine Höhe <strong>und</strong> befin<strong>den</strong> sich oftmals in einem Tal. Ein typischer Talort ist z.B. Kals, am<br />

Großglockner, im Kalser Tal, mit <strong>einer</strong> Höhe <strong>von</strong> 1324m.<br />

Ein Tourentalort ist ein Talort, der zu <strong>einer</strong> Tour hinzugefügt wurde. Ein Tourentalort hat eine<br />

Reihenfolge, in der er in der Tourendokumentation angezeigt wird. Die Reihenfolge der einzelnen<br />

Tourentalorte kann vom Autor bestimmt wer<strong>den</strong>. Zu jedem Tourentalort kann der Autor eine kleine<br />

Anmerkung (Feld Erg) notieren. Talorte haben überdies auch einen Talorttyp. Dieser gibt an, ob der<br />

Tourentalort ein Ausgangstalort, ein Endtalort oder ein dazwischenliegender Talort der Tour ist.<br />

3.2.4 Klassenbeziehungen eines Albums<br />

Ein Album beschreibt <strong>den</strong> Inhalt <strong>von</strong> Tourendokumentationen, die zu diesem Album hinzugefügt<br />

wer<strong>den</strong> können (aber nicht müssen). Ein Album kann daher ohne Tourendokumentation alleine<br />

existieren. Die Klassenbeziehungen eines Albums zeigt Abbildung 3.2.5.<br />

Abbildung 3.2.5: Modellierung der Klassenbeziehungen eines Albums<br />

Klasse Album<br />

Ein Album wird eindeutig i<strong>den</strong>tifiziert durch eine Nummer, hat einen Namen <strong>und</strong> eine (kurze)<br />

Beschreibung. Eine „Name – Beschreibung“ Kombination eines Albums ist z.B. „Zentralpyrenäen,<br />

Gavarnie – Die beliebtesten Wanderungen r<strong>und</strong> um Gavarnie.“ Ein jedes Album hat einen<br />

hauptverantwortlichen Autor, der <strong>für</strong> die Inhalte des Albums verantwortlich ist.<br />

Ein jedes Album hat einen Albumtyp. Der Typ sagt aus, welcher Typ <strong>von</strong> Touren sich im Album<br />

befindet (bzw. befin<strong>den</strong> wird). Z.B. beinhaltet ein Wanderalbum Wanderungen, ein<br />

Hochtourenalbum Hochtouren, etc..<br />

Die Freigabe­Felder sind entsprechend <strong>den</strong> Freigabemöglichkeiten im Öffentlichkeitsupdate aus<br />

Abschnitt 2.1.5 zu interpretieren. Die Freigabe Publizieren bedeutet daher, dass das Album<br />

öffentlich gef<strong>und</strong>en wer<strong>den</strong> kann, die Freigabe öffentliche Anzeige (diese entspricht der<br />

Veröffentlichung) in <strong>einer</strong> Sprache bedeutet, dass die öffentlichen Basisdaten des Albums angezeigt<br />

Walter Sunk 44


3 Modellierung 30. August 2006<br />

wer<strong>den</strong>. Für alle Freigaben ist die Zustimmung des zugehörigen Autorenbetreuers notwendig. Aus<br />

diesem Gr<strong>und</strong> ist <strong>für</strong> jedes Freigabefeld ein eigenes Freigabefeld <strong>für</strong> <strong>den</strong> Betreuer vorgesehen.<br />

Zu jedem Album sollen die beteiligten Autoren gemäß Abschnitt 3.1.3 ein Vorwort verfassen<br />

können, das über die Inhalte des Albums berichtet. Außerdem sollen Autoren Impressionsfotos zum<br />

Album hinzufügen können. Aufgr<strong>und</strong> dessen, dass das Vorwort ein beliebig langer Text sein kann,<br />

wird es nicht als Klasse modelliert, sondern in <strong>einer</strong> Textdatei im Dateisystem <strong>und</strong> nicht in der<br />

Datenbank abgelegt. Nachdem Impressionsfotos k<strong>einer</strong>lei Zusatzinformation bedürfen, wer<strong>den</strong><br />

diese ebenfalls direkt im Dateisystem gespeichert <strong>und</strong> wer<strong>den</strong> daher auch nicht durch eine Klasse<br />

repräsentiert. Aufgr<strong>und</strong> der beschriebenen Gründe scheinen die Impressionsfotos <strong>und</strong> das Vorwort<br />

daher auch nicht im Klassendiagramm auf.<br />

Albenautoren<br />

Wie in der Aufgabenstellung in Abschnitt 1.2 beschrieben sollen Autoren die Möglichkeit haben,<br />

Tourenalben gemeinsam zu erstellen. Zu diesem Zweck kann der hauptverantwortliche Autor eines<br />

Albums anderen Autoren gestatten, Touren in das Album zu stellen. Autoren, die Touren in ein<br />

Album stellen dürfen, sind Albenautoren. Der hauptverantwortliche Autor eines Albums ist somit<br />

auch Albenautor seines Albums. Der hauptverantwortliche Autor kann andere Autoren zu<br />

Albenautoren seines Albums machen, wodurch die anderen Autoren ihre Touren in das Album des<br />

hauptverantwortlichen Autors stellen können.<br />

Tourenalben<br />

Gemäß Abschnitt 1.3 ist ein Tourenalbum eine Zusammenstellung ausgewählter Touren. In diesem<br />

Fall sind Touren also bereits vorhan<strong>den</strong>. In der Modellierung könnte man daher ein Tourenalbum<br />

dem ersten Anschein nach als ein Album, dem Touren hinzugefügt wor<strong>den</strong> sind, interpretieren. Dies<br />

ist jedoch nicht ganz korrekt, weil wie in diesem Abschnitt besprochen nur Albenautoren Touren zu<br />

ihren Alben hinzufügen dürfen. Ein Tourenalbum ist somit eine Beziehung zwischen der Klasse<br />

Tour <strong>und</strong> der Klasse Albenautor, wobei die Bedingung erfüllt sein muss, dass ein Albenautor nur<br />

jene Touren zum Tourenalbum hinzufügen kann, die er selbst verfasst hat. Es muss also beim<br />

Tourenalbum die Bedingung Tour.AutorBN == Albenautor.AutorBN erfüllt sein, wobei das Feld<br />

AutorBN <strong>den</strong> Benutzernamen des Autors darstellt.<br />

3.2.5 Übersetzer<br />

Tourenübersetzer<br />

Ein Tourenübersetzer übersetzt eine Tour in eine bestimmte Sprache. Genauer gesagt kann ein<br />

Tourenübersetzer die Tour nur in jener Sprache updaten, <strong>für</strong> die er vom Autor die Berechtigung<br />

dazu bekommen hat. Der Autor <strong>einer</strong> Tour kann demnach <strong>für</strong> seine Touren einzelne Übersetzer<br />

bestimmen. Durch die Festlegung eines Übersetzers wird aus dem Übersetzer ein Tourenübersetzer.<br />

Um sicherzustellen, dass Tourenübersetzer nur Daten in bestimmten Sprachen updaten können,<br />

wird ein Tourenübersetzer nur <strong>für</strong> eine bestimmte Sprache definiert. Soll z.B. ein Übersetzer eine<br />

Tour in 2 Sprachen updaten dürfen, dann müssen folglich 2 Tourenübersetzer definiert wer<strong>den</strong>.<br />

Abbildung 3.2.7 zeigt das zugehörige Klassendiagramm.<br />

Tourenübersetzer dürfen nur jene Daten updaten, die auch wirklich übersetzbar sind. Beispielsweise<br />

darf ein Tourenübersetzer die Schwierigkeitsbewertung <strong>einer</strong> Tour (z.B. bei <strong>einer</strong> Wanderung die<br />

Felder S_W <strong>und</strong> SSt_W) nicht ändern können. Allgemein gesprochen darf also ein<br />

Walter Sunk 45


3 Modellierung 30. August 2006<br />

Tourenübersetzer alle mehrsprachigen Felder in Abbildung 3.2.3 (außer die Freigabefelder), alle mit<br />

der Tour in Beziehung stehen<strong>den</strong> mehrsprachigen Felder in Abbildung 3.2.4 (die mehrsprachigen<br />

Felder sind mit einem * gekennzeichnet), <strong>und</strong> die Beschreibungstexte der Tour in s<strong>einer</strong> Sprache<br />

updaten, alle anderen Felder <strong>und</strong> Daten jedoch nicht.<br />

Albenübersetzer<br />

Für Albenübersetzer gilt sinngemäß dasselbe wie <strong>für</strong> Tourenübersetzer aus Abschnitt 3.2.5. Ein<br />

Albenübersetzer übersetzt mehrsprachige Daten eines Album in eine bestimmte Sprache. Der<br />

hauptverantwortliche Autor kann demnach <strong>für</strong> seine Alben einzelne Übersetzer bestimmen. Um<br />

sicherzustellen, dass Albenübersetzer nur Daten in bestimmten Sprachen updaten können, wird ein<br />

Albenübersetzer nur <strong>für</strong> eine bestimmte Sprache definiert. Abbildung 3.2.7 zeigt das zugehörige<br />

Klassendiagramm.<br />

Wie <strong>für</strong> die Tourenübersetzer aus Abschnitt 3.2.5 gilt auch <strong>für</strong> Albenübersetzer, dass diese nur jene<br />

Daten updaten dürfen, die auch wirklich übersetzbar sind. Allgemein gesprochen darf also ein<br />

Albenübersetzer alle mehrsprachigen Felder (außer natürlich die Freigabefelder) in Abbildung 3.2.5<br />

(die mehrsprachigen Felder sind mit einem * gekennzeichnet) sowie das Vorwort des Albums in<br />

s<strong>einer</strong> Sprache updaten, alle anderen Felder <strong>und</strong> Daten jedoch nicht.<br />

3.2.6 Touren­ <strong>und</strong> Albenberechtigungen<br />

Tourenberechtigungen<br />

Abbildung 3.2.6: Klassendiagramm zur Modellierung eines Tourenübersetzers<br />

Abbildung 3.2.7: Klassendiagramm zur Modellierung eines Albenübersetzers<br />

Eine Tourenberechtigung gibt an, welcher K<strong>und</strong>e die Daten welcher Tour beziehen darf. Eine<br />

Tourenberechtigung wird in der Regel beim Kauf <strong>einer</strong> Tour vergeben. Aus rechtlichen Grün<strong>den</strong><br />

wird eine Tourenberechtigung immer nur <strong>für</strong> einen bestimmten Zeitraum ausgegeben (andernfalls<br />

müsste rechtlich gesehen eine Tourendokumentation nach einem Kauf ewig am Server liegen (!)).<br />

Walter Sunk 46


3 Modellierung 30. August 2006<br />

Daher wird zu jeder Tourenberechtigung das Kaufdatum <strong>und</strong> das Ablaufdatum gespeichert.<br />

Abbildung 3.2.8 zeigt das Klassendiagramm.<br />

Der Kauf <strong>einer</strong> Tourendokumentationen erfolgt immer in <strong>einer</strong> bestimmten Sprache, auch wenn die<br />

Dokumentation in mehreren Sprachen verfügbar ist. Dies ist deshalb so geregelt, weil auch<br />

Übersetzer bezahlt wer<strong>den</strong> müssen. Ein Übersetzer kann dadurch z.B. am Verkauf an <strong>den</strong> in s<strong>einer</strong><br />

Sprache verkauften Dokumentationen beteiligt wer<strong>den</strong>. Daher wird eine Tourenberechtigung immer<br />

in <strong>einer</strong> bestimmten Sprache vergeben. Die Klasse Tourenberechtigung muss daher noch um das<br />

Feld Sprache erweitert wer<strong>den</strong>.<br />

Albenberechtigungen<br />

Abbildung 3.2.8: Klassendiagramm zur Modellierung <strong>einer</strong> Tourenberechtigung<br />

Für Albenberechtigungen gilt sinngemäß dasselbe wie <strong>für</strong> Tourenberechtigungen. Abbildung 3.2.9<br />

zeigt das Klassendiagramm. Eine Albenberechtigung gibt an, welcher K<strong>und</strong>e die Daten welcher<br />

Alben beziehen darf. Dabei sind auch wirklich nur die Daten des entsprechen<strong>den</strong> Albums, <strong>und</strong> nicht<br />

die Daten der zugehörigen Touren des zugehörigen Tourenalbums gemeint. Damit ein K<strong>und</strong>e auch<br />

auf die Touren des Tourenalbums zugreifen kann, muss er <strong>für</strong> diese Touren eine entsprechende<br />

Tourenberechtigung besitzen. Aus diesem Gr<strong>und</strong> wird beim Erwerb eines Tourenalbums nicht nur<br />

die zugehörige Albenberechtigung vergeben, sondern es wer<strong>den</strong> auch Tourenberechtigungen <strong>für</strong> alle<br />

Touren des Tourenalbums eingetragen (gemäß der Aufgabenstellung aus Abschnitt 1.2 wer<strong>den</strong> ja<br />

beim Erwerb eines Tourenalbums alle Touren des Tourenalbums ebenfalls erworben).<br />

Abbildung 3.2.9: Klassendiagramm zur Modellierung <strong>einer</strong> Albenberechtigung<br />

Aus rechtlichen Grün<strong>den</strong> wird eine Albenberechtigung wie eine Tourenberechtigung ebenfalls<br />

immer nur <strong>für</strong> einen bestimmten Zeitraum ausgegeben. Der Zeitraum der Albenberechtigung <strong>und</strong><br />

der Zeitraum der Tourenberechtigungen der Touren des Albums müssen gleich eingetragen wer<strong>den</strong>,<br />

Walter Sunk 47


3 Modellierung 30. August 2006<br />

um Verwirrungen beim K<strong>und</strong>en zu vermei<strong>den</strong>. Daher wird zu jeder Albenberechtigung das<br />

Kaufdatum <strong>und</strong> das Ablaufdatum gespeichert.<br />

Der Kauf eines Albums erfolgt (wie in Abschnitt 3.2.5 beschrieben aufgr<strong>und</strong> der Bezahlung <strong>von</strong><br />

Übersetzern) immer in <strong>einer</strong> bestimmten Sprache, auch wenn das Album in mehreren Sprachen<br />

verfügbar ist. Die Kaufsprache des Albums ist dabei natürlich auch gleichzeitig die Kaufsprache der<br />

Touren, die sich im Album befin<strong>den</strong>. Dies bedeutet, dass die Albenberechtigung <strong>und</strong> die<br />

zugehörigen Tourenberechtigungen genau in dieser Kaufsprache vergeben wer<strong>den</strong>. Aus diesem<br />

Gr<strong>und</strong> muss auch die Klasse Albenberechtigung ein Feld Sprache enthalten.<br />

3.2.7 Aufladung des Guthabens<br />

Um Dokumentationen erwerben zu können, muss ein K<strong>und</strong>e gemäß der Aufgabenstellung in<br />

Abschnitt 1.2 zuerst ein Guthaben aufla<strong>den</strong>. Zwecks besseren Verständnis der vorliegen<strong>den</strong> Arbeit<br />

wird das zugehörige Klassendiagramm zum Durchführen <strong>einer</strong> Aufladung im Überblick in<br />

Abbildung 3.2.10 dargestellt. Die genaue Modellierung der Klassen <strong>und</strong> die Modellierung des<br />

Ablaufs der Aufladung sind Inhalt der Praktikumsarbeit [WaSu06].<br />

Damit eine Aufladung durchgeführt wer<strong>den</strong> kann, müssen zuerst bestimmte Zahlungsdaten wie z.B.<br />

die Zahlungsart (Zahlungsarten sind z.B. Kreditkarte, Banküberweisung, Payment Provider, etc.)<br />

vom K<strong>und</strong>en entgegengenommen wer<strong>den</strong>. Diese Daten wer<strong>den</strong> in der Klasse EAufladung (das steht<br />

<strong>für</strong> „Erwartete Aufladung“ gesammelt). Nachdem der K<strong>und</strong>e die gesammelten Zahlungsdaten<br />

abgeschickt hat, entsteht rechtlich gesehen ein Vertrag zur Aufladung. Dieser Vertrag wird durch<br />

die Klasse VAufladung (das steht <strong>für</strong> „Vertragliche Aufladung“) modelliert. Eine vertragliche<br />

Aufladung ist wie in [WaSu06] beschrieben intern geringfügig anders aufgebaut als eine erwartete<br />

Aufladung. Entsteht also ein Aufladevertrag, dann wer<strong>den</strong> die Daten aus der entsprechen<strong>den</strong><br />

EAufladung in eine neue VAufladung übernommen. Die EAufladung kann danach gelöscht wer<strong>den</strong>.<br />

Nachdem EAufladung <strong>und</strong> VAufladung größtenteils gleich sind <strong>und</strong> sich nur in Einzelheiten<br />

unterschei<strong>den</strong>, wird eine Generalisierung der Gemeinsamkeiten der EAufladung <strong>und</strong> der<br />

VAufladung zur Klasse Aufladung vorgenommen.<br />

3.2.8 Gebiete<br />

Abbildung 3.2.10: Klassendiagramm zur Modellierung <strong>einer</strong> Aufladung<br />

Gemäß Abschnitt 3.1.1 kann ein Benutzer Touren durch eine Gebietsauswahl auswählen. Damit<br />

eine Tour durch eine Gebietsauswahl gef<strong>und</strong>en wer<strong>den</strong> kann, muss sie mindestens ein Ziel (genauer<br />

ein Tourenziel, aus dem das Ziel hervorgeht) besitzen. Ein Ziel befindet sich dabei immer in einem<br />

bestimmten Gebiet, was nun modelliert wird.<br />

Walter Sunk 48


3 Modellierung 30. August 2006<br />

Gemäß Abschnitt 3.1.1 befindet sich ein Ziel (z.B. der Hochschober) in <strong>einer</strong> Gebirgsgruppe (der<br />

Schobergruppe), diese befindet sich in einem Gebirge (<strong>den</strong> Hohen Tauern), dieses befindet sich<br />

wiederum in <strong>einer</strong> Gebirgsregion (<strong>den</strong> Ostalpen). Als Gebiet eines Ziels wird also die Kombination<br />

Gebirgsregion – Gebirge – Gebirgsgruppe verstan<strong>den</strong>. Gebirgsregionen, Gebirge, Gebirgsgruppen<br />

<strong>und</strong> Ziele wer<strong>den</strong> durch eine Nummer eindeutig i<strong>den</strong>tifiziert <strong>und</strong> haben einen Namen, der<br />

mehrsprachig ausgeführt ist.<br />

Aus Effizienzgrün<strong>den</strong> (um umfangreiche Joins in der Datenbank zu vermei<strong>den</strong>) wird zu jeder<br />

Klasse die Gesamtanzahl der Touren gespeichert. Zu beachten ist, dass <strong>für</strong> eine Tour mit mehreren<br />

Tourenzielen, die Gesamtanzahl an Touren in <strong>den</strong> Klassen Gebirgsregion, Gebirge <strong>und</strong><br />

Gebirgsgruppe richtig erhöht wer<strong>den</strong> muss. Zur Demonstration nehmen wir als Beispiel an, wir<br />

unternehmen in Osttirol eine Hüttenwanderung mit <strong>den</strong> Zielen Glorer Hütte (Glocknergruppe) ­<br />

Gernot Röhr Biwak (Schobergruppe) – Elberfelderhütte (Schobergruppe). Die Gesamtanzahl an<br />

Touren aller Ziele muss um 1 erhöht wer<strong>den</strong>. Die Wanderung besitzt Ziele in der Glocknergruppe<br />

<strong>und</strong> Ziele in der Schobergruppe. Folglich muss die Gesamtanzahl an Touren in der Glocknergruppe<br />

<strong>und</strong> in der Schobergruppe um 1 erhöht wer<strong>den</strong>. Sowohl die Glocknergruppe als auch die<br />

Schobergruppe befin<strong>den</strong> sich in <strong>den</strong> Hohen Tauern, folglich muss die Gesamtanzahl an Touren in<br />

<strong>den</strong> Hohen Tauern um 1 (nicht um 2!) erhöht wer<strong>den</strong>. Nachdem sich die Hohen Tauern in <strong>den</strong><br />

Ostalpen befin<strong>den</strong>, muss auch die Gesamtanzahl der Touren in <strong>den</strong> Ostalpen um 1 erhöht wer<strong>den</strong>.<br />

Jeder Tour kann gemäß Abschnitt 3.2.3 Talorte besitzen (ein Talort, der in Beziehung mit <strong>einer</strong><br />

Tour steht, ist gemäß Abschnitt 3.2.3 ein Tourentalort). Um einen Talort (z.B. Lienz in Osttirol)<br />

auffin<strong>den</strong> zu können, erhält dieser eine Alpinregion (Osttirol). Um die Alpinregion auffin<strong>den</strong> zu<br />

können, erhält diese wiederum ein Alpinstaat (Österreich). Alpinstaaten sind Staaten, in <strong>den</strong>en<br />

alpine Touren durchgeführt wer<strong>den</strong> können, also im wesentlichen solche Staaten, die Berge<br />

besitzen. Ein Alpinstaat ist daher eine Spezialisierung eines Staates.<br />

Abbildung 3.2.11 zeigt das Klassendiagramm <strong>für</strong> die Gebietsauswahl (also zum Auffin<strong>den</strong> <strong>von</strong><br />

Zielen) <strong>und</strong> das Klassendiagramm <strong>für</strong> die Auffindung <strong>von</strong> Talorten.<br />

Abbildung 3.2.11: Klassendiagramme zur Modellierung zum Auffin<strong>den</strong> <strong>von</strong> Zielen <strong>und</strong> Talorten<br />

Walter Sunk 49


3 Modellierung 30. August 2006<br />

3.2.9 PDF­Dokumente<br />

Wie in Abschnitt 3.1.2 beschrieben können zu jeder Tour zwei PDF­Dokumente heruntergela<strong>den</strong><br />

wer<strong>den</strong>. Aus Platzgrün<strong>den</strong> am Server (das Beschreibungs­PDF kann bis zu 5MB haben, das Foto­<br />

PDF kann bis zu 25MB haben) <strong>und</strong> weil sich der Inhalt der PDF­Dokumente ändern kann, wer<strong>den</strong><br />

diese nach einem entsprechen<strong>den</strong> HTTP­Request dynamisch generiert. Die Generierung eines PDF­<br />

Dokuments benötigt jedoch einige Rechenleistung des Servers. Wür<strong>den</strong> zu viele PDF­Dokumente<br />

zur gleichen Zeit heruntergela<strong>den</strong> wer<strong>den</strong>, dann könnte es zu <strong>einer</strong> Überlastung des Servers<br />

kommen. Aus diesem Gr<strong>und</strong> muss die Anzahl an PDF­Dokumente, die gleichzeitig generiert<br />

wer<strong>den</strong>, beschränkt wer<strong>den</strong>. Dies wird dadurch erreicht, dass <strong>für</strong> einen bestimmten Benutzer nur<br />

eine bestimmte Anzahl an HTTP­Requests zur PDF Generierung erlaubt sind.<br />

Um die entsprechen<strong>den</strong> HTTP­Requests eines Benutzers aufzuzeichnen, muss dieser Benutzer<br />

i<strong>den</strong>tifiziert wer<strong>den</strong>. Nachdem z.B. Beispieltouren öffentlich zugänglich sind, <strong>und</strong> der Benutzer<br />

daher zur Generierung der PDF­Dokumente der Beispieltouren nicht eingeloggt sein muss, wird der<br />

Benutzer anhand s<strong>einer</strong> IP­Adresse i<strong>den</strong>tifiziert. Man könnte <strong>den</strong> Benutzer auch anhand eines<br />

Cookies i<strong>den</strong>tifizieren. Nachdem aber Cookies leichter zu manipulieren sind als IP­Adressen, wird<br />

aufgr<strong>und</strong> <strong>von</strong> möglichen Denial­of­Serivce Attacken (es könnte versucht wer<strong>den</strong>, durch <strong>den</strong><br />

Download zu vieler PDF­Dokumente eine Überlastung des Servers herbeizuführen, wodurch der<br />

Server dann keine Anfragen mehr beantworten könnte) die I<strong>den</strong>tifizierung mittels IP­Adresse<br />

vorgezogen. Sollten (was sehr unwahrscheinlich ist) mehrere Benutzer gleichzeitig ein PDF<br />

herunterla<strong>den</strong> wollen, die dieselbe IP­Adresse haben, dann kann es mitunter vorkommen, dass ein<br />

Benutzer warten <strong>und</strong> <strong>den</strong> Download später durchführen muss.<br />

Im folgen<strong>den</strong> wird ein HTTP­Request zur Generierung eines PDF­Dokuments mit nachfolgendem<br />

Download des PDF­Dokuments ein „PDF­Request“ genannt. Ein PDF­Request wird durch die<br />

Klasse PDFRequest wie in Abbildung 3.2.12 gezeigt modelliert. Um zu verhindern, dass ein<br />

Benutzer zu viele PDF­Requests ausführt, wer<strong>den</strong> die PDF­Requests eines Benutzers (also <strong>einer</strong> IP­<br />

Adresse) innerhalb eines vorgegebenen Zeitfensters (REQUEST_WINDOW) gezählt. Die Anzahl<br />

der gleichzeitig generierten PDF­Dokumente darf dabei eine vorgegebene maximale Anzahl nicht<br />

überschreiten (MAX_PDF_REQUESTS). Beispielsweise bedeuten ein Zeitfenster <strong>von</strong> 300<br />

Sek<strong>und</strong>en <strong>und</strong> eine maximale Anzahl <strong>von</strong> 5 PDF­Requests, dass innerhalb der letzten 300 Sek<strong>und</strong>en<br />

ein Benutzer (eine IP­Adresse) maximal 5 PDF­Requests ausführen darf. Um die Anzahl der bereits<br />

getätigten PDF­Requests innerhalb des Zeitfensters überhaupt zählen zu können, muss bekannt sein,<br />

wann der PDF­Request ausgeführt wurde. Zu diesem Zweck wird die Zeit des PDF­Requests in<br />

dem Feld RequestTimestamp gespeichert..<br />

Abbildung 3.2.12: Klassendiagramm zur Modellierung eines PDF­Requests<br />

Die Klasse PDFRequestHandler ist eine Sammlung <strong>von</strong> Metho<strong>den</strong> zum Verwalten der PDF­<br />

Requests in der Datenbank. Die Definitionen der Metho<strong>den</strong> sollten selbsterklärend sein.<br />

Walter Sunk 50


3 Modellierung 30. August 2006<br />

3.2.10 Werber­Domains<br />

Gemäß Abschnitt 3.2.1 können Werber <strong>für</strong> die Bergsportplattform Werbung machen. Werber<br />

machen dabei K<strong>und</strong>en auf die Bergsportplattform aufmerksam. Wenn sich ein K<strong>und</strong>e auf der<br />

Bergsportplattform anmeldet, erhält er einen Werber. Sollte ein K<strong>und</strong>e keinen Werber haben,<br />

bekommt er einen Default­Werber.<br />

Eine Möglichkeit, <strong>den</strong> Werber eines K<strong>und</strong>en zu i<strong>den</strong>tifizieren, besteht über <strong>den</strong> HTTP­Referer des<br />

K<strong>und</strong>en. Der HTTP­Referer ist dabei jene URL, auf welcher der Werber einen Link zur<br />

Bergsportplattform anbringt. Die Domain des HTTP­Referers wird im folgen<strong>den</strong> Werber­Domain<br />

genannt (z.B. im HTTP­Referer „http://www.werber.com/links/partnerseiten.html“ ist die Werber­<br />

Domain „werber.com“). Um <strong>den</strong> Werber aus dem HTTP­Referer heraus i<strong>den</strong>tifizieren zu können,<br />

müssen also Aufzeichnungen darüber geführt wer<strong>den</strong>, welche Werber­Domain zu welchem Werber<br />

gehört. Eine jede Werber­Domain hat dabei genau einen Werber. Umgekehrt kann jeder Werber<br />

(muss aber nicht) eine Werber­Domain auf der Bergsportplattform eintragen lassen. Abbildung<br />

3.2.13 zeigt das zugehörige Klassendiagramm.<br />

Die Klasse WerberDomainHandler verwaltet Werber­Domains in der Datenbank. Aus<br />

Sicherheitsgrün<strong>den</strong> wer<strong>den</strong> Werber­Domains <strong>von</strong> einem Administrator direkt in die Datenbank<br />

eingetragen. Aus diesem Gr<strong>und</strong> enthält die Klasse WerberDomain keine insert, update oder delete<br />

Metho<strong>den</strong> <strong>für</strong> Werber­Domains. Nachdem sich also ein neuer Benutzer angemeldet hat, kann mit<br />

Hilfe der Funktion sucheWerber() möglicherweise der Werber des Benutzers festgestellt wer<strong>den</strong>.<br />

3.2.11 Ausgewählte Hilfsklassen<br />

Im folgen<strong>den</strong> wer<strong>den</strong> die wichtigsten zur Anwendung kommen<strong>den</strong> Hilfsklassen kurz diskutiert.<br />

Klasse ImageUtilities<br />

Abbildung 3.2.13: Klassendiagramm zur Modellierung der Werber­Domains<br />

Gemäß Abschnitt 2.1.5 können Autoren Fotos über FTP auf <strong>den</strong> Server der Bergsportplattform<br />

hinaufla<strong>den</strong>. Aus Sicherheitsgrün<strong>den</strong> darf der Dateiname hinaufgela<strong>den</strong>er Fotos nur aus bestimmten<br />

Zeichen bestehen, daher muss der Dateiname der Fotos überprüft wer<strong>den</strong>. Damit Fotos in <strong>den</strong><br />

einzelnen Dokumentationen einheitlich sind, müssen diese alle dieselben Pixel­Abmessungen<br />

haben. Um z.B. Thumbnails <strong>von</strong> Fotos erzeugen zu können, müssen Fotos komprimiert wer<strong>den</strong><br />

können. Es ist sinnvoll, diese fotospezifischen Funktionen in <strong>einer</strong> gemeinsamen Klasse zu kapseln,<br />

um gegebenenfalls Änderungen im Sourcecode nur an <strong>einer</strong> Stelle durchführen zu müssen. Zu<br />

diesem Zweck wird die Klasse ImageUtilities gemäß Abbildung 3.2.14 definiert, welche die<br />

notwendigen Funktionen zur Verfügung stellt.<br />

Die Funktion checkImgFilename() prüft einen Dateinamen eines Fotos <strong>und</strong> gibt im Fehlerfall eine<br />

Fehlermeldung in der richtigen Sprache zurück. Die Funktion checkImgSize() prüft die Pixel­<br />

Walter Sunk 51


3 Modellierung 30. August 2006<br />

Abmessungen eines Fotos (die Parameter xRequired <strong>und</strong> yRequired sind die gewünschten<br />

Abmessungen) <strong>und</strong> gibt im Fehlerfall ebenfalls eine Fehlermeldung in der richtigen Sprache zurück.<br />

Dabei ist es egal, ob es sich um ein Hochformat oder um ein Querformatfoto handelt. Die Funktion<br />

compressImage() komprimiert ein Foto auf die in <strong>den</strong> Parametern x <strong>und</strong> y angegebenen Pixel­<br />

Abmessungen. Dabei gibt der Parameter inPath an, wo sich das Foto zur Zeit befindet, <strong>und</strong> der<br />

Parameter outPath, wo das komprimierte Foto abgelegt wer<strong>den</strong> soll. Nachdem Fotos im<br />

Dateisystem vielleicht nicht vorhan<strong>den</strong> sind oder die Kompression z.B. aufgr<strong>und</strong> <strong>von</strong><br />

Zugriffsrechten nicht möglich ist, kann es vorkommen, dass diese Funktion eine Exception wirft.<br />

Klasse Mailer<br />

Die Klasse Mailer besteht im wesentlichen aus der einzigen Klassenfunktion sendMail(), die eine<br />

Kommunikation mit dem Mailserver aufbaut <strong>und</strong> eine E­Mail verschickt. Die in sendMail() intern<br />

verwendeten Funktionen wer<strong>den</strong> alle <strong>von</strong> der verwendeten Scriptsprache (in unserem Fall ist das<br />

PHP) zur Verfügung gestellt. Es ist daher eigentlich nicht notwendig, extra eine Klasse Mailer zu<br />

definieren. Die Einführung der Klasse macht jedoch Sinn, weil dadurch Änderungen an der<br />

Kommunikation mit dem Mailserver an zentraler Stelle vorgenommen wer<strong>den</strong> können.<br />

Klasse TimestampFactory<br />

Die Klasse TimestampFactory definiert einige wichtige Funktionen zum Umwandeln <strong>von</strong><br />

Timestamps in der Datenbank in Timestamps der verwendeten Scriptsprache (in unserem Fall PHP)<br />

<strong>und</strong> umgekehrt. Außerdem bietet die Klasse die Möglichkeit, Zeitangaben zu generieren <strong>und</strong> in<br />

verschie<strong>den</strong>e Formate zu formatieren. Nachdem die notwendigen Funktionen <strong>von</strong> der Scriptsprache<br />

<strong>und</strong> vom konkreten Anwendungsfall abhängig sind, wird auf die Darstellung eines<br />

Klassendiagramms verzichtet. Wie auch bei der Klasse Mailer könnte auf die Klasse<br />

TimestampFactory verzichtet wer<strong>den</strong>. Aus Grün<strong>den</strong> der Kapselung der Funktionalitäten an zentraler<br />

Stelle ist die Definition dieser Klasse jedoch sinnvoll.<br />

Klasse SQLQuery<br />

Diese Klasse stellt eine Funktion query() zur Verfügung, die SQL­Queries in der verwendeten<br />

Datenbank durchführt. Im Fehlerfall wird eine Exception geworfen. Die Klasse wird definiert, um<br />

SQLQueries <strong>und</strong> Änderungen im Sourcecode an <strong>einer</strong> zentralen Stelle durchführen zu können.<br />

3.2.12 Buchhaltung<br />

Abbildung 3.2.14: Die Klasse ImageUtilities<br />

Das Buchhaltungssystem ist da<strong>für</strong> verantwortlich, dass die Einnahmen aus Käufen sowie<br />

aufgela<strong>den</strong>en K<strong>und</strong>enguthaben richtig verwaltet wer<strong>den</strong>. Dabei soll das System der doppelten<br />

Buchhaltung wie in [EfBh04] beschrieben zur Anwendung kommen. Eine andere <strong>und</strong> einfachere<br />

Möglichkeit wäre auch, das System der einfachen Buchhaltung zu verwen<strong>den</strong>. Das System der<br />

doppelten Buchhaltung wird jedoch bevorzugt, weil dadurch gemäß [EfBh04] Fehler in der<br />

Walter Sunk 52


3 Modellierung 30. August 2006<br />

Buchhaltung einfach erkannt wer<strong>den</strong> können.<br />

Gemäß [EfBh04] besteht das System der doppelten Buchhaltung aus <strong>den</strong> 4 Teilsystemen Vermögen,<br />

Fremdkapital, Aufwände <strong>und</strong> Erträge. Jeder Benutzer <strong>und</strong> jedes Service auf der Bergsportplattform<br />

erhält ein eigenes Konto. Ein Konto ist im wesentlichen eine Sammlung <strong>von</strong> Buchungen. Alle<br />

Buchungen wer<strong>den</strong> in der Datenbank gespeichert <strong>und</strong> untereinander in Bezug gebracht. Im Modell<br />

müssen daher nur Buchungen berücksichtigt wer<strong>den</strong>, ein Konto ergibt sich automatisch, wenn man<br />

die entsprechen<strong>den</strong> Buchungen betrachtet. Die Buchungen der Benutzer <strong>und</strong> Services wer<strong>den</strong> nun in<br />

die 4 Teilsysteme der doppelten Buchhaltung wie in Abbildung 3.2.15 gezeigt eingeordnet. Alle<br />

speziellen Buchungen haben die Eigenschaften <strong>einer</strong> Buchung gemeinsam. Diese sind Nummer des<br />

Gegenkontos, Buchungszeit, Wert <strong>und</strong> Verwendungszweck. Um festzuhalten, wer die Buchung<br />

veranlasst hat, wird auch der Benutzername des Veranlassers notiert. Daher wer<strong>den</strong> alle speziellen<br />

Buchungen zu <strong>einer</strong> allgemeinen Klasse Buchung generalisiert.<br />

Wie in [EfBh04] beschrieben untergliedert sich die doppelte Buchhaltung in zwei Arbeitsbereiche.<br />

Zum einen ist der Arbeitsbereich der laufen<strong>den</strong> Buchungen (während eines Jahres) <strong>und</strong> zum anderen<br />

ist das der Jahresabschluss, der auf der Bergsportplattform zum Saisonabschluss wird.<br />

Saisonabschluss<br />

Beim Abschluss der Buchhaltung wer<strong>den</strong> alle am Erfolg beteiligten Personen (Autoren,<br />

Autorenbetreuer, Administratoren, Übersetzer, Werber) ausbezahlt. Ein Abschluss soll<br />

vollautomatisch durch einen Administrator durchgeführt wer<strong>den</strong> können. Nachdem die<br />

Bergsportplattform wie in Abschnitt 1.3 beschrieben saisongeb<strong>und</strong>en ist, wird die Buchhaltung<br />

nicht zum Jahresende hin abgeschlossen, sondern 2 Mal pro Jahr, <strong>und</strong> zwar einmal am Ende der<br />

Sommersaison <strong>und</strong> einmal am Ende der Winter­ <strong>und</strong> Frühjahrssaison. Wir sprechen daher nicht <strong>von</strong><br />

einem Jahresabschluss, sondern <strong>von</strong> einem Saisonabschluss.<br />

Nachdem gesetzlich die Buchhaltung jedoch nur am Jahresende abgeschlossen wer<strong>den</strong> darf, müssen<br />

die ausbezahlten Personen ihre Verdienste in ihre eigene Buchhaltung übernehmen, die dann<br />

jahresbasiert arbeiten muss. Das Buchhaltungssystem der Bergsportplattform ist also rechtlich<br />

gesehen nicht offiziell. Das ist jedoch in Ordnung, weil es nur intern arbeitet. Es dient lediglich<br />

dazu, die Einnahmen auf die am Erfolg beteiligten Personen richtig <strong>und</strong> automatisch aufzuteilen.<br />

Die Ergebnisse, die das Buchhaltungssystem der Bergsportplattform berechnet, müssen daher in die<br />

rechtlich offiziellen Buchhaltungssysteme der ausbezahlten Personen übergeführt wer<strong>den</strong>.<br />

Laufende Buchungen<br />

Laufende Buchungen entstehen entweder durch Aufladung eines Guthabens oder durch <strong>den</strong> Kauf<br />

<strong>einer</strong> Dokumentation. Wie in [EfBh04] beschrieben existiert in der doppelten Buchhaltung zu jeder<br />

Buchung eine Gegenbuchung. Nachfolgend wird gezeigt, welche Buchungen <strong>und</strong> Gegenbuchungen<br />

bei welchem Anlass der laufen<strong>den</strong> Buchhaltung durchgeführt wer<strong>den</strong>. Dabei wird zwecks<br />

Einfachheit folgende Notation verwendet (der Pfeil deutet <strong>den</strong> Geldfluss an):<br />

Buchung => Gegenbuchung<br />

Es sei nochmals erwähnt, dass das Buchhaltungssystem der Bergsportplattform kein rechtlich<br />

offizielles ist, es dient nur dazu, alle Käufe, Aufladungen <strong>und</strong> Verdienste richtig zu verwalten.<br />

Aufladung eines Guthabens<br />

Die Aufladung eines Guthabens bedeutet einen Erlös <strong>für</strong> die Bergsportplattform. Das Guthaben<br />

Walter Sunk 53


3 Modellierung 30. August 2006<br />

Abbildung 3.2.15: Modellierung der Buchungen im Buchhaltungssystem der Bergsportplattform<br />

wird beim entsprechen<strong>den</strong> K<strong>und</strong>en verbucht. Daher kommt es zu folgen<strong>den</strong> zwei Buchungen:<br />

Walter Sunk 54


3 Modellierung 30. August 2006<br />

Aufladebuchung => K<strong>und</strong>enbuchung<br />

Kauf <strong>einer</strong> Dokumentation<br />

Beim Kauf <strong>einer</strong> Dokumentation wird der Kaufpreis der Dokumentation (Tour oder Album) zuerst<br />

als Tourenkaufbuchung oder als Albenkaufbuchung verbucht, wobei der Kaufpreis vom Guthaben<br />

des K<strong>und</strong>en in Form <strong>einer</strong> K<strong>und</strong>enbuchung abgezogen wird. Es kommt zu folgen<strong>den</strong> 2 Buchungen:<br />

K<strong>und</strong>enbuchung => Tourenkaufbuchung bzw. Albenkaufbuchung<br />

Nachdem der Autor die Dokumentation direkt an <strong>den</strong> K<strong>und</strong>en verkauft hat, wird dem Autor<br />

nachfolgend der volle Kaufpreis in Form <strong>einer</strong> Autorenbuchung gutgeschrieben.<br />

Tourenkaufbuchung bzw. Albenkaufbuchung => Autorenbuchung<br />

Nun wird dem Autor <strong>von</strong> der Bergsportplattform das Autoren­Verkaufsservice (AVS) in Form <strong>einer</strong><br />

AVS_Buchung in Rechnung gestellt. Das AVS ist ein Prozentsatz vom Netto­Kaufpreis.<br />

Autorenbuchung => AVS_Buchung<br />

Einen Teil der Kosten des Zahlungsproviders übernimmt die Bergsportplattform, der restliche Teil<br />

ist vom Autor zu übernehmen. Deshalb wird dem Autor ein sogenannter Zahlungsausgleich in<br />

Rechnung gestellt. Das Geld am Zahlungsausgleichskonto wird dazu verwendet, <strong>den</strong><br />

Zahlungsprovider zu bezahlen.<br />

Autorenbuchung => Zahlungsausgleichsbuchung<br />

Aus dem Autoren­Verkaufsservice wer<strong>den</strong> nun alle weiteren Dienste beglichen. Eine<br />

Plattformbuchung wird <strong>für</strong> die Implementierung der Plattform verrechnet. In <strong>einer</strong><br />

Autorenbetreuerbuchung wird der Autorenbetreuer des Autors bezahlt. In <strong>einer</strong><br />

AIS_Uebersetzungsbuchung wer<strong>den</strong> Übersetzer der Plattform bezahlt. Mit <strong>einer</strong> Werberbuchung<br />

wird die Provision an <strong>den</strong> Werber des K<strong>und</strong>en abgeführt. Letztendlich wird auch der Teil der<br />

Kosten des Zahlungsproviders, der <strong>von</strong> der Plattform übernommen wird, verbucht.<br />

AVS_Buchung => Plattformbuchung<br />

=> Autorenbetreuerbuchung<br />

=> AIS_Uebersetzungsbuchung<br />

=> Werberbuchung<br />

=> Zahlungsausgleichsbuchung<br />

Abführung der Umsatzsteuer<br />

Für <strong>den</strong> Fall, dass die Bergsportplattform umsatzsteuerpflichtig wird, muss je<strong>den</strong> Monat die<br />

Umsatzsteuer an das Finanzamt abgeführt wer<strong>den</strong>. Zu diesem Zweck wird die Umsatzsteuer aus<br />

dem Autorenverkaufsservice herausgenommen.<br />

AVS_Buchung => USt_AVS_Buchung<br />

Verbuchung des Saisonabschlusses<br />

Für <strong>den</strong> Saisonabschluss wer<strong>den</strong> sämtliche Aufwandsbuchungen benötigt. Durch eine<br />

Aufwandsbuchung wird die betreffende Person oder das betreffende Service ausbezahlt. Das Geld<br />

<strong>für</strong> jede Aufwandsbuchung kommt <strong>von</strong> der entsprechen<strong>den</strong> Vermögensbuchung. Es treten also<br />

Buchungen folgender Art auf:<br />

Vermögensbuchung => Aufwandsbuchung<br />

Walter Sunk 55


3 Modellierung 30. August 2006<br />

3.3 Softwarepakete<br />

In diesem Abschnitt wer<strong>den</strong> alle Softwarepakete der Bergsportplattform modelliert.<br />

3.3.1 Gr<strong>und</strong>gerüst der Softwarepakete<br />

Ein jeder Seitenaufruf (Request) eines Benutzers wird durch ein sogenanntes Serverskript<br />

abgearbeitet. Das Serverskript steuert dabei nur die Abarbeitung, führt die Abarbeitung jedoch nicht<br />

selbst durch. Die eigentliche Abarbeitung erfolgt in sogenannten Include­Skripten, die <strong>von</strong> <strong>den</strong><br />

Serverskripten eingeb<strong>und</strong>en wer<strong>den</strong>. Die Serverskripte steuern also die Abarbeitung durch Auswahl<br />

<strong>und</strong> Einbindung bestimmter Include­Skripte. Abbildung 3.3.1 zeigt <strong>den</strong> Aufbau der Server­ <strong>und</strong><br />

Include­Skripte.<br />

Abbildung 3.3.1: Modellierung der Servers­ <strong>und</strong> Include­Skripte<br />

Die Serverskripte sind eigenständig <strong>und</strong> bil<strong>den</strong> dabei einen bestimmten Server ab. Include­Skripte<br />

hingegen sind Inhalt des zentralen Pakets includes <strong>und</strong> wer<strong>den</strong> <strong>von</strong> dort importiert. HTTP­Requests<br />

wer<strong>den</strong> <strong>von</strong> Skripten im Paket Server­Skripte beantwortet <strong>und</strong> durch die Einbindung der Pakete<br />

server­includes <strong>und</strong> common­includes abgearbeitet. Gemäß <strong>den</strong> in Abschnitt 2.2.3 diskutierten<br />

Sicherheitsaspekten wer<strong>den</strong> sensitive Daten SSL­verschlüsselt übertragen wer<strong>den</strong>. Zu diesem<br />

Zweck wer<strong>den</strong> HTTPS­Requests <strong>von</strong> Skripten im Paket SSLServer­Skripte beantwortet <strong>und</strong> durch<br />

die Einbindung der Pakete common­includes <strong>und</strong> sslserver­includes abgearbeitet. Manche Requests<br />

können sowohl als HTTP­Request als auch als HTTPS­Requests auftreten. Diese Requests wer<strong>den</strong><br />

<strong>von</strong> Skripten im Paket SupportServer­Skripte beantwortet <strong>und</strong> durch die Einbindung des Pakets<br />

common­includes abgearbeitet.<br />

3.3.2 Aufbau eingeb<strong>und</strong>ener Softwarepakete<br />

Abbildung 3.3.2 zeigt <strong>den</strong> Aufbau des Pakets includes, welches gemäß Abschnitt 3.3.1 aus <strong>den</strong> 3<br />

Paketen server­includes, common­includes <strong>und</strong> sslserver­includes besteht.<br />

Das Paket server­includes ist <strong>für</strong> die Abarbeitung <strong>von</strong> Requests zuständig, die nur über HTTP<br />

gesendet wer<strong>den</strong>. Es besteht intern aus einem Paket, welches <strong>für</strong> die Präsentation <strong>von</strong><br />

Walter Sunk 56


3 Modellierung 30. August 2006<br />

Beispieltouren verantwortlich ist, <strong>und</strong> aus einem Informationspaket, das <strong>für</strong> die Präsentation<br />

sämtlicher Informationen über die Bergsportplattform zuständig ist.<br />

Abbildung 3.3.2: Aufbau der eingeb<strong>und</strong>enen Softwarepakete<br />

Gemäß <strong>den</strong> in Abschnitt 2.2.3 dargestellten Sicherheitüberlegungen wer<strong>den</strong> sensitive Daten stets<br />

SSL­verschlüsselt gesendet. Das Paket sslserver­includes ist <strong>für</strong> die Abarbeitung <strong>von</strong> Requests<br />

zuständig, die nur über HTTPS übertragen wer<strong>den</strong>. Nachdem HTTPS­Requests SSL verschlüsselt<br />

sind, ist das Paket sslserver­includes daher <strong>für</strong> die Registrierung der Benutzer (Paket register), das<br />

Log In (Paket login), das Log Out (Paket logout), die Passwortabfrage (Paket pwrequest), <strong>den</strong><br />

Mitgliedsbereich (Paket myhome, siehe auch Abschnitt 3.3.5), das Aufladesystem (Paket aufla<strong>den</strong>)<br />

<strong>und</strong> <strong>für</strong> das Session Management (Paket sessions) verantwortlich sein. Das Paket securecodes stellt<br />

die <strong>für</strong> die Registrierung <strong>und</strong> <strong>für</strong> das Aufladesystem notwendigen Captcha­Tests mit Hilfe <strong>von</strong><br />

sogenannten Securecodes zur Verfügung, die Inhalt der Arbeit [WaSu06] sind.<br />

Das Paket common­includes beinhaltet Pakete zur Abarbeitung <strong>von</strong> Requests, die sowohl als<br />

Walter Sunk 57


3 Modellierung 30. August 2006<br />

HTTP­Requests als auch als HTTPS­Request auftreten können. Nachfolgend wer<strong>den</strong> die<br />

wichtigsten Pakete genauer beschrieben.<br />

• Das Paket bruteforcedefense stellt einen Abwehrmechanismus gegenüber Brute Force<br />

Attacken dar. Wie dieser genau funktioniert ist Inhalt der Praktikumsarbeit [WaSu06] <strong>und</strong><br />

kann dort nachgelesen wer<strong>den</strong>.<br />

• Das Paket positionlinks dient dazu, dem Benutzer die momentane Position auf der<br />

Internetseite anzuzeigen <strong>und</strong> all jene Links zu präsentieren, die zu dieser Position führen. Stellt<br />

man sich die gesamte Internetseite als Baumstruktur vor, dann wer<strong>den</strong> mit Hilfe dieses Paketes<br />

alle Links zu <strong>den</strong> Knoten des gerade ausgewählten Astes sowie das Blatt angezeigt, auf dem<br />

sich der Benutzer zur Zeit gerade befindet.<br />

• Das Paket layout ist zuständig <strong>für</strong> <strong>den</strong> Seitenaufbau <strong>einer</strong> je<strong>den</strong> Seite. Im speziellen baut es die<br />

Hauptnavigation, die Seitennavigation <strong>und</strong> die Tabs im Hauptfenster auf.<br />

• Das Paket messages dient zur Ausgabe aller möglichen Arten <strong>von</strong> Meldungen, inklusive<br />

leichter <strong>und</strong> schwerer Fehlermeldungen.<br />

• Das Paket pdf stellt Funktionen zur Verfügung, durch die PDF­Dokumente generiert wer<strong>den</strong><br />

können. Es dient dazu, um die PDF­Dokumente der dokumentierten Touren zu generieren.<br />

• Das Paket classes beinhaltet alle verwendeten Klassen.<br />

• Das Paket validate ist <strong>für</strong> Sicherheitsprüfungen zuständig. Es dient u.a. dazu, dass die<br />

Benutzersprache, Cookies <strong>und</strong> Sessions überprüft <strong>und</strong> richtig gesetzt wer<strong>den</strong>.<br />

• Das Paket mail stellt wichtige Funktionen zur Erzeugung <strong>von</strong> E­Mails zur Verfügung. Dabei<br />

wer<strong>den</strong> insbesondere wichtige Header­Informationen sowie allgemeine Header­ <strong>und</strong> Footer­<br />

Textzeilen im Body <strong>von</strong> E­Mails generiert.<br />

• Das Paket tourenmenue ist <strong>für</strong> die Präsentation des Tourenmenüs <strong>und</strong> aller darin enthaltenen<br />

Inhalte zuständig. Die genauen Inhalte wer<strong>den</strong> in Abschnitt 3.3.4 beschrieben.<br />

3.3.3 Aufbau der Serverskripte<br />

Gemäß Abschnitt 3.3.1 dienen die Serverskripte dazu, die Abarbeitung <strong>von</strong> Requests zu steuern.<br />

Die Serverskripte teilen sich dabei in jene Skripte, die nur HTTP­Requests (Paket Server­Skripte)<br />

beantworten, jene, die nur HTTPS­Requests beantworten (Paket SSLServer­Skripte) <strong>und</strong> jene, die<br />

Requests beantworten, dis sowohl als HTTP­Requests als auch HTTPS­Requests auftreten können<br />

(Paket SupportServer­Skripte). Abbildung 3.3.3 zeigt <strong>den</strong> Aufbau der Serverskripte.<br />

• Das Paket Server­Skripte ist <strong>für</strong> die Erzeugung der Beispieltouren (Paket Beispieltouren) <strong>und</strong><br />

des Informationsbereichs (Paket Info) zuständig.<br />

• Das Paket SupportServer­Scripte ist <strong>für</strong> die Erzeugung des Tourenmenüs (Paket<br />

Tourenmenue) <strong>und</strong> aller darin enthaltenen Inhalte, <strong>für</strong> die Ausgabe <strong>von</strong> CSS­Stylesheets<br />

(Paket CSS), <strong>für</strong> die Generierung <strong>von</strong> Bildern (Paket IMG) <strong>und</strong> <strong>für</strong> die Generierung <strong>von</strong> Fotos<br />

(Paket Fotoerstellung) zuständig.<br />

• Das Paket SSLServer­Skripte ist <strong>für</strong> die Steuerung der Aufladung des Guthabens, <strong>für</strong> die<br />

Steuerung des Log In <strong>und</strong> des Log Out, <strong>für</strong> <strong>den</strong> Mitgliedsbereich (Paket MyHome), <strong>für</strong> die<br />

Steuerung der Passwortabfrage (Paket PwRequest) <strong>und</strong> <strong>für</strong> die Steuerung der Registrierung<br />

<strong>von</strong> neuen Benutzern zuständig.<br />

Walter Sunk 58


3 Modellierung 30. August 2006<br />

Bei der Serverkonfiguration ist zu beachten, dass der zum Einsatz kommende Webserver so<br />

konfiguriert wer<strong>den</strong> muss, dass bei Auftreten <strong>von</strong> HTTP <strong>und</strong> HTTPS­Requests dann auch<br />

tatsächlich die entsprechen<strong>den</strong> Serverskripte ausgeführt wer<strong>den</strong>.<br />

Abbildung 3.3.3: Aufbau der Serverskripte<br />

3.3.4 Inhalte des Tourenmenüs<br />

Das Paket tourenmenue ist gemäß Abschnitt 3.3.2 Inhalt des Pakets common­includes <strong>und</strong> wird<br />

daher sowohl <strong>für</strong> die Abarbeitung <strong>von</strong> HTTP­Requests als auch <strong>für</strong> die Abarbeitung <strong>von</strong> HTTPS­<br />

Requests benötigt. Die Inhalte des Tourenmenüs wer<strong>den</strong> in der Regel über HTTP­Requests<br />

abgefragt, wenn der betreffende Benutzer nicht eingeloggt ist. Im Falle eines eingeloggten<br />

Benutzers wer<strong>den</strong> sämtliche Inhalte des Tourenmenüs über HTTPS abgefragt, weil dann sensitive<br />

Benutzerdaten geschützt wer<strong>den</strong> müssen.<br />

Die einzelnen Inhalte des Pakets tourenmenue sind in Abbildung 3.3.4 dargestellt. Diese bieten<br />

gleichzeitig die Inhalte zur Abarbeitung der Use Cases des Subsystems Tourenmenü der Startseite<br />

(siehe Abschnitt 2.1.1). Demzufolge kommen nachfolgende Pakete zur Anwendung.<br />

• Das Paket touren ist zum einen <strong>für</strong> die Tourenauswahl <strong>und</strong> zum anderen <strong>für</strong> die Darstellung<br />

sämtlicher Dokumentationsinhalte <strong>einer</strong> Tour zuständig. Zu beachten ist, dass nur immer<br />

solche Inhalte angezeigt wer<strong>den</strong> dürfen, <strong>für</strong> die der betreffende Benutzer auch die notwendigen<br />

Rechte besitzt.<br />

• Das Paket alben ist zum einen <strong>für</strong> die Albentypauswahl <strong>und</strong> die Albenauswahl, <strong>und</strong> zum<br />

anderen <strong>für</strong> die Darstellung sämtlicher Dokumentationsinhalte eines Albums zuständig. Da<br />

innerhalb <strong>einer</strong> Albendokumentation auch Tourendokumentationen angezeigt wer<strong>den</strong>,<br />

importiert das Paket albendoku die entsprechen<strong>den</strong> Pakete aus dem Paket touren.<br />

Walter Sunk 59


3 Modellierung 30. August 2006<br />

• Das Paket dokusuche ist <strong>für</strong> die Suche nach Touren <strong>und</strong> Alben zuständig. Die Ergebnisse der<br />

Suche sind demnach auch nach Touren <strong>und</strong> Alben gegliedert. Um die Suche durchzuführen,<br />

muss ein Benutzer Schlüsselwörter eingeben, die dann in bestimmten Inhalten aller<br />

vorhan<strong>den</strong>en <strong>und</strong> öffentlich freigegebenen Dokumentationen gesucht wer<strong>den</strong>.<br />

• Das Paket neueDokus gibt Auskunft über neue Dokumentationen <strong>und</strong> bietet die<br />

entsprechen<strong>den</strong> Links zu diesen Dokumentation an.<br />

3.3.5 Bereich <strong>für</strong> Mitglieder<br />

Abbildung 3.3.4: Aufbau des Tourenmenüs<br />

Sämtliche Inhalte des Mitgliedsbereich wer<strong>den</strong> durch das in Abschnitt 3.3.2 definierte Paket<br />

myhome erzeugt <strong>und</strong> verwaltet. Die einzelnen Inhalte des Mitgliedsbereichs zeigt Abbildung 3.3.5.<br />

Die gr<strong>und</strong>legen<strong>den</strong> Pakete wer<strong>den</strong> in folgendem kurz beschrieben.<br />

• Die Pakete tourenverwaltung, albenverwaltung <strong>und</strong> fotoverwaltung sind <strong>für</strong> das Erstellen <strong>und</strong><br />

Verwalten sämtlicher Touren <strong>und</strong> Alben mit allen zugehörigen Fotos zuständig.<br />

• Die Pakete gekaufteTouren <strong>und</strong> gekaufteAlben präsentieren gekaufte Dokumentationen.<br />

• Mit Hilfe des Pakets profil können alle Benutzergruppen ihr Profil updaten.<br />

• Das Paket verkauf ist zuständig <strong>für</strong> die Abwicklung des Kaufs <strong>von</strong> Dokumentationen.<br />

• Das Paket umsatzanzeige gibt Auskunft über sämtliche Umsätze auf der Plattform.<br />

• Das Paket verwaltung ist zuständig <strong>für</strong> die administrativen Bereiche der Buchhaltung, der<br />

Verwaltung der Datenbank <strong>und</strong> der Zuordnung <strong>von</strong> Werbern zu K<strong>und</strong>en.<br />

Walter Sunk 60


3 Modellierung 30. August 2006<br />

Abbildung 3.3.5: Aufbau des Bereichs <strong>für</strong> Mitglieder<br />

Walter Sunk 61


4 Ausgewählte Bereiche der Implementierung 30. August 2006<br />

4 Ausgewählte Bereiche der Implementierung<br />

In diesem Kapitel wer<strong>den</strong> die wichtigsten Punkte der Implementierung der Bergsportplattform<br />

besprochen. Eine vollständige Implementierung kann jederzeit auf Basis der in Kapitel 3 gezeigten<br />

Modellierung durchgeführt wer<strong>den</strong>. Beginnend mit Abschnitt 4.1 wird die Systemarchitektur der<br />

Plattform besprochen. Es wird gezeigt, welche Systemkomponenten <strong>für</strong> <strong>den</strong> Betrieb des Servers<br />

notwendig sind. Abschnitt 4.2 beschäftigt sich dann mit der Umsetzung der Internationalisierung,<br />

also mit der Übersetzung der Plattform. In Abschnitt 4.3 wird letztlich die Fotoverwaltung mitsamt<br />

der Fotogenerierung <strong>und</strong> der Implementierung der Schutzmaßnahmen <strong>für</strong> Fotos besprochen.<br />

4.1 Systemarchitektur<br />

Die gesamte Software der Bergsportplattform läuft zur Zeit auf einem Rechner, der an einem<br />

zentralen Access­Point in das Internet eingeb<strong>und</strong>en ist. Abbildung 4.1.1 zeigt in einem<br />

Verteilungsdiagramm sämtliche eigenständige Softwarekomponenten (als Knoten) <strong>und</strong> Software­<br />

Artefakte, die auf dem Rechner der Plattform laufen. Zusätzlich wird in Abbildung 4.1.1 gezeigt,<br />

welche Aktoren mit welchen Komponenten interagieren.<br />

Abbildung 4.1.1: Softwarekomponenten (Knoten) <strong>und</strong> Software­Artefakte am Rechner der Plattform<br />

Betriebssystem<br />

Als Betriebssystem wurde Linux gewählt, weil der größte Teil an kostenfreier Open­Source<br />

Software <strong>für</strong> Linux­Betriebssysteme entwickelt wurde. Es kommt daher nur Open­Source Software<br />

zur Anwendung.<br />

Walter Sunk 62


4 Ausgewählte Bereiche der Implementierung 30. August 2006<br />

Webserver<br />

Als Webserver wurde der Apache Webserver 1 gewählt, weil dieser <strong>für</strong> seine Stabilität bekannt ist<br />

<strong>und</strong> sich bereits im internationalen Umfeld in Geschäftsanwendungen bestens bewährt hat. Mit dem<br />

Webserver interagieren sämtliche Benutzer wie in Abschnitt 3.2.1 beschrieben. In <strong>den</strong> Webserver<br />

wur<strong>den</strong> nachfolgend beschriebene Module integriert.<br />

Script­Modul PHP<br />

Als Skriptmodul wurde die Skriptsprache PHP 2 verwendet, weil PHP sehr einfach zu verwen<strong>den</strong> ist<br />

<strong>und</strong> <strong>den</strong> kompletten Funktionsumfang, der zur <strong>Realisierung</strong> der Plattform notwendig ist, zur<br />

Verfügung stellt. In das Script­Modul wur<strong>den</strong> beim Compilieren zusätzlich eine Crypt­Library <strong>und</strong><br />

eine Library zur Internationalisierung integriert.<br />

• Die Crypt­Library wird durch die Library libmcrypt 3 realisiert. Diese Library bietet eine<br />

Vielzahl <strong>von</strong> Verschlüsselungsmetho<strong>den</strong> an. Diese Verschlüsselungsmetho<strong>den</strong> wer<strong>den</strong><br />

gebraucht, um sensitive Daten sowohl im Datenaustausch als auch zur Ablage in der<br />

Datenbank zu ver­ <strong>und</strong> entschlüsseln.<br />

• Die Library zur Internationalisierung wird durch die Tools <strong>von</strong> gettext 4 realisiert. Mit Hilfe<br />

dieser Tools können Projekte sehr effizient wie in Abschnitt 4.2 beschrieben in mehrere<br />

Sprachen übersetzt wer<strong>den</strong>.<br />

SSL­Modul OpenSSL<br />

Wie in Abschnitt 2.2.3 diskutiert soll der Webserver HTTPS­Requests, die SSL verschlüsselt sind,<br />

unterstützen. Aus diesem Gr<strong>und</strong> wurde in <strong>den</strong> Webserver das SSL­Modul OpenSSL 5 integriert,<br />

welches die notwendige SSL­Verschlüsselung zur Verfügung stellt. Um diese Verschlüsselungsart<br />

verwen<strong>den</strong> zu können, muss ein SSL­Zertifikat bei <strong>einer</strong> SSL­Zertifizierungsstelle beantragt<br />

wer<strong>den</strong>. Das SSL­Zertifikat ist dann der öffentliche Ausweis des Servers. Dieser Ausweis ist<br />

notwendig, da Browser in der Regel nur verschlüsselte Verbindungen mit zertifizierten Servern<br />

eingehen. Ist ein Server nicht zertifiziert, dann wird dem Benutzer bei einem Seitenaufruf über<br />

HTTPS im Browser eine Warnung angezeigt, dass der Server nicht vertrauenswürdig ist <strong>und</strong> aus<br />

Sicherheitsgrün<strong>den</strong> keine Verbindungen aufgebaut wer<strong>den</strong> sollten.<br />

Modul zur Bilderstellung<br />

Dieses Modul ist <strong>für</strong> die automatische Erstellung sämtlicher Bilder (<strong>und</strong> damit sämtlicher Fotos)<br />

zuständig, die im Zuge <strong>von</strong> HTTP­ oder HTTPS­Requests vom Server abgerufen wer<strong>den</strong>. Dieses<br />

Modul wird durch die Library ImageMagick 6 realisiert. Um ein Bild in <strong>einer</strong> Antwort auf einen<br />

Request zu erzeugen, kommuniziert PHP mit ImageMagick. Wie diese Kommunikation <strong>und</strong> die<br />

Generierung des Bildes mit ImageMagick im Detail funktionieren, wird in Abschnitt 4.3 gezeigt.<br />

Erstellte Serverskripte<br />

Sämtliche erstellte <strong>und</strong> in Abschnitt 3.3.1 beschriebenen Serverskripte sowie die zugehörigen<br />

Include­Skripte wer<strong>den</strong> in der Umgebung des Webservers ausgeführt <strong>und</strong> dienen zur Abarbeitung<br />

1 http://www.apache.org/<br />

2 http://www.php.net/<br />

3 http://mcrypt.sourceforge.net/<br />

4 http://www.gnu.org/software/gettext/<br />

5 http://www.openssl.org/<br />

6 http://www.imagemagick.org/<br />

Walter Sunk 63


4 Ausgewählte Bereiche der Implementierung 30. August 2006<br />

<strong>von</strong> HTTP­ <strong>und</strong> HTTPS­Requests.<br />

Server­Software<br />

Außer dem Webserver kommen noch folgende weitere Server zum Einsatz.<br />

FTP Server<br />

Als FTP Server kommt vsftpd 7 zum Einsatz, weil dieser FTP­Server auf Linux­Systemen <strong>für</strong> seine<br />

Sicherheit <strong>und</strong> Performance bekannt ist. Der FTP­Server unterstützt TLS­verschlüsselte<br />

Verbindungen. Das TLS­Verschlüsselungsprotokoll ist eine Weiterentwicklung <strong>von</strong> SSL. Mit Hilfe<br />

<strong>von</strong> TLS können FTP­Verbindungen <strong>und</strong> insbesondere der Verbindungsaufbau, im Zuge dessen der<br />

FTP­Client Benutzername <strong>und</strong> Passwort an <strong>den</strong> FTP­Server plain­text übertragt, verschlüsselt<br />

wer<strong>den</strong>. Nachdem <strong>für</strong> SSL ein SSL­Zertifikat benötigt wird, ist ein solches auch <strong>für</strong> TLS<br />

erforderlich. Der FTP­Server wird benötigt, damit Autoren Ihre Fotos auf <strong>den</strong> Rechner der<br />

Plattform hinaufla<strong>den</strong> können. Zu diesem Zweck erhält jeder Autor einen FTP­Account.<br />

Datenbankserver<br />

Als Datenbankserver wird MySQL 8 verwendet, weil MySQL zum einen eine vielfach bewährte<br />

Open­Source Software ist <strong>und</strong> zum anderen in der verwendeten Version (5.x) bereits alle<br />

notwendigen Technologien (insbesondere Foreign Keys <strong>und</strong> Stored Procedures) unterstützt. Der<br />

Datanbankserver wird dazu verwendet, alle notwendigen Daten der Bergsportplattform außer Fotos<br />

zu speichern. Nachdem Fotos große Datenmengen darstellen, wer<strong>den</strong> diese im Dateisystem <strong>und</strong><br />

nicht in der Datenbank abgelegt. Weil nur der Webserver <strong>und</strong> Administratoren lokal Verbindungen<br />

zum Datenbankserver aufbauen, wer<strong>den</strong> nur lokale Verbindung (also keine Remote­Verbindungen)<br />

zugelassen, die außerdem durch Passwörter geschützt sind.<br />

Mailserver<br />

Als Mailserver wird sendmail 9 verwendet, weil sendmail ein mittlerweile bewährter Open­Source<br />

Mailserver ist <strong>und</strong> stets auch im Hinblick auf verbesserte Sicherheitsmaßnahmen weiterentwickelt<br />

wird. Der Nachteil <strong>von</strong> sendmail ist jedoch, dass der Mailserver aufgr<strong>und</strong> seines großen<br />

Funktionsumfangs sehr komplex ist. Der Mailserver wird gemeinsam mit dem POP3­Server <strong>für</strong> die<br />

Abwicklung des E­Mail Verkehrs benötigt. Mitarbeiter sowie Einrichtungen (z.B. der<br />

K<strong>und</strong>enservice) der Plattform erhalten eine eigene E­Mail Adresse.<br />

Damit der Mailserver <strong>von</strong> dritten nicht ausgenützt wer<strong>den</strong> kann, ist <strong>für</strong> das Versen<strong>den</strong> <strong>von</strong> E­Mails<br />

eine Anmeldung (eine SMTP­Authentication) mit Benutzernamen <strong>und</strong> Passwort am Mailserver<br />

erforderlich. Da<strong>für</strong> ist die Einbindung der Library SASL 10 in <strong>den</strong> Mailserver notwendig. Um<br />

sicherzustellen, dass das Passwort nur verschlüsselt gesendet wird, ist der Mailserver so<br />

konfiguriert, dass eine Anmeldung nur verschlüsselt erfolgen darf. Als Verschlüsselungsmetho<strong>den</strong><br />

bei der Anmeldung können in sendmail z.B. CRAM­MD5 oder Kerberos verwendet wer<strong>den</strong>.<br />

Zusätzlich wurde der Mailserver auch so konfiguriert, dass er eine verschlüsselte Übertragung der<br />

E­Mails unterstützt. Dazu kommt wieder das TLS­Verschlüsselungsprotokoll zum Einsatz. Wie<br />

üblich ist <strong>für</strong> <strong>den</strong> Einsatz <strong>von</strong> TLS (TLS ist ja eine Weiterentwicklung <strong>von</strong> SSL) ein SSL­Zertifikat<br />

notwendig. Nachdem alle diese Konfigurationen ziemlich komplex <strong>und</strong> umfangreich sind, wer<strong>den</strong><br />

diese an dieser Stelle nicht näher behandelt. Das Standardwerk <strong>für</strong> sendmail [SMail03] bietet jedoch<br />

7 http://vsftpd.beasts.org/<br />

8 http://www.mysql.org/<br />

9 http://www.sendmail.org/<br />

10 http://asg.web.cmu.edu/sasl/sasl­library.html<br />

Walter Sunk 64


4 Ausgewählte Bereiche der Implementierung 30. August 2006<br />

ausführliche Informationen.<br />

POP3 Server<br />

Das POP3 Protokoll wird allgemein zum Abholen der E­Mails aus der Mailbox des jeweiligen<br />

Benutzers verwendet. Als POP3­Server, der dieses Protokoll unterstützt, <strong>und</strong> mit dem daher E­<br />

Mails <strong>von</strong> der Bergsportplattform abgefragt wer<strong>den</strong> können, wird qpopper 11 verwendet. Dieser<br />

POP3­Server ist auf Linux Betriebssystemen weit verbreitet, relativ einfach zu bedienen <strong>und</strong> hat<br />

sich schon oftmals bewährt. Außerdem unterstützt dieser POP3­Server verschlüsselte Anmeldungen<br />

(mit Hilfe der Protokolle APOP oder Kerberos) <strong>und</strong> eine verschlüsselte Datenübertragung über TLS<br />

(wo<strong>für</strong> wieder ein SSL­Zertifikat benötigt wird). Der POP3­Server wurde so aufgesetzt, dass er<br />

APOP <strong>und</strong> TLS unterstützt.<br />

SSH­Server<br />

Der SSH­Server ist in der Regel bereits bei Linux­Betriebssystem vorinstalliert <strong>und</strong> braucht nicht<br />

neu installiert wer<strong>den</strong>. Der SSH­Server wird nur <strong>von</strong> Administratoren benötigt, die am Rechner<br />

einen eigenen Benutzeraccount haben, um administrative Tätigkeiten (Einspielen neuer Software,<br />

Backups, etc.) am Server durchzuführen. SSH­Verbindungen sind stets automatisch verschlüsselt.<br />

4.2 Internationalisierung ­ Übersetzung der Plattform<br />

Gemäß der Aufgabenstellung in Abschnitt 1.2 wird die Plattform mehrsprachig ausgeführt. Gemäß<br />

Abschnitt 2.2.1 soll die Mehrsprachigkeit dabei nach <strong>den</strong> Standards <strong>für</strong> internationalisierte Software<br />

[i18nW3C] implementiert wer<strong>den</strong>. Wie bereits in Abschnitt 4.1 diskutiert wer<strong>den</strong> <strong>für</strong> die<br />

Internationalisierung die Tools <strong>von</strong> gettext verwendet. Im folgen<strong>den</strong> wird gezeigt, wie mit diesen<br />

Tools <strong>und</strong> zusammen mit der verwendeten Skriptsprache PHP mehrsprachige Software geschrieben<br />

wer<strong>den</strong> kann.<br />

Einbindung <strong>von</strong> gettext in PHP<br />

Voraussetzung <strong>für</strong> die Verwendung der Tools <strong>von</strong> gettext in PHP ist, dass PHP mit gettext­<br />

Unterstützung compiliert wird. Nach der Installation <strong>von</strong> gettext muss also PHP zuerst mit der<br />

Option „­­with­gettext“ konfiguriert wer<strong>den</strong>.<br />

Funktion gettext() in PHP<br />

Im wesentlichen funktioniert die Übersetzung so, dass der PHP­Funktion gettext() ein I<strong>den</strong>tifier<br />

(eine ID) übergeben wird. Die Funktion gettext() sucht dann diese ID abhängig <strong>von</strong> der gewählten<br />

Sprache in <strong>einer</strong> eigenen Sprachdatei <strong>und</strong> gibt <strong>den</strong> Text zurück, der zu dieser ID in der Sprachdatei<br />

notiert wurde. Um nun nicht <strong>für</strong> jede Textausgabe die Funktion gettext() eintippen zu müssen, kann<br />

statt dieser ein Schlüsselwort in Form eines Unterstrichs verwendet wer<strong>den</strong>. Beispielsweise könnte<br />

im Willkommensskript folgender Aufruf geschrieben wer<strong>den</strong>:<br />

echo _('Welcometext');<br />

Nehmen wir an, als Sprache wurde Deutsch gewählt, dann wird nun der String 'Welcometext' in der<br />

deutschen Sprachdatei gesucht (es muss <strong>für</strong> jede Sprache eine eigene Sprachdatei angelegt wer<strong>den</strong>).<br />

Der zugehörige Eintrag in der deutschen Sprachdatei könnte beispielsweise wie folgt aussehen<br />

(msgid zeigt dabei an, dass der nachfolgende String eine ID ist, msgstr ist der String, welcher zur<br />

vorher definierten ID gehört):<br />

11 http://www.eudora.com/qpopper/<br />

Walter Sunk 65


4 Ausgewählte Bereiche der Implementierung 30. August 2006<br />

msgid "Welcometext"<br />

msgstr "Willkommen auf unserer Internetseite!"<br />

In diesem Fall liefert die Funktion _('Welcometext') also <strong>den</strong> String „Willkommen auf<br />

unserer Internetseite!“ zurück, der dann durch die echo Funktion ausgegeben wird.<br />

Erstellen der Sprachdateien<br />

Die Tools <strong>von</strong> gettext stellen das Programm xgettext zur Verfügung, das IDs aus Sourcecode­<br />

Dateien automatisch extrahiert <strong>und</strong> in <strong>einer</strong> Sprachdatei ablegt. Eine Sprachdatei ist dabei lediglich<br />

eine Textdatei mit der Dateiendung .po. Die extrahierten IDs wer<strong>den</strong> in der Sprachdatei zeilenweise<br />

gespeichert. Eine Übersetzung muss unterhalb der jeweiligen ID wie im obigen Beispiel notiert<br />

wer<strong>den</strong>.<br />

Um beispielsweise die IDs aus <strong>den</strong> Dateien index.php <strong>und</strong> welcome.php in die Sprachdatei<br />

server.po zu extrahieren, kann folgender Funktionsaufruf verwendet wer<strong>den</strong> (in diesem Beispiel<br />

wird angenommen, dass die Source­Dateien im Format des westeuropäischen Zeichensatzes ISO­<br />

8859­1 gespeichert sind):<br />

xgettext -L PHP -o server.po –keyword=_ \<br />

--from-code=ISO-8859-1 \<br />

index.php welcome.php<br />

Verzeichnisstruktur der Sprachdateien<br />

Um die Effizienz bei der Auffindung der IDs in <strong>einer</strong> Sprachdatei zu steigern, wer<strong>den</strong> Sprachdateien<br />

kompiliert. Eine kompilierte Sprachdatei hat die Dateiendung .mo. Die kompilierten Dateien<br />

müssen dann in eine teils vordefinierte Verzeichnisstruktur kopiert wer<strong>den</strong>. Nehmen wir an, wir<br />

möchten deutsche, englische <strong>und</strong> französische Inhalte auf der Internetseite ausgeben. In unserem<br />

begonnenen Beispiel brauchen wir in diesem Fall 3 Versionen der Sprachdatei server.po. Durch<br />

Kompilieren erhalten wir 3 server.mo Dateien. Nehmen wir überdies an, dass wir als Basis­<br />

Verzeichnis <strong>für</strong> kompilierte Sprachdateien das Verzeichnis<br />

/www/projects/tours/locale/<br />

verwen<strong>den</strong> möchten. Dann muss folgende Verzeichnisstruktur aufgebaut wer<strong>den</strong>, wobei die 3<br />

kompilierten server.mo Dateien wie folgt abzulegen sind.<br />

/www/projects/tours/locale/de_DE/LC_MESSAGES/server.mo<br />

/www/projects/tours/locale/en_GB/LC_MESSAGES/server.mo<br />

/www/projects/tours/locale/fr_FR/LC_MESSAGES/server.mo<br />

Die vordefinierte Verzeichnisstruktur besteht dabei aus <strong>den</strong> sogenannten Locals (in unserem Fall<br />

also aus <strong>den</strong> drei Locals de_DE, en_GB, fr_FR) <strong>und</strong> <strong>den</strong> Verzeichnissen LC_MESSAGES. Die<br />

Locals sind dabei in der Datei<br />

/usr/share/locale/locale.alias<br />

definiert. Gegebenenfalls müssen in dieser Datei Definitionen <strong>für</strong> Sprachen ergänzt wer<strong>den</strong>.<br />

Kompilieren der Sprachdateien<br />

Um eine .po­Datei in eine .mo­Datei zu kompilieren, bieten die Tools <strong>von</strong> gettext das Programm<br />

mgsfmt an. Um z.B. die deutsche Version unserer server.po Datei in das richtige Verzeichnis zu<br />

kompilieren, wird folgender Programmaufruf verwendet:<br />

Walter Sunk 66


4 Ausgewählte Bereiche der Implementierung 30. August 2006<br />

msgfmt \<br />

-o /www/projects/tours/locale/de_DE/LC_MESSAGES/server.mo \<br />

server.po<br />

Textdomain<br />

Nun muss nur noch im PHP­Skript der Funktion gettext() mitgeteilt wer<strong>den</strong>, wo sich die<br />

entsprechende Sprachdatei befindet. Dies geschieht durch Definition der entsprechen<strong>den</strong><br />

Textdomain. Nehmen wir an, wir möchten Deutsch als Sprache, dann wird in unserem Beispiel eine<br />

Ausgabe wie folgt durchgeführt:<br />

$lang = "de_DE";<br />

$binding = "/www/projects/tours/locale/";<br />

$domain = "server";<br />

setlocale(LC_MESSAGES, $lang.".iso-8859-1");<br />

bindtextdomain($domain, $binding);<br />

textdomain($domain);<br />

bind_textdomain_codeset($domain, 'iso-8859-1');<br />

echo _('Welcometext');<br />

Der Variable $lang muss das entsprechende Locale, der Variable $binding das entsprechende Basis­<br />

Verzeichnis <strong>und</strong> der Variable $domain der Dateiname der Sprachdatei ohne Erweiterung<br />

zugewiesen wer<strong>den</strong>.<br />

4.3 Fotoverwaltung<br />

Verwaltung der Fotos<br />

Gemäß Abschnitt 3.1.2 wer<strong>den</strong> in Tourendokumentationen kleine Fotos in Form der Fotogalerie,<br />

mittelgroße Fotos in Form <strong>von</strong> Einzelfotos <strong>und</strong> Originalfotos angezeigt. Alle drei Formen der<br />

Darstellung benötigen unterschiedliche Pixel­Abmessungen der Fotos. Autoren la<strong>den</strong> beim<br />

Dokumentieren der Tour Originalfotos über FTP (siehe Abschnitt 4.1) auf <strong>den</strong> Server. Um nicht bei<br />

jeder Anzeige <strong>von</strong> Einzelfotos <strong>und</strong> der Fotogalerie die Originalfotos komprimieren zu müssen,<br />

wer<strong>den</strong> Fotos in folgen<strong>den</strong> Pixel­Abmessungen gespeichert:<br />

• kleine Fotos: 180x135 Pixel<br />

• mittelgroße Fotos: 580x435 Pixel<br />

• Originalfotos: 1600x1200 Pixel<br />

Für jede Tour wird ein eigenes Verzeichnis angelegt, in der sämtlichen Daten, die zur Tour gehören<br />

<strong>und</strong> nicht in der Datenbank gespeichert sind, abgelegt wer<strong>den</strong>. Fotos wer<strong>den</strong> daher in<br />

Unterverzeichnissen des jeweiligen Verzeichnisses der zugehörigen Tour gespeichert.<br />

La<strong>den</strong> <strong>von</strong> Fotos<br />

Aus Sicherheitsgrün<strong>den</strong> ist es wichtig, dass die Verzeichnisse der Touren nicht im Webserver­<br />

Verzeichnisbaum liegen, da sonst über HTTP­Requests auf die Fotos unerlaubt zugegriffen wer<strong>den</strong><br />

könnte. Damit ein Tourenfoto überhaupt erst gela<strong>den</strong> wird, muss zuerst die Berechtigung des<br />

Benutzers überprüft wer<strong>den</strong>. Tourenfotos müssen daher <strong>von</strong> PHP­Skripten gela<strong>den</strong> wer<strong>den</strong>. Das<br />

PHP­Skript muss zuerst die Berechtigung des jeweiligen Benutzers prüfen, danach erst darf das<br />

PHP­Skript das Foto la<strong>den</strong> <strong>und</strong> sen<strong>den</strong>. Das La<strong>den</strong> <strong>von</strong> Fotos mit PHP kann in der Dokumentation<br />

Walter Sunk 67


4 Ausgewählte Bereiche der Implementierung 30. August 2006<br />

<strong>von</strong> PHP nachgelesen wer<strong>den</strong>.<br />

Cachen <strong>von</strong> Fotos<br />

Gemäß Abschnitt 2.2.3 soll Browsern mitgeteilt wer<strong>den</strong>, Fotos zu cachen, um die zur Verfügung<br />

stehende Bandbreite nicht unnötig zu verbrauchen. Zu diesem Zweck wird die Header­Information<br />

"If­Modified­Since" ausgewertet, die der Browser beim Request nach dem Foto an <strong>den</strong> Server<br />

sendet. Der Browser zeigt damit an, wann das Foto in seinem Cache zum letzten Mal verändert<br />

wurde. Wie in Abschnitt 3.2.3 beschrieben, wird die Information, wann das Foto zum letzten Mal<br />

geändert oder upgedated wurde, zu jedem Foto gespeichert. Aufgr<strong>und</strong> dessen kann entschie<strong>den</strong><br />

wer<strong>den</strong>, ob das Foto neu gela<strong>den</strong> wer<strong>den</strong> muss oder vom Cache des Browsers gela<strong>den</strong> wer<strong>den</strong> kann.<br />

Für <strong>den</strong> Fall, dass das Foto nicht upgedated oder geändert wurde <strong>und</strong> daher vom Cache des<br />

Browsers gela<strong>den</strong> wer<strong>den</strong> kann, muss dem Browser als Header die Antwort "304 Not Modified"<br />

gesendet wer<strong>den</strong>. Folgendes Beispiel zeigt die Implementierung in PHP, wobei angenommen wird,<br />

dass die Variable $lm die Zeit des letzten Updates des Fotos beinhaltet.<br />

$headers = apache_request_headers();<br />

if (isset($headers['If-Modified-Since'])<br />

&& (strtotime($headers['If-Modified-Since']) >= $lm)) {<br />

$str = 'Last-Modified: '.gmdate('D, d M Y H:i:s', $lm).' GMT';<br />

// Photo not modified => send '304 Not Modified'<br />

header($str, true, 304);<br />

exit();<br />

}<br />

Muss ein Foto neu gela<strong>den</strong> wer<strong>den</strong>, dann muss dem Browser mitgeteilt wer<strong>den</strong>, das Foto zu cachen.<br />

Im weiteren muss dem Browser mitgeteilt wer<strong>den</strong>, wann das Foto zum letzten Mal geändert wurde.<br />

Das ist notwendig, damit der Browser <strong>den</strong> Header 'If­Modified­Since' in weiteren Requests<br />

mitsendet <strong>und</strong> diese Information dann wie in obigem Beispiel gezeigt ausgewertet wer<strong>den</strong> kann.<br />

Durch folgende gesendete Header­Informationen wird der Browser richtig informiert (wieder unter<br />

der Annahme, dass die Variable $lm die Zeit des letzten Updates des Fotos beinhaltet).<br />

$str = 'Last-Modified: '.gmdate('D, d M Y H:i:s', $lm).' GMT';<br />

header("Cache-Control: cache");<br />

header("Pragma: cache");<br />

header($str, true, 200); // 200 means OK<br />

Verwendung der Library ImageMagick<br />

Bilderstellung in PHP mit Hilfe <strong>von</strong> ImageMagick<br />

Wie in Abschnitt 4.1 gezeigt wird zur Bilderstellung die Library ImageMagick verwendet. Bilder<br />

wer<strong>den</strong> in Folge eines HTTP­ oder HTTPS­Requests durch ein PHP­Script gela<strong>den</strong>, wobei intern im<br />

PHP­Script das Bild zuerst mit Hilfe <strong>von</strong> ImageMagick erzeugt wird. Um das Bild mit<br />

ImageMagick zu erzeugen, muss in PHP eine Pipe zu ImageMagick geöffnet <strong>und</strong> über diese Pipe<br />

der notwendige ImageMagick­Programmaufruf zum Erstellen des Bildes ausgeführt wer<strong>den</strong>. Das<br />

erstellte Bild wird dann <strong>von</strong> PHP über diese Pipe eingelesen <strong>und</strong> anschließend gesendet. In der<br />

Implementierung sieht dies wie folgt aus (unter der Annahme, dass die Variable $cmd <strong>den</strong><br />

ImageMagick­Programmaufruf beinhaltet).<br />

$handle = popen($cmd,"rb"); // open pipe, execute ImageMagick-command<br />

$contents = stream_get_contents($handle); // read image from pipe<br />

pclose($handle); // close pipe<br />

sendHeaders(); // send necessary image-headers<br />

print $contents; // send image<br />

Walter Sunk 68


4 Ausgewählte Bereiche der Implementierung 30. August 2006<br />

Für PHP existiert eine Erweiterung, die einfache Funktionen zur Bilderstellung mit ImageMagick<br />

zur Verfügung stellt. Dabei kommt der Entwickler mit ImageMagick nicht in Berührung <strong>und</strong><br />

verwendet lediglich die Funktionen der Erweiterung. Diese Erweiterung nennt sich imagick 12 .<br />

Nachteil beim Verwen<strong>den</strong> der Erweiterung ist jedoch, dass nur der relativ geringe Funktionsumfang<br />

der Erweiterung <strong>und</strong> nicht der komplette Funktionsumfang <strong>von</strong> ImageMagick zur Verfügung steht.<br />

Außerdem ist die Qualität (speziell bei Annotierung) der erstellten Bilder bei der direkten Erstellung<br />

über die Pipe um einiges besser als bei Erstellung der Bilder mit <strong>den</strong> Funktionen der Erweiterung.<br />

Aus diesen Grün<strong>den</strong> wurde in dieser Arbeit die direkte Erstellung bevorzugt.<br />

Komprimieren <strong>von</strong> Fotos<br />

Wie in diesem Abschnitt gezeigt wer<strong>den</strong> Fotos in 3 verschie<strong>den</strong>en Formaten gespeichert, wobei<br />

Autoren die Originalfotos zur Verfügung stellen. Die kleinen <strong>und</strong> mittelgroßen Fotos wer<strong>den</strong> durch<br />

Komprimieren der Originalfotos erzeugt. Außerdem kann es vorkommen, dass Originalfotos, die<br />

der Autor zur Verfügung stellt, ebenfalls zu groß sind <strong>und</strong> komprimiert wer<strong>den</strong> müssen. Eine<br />

Komprimierung <strong>von</strong> Fotos kann mit dem Programm convert der ImageMagick Library wie folgt<br />

vorgenommen wer<strong>den</strong> (mit dem Parameter resize wer<strong>den</strong> die neuen Abmessungen angegeben,<br />

in.JPG ist das zu komprimierende Foto, dieses wird nach out.JPG komprimiert).<br />

Fotoschutz<br />

convert -resize 180x135 in.JPG out.JPG<br />

Gemäß Abschnitt 2.2.3 sollen Fotos durch Beschreiben der Header­Tags, Annotierung,<br />

Wasserzeichen <strong>und</strong> Steganographie geschützt wer<strong>den</strong>. Im folgen<strong>den</strong> wird gezeigt, wie diese<br />

Schutzmaßnahmen mit der Library ImageMagick durchgeführt wer<strong>den</strong> können. Weitere gute<br />

Beispiele fin<strong>den</strong> sich unter [IMagick].<br />

Beschreiben der Header­Tags: Beispielsweise existiert <strong>für</strong> jedes Bild der Header­Tag „comment“.<br />

Dieser eignet sich insbesondere <strong>für</strong> Copyright­Einträge. Das Programm mogrify der ImageMagick<br />

Library führt Änderungen am Bild selbst durch. Folgender Programmaufruf fügt <strong>den</strong> Copyright­<br />

Vermerk „(c) Walter Sunk“ zum Bild image.JPG als Kommentar hinzu.<br />

mogrify -comment "(c) Walter Sunk" image.JPG<br />

Um zu überprüfen, ob der Header­Tag auch wirklich beschrieben wurde, kann das Programm<br />

i<strong>den</strong>tify der ImageMagick­Library wie folgt verwendet wer<strong>den</strong> (der Parameter verbose sorgt <strong>für</strong><br />

eine detaillierte Ausgabe der Informationen).<br />

i<strong>den</strong>tify -verbose image.JPG<br />

Annotierung : Es gibt eine Vielzahl an Formen der Annotierung, also dem Hinzufügen <strong>von</strong> Text in<br />

ein Bild, deshalb sei hier nur ein einführendes Beispiel gegeben. Ausführliche Beispiele fin<strong>den</strong> sich<br />

auf [IMagick] verwiesen. Das Ergebnis des folgen<strong>den</strong> Programmaufrufs zeigt Abbildung 4.3.1.<br />

12 http://pecl.php.net/package/imagick<br />

Abbildung 4.3.1: Ein Foto vor (links) <strong>und</strong> nach der Annotierung (rechts)<br />

Walter Sunk 69


4 Ausgewählte Bereiche der Implementierung 30. August 2006<br />

convert -pointsize 24 -fill white \<br />

-draw "text 5,132 '(c) Walter Sunk'" in.JPG out.JPG<br />

Wasserzeichen: Für das Erstellen <strong>von</strong> Fotos mit Wasserzeichen muss zunächst das Wasserzeichen<br />

als graues Bild ohne Hintergr<strong>und</strong> vorliegen. Danach kann dann das Programm composite der<br />

ImageMagick Library zur Erstellung des Wasserzeichens verwendet wer<strong>den</strong>. Das Ergebnis des<br />

folgen<strong>den</strong> Programmaufrufs zeigt Abbildung 4.3.2.<br />

composite -dissolve 35% -gravity southeast -geometry +2+1 \<br />

watermark.JPG in.JPG out.JPG<br />

Abbildung 4.3.2: Foto ohne Wasserzeichen (links), das Wasserzeichen (Mitte), Foto mit Wasserzeichen (rechts)<br />

Steganographie: Um ein kleines Foto in einem großen Foto zu verstecken, kann ebenfalls das<br />

Programm composite der ImageMagick Library verwendet wer<strong>den</strong>. Zum Verstecken wird ein Offset<br />

benötigt, der geheim gehalten wird. Folgender Programmaufruf versteckt das Bild hide.PNG (dieses<br />

sollte im png­Format vorliegen) im Bild in.JPG <strong>und</strong> schreibt das Ergebnis in das Bild out.PNG.<br />

composite -stegano 53 hide.PNG in.JPG out.PNG<br />

Um nun das versteckte Bild wieder herauszubekommen, bestimmt man zuerst die Größe des Bildes<br />

hide.png wie folgt:<br />

i<strong>den</strong>tify hide.PNG<br />

Als Output erhält man dann eine ähnliche Zeile wie folgende:<br />

hide.PNG PNG 215x13+0+0 DirectClass 8-bit 3.4kb 0.000u 0:01<br />

Um nun das versteckte Bild anzuzeigen, braucht man <strong>den</strong> geheimen Offset <strong>und</strong> die Abmessungen<br />

des versteckten Bildes. Zur Anzeige kann das Programm display der ImageMagick Library wie<br />

folgt verwendet wer<strong>den</strong>:<br />

display -size 215x13+53 stegano:out.PNG<br />

Um nun Fotos zu schützen, erstellt man zuerst mit ImageMagick ein Bild hide.PNG, das <strong>den</strong><br />

Benutzernamen des Benutzers zeigt, <strong>und</strong> versteckt dieses in allen Bildern, die der Benutzer <strong>von</strong> der<br />

Internetseite herunterladet.<br />

Walter Sunk 70


5 Benutzungstests 30. August 2006<br />

5 Benutzungstests<br />

Um zu sehen, wo Benutzer beim Anwen<strong>den</strong> der Internetseite Probleme haben, wur<strong>den</strong> ca. 40<br />

Benutzungstests mit unterschiedlich erfahrenen Internetbenutzern durchgeführt. Aus Zeitgrün<strong>den</strong><br />

waren leider nicht mehr Tests möglich. Die Ursachen <strong>für</strong> diese Benutzungsprobleme wur<strong>den</strong> nach<br />

bester Möglichkeit beseitigt. In Abschnitt 5.1 wird zunächst auf allgemeine Benutzungsprobleme<br />

eingegangen, mit <strong>den</strong>en vermutlich jede Internetseite umzugehen hat. Abschnitt 5.2 zeigt dann<br />

spezielle Probleme <strong>und</strong> deren Beseitigung, die insbesondere mit dem Inhalt der Internetseite zu tun<br />

haben. Um Probleme im allgemeinen eher zu vermei<strong>den</strong>, bietet sich ein möglichst einfaches<br />

Benutzer­Interface an, das jedoch in der Regel Sicherheitsprobleme mit sich bringt. Um dies zu<br />

zeigen wer<strong>den</strong> in Abschnitt 5.3 ausgewählte Gegensätze zwischen Benutzerfre<strong>und</strong>lichkeit <strong>und</strong><br />

Internet Security gemäß [InetSec] diskutiert.<br />

5.1 Allgemeine Benutzungsprobleme<br />

In diesem Abschnitt wer<strong>den</strong> Benutzungsprobleme beschrieben, die möglicherweise <strong>für</strong> je<strong>den</strong><br />

Herausgeber <strong>einer</strong> Internetseite <strong>von</strong> Interesse sind.<br />

Benutzer lesen nicht<br />

Bei <strong>den</strong> Tests hat sich als schwierigstes Problem im Benutzer­Interface herausgestellt, dass<br />

Benutzer aus Zeitgrün<strong>den</strong> nicht lesen, sondern lediglich nur wahrnehmen. Oftmals ist jedoch ein<br />

Mindestmaß an Text erforderlich, um Inhalte <strong>von</strong> Seiten oder Abläufe <strong>von</strong> Interaktionen zu<br />

erklären. Z.B. ist es schwer, zu erklären, wie das Zahlungssystem funktioniert, wenn der Benutzer<br />

nicht bereit ist, ein paar Zeilen Text zu lesen. Im Idealfall sollte also die Seite daher so aufgebaut<br />

sein, dass der Benutzer bereits am Layout der Seite erkennt, was zu tun ist, ohne viel Text lesen zu<br />

müssen. Das ist jedoch in der Praxis nicht wirklich einfach.<br />

Englische Ausdrücke oder Fachausdrücke<br />

Einige der Benutzer hatten Probleme mit englischen Ausdrücken, wie z.B. mit „Account“ oder<br />

„Home“ (die Begriffe wur<strong>den</strong> geändert zu „Benutzerkonto“ <strong>und</strong> „Startseite“, das war dann bei<br />

nachfolgen<strong>den</strong> Tests besser). Es gab auch Probleme mit dem Wort „Registrierung“ bei unerfahrenen<br />

Internetbenutzern. Große Seiten verwen<strong>den</strong> oft das Wort „Anmeldung“ anstelle <strong>von</strong><br />

„Registrierung“. Die Verwendung des Wortes „Anmeldung“ war besser. Generell hatten<br />

unerfahrenere Internetbenutzer mit englischen Ausdrücken mehr Probleme. Übersetzt man einen<br />

englischen Begriff ins Deutsche, dann muss man darauf achten, erfahrene Internetbenutzer mit dem<br />

deutschen Begriff nicht zu verwirren, die sich vielleicht <strong>den</strong> englischen Begriff erwarten wür<strong>den</strong>.<br />

Passwörter<br />

Kennt man <strong>den</strong> Benutzernamen eines Benutzers, dann beruht in der Regel die gesamte Sicherheit<br />

zum Schutz des Benutzeraccounts auf dem Passwort des Benutzers. Am einfachsten kann ein<br />

Passwortschutz dadurch angegriffen wer<strong>den</strong>, dass ein Angreifer Passwörter bei der Passworteingabe<br />

ausprobiert. Viele Benutzer verwen<strong>den</strong> beispielsweise ihren Vornamen oft als Passwort. Derartige<br />

Passwörter sind sehr einfach zu erraten. Wie in [WaSu06] beschrieben, sollten Passwörter<br />

zumindest einen Großbuchstaben, einen Kleinbuchstaben <strong>und</strong> eine Zahl beinhalten. Auf der<br />

Plattform wer<strong>den</strong> daher Passwörter mit diesen Kriterien verlangt. Nachdem viele Benutzer am Ende<br />

eines Passwortes oft als einzige Zahl eine „1“ angeben, wird auch die Zahl „1“ am Ende eines<br />

Passwortes aus Sicherheitsgrün<strong>den</strong> nicht erlaubt.<br />

Walter Sunk 71


5 Benutzungstests 30. August 2006<br />

Bei fast allen Benutzungstests hat sich jedoch herausgestellt, dass Benutzer extrem verärgert sind,<br />

Passwörter mit mindestens einem Groß­, einem Kleinbuchstaben <strong>und</strong> <strong>einer</strong> Zahl verwen<strong>den</strong> zu<br />

müssen. Der Hauptgr<strong>und</strong> war, dass man sich ein derartiges Passwort nicht merken könne, es extra<br />

irgendwo speichern <strong>und</strong> bei jedem Gebrauch nachsehen müsse. Es kam auch oft die Frage, warum<br />

das überhaupt notwendig ist, ein so kompliziertes Passwort zu verlangen. Es besteht hier also<br />

offenbar kein Sicherheits<strong>den</strong>ken bei vielen Benutzern. Mit dem Benutzerhinweis bei der<br />

Passworteingbe, dass das Passwort zur Sicherheit der Website diene, wur<strong>den</strong> bei weiteren Tests<br />

derartige Passwörter besser akzeptiert.<br />

Es hängt also vom Sicherheits<strong>den</strong>ken des jeweiligen Herausgebers <strong>einer</strong> Internetseite ab, welche<br />

Form <strong>von</strong> Passwörtern verwendet wird. Sollte man Bedingungen an ein Passwort stellen, dann muss<br />

man sich überlegen, wie man diese Bedingungen einem Benutzer am besten (<strong>und</strong> am schonendsten<br />

<strong>für</strong> dessen Nerven) mitteilt. Ein nicht zu unterschätzendes Problem ist, dass Benutzer nicht lesen.<br />

Schreibt man also Bedingungen <strong>für</strong> ein Passwort in Textform hin, dann muss man damit rechnen,<br />

dass diese Bedingungen vorerst nicht gelesen wer<strong>den</strong> <strong>und</strong> der Benutzer unweigerlich ein Passwort<br />

eingibt, dass nicht akzeptiert wird. Das resultiert in einem Fehler, der <strong>den</strong> Benutzer wieder ziemlich<br />

verärgern kann.<br />

Back­Links<br />

Es gab Benutzer, die eine Internetseite zuerst einmal <strong>von</strong> vorne bis hinten durchklicken, um so <strong>den</strong><br />

Aufbau der Seite kennen zu lernen. Für derartige Benutzer ist es extrem wichtig, immer zum<br />

vorigen Schritt zurück kommen zu können. Ist eine Rückkehr zum vorigen Schritt nicht möglich,<br />

dann wer<strong>den</strong> diese Benutzer verwirrt <strong>und</strong> somit verärgert <strong>und</strong> gehen vielleicht <strong>von</strong> der Seite weg.<br />

Um dies zu verhindern, sollte man Back­Links anbringen, die immer zum vorigen Schritt zurück<br />

verweisen. Bei Internetseiten mit <strong>einer</strong> Baumstruktur könnte es <strong>für</strong> derartige Benutzer hilfreich sein,<br />

alle Knoten des momentanen Astes stets als Linkfolge angezeigt zu bekommen. Oft bieten sich auch<br />

sogenannte Sitemaps an, in <strong>den</strong>en der gesamte Seiteninhalt in übersichtlicher Form mitsamt der<br />

zugr<strong>und</strong>e liegen<strong>den</strong> Struktur dargestellt sind.<br />

Automatische E­Mails mit Links<br />

Oft wer<strong>den</strong> E­Mails mit einem Link als Inhalt an Benutzer geschickt, wobei der Link in der E­Mail<br />

ausgeführt wer<strong>den</strong> muss. Speziell <strong>für</strong> unerfahrene Benutzer kann die Ausführung eines Links in<br />

<strong>einer</strong> E­Mail ein nicht zu überwin<strong>den</strong>des Problem darstellen. Benutzer sind es in der Regel<br />

gewöhnt, auf einen Link klicken zu können. Es kann jedoch vorkommen, dass Links in <strong>einer</strong> E­Mail<br />

nicht so dargestellt wer<strong>den</strong>, dass der Benutzer zum Ausführen des Links nur daraufklicken braucht.<br />

Oft kommt es vor, dass E­Mail Inhalte im Plaintext dargestellt wer<strong>den</strong>. In solchen Fällen muss der<br />

Benutzer selbst aktiv wer<strong>den</strong>, <strong>und</strong> beispielsweise <strong>den</strong> Link in die Adresszeile seines Browser<br />

kopieren <strong>und</strong> dann selbst ausführen.<br />

Die Frage ist nun, welchen Text man zusätzlich zu einem Link in die E­Mail schreibt, um dem<br />

Benutzer das Vorgehen zur Ausführung des Links mit allen auftreten<strong>den</strong> Möglichkeiten klar zu<br />

machen. Nehmen wir als Beispiel die Registrierung eines Benutzers. Am Ende der Registrierung<br />

wird dem Benutzer ein Link geschickt, durch dessen Ausführung der Account des Benutzers<br />

aktiviert wird. Im folgen<strong>den</strong> wird demonstriert, mit welcher Vielfalt an Benutzern gerechnet wer<strong>den</strong><br />

muss. Folgender Ansatz konnte <strong>von</strong> ca. einem Drittel der Testpersonen nicht überw<strong>und</strong>en wer<strong>den</strong>:<br />

Um Ihren Account zu aktivieren, führen Sie bitte nachfolgen<strong>den</strong> Link aus: ...<br />

Dieser Text hat zwei Probleme: entweder kamen Benutzer mit dem Wort „Account“ nicht zurecht<br />

Walter Sunk 72


5 Benutzungstests 30. August 2006<br />

oder sie wussten nicht, was unter der Phrase „Link ausführen“ zu verstehen war. Folgender zweiter<br />

Ansatz war zumindest besser, hatte aber das Problem, dass Links eben nicht immer so dargestellt<br />

wer<strong>den</strong>, dass man nur daraufklicken braucht.<br />

Um Ihren Zugang zum Mitgliedsbereich zu aktivieren, klicken Sie bitte auf nachfolgen<strong>den</strong> Link: ...<br />

Circa 75% (!) der Benutzer sind gescheitert, wenn der Link anders als durch Anklicken auszuführen<br />

war. Aus Sicht der Benutzerfre<strong>und</strong>lichkeit ist dieser Ansatz also sehr be<strong>den</strong>klich.<br />

Obwohl man es kaum <strong>für</strong> möglich halten sollte, kamen auch 3 Benutzer mit folgendem Text nicht<br />

zurecht, obwohl die Links vom E­Mail Programm als ausführbar angezeigt wur<strong>den</strong>.<br />

Um Ihren Zugang zum Mitgliedsbereich zu aktivieren, klicken Sie bitte auf nachfolgen<strong>den</strong> Link:<br />

http://www.AlpinImageS.com/anmel<strong>den</strong>/aktivierung.php?RegID=27bd35...<br />

Viel Spaß auf www.AlpinImageS.com!<br />

Es passierte, dass 3 Benutzer tatsächlich auf <strong>den</strong> zweiten Link, auf www.AlpinImageS.com <strong>und</strong><br />

nicht auf <strong>den</strong> ersten Link klickten. Nachdem Sie sich dann auch klarerweise nicht einloggen<br />

konnten, haben sie gemeint, sie wür<strong>den</strong> die Seite nun verlassen. Daraus kann geschlossen wer<strong>den</strong>,<br />

dass die E­Mail nachfolgend keinen Link beinhalten darf, der verwechselt wer<strong>den</strong> könnte.<br />

Um nun auch Benutzer zu unterstützen, bei <strong>den</strong>en Links nicht als ausführbar angezeigt wer<strong>den</strong>,<br />

wurde folgender Text ausprobiert:<br />

Um Ihren Zugang zum Mitgliedsbereich zu aktivieren, klicken Sie bitte auf nachfolgen<strong>den</strong> Link.<br />

Sollte der Link nicht funktionieren, dann kopieren Sie <strong>den</strong> Link bitte in die Adresszeile Ihres<br />

Browsers. ...<br />

Folgende Probleme traten auf: 2 Benutzer waren nicht in der Lage, <strong>den</strong> Link zu kopieren. Eine<br />

Person, die es zwar schaffte, <strong>den</strong> Link zu kopieren, hat diesen dann im Browser nicht ausgeführt,<br />

weil im Text nicht steht: „Bitte drücken Sie nachher die Eingabetaste“. Alle 3 Personen schafften<br />

es also nicht, sich erfolgreich zu registrieren.<br />

Jenen Benutzern, die nicht wissen, wie man Text kopiert, kann mit einem zusätzlichen Code<br />

geholfen wer<strong>den</strong>, der dann auf <strong>einer</strong> einfach zu erreichen<strong>den</strong> Internetadresse eingeben wer<strong>den</strong> muss.<br />

Manche große Internetseiten verwen<strong>den</strong> beispielsweise <strong>den</strong> folgen<strong>den</strong> Text unterhalb des<br />

Aktivierungslinks, wenn der Benutzer nicht mit dem Link zurecht kommt.<br />

Sollten Sie immer noch Probleme mit dem Link haben, dann gehen Sie bitte auf die Seite<br />

http://www.xxx.com/checknumbers/<br />

<strong>und</strong> geben Sie dort folgen<strong>den</strong> Code ein: 8dhzen7j<br />

In diesem Fall geht man da<strong>von</strong> aus, dass der Benutzer in der Lage ist, selbstständig einen neuen<br />

Browser zu öffnen, danach die (relativ einfach aussehende <strong>und</strong> möglichst kurze) Internetdresse<br />

http://www.xxx.com/checknumbers/ in die Adresszeile einzugeben, diese auszuführen <strong>und</strong> auf der<br />

erscheinen<strong>den</strong> Seite <strong>den</strong> Code 8dhzen7j einzugeben. Dieses Vorgehen wird bereits <strong>von</strong> ein paar<br />

großen Internetseiten unterstützt. Auf [AIS] wurde diese Vorgehen aus Zeitgrün<strong>den</strong> noch nicht<br />

realisiert. Eine zukünftige Implementierung ist jedoch bereits vorgemerkt.<br />

Interaktionen mit mehreren Schritten<br />

Bei <strong>den</strong> Benutzungstests wurde festgestellt, dass die Versuchspersonen Interaktionen mit weniger<br />

Schritten (bei <strong>den</strong>en in jedem Schritt mehr einzugeben ist), gegenüber Interaktionen mit mehreren<br />

Schritten (bei <strong>den</strong>en in jedem Schritt nur wenig einzugeben ist), <strong>den</strong> Vorzug geben. Dies war<br />

deshalb der Fall, weil Interaktionen mit weniger Schritten <strong>für</strong> die Benutzer einen weniger<br />

Walter Sunk 73


5 Benutzungstests 30. August 2006<br />

komplexen Eindruck machten. Demnach wurde z.B. ein großes Formular bei der Registrierung<br />

gegenüber mehreren kleinen Formularen bevorzugt. Bei Verwendung eines großen Formulars kam<br />

es jedoch zu dem Problem, dass Anmerkungen zu Eingabefeldern praktisch nicht mehr gelesen<br />

wur<strong>den</strong>, weil das Formular aufgr<strong>und</strong> s<strong>einer</strong> Größe bereits zu viel Text beinhaltete. Eingabedaten mit<br />

besonders wichtigen textlichen Anmerkungen wur<strong>den</strong> daher in eigene Schritte herausgezogen.<br />

Generell ist bei Interaktionen mit mehreren Schritten darauf zu achten, dass der Benutzer zurück<br />

gehen kann, um seine Daten zu ändern. Am Ende <strong>einer</strong> Interaktion sollten dem Benutzer nochmals<br />

seine Daten angezeigt wer<strong>den</strong>, damit die Daten im Fehlerfall geändert wer<strong>den</strong> können (was<br />

natürlich voraussetzt, dass die Daten auch geändert wer<strong>den</strong> können). Ein berühmtes Beispiel <strong>für</strong><br />

eine Interaktion mit mehreren Schritten, bei der ein Zurückgehen des Benutzers Fehler verursachte,<br />

war der sogenannte Amazon Bug. Durch das Zurückgehen konnte der Fall eintreten, dass unerwartet<br />

ältere Versionen der Produktliste gekauft wur<strong>den</strong>. In [AmBug02] wer<strong>den</strong> beispielsweise<br />

Möglichkeiten aufgezeigt, wie Fehler im Falle des Amazon Bugs vermie<strong>den</strong> wer<strong>den</strong> können.<br />

Verwendung <strong>von</strong> Captchas<br />

Gemäß [CMU] sind Captchas kleine Tests, die Menschen in der Regel bestehen, Computer jedoch<br />

nicht. Dadurch kann bestimmt wer<strong>den</strong>, ob eine Anfrage <strong>von</strong> einem Computer oder einem Menschen<br />

kommt. Wie in [WaSu06] gezeigt, wer<strong>den</strong> Captchas oft dazu verwendet, um Interaktionen (z.B.<br />

eine Registrierung) vor der automatisierten Zugriffen durch Computer zu schützen. Bei der<br />

Registrierung <strong>und</strong> im Zahlungssystem des Projekts [AIS] wer<strong>den</strong> ebenfalls Captchas verwendet.<br />

Der Test besteht in diesem Fall darin, dass ein Benutzer eine Zeichenfolge aus einem Bild auslesen<br />

<strong>und</strong> diese eingeben muss, nur dann kann der Benutzer fortfahren. Abbildung 5.1.1 zeigt ein<br />

einfaches Captcha in Bildform.<br />

Abbildung 5.1.1: ein Captcha<br />

Wie in [WaSu06] beschrieben ist die Wahrscheinlichkeit, dass ein Computer diesen Test besteht,<br />

umso geringer, umso unkenntlicher <strong>und</strong> umso besser versteckt die Buchstaben in dem Bild sind.<br />

Genau das ist das Problem bei der Anwendung. Umso unkenntlicher die Buchstaben sind, umso<br />

größer ist die Wahrscheinlichkeit, dass selbst ein Mensch <strong>den</strong> Test nicht besteht. Ist dies der Fall<br />

kann ein Benutzer ziemlich verärgert wer<strong>den</strong>, insbesondere dann, wenn er <strong>den</strong> Test mehrere Male<br />

hintereinander nicht besteht. Es kann dazu kommen, dass der Benutzer nicht weitermacht, die Seite<br />

verlässt <strong>und</strong> aufgr<strong>und</strong> des Ärgers nicht mehr zurückkommt.<br />

Bei <strong>den</strong> durchgeführten Benutzertests hat sich herausgestellt, dass oft der Sinn <strong>von</strong> Captchas (die<br />

Abwehr <strong>von</strong> automatisierten Computerzugriffen) nicht verstan<strong>den</strong> wird, <strong>und</strong> Captchas dadurch als<br />

lästig <strong>und</strong> unangenehm empf<strong>und</strong>en wer<strong>den</strong>. Folgende Probleme traten bei der Verwendung auf:<br />

• Das Captcha war zu lange. Es wur<strong>den</strong> anfangs 8 ­10 Zeichen verwendet. Dies führte zu vielen<br />

Eingabefehlern der Benutzer. Ab 6 Zeichen gab es in der Regel keine Probleme.<br />

• Das Captcha hat zwischen Groß­ <strong>und</strong> Kleinschreibung unterschie<strong>den</strong>. Benutzer waren<br />

verärgert, als das Catpcha aufgr<strong>und</strong> derartiger Eingabefehler wiederholt wer<strong>den</strong> musste.<br />

• Die Buchstaben waren nicht genau erkenntlich. Es wurde anfangs eine Schriftart mit verzierten<br />

Buchstaben verwendet, wodurch manche Buchstaben nicht gut genug erkannt wer<strong>den</strong> konnten.<br />

• Manche Buchstaben wur<strong>den</strong> verwechselt. Typisch ist das z.B. <strong>für</strong> die Null „0“ <strong>und</strong> <strong>für</strong> „O“ wie<br />

Otto. Derartige Verwechslungsmöglichkeiten müssen ausgeschlossen wer<strong>den</strong>.<br />

Walter Sunk 74


5 Benutzungstests 30. August 2006<br />

Zahlungssystem<br />

Das Hauptproblem des Zahlungssystems war, dass Benutzer dieses gänzlich verstehen wollten,<br />

ohne Text zu lesen. War auch nur ein Detail unklar, wurde das betreffende Zahlungssystem nicht<br />

verwendet. Bei Zahlungssystemen muss also besonders auf die Benutzerfre<strong>und</strong>lichkeit Wert gelegt<br />

wer<strong>den</strong>, sonst wer<strong>den</strong> sie nicht verwendet <strong>und</strong> der K<strong>und</strong>e kauft nicht, obwohl er schon kaufen<br />

wollte. Allgemein gesprochen kamen Benutzer, die bereits Erfahrung mit Online­Käufen hatten,<br />

besser zurecht als Benutzer, die noch nie im Internet eingekauft haben. Das Hauptproblem bestand<br />

also darin, einem Benutzer übersichtlich <strong>und</strong> kurz klar zu machen, wie die entsprechende<br />

Zahlungsmethode funktioniert. Die <strong>Realisierung</strong> der einzelnen Zahlungsmetho<strong>den</strong> ist Inhalt der<br />

Arbeit [WaSu06]. Die Probleme, die sich mit <strong>den</strong> einzelnen Zahlungsmetho<strong>den</strong> ergeben haben<br />

wer<strong>den</strong> daher an dieser Stelle nicht behandelt <strong>und</strong> können in [WaSu06] nachgelesen wer<strong>den</strong>.<br />

5.2 Spezielle Benutzungsprobleme auf der realisierten Internetseite<br />

Beispieltouren<br />

Sämtliche Benutzer wollten klarerweise wissen, was sie kaufen, bevor sie kaufen. Aus diesem<br />

Gr<strong>und</strong> wer<strong>den</strong> öffentlich zugängliche Beispieltouren angeboten. Die Beispieltouren umfassen dabei<br />

genau dasselbe Angebot wie eine erwerbbare Tour. Das Hauptproblem bei Verwendung der<br />

Beispieltouren war, Benutzer, die zum ersten Mal auf die Seite kamen, zuerst zu <strong>den</strong> Beispieltouren<br />

hinzuführen. Hier wur<strong>den</strong> unterschiedlichste Tests unternommen. Folgende Maßnahmen wur<strong>den</strong><br />

getroffen, um Erstbesucher zu <strong>den</strong> Beispieltouren hinzuführen.<br />

• Der Link zu <strong>den</strong> Beispieltouren wurde auf der Startseite angebracht.<br />

• Der Link wurde optisch auffällig markiert.<br />

• Der Link wurde textlich als Link <strong>für</strong> Erstbesucher beschrieben.<br />

• Die Beispieltouren wur<strong>den</strong> als kostenfrei angegeben.<br />

• Die Links auf der Startseite wur<strong>den</strong> auf ein Minimum reduziert.<br />

Bei <strong>den</strong> nachfolgen<strong>den</strong> Tests haben Benutzer dann auch wirklich die Beispieltouren sofort gef<strong>und</strong>en<br />

<strong>und</strong> mit diesen begonnen.<br />

Passwortabfrage<br />

Wie in Abschnitt 2.2.3 beschrieben wird es aus Sicherheitsgrün<strong>den</strong> nicht zugelassen, dass Benutzer<br />

ihr Passwort ändern. Zu diesem Zweck erhalten Benutzer einen Kontoschlüssel, mit dem sie ihr<br />

Passwort abfragen können, sollten sie es vergessen haben. Bei der Passwortabfrage ist daher wie in<br />

Abschnitt 3.1.7 beschrieben der Kontoschlüssel notwendig. Der Kontoschlüssel dient dabei auch<br />

wirklich als Schlüssel <strong>einer</strong> Verschlüsselungsmethode zum Entschlüsseln des Passwortes.<br />

Einer der größten anfänglichen Fehler war, diesen Schlüssel nicht Kontoschlüssel, sondern<br />

Passwortschlüssel zu nennen. Dies hatte zur Folge, dass einige Benutzer <strong>den</strong> Schlüssel mit ihrem<br />

Passwort vertauscht haben.<br />

Ein prinzipielles Problem der Passwortabfrage in der beschrieben Form ist, dass Passwortabfragen<br />

sehr oft so arbeiten, dass beim Vergessen eines alten Passwortes ein neues Passwort vergeben wird.<br />

In einem solchen Modell ist kein Schlüssel zum Entschlüsseln des Passwortes erforderlich.<br />

Benutzer erwarten sich daher in der Regel auch nicht, dass sie einen Kontoschlüssel brauchen. Zu<br />

diesem Zweck ist es erforderlich, dass dem Benutzer das System der Passwortabfrage erklärt wird.<br />

Dabei besteht wieder das Problem, dass Texte zur Erklärung aus Zeitgrün<strong>den</strong> bestenfalls<br />

überflogen, jedoch kaum gelesen wer<strong>den</strong>. Es reicht jedoch oft schon aus, dass der Benutzer weiß,<br />

Walter Sunk 75


5 Benutzungstests 30. August 2006<br />

dass der Kontoschlüssel irgend etwas mit der Passwortabfrage zu tun hat. Beim Durchführen der<br />

Passwortabfrage wird der Benutzer auf die Mail, die <strong>den</strong> Kontoschlüssel beinhaltet, hingewiesen.<br />

Hat der Benutzer nun eine Assotiation „Passwort vergessen – Kontoschlüssel“ im Kopf, dann liest<br />

der Benutzer normalerweise genauer nach <strong>und</strong> besteht dann in der Regel auch die Passwortabfrage.<br />

Kauf <strong>von</strong> Dokumentationen<br />

Wie in Abschnitt 3.1.4 gezeigt, muss sich ein Benutzer zuerst anmel<strong>den</strong> <strong>und</strong> sein Guthaben<br />

aufla<strong>den</strong>, bevor er Dokumentationen kaufen kann. Nachdem der Benutzer in der Regel bei der<br />

entsprechen<strong>den</strong> Dokumentation startet, möchte er nach der Anmeldung <strong>und</strong> nach Aufladung des<br />

Guthabens wieder zur Dokumentation zurück, um diese zu erwerben. Der Benutzer muss daher<br />

sowohl nach der Anmeldung als auch nach der Aufladung des Guthabens zur entsprechen<strong>den</strong><br />

Dokumentation zurück geleitet wer<strong>den</strong>. Da<strong>für</strong> sind geeignete Maßnahmen zu treffen.<br />

Schwierigkeitsbewertung<br />

Gemäß Abschnitt 3.2.2 wer<strong>den</strong> die Schwierigkeiten jeder Tour anhand <strong>von</strong> international<br />

anerkannten Bewertungsskalen bewertet. Diese Bewertungsskalen sind jedoch nicht einem je<strong>den</strong><br />

Benutzer bekannt. Daher müssen derartige Bewertungsangaben erklärt wer<strong>den</strong>. Bei praktisch jedem<br />

Benutzungstest wurde Kritik daran geübt, dass die Bewertungsskalen nicht erklärt waren. Aus<br />

diesem Gr<strong>und</strong> wurde eine Einführung in die Schwierigkeitsbewertung herausgegeben <strong>und</strong> mit Links<br />

zu <strong>den</strong> Herausgebern der Bewertungsskalen versehen.<br />

5.3 Sicherheit versus Benutzerfre<strong>und</strong>lichkeit<br />

Eine größere Benutzerfre<strong>und</strong>lichkeit erhöht die Beliebtheit <strong>und</strong> die Freude am Umgang <strong>einer</strong> je<strong>den</strong><br />

Internetseite. Im einfachsten Fall erreicht man eine größere Benutzerfre<strong>und</strong>lichkeit, indem man<br />

Inhalte übersichtlich darstellt, Interaktionen möglichst einfach gestaltet <strong>und</strong> dem Benutzer<br />

möglichst wenig administrativen Text zu lesen gibt.<br />

Damit kommt es aber oft vor, dass die Benutzerfre<strong>und</strong>lichkeit dem Aufbau <strong>einer</strong> sicheren<br />

Internetseite widerspricht. Der Einsatz bestimmter Sicherheitsmaßnahmen auf <strong>einer</strong> Internetseite<br />

bedeutet auch ein Minimum an zusätzlichen Inhalten, Interaktionen <strong>und</strong> Texten, wie im folgen<strong>den</strong><br />

diskutiert wird.<br />

Einfachheit bei der Passworteingabe<br />

Wie in Abschnitt 5.1 beschrieben gab es einige Probleme beim Verlangen <strong>von</strong> Passwörtern mit<br />

mindestens einem Groß­ einem Kleinbuchstaben <strong>und</strong> <strong>einer</strong> Zahl. Es ist aber genau diese Maßnahme<br />

die <strong>den</strong> Benutzeraccount ganz wesentlich vor dem erfolgreichen Probieren <strong>von</strong> Passwörtern schützt.<br />

Im Sinne der Benutzerfre<strong>und</strong>lichkeit müsste man etwa einfache Namen als Passwörter erlauben <strong>und</strong><br />

dürfte erst gar nicht zwischen Groß­ <strong>und</strong> Kleinschreibung unterschei<strong>den</strong>. Aus Sicht der Internet<br />

Security gemäß [InetSec] ist dies jedoch untragbar, weil man solche schwachen Passwörter viel zu<br />

leicht erraten <strong>und</strong> dadurch Benutzeraccounts missbrauchen kann.<br />

Eine Möglichkeit, Passwörter sicherer zu gestalten <strong>und</strong> <strong>den</strong>noch <strong>den</strong> Benutzer nicht einzuschränken,<br />

ist etwa die Anzeige der „Sicherheit des Passwortes“ bei der Eingabe. Z.B. könnte man die<br />

Buchstaben direkt bei der Eingabe eines Passwortes analysieren <strong>und</strong> dann einen Sicherheitsfaktor<br />

berechnen <strong>und</strong> diesen anzeigen. Ist der Benutzer mit dem Sicherheitsfaktor unzufrie<strong>den</strong>, muss er das<br />

Passwort ändern. Gute Sicherheitsfaktoren sollten dann nur mit starken Passwörtern erreichbar sein.<br />

Diese Methode erhöht zwar die Akzeptanz eines sichereren Passworts, es besteht aber immer noch<br />

Walter Sunk 76


5 Benutzungstests 30. August 2006<br />

die Gefahr, dass Benutzer schwache Passwörter eingeben.<br />

Einfachheit <strong>von</strong> Captchas<br />

Wie in Abschnitt 5.1 gezeigt wur<strong>den</strong> mehrere Fehleingaben beim Lösen eines Captchas als<br />

besonders ärgerlich empf<strong>und</strong>en. Zwecks Benutzerfre<strong>und</strong>lichkeit wur<strong>den</strong> die verwendeten Captchas<br />

daher relativ einfach gestaltet (lediglich 6 Buchstaben, keine Unterscheidung zwischen Groß­ <strong>und</strong><br />

Kleinschreibung, keine Verwechslungsmöglichkeiten zwischen Buchstaben, relativ leicht lesbare<br />

Buchstaben). Aus Sicht der Internet Security gemäß [InetSec] sollten Codes jedoch generell<br />

möglichst stark sein. Im Gegensatz zur Passwortabfrage wird hier folgende Strategie verfolgt.<br />

Nachdem bei Captchas die Benutzerfre<strong>und</strong>lichkeit eine wesentliche Rolle spielt, soll ein Angriff<br />

zugunsten dieser nicht zu 100% verhindert wer<strong>den</strong>, sondern es reicht, wenn der Angreifer soviel<br />

Arbeit zum Durchführen des Angriffs hat, dass er in der Regel <strong>von</strong> einem Angriff Abstand nimmt,<br />

auch wenn der Angriff theoretisch durchführbar wäre. Jeder Angriff bedeutet Zeitaufwand <strong>für</strong> <strong>den</strong><br />

Angreifer. Zum Brechen eines Captchas muss in der Regel ein eigenes Programm erstellt wer<strong>den</strong>,<br />

was wiederum einiges an Zeit kostet. Im weiteren ist ein eigenes Programm notwendig, welches die<br />

notwendigen Request erzeugt. Das Captcha soll also bewirken, dass ein großer Teil an potentiellen<br />

Angreifern erst gar keinen Angriff durchführt. Sollte <strong>den</strong>noch einmal ein Captcha gebrochen <strong>und</strong><br />

die Internetseite angegriffen wer<strong>den</strong>, dann existieren laufende Datenbank­Backups, mit <strong>den</strong>en die<br />

betroffenen Datenbanktabellen wieder bereinigt wer<strong>den</strong> können. Es sollte also <strong>für</strong> die<br />

Administration ein nicht zu großer Aufwand sein, einen Angriff zu bereinigen.<br />

Angriffe sind außerdem rechtswidrig. Im Falle eines Angriffs wird versucht, <strong>den</strong> Benutzer über die<br />

IP­Adresse herauszufin<strong>den</strong>. Sämtliche Provider sind in einem solchen Fall rechtlich verpflichtet<br />

(Österreichisches Recht: ECG (E­Commerce Gesetz) §18, (4)), Auskunft über die entsprechen<strong>den</strong><br />

IP Adressen zu geben. Es besteht also kein Datenschutz <strong>für</strong> <strong>den</strong> Angreifer. Wird ein Benutzer<br />

gef<strong>und</strong>en, dann wird Anzeige erstattet <strong>und</strong> Scha<strong>den</strong>ersatz gefordert.<br />

Einfachheit <strong>von</strong> Interaktionen mit E­Mails<br />

Wie in Abschnitt 5.1 beschrieben bestehen eine Vielzahl <strong>von</strong> Problemen, wenn Benutzern E­Mails<br />

mit auszuführen<strong>den</strong> Links zugeschickt wer<strong>den</strong>. Derartige E­Mails können nicht weiter als in<br />

Abschnitt 5.1 vereinfacht wer<strong>den</strong>. Eine weitere Vereinfachung hieße, die E­Mail erst gar nicht zu<br />

schicken. Dadurch könnte dann aber der Benutzer nicht mehr verifiziert wer<strong>den</strong>, was gegen je<strong>den</strong><br />

Gr<strong>und</strong>satz der Internet Security gemäß [InetSec] spricht. Es empfiehlt sich daher, in diesem Fall<br />

keine weiteren Vereinfachungen zu treffen.<br />

Einfachheit <strong>von</strong> Texten<br />

Aufgr<strong>und</strong> der Erklärung <strong>von</strong> Sicherheitsmaßnahmen ist es oft notwendig, Texte zu verfassen, die<br />

dann <strong>von</strong> Benutzern gelesen wer<strong>den</strong> müssen. Aus Sicht der Benutzerfre<strong>und</strong>lichkeit müssten<br />

derartige Text überhaupt gänzlich entfallen. Dennoch kann ein Kompromiss gef<strong>und</strong>en wer<strong>den</strong>.<br />

Dieser Kompromiss zwischen Internet Security <strong>und</strong> Benutzerfre<strong>und</strong>lichkeit könnte darin bestehen,<br />

dass Texte so aufgebaut sind, dass sie nicht notwendigerweise vollständig gelesen wer<strong>den</strong> müssen,<br />

jedoch der Benutzer die wesentlichsten Inhalte zumindest wahrnimmt <strong>und</strong> dadurch weiß, wo er<br />

nachsehen muss, wenn er mehr Informationen braucht.<br />

Walter Sunk 77


6 Rechtliche Gr<strong>und</strong>lagen 30. August 2006<br />

6 Rechtliche Gr<strong>und</strong>lagen<br />

Im diesem Kapitel wer<strong>den</strong> die wichtigsten österreichischen Gesetzte sowie die wichtigsten<br />

rechtlichen Gr<strong>und</strong>lagen <strong>für</strong> <strong>den</strong> Betrieb der <strong>Internetplattform</strong> besprochen. Einer der wichtigsten<br />

Punkte <strong>für</strong> eine Bergsportplattform ist die Frage nach der Verantwortung <strong>für</strong> zur Verfügung<br />

gestellte Informationen. Zu diesem Zweck wird in Abschnitt 6.1 die Providerhaftung diskutiert.<br />

Nachdem auf der Plattform Verkäufe stattfin<strong>den</strong>, wer<strong>den</strong> die wichtigsten rechtlichen Gr<strong>und</strong>lagen <strong>für</strong><br />

online Geschäfte in Abschnitt 6.2 diskutiert. Ein jeder Provider sendet aus wirtschaftlichen Grün<strong>den</strong><br />

gerne Werbemails. Aus rechtlicher Sicht bestehen hier<strong>für</strong> jedoch gewisse Voraussetzungen, die in<br />

Abschnitt 6.3 erörtert wer<strong>den</strong>. Um die Privatsphäre <strong>von</strong> K<strong>und</strong>en zu schützen, wer<strong>den</strong> in Abschnitt<br />

6.4 wichtige Punkte des Datenschutzes <strong>und</strong> Maßnahmen zur Geheimhaltung <strong>von</strong> K<strong>und</strong>endaten<br />

besprochen. Außerdem wer<strong>den</strong> in Abschnitt 6.4 Maßnahmen zum urheberrechtlichen Schutz des<br />

Dokumentationsmaterials sowie zur Vorbeugung <strong>von</strong> Urheberrechtsverletzungen vorgestellt. Den<br />

Abschluss bildet Abschnitt 6.5 mit <strong>einer</strong> Diskussion <strong>von</strong> rechtlichen <strong>und</strong> steuerlichen<br />

Voraussetzungen, um als Autor tätig zu wer<strong>den</strong>.<br />

In <strong>den</strong> folgen<strong>den</strong> Abschnitten wer<strong>den</strong> <strong>für</strong> die diskutierten österreichischen Gesetze deren<br />

gebräuchliche Abkürzungen verwendet, die nachfolgend zusammengestellt sind.<br />

• ECG E­Commerce Gesetz<br />

• TKG Telekommunikationsgesetz<br />

• AGBG Allgemeines Bürgerliches Gesetzbuch<br />

• EVÜ Europäisches Schuldvertragsübereinkommen<br />

• KSchG Konsumentenschutzgesetz<br />

• DSG Datenschutzgesetz<br />

• UrhG Urhebergesetz<br />

Aus rechtlichen Grün<strong>den</strong> sind alle nachfolgen<strong>den</strong> Informationen ohne Gewähr, sie dienen lediglich<br />

der Orientierung in <strong>den</strong> beschriebenen komplexen Gebieten der Rechtswissenschaften. Eine gute<br />

Darstellung <strong>und</strong> Zusammenfassung der wichtigsten nachfolgend diskutierten Paragraphen findet<br />

sich in [StFi04]. Die aktuelle geltende Fassung des gesamten B<strong>und</strong>esrechts der Republik Österreich<br />

kann vom Rechtsinformationssystem des B<strong>und</strong>eskanzleramtes bezogen wer<strong>den</strong> (siehe [RIS]). Zur<br />

effizienten Suche nach Gesetzesstellen im Rechtsinformationssystem können die beschriebenen<br />

Abkürzungen der jeweiligen Gesetze verwendet wer<strong>den</strong>.<br />

6.1 Providerhaftung<br />

Die Bergsportplattform stellt Informationen im Internet zur Verfügung, sie ist also ein Provider <strong>von</strong><br />

Informationen. Daher stellt sich auch die Frage, <strong>für</strong> welche Informationen die Plattform<br />

Verantwortung zu übernehmen hat. Um diese Frage zu beantworten, wer<strong>den</strong> zuerst rechtliche<br />

Formen <strong>von</strong> Internet Providern <strong>und</strong> Anbietern diskutiert. Danach wer<strong>den</strong> die Verantwortlichkeiten<br />

der <strong>Internetplattform</strong> erörtert.<br />

Provider <strong>und</strong> Anbieter<br />

Gemäß [LawTU] ist gr<strong>und</strong>sätzlich zwischen 4 Arten <strong>von</strong> Internet Providern zu unterschei<strong>den</strong>. Das<br />

sind Access, Caching, Hosting <strong>und</strong> Content Provider. Weitere Formen <strong>von</strong> Providern sind Anbieter<br />

<strong>von</strong> Suchmaschinen <strong>und</strong> Anbieter <strong>von</strong> Hyperlinks. Wichtig ist auch <strong>den</strong> Umfang der Pflichten der<br />

Provider <strong>und</strong> Anbieter zu kennen. Nachfolgend wer<strong>den</strong> die genannten Diensteanbieter <strong>und</strong> der<br />

Umfang deren Pflichten beschrieben.<br />

Walter Sunk 78


6 Rechtliche Gr<strong>und</strong>lagen 30. August 2006<br />

Access Provider<br />

Gemäß ECG §13 (1) ist ein Access Provider ein „Diensteanbieter, der <strong>von</strong> einem Nutzer<br />

eingegebene Informationen in einem Kommunikationsnetz übermittelt oder <strong>den</strong> Zugang zu einem<br />

Kommunikationsnetz vermittelt“. Ein Access Provider ist gemäß ECG §13 (1) <strong>für</strong> die übermittelten<br />

Informationen nicht verantwortlich, wenn er folgende Punkte einhaltet:<br />

• er darf die Übermittlung der Daten nicht veranlassen<br />

• er darf <strong>den</strong> Empfänger nicht auswählen<br />

• er darf übermittelte Informationen weder auswählen noch verändern<br />

Caching Provider<br />

Gemäß ECG §15 ist ein Caching Provider ein Diensteanbieter, der Informationen in einem<br />

Kommunikationsnetz zwischenspeichert. Ein Caching Provider ist im wesentlichen gemäß ECG<br />

§15 <strong>für</strong> die Zwischenspeicherung nicht verantwortlich, wenn er folgende Punkte einhaltet:<br />

• er darf Informationen nicht verändern<br />

• er muss Informationen unverzüglich entfernen, wenn er da<strong>von</strong> Kenntnis erhalten hat, dass die<br />

betreffen<strong>den</strong> Informationen rechtswidrig sind<br />

Hosting Provider<br />

Gemäß ECG §16 (1) ist ein Hosting Provider ein „Diensteanbieter, der <strong>von</strong> einem Nutzer<br />

eingegebene Informationen speichert“. Ein Hosting Provider ist <strong>für</strong> die gespeicherten Informationen<br />

des Benutzers nicht verantwortlich, wenn er folgende Punkte einhaltet:<br />

• er darf <strong>von</strong> <strong>einer</strong> gespeicherten rechtswidrigen Information eines Benutzers keine tatsächliche<br />

Kenntnis haben<br />

• wenn er eine Kenntnis erhalten hat, dann muss er die rechtswidrige Information entfernen oder<br />

zumindest <strong>den</strong> Zugang zu dieser Information sperren<br />

Content Provider<br />

Content Provider sind gemäß TKG §78 (2) „Inhaber <strong>von</strong> Telekommunikationseinrichtungen“.<br />

Gemäß [LawTU] fallen darunter Internet Provider, die keine Access, Caching oder Hosting<br />

Provider sind. Content Provider stellen also eigenen oder zu eigen gemachten Inhalt zur Verfügung.<br />

Gemäß TKG §78 (2) haben Content Provider die Aufgabe, „geeignete Maßnahmen zu treffen, um<br />

eine missbräuchliche Verwendung auszuschließen“. Einen Content Provider trifft daher gemäß<br />

[LawTU] die volle Haftung <strong>für</strong> eigene bzw. <strong>für</strong> zu eigen gemachte Inhalte.<br />

Anbieter <strong>von</strong> Suchmaschinen<br />

Im weiteren sind auch Suchmaschinen <strong>von</strong> der Verantwortlichkeit ausgeschlossen. Ein Anbieter<br />

<strong>einer</strong> Suchmaschine ist gemäß ECG §14 (1) <strong>für</strong> die abgefragten Informationen nicht verantwortlich,<br />

wenn er folgende Punkte einhaltet:<br />

• er darf die Übermittlung der abgefragten Informationen nicht veranlassen<br />

• er darf <strong>den</strong> Empfänger der Informationen nicht auswählen<br />

• er darf die abgefragten Informationen nicht auswählen <strong>und</strong> nicht verändern<br />

Anbieter <strong>von</strong> Hyperlinks auf externe Seiten<br />

Ein Anbieter <strong>von</strong> Hyperlinks auf externe Seiten ist gemäß ECG §17 (1) <strong>für</strong> die frem<strong>den</strong><br />

Informationen nicht verantwortlich, wenn er folgende Punkte einhaltet:<br />

Walter Sunk 79


6 Rechtliche Gr<strong>und</strong>lagen 30. August 2006<br />

• er darf <strong>von</strong> rechtswidrigen Informationen auf der verlinkten Seite keine Kenntnis haben<br />

• sobald er Kenntnis über rechtswidrige Informationen auf der verlinkten Seite erhält, muss er<br />

<strong>den</strong> Link unverzüglich löschen<br />

Umfang der Pflichten der genannten Diensteanbieter<br />

Der Umfang der Pflichten der genannten Diensteanbieter wird in ECG §18 geregelt. Die wichtigste<br />

Aussage ist dabei, dass gemäß ECG §18 (1) alle Diensteanbieter außer Content Provider nicht<br />

verpflichtet sind, Informationen allgemein zu überwachen. Diese Diensteanbieter müssen also nur<br />

dann handeln, wenn sie Kenntnis über rechtswidrige Informationen erlangen. Eigenständiges<br />

Suchen nach rechtswidrigen Informationen ist nicht notwendig.<br />

Im Gegensatz dazu sind Content Provider <strong>für</strong> Ihre Inhalte verantwortlich. Ein Content Provider<br />

muss gemäß [LawTU] regelmäßig seine Inhalte gegen Rechtswidrigkeit prüfen. Um <strong>für</strong> fremde<br />

Inhalte auf der eigenen Internetseite nicht verantwortlich zu sein, muss ein Content Provider gemäß<br />

[LawTU] klar ersichtlich machen, wenn Einträge <strong>von</strong> dritten sind.<br />

Diskussion der Verantwortlichkeiten<br />

Auf der Bergsportplattform verkaufen Autoren Dokumentationen direkt an K<strong>und</strong>en. Die<br />

Bergsportplattform tritt in diesem Fall als Hosting Provider auf, der <strong>von</strong> einem Nutzer eingegebene<br />

Informationen speichert. Nachdem die Bergsportplattform aber auch selbst Inhalte zur Verfügung<br />

stellt, ist sie gleichermaßen auch ein Content Provider <strong>und</strong> hat da<strong>für</strong> zu sorgen, dass keine<br />

rechtswidrigen Inhalte vorkommen.<br />

Im weiteren bietet die Bergsportplattform Hyperlinks auf externe Seiten an. Gemäß [LawTU] ist bei<br />

der Verlinkung auf externe Seiten jedoch darauf zu achten, dass der fremde Inhalt nicht als eigener<br />

Inhalt dargestellt wird, indem beispielsweise die fremde Seite in einem Frame der eigenen Seite<br />

gela<strong>den</strong> wird. Im Falle, dass fremde Inhalte zu eigenen Inhalten gemacht wer<strong>den</strong>, besteht eine<br />

Verantwortung <strong>für</strong> diese Inhalte. Links auf externe Seiten sollten daher immer in einem eigenen<br />

neuen Browserfenster geöffnet wer<strong>den</strong>.<br />

6.2 Geschäfte im Internet<br />

Nachdem zu jedem Geschäft ein Vertrag existiert, muss geklärt wer<strong>den</strong>, wie bei Geschäften im<br />

Internet Verträge zustande kommen <strong>und</strong> welche Pflichten der Verkäufer eines Geschäfts hat.<br />

Online Vertragsabschluss<br />

Verträge kommen gemäß AGBG §861 gr<strong>und</strong>sätzlich formlos durch übereinstimmende<br />

Willenserklärungen der beteiligten Personen zustande. Bei Kaufverträgen sind gemäß [LawTU] <strong>für</strong><br />

einen Vertragsabschluss zusätzlich Kaufgegenstand <strong>und</strong> Preis erforderlich. Gr<strong>und</strong>sätzlich können<br />

Verträge dabei mündlich, fernmündlich, schriftlich <strong>und</strong> digital abgeschlossen wer<strong>den</strong>. Für <strong>den</strong><br />

Abschluss eines Kaufvertrages im Internet ist gemäß ECG §10 (2) zusätzlich eine unverzügliche<br />

Bestätigung des Verkäufers (z.B. durch eine E­Mail) notwendig. Ein Vertragsabschluss zu einem<br />

Kaufvertrag im Internet entsteht daher wie folgt:<br />

1.) Der Verkäufer gibt Auskunft über sein Produkt auf der Webseite. Im Bestellformular müssen<br />

Preis <strong>und</strong> Steuern klar ersichtlich sein (Preis <strong>und</strong> Kaufgegenstand sind also gegeben).<br />

2.) Der Käufer bestellt das Produkt, z.B. durch Abschicken eines Web­Formulars. Die Bestellung<br />

entspricht dabei der Willenserklärung des Käufers, das Produkt zu kaufen.<br />

Walter Sunk 80


6 Rechtliche Gr<strong>und</strong>lagen 30. August 2006<br />

3.) Der Verkäufer muss <strong>den</strong> Vertrag unverzüglich elektronisch bestätigen (z.B. durch eine E­<br />

Mail). Die Bestätigung entspricht der Willenserklärung des Verkäufers.<br />

Geltendes Recht bei internationalen Verträgen<br />

Gr<strong>und</strong>sätzlich gilt <strong>für</strong> Verträge gemäß EVÜ Art. 3 eine freie Rechtswahl. Der Vertrag unterliegt<br />

dem Recht, dass die bei<strong>den</strong> Parteien gewählt haben. Sollten die bei<strong>den</strong> Parteien kein Recht wählen,<br />

dann kommen Art. 4 <strong>und</strong> Art. 5 des EVÜ zur Anwendung.<br />

Ist das Recht nicht vereinbart wor<strong>den</strong>, dann unterliegt gemäß EVÜ Art. 4 der Vertrag „dem Recht<br />

des Staates, mit dem er die engsten Verbindungen aufweist“. Gemäß [LawTU] bedeutet das, dass<br />

das Recht des Verkäuferlandes anzuwen<strong>den</strong> ist.<br />

Eine Ausnahme bil<strong>den</strong> jedoch Verbraucherverträge (das sind Verträge zwischen Unternehmen <strong>und</strong><br />

Konsumenten). Wird keine Rechtswahl getroffen, dann gilt gemäß EVÜ Art. 5 (3) das Recht des<br />

Verbraucherlandes (also des Staates des Käufers).<br />

Für die Anwendung auf <strong>einer</strong> Internetseite bedeutet dies gemäß [LawTU], dass das geltende Recht<br />

<strong>und</strong> der Gerichtsstand stets vereinbart wer<strong>den</strong> sollten, um nicht böse Überraschungen zu erleben.<br />

Wer<strong>den</strong> Verträge unter Allgemeinen Geschäftsbedingungen (AGB) abgeschlossen, dann sollten<br />

geltendes Recht <strong>und</strong> Gerichtsstand in <strong>den</strong> AGB enthalten sein.<br />

Allgemeine Geschäftsbedingungen (AGB)<br />

Gemäß [WPR104] sind Allgemeine Geschäftsbedingungen „vorformulierte Vertragsinhalte, die<br />

Unternehmer als Gr<strong>und</strong>lage <strong>für</strong> eine Vielzahl gleicher Verträge verwen<strong>den</strong>“. Gibt ein Unternehmer<br />

AGB heraus, dann wer<strong>den</strong> diese gemäß [WPR104] unter gewissen Voraussetzungen zum<br />

Vertragsinhalt eines je<strong>den</strong> Kaufvertrags. Notwendige Voraussetzungen da<strong>für</strong>, dass AGB zum<br />

Vertragsinhalt wer<strong>den</strong> sind:<br />

• der K<strong>und</strong>e muss erkennen können, dass der Unternehmer nur zu seinen AGB abschließt<br />

• die AGB müssen vom K<strong>und</strong>en zumutbar zur Kenntnis genommen wer<strong>den</strong> können<br />

Ein K<strong>und</strong>e muss daher nur die Möglichkeit haben, die AGB lesen zu können, braucht sie aber nicht<br />

lesen, wenn er nicht möchte. Beim Formulieren der einzelnen Vertragsbestimmungen ist auf<br />

folgende Punkte zu achten:<br />

• eine Vertragsbestimmung ist gemäß ABGB §879 (3) nicht gültig, wenn diese gröblich<br />

benachteiligend ist<br />

• ungewöhnliche Vertragsbestimmungen wer<strong>den</strong> gemäß ABGB §864a kein Vertragsbestandteil,<br />

außer der Unternehmer weist gesondert darauf hin<br />

Für AGB im Internet gelten gemäß ECG gesonderte Regelungen. Gemäß ECG §11 müssen AGB<br />

gespeichert <strong>und</strong> wiedergegeben wer<strong>den</strong> können. Gemäß [LawTU] sollten AGB auf <strong>einer</strong><br />

Internetseite daher wie folgt angebracht wer<strong>den</strong>:<br />

• schnell auffindbar<br />

• ausdruckbar<br />

• gut lesbar<br />

• mit Gültigkeitsdatum<br />

Auf der Bergsportplattform sollten die AGB also stets leicht auffindbar sein. Nachdem es<br />

vorkommen kann, dass auf Touren Unfälle passieren, sollte auch gesondert darauf hingewiesen<br />

wer<strong>den</strong>, dass die Bergsportplattform <strong>für</strong> Unfälle jeglicher Art keine Verantwortung übernimmt. Aus<br />

Walter Sunk 81


6 Rechtliche Gr<strong>und</strong>lagen 30. August 2006<br />

diesem Gr<strong>und</strong> wird auf der Bergsportplattform ein eigener Haftungsausschluss herausgegeben, der<br />

Bestandteil der AGB ist. Bevor ein K<strong>und</strong>e Dokumentationen erwirbt, muss er daher aus<br />

Haftungsgrün<strong>den</strong> die AGB <strong>und</strong> <strong>den</strong> Haftungsausschluss akzeptieren.<br />

Nutzungsbedingungen<br />

Wer<strong>den</strong> keine Allgemeinen Geschäftsbedingungen herausgegeben, dann sollten gemäß [LawTU]<br />

auf jeder Internetseite zumindest Nutzungsbedingungen vorhan<strong>den</strong> sein, die beschreiben, unter<br />

welchen Bedingungen die Internetseite verwendet wer<strong>den</strong> darf. Die herausgegebenen<br />

Nutzungsbedingungen sollten auch Verantwortlichkeiten auf der Seite festhalten, insbesondere<br />

dann, wenn keine Verantwortung <strong>für</strong> bestimmte Inhalte übernommen wird.<br />

Informationspflichten (Impressum)<br />

Gemäß ECG §5 hat ein Diensteanbieter einige Informationen zur Verfügung zu stellen. Die<br />

Informationen müssen dabei leicht auffindbar sein. Diese Informationen sind:<br />

• Name oder Firmenname<br />

• die geographische Anschrift<br />

• die E­Mail Adresse des Herausgebers<br />

• bei Firmen weiters: Firmenbuchnummer, Aufsichtsbehörde, Kammer, Berufsverband,<br />

Umsatzsteueri<strong>den</strong>tifikationsnummer (UID)<br />

• bei Preisangaben muss angegeben wer<strong>den</strong>, ob Preise inkl. oder exkl. Umsatzsteuer sind;<br />

Preisangaben müssen überdies leicht lesbar <strong>und</strong> zuordbar sein<br />

6.3 Versand <strong>von</strong> Werbemails<br />

Für <strong>den</strong> Versand <strong>von</strong> Werbemails ist gemäß [LawTU] das TKG zuständig. Folgende Regelungen<br />

wer<strong>den</strong> getroffen:<br />

• gemäß TKG §107 (2) ist der Versand <strong>einer</strong> E­Mail ohne vorherige Einwilligung des<br />

Empfängers unzulässig, wenn es sich entweder um eine Werbemail handelt oder die Mail an<br />

mehr als 50 Empfänger gerichtet ist<br />

• gemäß TKG §107 (3) ist eine vorherige Zustimmung eines K<strong>und</strong>en (genauer gesagt, eines<br />

Verbrauchers im Sinne des KSchG §1 Abs. 1 Ziff. 2) nicht notwendig, wenn folgende<br />

Kriterien erfüllt sind:<br />

1) der Absender hat die Adresse des K<strong>und</strong>en im Zuge eines Verkaufs oder <strong>einer</strong><br />

Dienstleistung erhalten, <strong>und</strong><br />

2) der Inhalt der E­Mail ist eine Direktwerbung <strong>für</strong> ähnliche Produkte, <strong>und</strong><br />

3) der K<strong>und</strong>e hat die Möglichkeit erhalten <strong>und</strong> hat weiterhin die Möglichkeit, Werbemails<br />

kostenfrei <strong>und</strong> problemlos abzulehnen<br />

• gemäß TKG §107 (4) dürfen Werbemails an Unternehmer ohne vorherige Einwilligung dieser<br />

gesendet wer<strong>den</strong>, wenn der Empfänger ausdrücklich die Möglichkeit hat, <strong>den</strong> Empfang<br />

weiterer E­Mails abzulehnen<br />

Gemäß TKG §107 (2) <strong>und</strong> (3) dürfen also erst dann Werbemails gesendet wer<strong>den</strong>, wenn man bereits<br />

vorher mit dem K<strong>und</strong>en in Kontakt getreten ist <strong>und</strong> der K<strong>und</strong>e keine Einwände gegen Werbemails<br />

hat. In der praktischen Implementierung muss in jeder Werbemail ein Link vorhan<strong>den</strong> sein, mit dem<br />

zukünftige Werbemails abgelehnt wer<strong>den</strong> können.<br />

Walter Sunk 82


6 Rechtliche Gr<strong>und</strong>lagen 30. August 2006<br />

Um die Zustimmung eines K<strong>und</strong>en explizit zu erfragen, ist es angebracht, z.B. im Verlauf der<br />

Registrierung des K<strong>und</strong>en zu fragen, ob dieser Werbemails (z.B. einen Newsletter) zugeschickt<br />

bekommen möchte. Diese Einstellung sollte im Profil des K<strong>und</strong>en auf je<strong>den</strong> Fall änderbar sein.<br />

Vielleicht möchte der K<strong>und</strong>e z.B. im Falle eines Newsletters diesen vorerst nicht zugeschickt<br />

bekommen, aber vielleicht nach ein paar Wochen, nachdem er die Internetseite kennen gelernt hat.<br />

In diesem Fall sollte der K<strong>und</strong>e in seinem Profil <strong>den</strong> Newsletter abonnieren können.<br />

Bei allen E­Mails ist zu achten, dass sofort erkennbar ist, wer der Absender der E­Mail Adresse ist.<br />

Der Absender muss auch gemäß ECG §7 (1) leicht <strong>und</strong> eindeutig i<strong>den</strong>tifizierbar sein. Der K<strong>und</strong>e<br />

sollte bereits durch die E­Mail Adresse selbst oder mit dem Betreff die E­Mail zuordnen können.<br />

E­Mails an Unternehmer dürfen also gemäß TKG §107 (4) prinzipiell ohne deren Einwilligung<br />

gesendet wer<strong>den</strong>, wenn die Möglichkeit des Ablehnens besteht. Gemäß [LawTU] ist jedoch zu<br />

beachten, dass der Inhalt der E­Mail mit dem angemailten Unternehmen in Bezug stehen muss.<br />

Steht der Inhalt der E­Mail nämlich nicht mit dem angemailten Unternehmen in Bezug, dann ist das<br />

Unternehmen als ein Verbraucher zu werten. In diesem Fall müssen dann TKG §107 (2) <strong>und</strong> TKG<br />

§107 (3) angewendet wer<strong>den</strong>.<br />

6.4 Datenschutz <strong>und</strong> Urheberrecht<br />

Datenschutz<br />

Gemäß [LawTU] schützt das Datenschutzgesetz die Privatsphäre <strong>und</strong> die Meinungsfreiheit. Gemäß<br />

DSG §6 (1) dürfen Daten nur <strong>für</strong> eindeutige <strong>und</strong> rechtmäßige Zwecke erhoben wer<strong>den</strong>. Die Daten<br />

müssen aktualisiert wer<strong>den</strong> können. Daten dürfen nur solange aufbewahrt wer<strong>den</strong>, solange sie <strong>für</strong><br />

ihre Zwecke gebraucht wer<strong>den</strong>. Gemäß DSG §7 dürfen Daten nur mit der Einwilligung des<br />

Betroffenen verarbeitet wer<strong>den</strong>, die Notwendigkeit der Verarbeitung muss klar ersichtlich <strong>und</strong> die<br />

Daten müssen geheim gehalten wer<strong>den</strong>.<br />

Nachdem es auf der Bergsportplattform verschie<strong>den</strong>e Benutzergruppen gibt, muss die Frage gestellt<br />

wer<strong>den</strong>, welche Daten <strong>von</strong> jeder Benutzergruppe benötigt wer<strong>den</strong>.<br />

Nachdem auf der Plattform Autoren Dokumentationen direkt an K<strong>und</strong>en verkaufen, entstehen somit<br />

Verträge zwischen K<strong>und</strong>en <strong>und</strong> Autoren. Um die an einem Kaufvertrag beteiligten Personen<br />

i<strong>den</strong>tifizieren zu können, wer<strong>den</strong> <strong>von</strong> K<strong>und</strong>en <strong>und</strong> Autoren personenbezogenen Daten gespeichert.<br />

Die genaue I<strong>den</strong>tifizierung der an einem Kaufvertrag beteiligten Personen kann im Falle <strong>von</strong><br />

Rechtswidrigkeiten <strong>und</strong> Rechtsstreitigkeiten notwendig sein. Nachdem Autoren auf der Plattform<br />

als Unternehmer (in der Regel als Kleinunternehmer, siehe Abschnitt 6.5) auftreten, müssen <strong>von</strong><br />

<strong>den</strong> Autoren weiters Daten gemäß ECG §5 aufgenommen <strong>und</strong> beim Kauf <strong>einer</strong> Dokumentation an<br />

<strong>den</strong> jeweiligen K<strong>und</strong>en ausgewiesen wer<strong>den</strong>.<br />

Nachdem Werbeverträge mit Werbern <strong>und</strong> Übersetzungsverträge mit Übersetzern abgeschlossen<br />

wer<strong>den</strong>, müssen auch personenbezogene Daten <strong>von</strong> Werbern <strong>und</strong> Übersetzern hinreichend genau<br />

aufgenommen wer<strong>den</strong>.<br />

Um zu gewährleisten, dass alle personenbezogenen Daten auf einem aktuellen Stand gehalten<br />

wer<strong>den</strong> können, können alle Benutzergruppen ihre personenbezogen Daten in ihrem Profil im<br />

Bereich <strong>für</strong> Mitglieder updaten. Um zu gewährleisten, dass personenbezogene Daten geheim<br />

gehalten wer<strong>den</strong>, sind diese nur der Administration <strong>für</strong> administrative Zwecke zugänglich. Um die<br />

Geheimhaltung bei der Datenübertragung zu gewährleisten, unterstützt die Bergsportplattform die<br />

Verschlüsselungsart SSL. Sensible Daten wer<strong>den</strong> daher nur über verschlüsselte HTTPS­<br />

Verbindungen (die SSL verwen<strong>den</strong>) übertragen. Um sensible personenbezogene Daten überdies vor<br />

Walter Sunk 83


6 Rechtliche Gr<strong>und</strong>lagen 30. August 2006<br />

Angriffen zu schützen, wer<strong>den</strong> diese in der Datenbank verschlüsselt gespeichert. Um diese Daten zu<br />

entschlüsseln sind besondere Rechte sowie die zugehörigen Passwörter notwendig.<br />

Urheberrechtsgesetz<br />

Gemäß dem UrhG Abschnitt III. hat ein Urheber eines Werkes das ausschließliche Recht zu<br />

bestimmen, ob <strong>und</strong> wann das Werk genutzt, verwertet, vervielfältigt oder verbreitet wird. Der<br />

Urheber hat weiters das Recht, gemäß UrhG §20 (1) genannt zu wer<strong>den</strong> oder anonym zu bleiben.<br />

Diese Forderungen haben großen Einfluss auf die Bergsportplattform. Auf der Bergsportplattform<br />

wird Literatur kombiniert mit Fotos angeboten. Literatur <strong>und</strong> Fotos sind urheberrechtlich geschützt.<br />

Zum einen müssen die urheberrechtlichen Interessen der Autoren geschützt bleiben, zum anderen<br />

muss darauf geachtet wer<strong>den</strong>, dass Autoren in ihren Dokumentationen keine<br />

Urheberrechtsverletzungen begehen.<br />

Um die urheberrechtlichen Interessen der Autoren zu schützen, wird in jeder Dokumentation auf<br />

<strong>den</strong> Autor hinweisen. Zudem ist auf allen Fotos der Autor als Urheber ersichtlich <strong>und</strong> das<br />

Copyright­Log © ist angebracht. Im weiteren ist in allen PDF­Dokumenten der jeweilige Autor als<br />

Urheber ersichtlich. In <strong>den</strong> Allgemeinen Geschäftsbedingungen <strong>für</strong> K<strong>und</strong>en wird mit K<strong>und</strong>en<br />

vereinbart, dass Dokumentationen nur in eigenem privaten Gebrauch verwendet wer<strong>den</strong> dürfen.<br />

Dokumentationen <strong>und</strong> deren Inhalte dürfen <strong>von</strong> K<strong>und</strong>en weder veröffentlicht noch weitergegeben<br />

wer<strong>den</strong>. Diese Bestimmungen wer<strong>den</strong> zusätzlich in <strong>den</strong> PDF­Dokumenten wiedergegeben.<br />

Umgekehrt muss darauf geachtet wer<strong>den</strong>, dass Autoren keine Urheberrechtsverletzungen begehen.<br />

Nachdem es aufgr<strong>und</strong> schlechten (oder nicht hinreichend guten) Wetters oftmals schwer ist, gute<br />

Fotos <strong>für</strong> Dokumentationen zu erhalten, kann es Vorkommen, dass Autoren zusätzliche Fotos, die<br />

nicht <strong>von</strong> ihnen stammen, verwen<strong>den</strong> möchten. Aufgr<strong>und</strong> des UrhG dürfen Autoren jedoch<br />

prinzipiell nur eigenes Dokumentationsmaterial verwen<strong>den</strong>. Sollten Autoren <strong>den</strong>noch fremdes<br />

Material (z.B. fremde Fotos) verwen<strong>den</strong> wollen, dann müssen sie sich <strong>für</strong> dieses die notwendigen<br />

Nutzungsrechte der Urheber besorgt haben. Hält sich ein Autor nicht an diese Bestimmung, dann<br />

wird ihm die Autorenlizenz fristlos entzogen. Nachdem im Dokumentationsmaterial potentiell<br />

Urheberrechtsverletzungen seitens der Autoren auftreten können, muss mit jedem Autor zusätzlich<br />

vereinbart wer<strong>den</strong>, dass der Autor im Falle eines durch ihn verschuldeten Rechtsstreits die Plattform<br />

„schad­ <strong>und</strong> klaglos“ halten muss.<br />

6.5 Tätigkeit als Autor<br />

In diesem Abschnitt wer<strong>den</strong> die wichtigsten rechtlichen <strong>und</strong> steuerlichen Voraussetzungen <strong>für</strong> die<br />

Tätigkeit als Autor in Österreich erklärt. Nachfolgende Informationen wur<strong>den</strong> bei <strong>den</strong> zuständigen<br />

Behör<strong>den</strong> recherchiert <strong>und</strong> dienen lediglich der Orientierung. Für rechtsgültige <strong>und</strong> aktuelle<br />

Informationen sind das zuständige Finanzamt, die zuständige Wirtschaftskammer sowie die<br />

zuständige Sozialversicherung zu kontaktieren. Die Wirtschaftskammern Österreichs geben unter<br />

anderem einen Leitfa<strong>den</strong> <strong>für</strong> Gründer <strong>und</strong> Gründerinnen <strong>von</strong> Unternehmen mit vielen wichtigen<br />

Hinweisen <strong>und</strong> wichtigen Adressen heraus (siehe [WkOe05]).<br />

Autor bzw. Schriftsteller – ein freier Beruf<br />

Literatur <strong>und</strong> Selbstverlag der Urheber sind in Österreich kein Gewerbe. Dementsprechend<br />

brauchen Autoren auch keinen Gewerbeschein. Dadurch kann eine jede Person jederzeit eine<br />

Tätigkeit als Autor beginnen.<br />

Walter Sunk 84


6 Rechtliche Gr<strong>und</strong>lagen 30. August 2006<br />

Umsatzsteuer, Unternehmer <strong>und</strong> Kleinunternehmer<br />

Beim Verkauf <strong>von</strong> Dokumentationen wird „Online Literatur“ verkauft. Generell ist „Online<br />

Literatur“ in Österreich mit 20% Umsatzsteuer zu versteuern. Gemäß österreichischem Gesetzt kann<br />

man bis zu einem jährlichen Umsatz <strong>von</strong> 22.000€ als Kleinunternehmer arbeiten. Die Umsätze <strong>von</strong><br />

Kleinunternehmern sind <strong>von</strong> der Umsatzsteuer befreit (UStG §6, Abs. 1, Ziff. 27). Wenn man im<br />

laufen<strong>den</strong> Jahr die Grenze <strong>von</strong> 22.000€ Umsatz überschreitet, dann muss man sich selbstständig<br />

beim Finanzamt mel<strong>den</strong> <strong>und</strong> Umsatzsteuer (20% vom Verkaufspreis) an das Finanzamt abführen.<br />

Be<strong>den</strong>klich bei dieser steuerlichen Situation ist, dass Literatur in Buchform der ermäßigten<br />

Umsatzsteuer <strong>von</strong> 10% unterliegt. Für alle Waren­ <strong>und</strong> Dienstleistungen, die der ermäßigten<br />

Umsatzsteuer <strong>von</strong> 10% unterliegen, existiert eine Liste. Paradoxerweise ist <strong>für</strong> „Online Literatur“<br />

nur deshalb nicht die ermäßigte Umsatzsteuer <strong>von</strong> 10% anzuwen<strong>den</strong>, weil in dieser Liste nur<br />

Literatur, aber nicht „Online Literatur“ vorkommt – eine Auslegung mit weitreichen<strong>den</strong><br />

Konsequenzen, die aus Sicht eines Autors <strong>und</strong> Schriftstellers kaum einsichtig ist.<br />

Sozialversicherung<br />

Wenn man die Tätigkeit als Autor in Österreich nebenberuflich ausübt <strong>und</strong> wenn der jährliche<br />

Gewinn 3997.92€ (Wert 2006) übersteigt, dann muss man Sozialversicherung zahlen. Man muss<br />

sich in diesem Fall selbstständig bei der Sozialversicherung mel<strong>den</strong>.<br />

Zusammenfassung:<br />

Eine jede Person kann also eine Tätigkeit als Autor jederzeit beginnen. Übersteigt der jährliche<br />

Umsatz 22.000€, dann muss man sich beim Finanzamt mel<strong>den</strong> <strong>und</strong> <strong>den</strong> Umsatz mit 20%<br />

Umsatzsteuer versteuern. Übersteigt der jährliche Gewinn 3997.92€, dann muss man sich bei der<br />

Sozialversicherung mel<strong>den</strong> <strong>und</strong> Sozialversicherung zahlen. Bleibt man unter diesen Grenzen, dann<br />

kann man die Tätigkeit als Autor frei (ohne Versteuerung <strong>und</strong> ohne Meldung bei einem Amt)<br />

ausüben.<br />

Walter Sunk 85


7 Zusammenfassung <strong>und</strong> Ausblick 30. August 2006<br />

7 Zusammenfassung <strong>und</strong> Ausblick<br />

7.1 Ergebnisse der Arbeit<br />

Ergebnisse aus inhaltlicher Sicht<br />

Im Zuge dieser Arbeit wurde die Bergsportplattform [AIS] entwickelt, die es ermöglicht,<br />

fotounterstützte Dokumentation alpiner Touren im Internet zu publizieren <strong>und</strong> zu vermarkten.<br />

Derartige Dokumentationen unterstützten dabei durch gut aufbereitetes <strong>und</strong> informatives<br />

Fotomaterial die Tourenplanung alpiner Touren. Die Plattform wurde mehrsprachig entwickelt,<br />

sodass Dokumentationen auch in mehreren Sprachen erstellt <strong>und</strong> bezogen wer<strong>den</strong> können.<br />

Basisinhalt der Bergsportplattform<br />

Als Basisinhalt wur<strong>den</strong> auf der Plattform ein Osttirol Wander­ <strong>und</strong> Hochtourenführer sowie ein<br />

kl<strong>einer</strong> Zentralpyrenäenführer mit Sommerbeginn 2006 herausgegeben.<br />

Fotomaterial<br />

Besonderen Wert legt die Plattform auf inhaltlich informative Fotos <strong>und</strong> deren Aufbereitung in<br />

<strong>einer</strong> Dokumentation. Die Plattform wurde derart modelliert, dass jede Dokumentation genügend<br />

Fotomaterial aufnehmen kann, um <strong>den</strong> gesamten Verlauf der dokumentierten Tour sowie deren<br />

Schlüsselstellen zeigen zu können. Jedes Foto kann mit jedem anderen Foto <strong>einer</strong> Tour direkt im<br />

Foto selbst verlinkt wer<strong>den</strong>. Das selbe gilt auch <strong>für</strong> Tourenkarten. Auf jeder Karte <strong>einer</strong> Tour<br />

können Links zu <strong>den</strong> Fotos der Tour angebracht wer<strong>den</strong>. Der Benutzer sieht dadurch, an welcher<br />

Stelle die Fotos während der Tour aufgenommen wur<strong>den</strong> <strong>und</strong> kann somit die gesamte Tour virtuell<br />

durchgehen. Der Verlauf jeder Tour wird in Worten als Text beschrieben, wobei in diesem Links zu<br />

<strong>den</strong> entsprechen<strong>den</strong> Fotos (automatisiert) angebracht wer<strong>den</strong> können. Auch anhand des Textes <strong>und</strong><br />

der verlinkten Fotos wird der gesamte Tourenverlauf einsehbar.<br />

Touren <strong>und</strong> Tourenalben<br />

Dokumentationen einzelner Touren können zu sogenannten Tourenalben zusammengefasst wer<strong>den</strong>.<br />

Solche bestehen also aus mehreren Touren, die unter einem gemeinsamen Thema zusammengestellt<br />

sind. Tourenalben realisieren somit Gebietsführer. Tourenalben können <strong>von</strong> mehreren Autoren<br />

gemeinsam verfasst wer<strong>den</strong>, wodurch Dokumentationen in relativ kurzer Zeit herausgebbar sind.<br />

PDF­Dokumente<br />

Überdies wurde ein PDF­Generator implementiert, der es ermöglicht, sämtliche Inhalte der<br />

Tourendokumentation in Form <strong>von</strong> 2 PDF­Dokumenten zu beziehen. Ein PDF­Dokument<br />

beschreibt dabei die Tour als Text, das andere PDF­Dokument bietet alle zugehörigen Fotos, die<br />

ausführlich beschrieben sind.<br />

Ergebnisse aus technischer Sicht<br />

<strong>Realisierung</strong> <strong>von</strong> Sicherheitsmaßnahmen<br />

Aufgr<strong>und</strong> des großen Umfangs wur<strong>den</strong> Teile der Arbeit in die Praktikumsarbeit [WaSu06]<br />

ausgegliedert. In jeder Stufe der vorliegen<strong>den</strong> Arbeit <strong>und</strong> der Praktikumsarbeit wurde sowohl bei<br />

der Planung, bei der Modellierung als auch bei der Implementierung stets auf wichtige Themen der<br />

Internet Security gemäß [InetSec] geachtet. Insbesondere betrifft dies jene Bereiche der Arbeit, die<br />

Walter Sunk 86


7 Zusammenfassung <strong>und</strong> Ausblick 30. August 2006<br />

mit sensitiven Benutzerdaten <strong>und</strong> mit Geldsummen zu tun haben. Aus technischer Sicht bestand die<br />

Herausforderung auch darin, das eigene System durch gezielte Attacken anzugreifen, um die<br />

Funktionalität der implementierten Sicherheitsmaßnahmen zu testen. Die <strong>Realisierung</strong> der<br />

Sicherheitsmaßnahmen führte zu einem wichtigen Ergebnis. Die Umsetzung nahm in etwa 2­3 mal<br />

soviel Zeit in Anspruch als da<strong>für</strong> geplant. Gr<strong>und</strong> da<strong>für</strong> waren stets Detailprobleme. In der Regel war<br />

die Planung nicht ausreichend. Bei der Implementierung kamen Probleme zum Vorschein, die in der<br />

Planung nicht bedacht wur<strong>den</strong>. Außerdem wurde der zeitliche Aufwand zum Testen ebenfalls<br />

unterschätzt. Ein Hauptproblem bei Tests war, dass diese nur schwer bis überhaupt nicht zu<br />

automatisieren waren, zumindest nicht im vorgegebenen Zeitrahmen.<br />

Fotoerstellung <strong>und</strong> Schutz des Fotomaterials<br />

Im Zuge der Fotoerstellung war es möglich, Fotos durch Beschreibung <strong>von</strong> Header­Tags<br />

Annotierung, Wasserzeichen <strong>und</strong> Steganographie urheberrechtlich zu schützen. In Abschnitt 2.2.2<br />

wurde diskutiert, dass ein 100%­Schutz praktisch nicht möglich ist. Sicherheit musste demzufolge<br />

neu definiert wer<strong>den</strong>. Nach dieser Definition besteht Sicherheit <strong>für</strong> ein System, wenn <strong>für</strong> einen<br />

Angreifer der Aufwand zu groß ist, das System anzugreifen. Ein Angriff ist bei dieser Definition<br />

<strong>von</strong> Sicherheit zwar prinzipiell möglich, jedoch sehr unwahrscheinlich, weil der Aufwand <strong>für</strong> <strong>den</strong><br />

Angriff verglichen mit dem Nutzen <strong>für</strong> <strong>den</strong> Angreifer zu groß ist.<br />

Benutzungstests<br />

Wie die in Kapitel 5 beschriebenen Benutzungstests gezeigt haben, muss man auf <strong>einer</strong> Internetseite<br />

stets mit unerfahrenen Internetbenutzern rechnen. Dabei wurde gezeigt, dass Benutzerfre<strong>und</strong>lichkeit<br />

oft im Widerspruch zu Internet Security steht. Hier ist gründlich zu überlegen, welche<br />

Sicherheitsmaßnahmen auf <strong>einer</strong> Internetseite überhaupt notwendig sind, um Interaktionen auf der<br />

Seite nicht unnötig zu erschweren, wodurch Benutzer verärgert wer<strong>den</strong> <strong>und</strong> die Seite verlassen.<br />

Ergebnisse aus multidisziplinärer Sicht<br />

Rechtliche Gr<strong>und</strong>lagen<br />

Zur <strong>Realisierung</strong> der Bergsportplattform waren nicht nur technische Kenntnisse erforderlich. Wie in<br />

Kapitel 6 gezeigt sind beim Betrieb <strong>einer</strong> Internetseite eine Menge rechtlicher Bestimmungen zu<br />

beachten. Nachdem derartige rechtliche Bestimmungen stets sehr komplex sind, sollten hier auf<br />

je<strong>den</strong> Fall zumindest einführende Kurse zu diesem Thema besucht wer<strong>den</strong>, um nicht plötzlich böse<br />

Überraschungen zu erleben.<br />

Gr<strong>und</strong>lagen aus der Buchhaltung<br />

Jedem Verkauf <strong>von</strong> Waren <strong>und</strong> Dienstleistungen liegt eine Buchhaltung zu Gr<strong>und</strong>e. Um sämtliche<br />

Verrechnungen auf der Plattform automatisch durchführen zu können, wurde in Abschnitt 3.2.12<br />

ein System der doppelten Buchhaltung entwickelt. Hier<strong>für</strong> sind bereits teilweise mehr als nur<br />

gr<strong>und</strong>legende Kenntnisse der Buchhaltung notwendig, die man sich als Techniker meistens erst<br />

aneignen muss, was wiederum sehr viel Zeit kostet.<br />

Gr<strong>und</strong>lagen der Alpinistik<br />

Der Inhalt der gesamten Plattform erfordert natürlich gr<strong>und</strong>legende Kenntnisse im Bereich der<br />

Alpinistik. Um Inhalte <strong>für</strong> die Plattform in Form <strong>von</strong> Dokumentationen zu erstellen, ist außerdem<br />

Erfahrung beim Durchführen <strong>von</strong> alpinen <strong>und</strong> hochalpinen Touren notwendig.<br />

Walter Sunk 87


7 Zusammenfassung <strong>und</strong> Ausblick 30. August 2006<br />

7.2 Ausblick<br />

Bekanntmachung der Internetseite<br />

In kommender Zeit soll die Internetseite öffentlich bekannt gemacht wer<strong>den</strong>. Die Vorgehensweise<br />

ist bereits geplant. Eine Strategie <strong>für</strong> die weitere Zukunft der Seite soll ausgearbeitet wer<strong>den</strong>.<br />

Implementierung neuer Tourtypen<br />

Mit Sommer 2006 können auf der Plattform Wanderungen <strong>und</strong> Hochtouren dokumentiert wer<strong>den</strong>.<br />

Zukünftig soll auch die Dokumentation <strong>von</strong> Wintertouren möglich sein. Insbesondere sollen<br />

zukünftig Skitouren, Skihochtouren <strong>und</strong> Schneeschuhwanderungen dokumentiert wer<strong>den</strong> können.<br />

Weitere Benutzungstests<br />

Aufgr<strong>und</strong> des zeitlich beschränkten Rahmens konnte nur eine relativ kleine Anzahl an<br />

Benutzungstests durchgeführt wer<strong>den</strong>. In weiteren Arbeiten könnten folgende zwei Arten <strong>von</strong><br />

weiteren Benutzungstests durchgeführt wer<strong>den</strong>.<br />

• Weitere Benutzungstest mit der Internetseite: Im Zuge der bereits durchgeführten<br />

Benutzungstests wur<strong>den</strong> einige Änderungen an der Seite vorgenommen. Es ist zu testen, ob die<br />

vorgenommenen Änderungen auch wirklich die erwünschten Ergebnisse liefern. Um dies<br />

festzustellen, sind weitere Tests mit neuen Benutzern notwendig.<br />

• Allgemeine Benutzungstests zu bestimmten Interaktionen: Aus Sicht des Entwicklers wäre es<br />

interessant, wie bestimmte Interaktionen aus psychologischer Sicht aussehen müssen, um<br />

möglichst benutzungsfre<strong>und</strong>lich zu sein. Beispielsweise wäre es interessant zu erfahren, wie<br />

der optimale Captcha­Test (diskutiert in Abschnitt 5.1), wie das optimale Zahlungssystem <strong>und</strong><br />

wie die optimale Passwortabfrage aus Sicht der Benutzerfre<strong>und</strong>lichkeit <strong>und</strong> aus<br />

psychologischer Sicht aussehen sollen.<br />

Inhaltliche Ziele der Bergsportplattform<br />

Die Verantwortlichen der Plattform möchten gemeinsam mit zukünftigen Autoren professionelle<br />

fotounterstützte Dokumentationen aller bekannten alpinen Gipfelziele des gesamten Alpenraums<br />

anfertigen <strong>und</strong> somit Wanderern <strong>und</strong> Bergsteigern wertvolle Informationen zur Tourenplanung<br />

anbieten. Als Zukunftsphilosophie wurde die Erstellung derartiger fotounterstützter<br />

Dokumentationen zu <strong>den</strong> wichtigsten 3000er <strong>und</strong> zu allen 4000er Gipfelzielen des gesamten<br />

Alpenraums definiert. Darüber hinaus sollen auch weltweite Gipfelziele außerhalb des Alpenraums<br />

präsentiert wer<strong>den</strong>.<br />

Die Verantwortlichen der Internetseite möchten Alpinsport als Urlaub vermitteln. Mit dem<br />

Gr<strong>und</strong>satz, dass der Alpinsport einzigartige Erlebnisse mit sich bringt, die in w<strong>und</strong>erbaren<br />

Erinnerungen über Jahre hinweg Bestand haben, soll die Internetseite einen Beitrag dazu leisten,<br />

derartige Erlebnisse fern vom Alltagsleben zu ermöglichen.<br />

Walter Sunk 88


8 Literatur 30. August 2006<br />

8 Literatur<br />

[AlLp01] DAV (Deutscher Alpenverein): Alpin­Lehrplan Band 3, Hochtouren <strong>und</strong> Eisklettern.<br />

BLV <strong>Verlag</strong>s­GmbH, 2001<br />

[AmBug02] L. Baresi, G. Denaro, L. Mainetti, P. Paolini: Assertions to Better Specify the<br />

Amazon Bug. Paper vom Politecnico di Milano, Milan, Italien, 2002<br />

[AttWm04] Chun­Hsiang Huang, Ja­Ling Wu: Attacking visible watermarking schemes. Paper,<br />

Multimedia, IEEE Transactions on Volume 6, Issue 1, Pages 16 ­ 30, Feb. 2004<br />

[DigWm99] Wolfgang, R.B.; Podilchuk, C.I.; Delp, E.J.: Perceptual watermarks for digital<br />

images and video. Paper, Proceedings of the IEEE Volume 87, Issue 7,<br />

Pages 1108 ­ 1126, July 1999<br />

[EfBh04] Grohmann­Steiger, Schneider, Eberhartinger: Einführung in die Buchhaltung im<br />

Selbststudium. 16. Auflage, WUV Universitätsverlag, Wien, 2004<br />

[LawTU] Markus Haslinger, Wolfram Proksch: Unterlagen zur Vorlesung <strong>und</strong> Übung Daten<strong>und</strong><br />

Informatikrecht. Fachbereich Rechtswissenschaften der TU Wien (die<br />

Unterlagen sind <strong>für</strong> Stu<strong>den</strong>ten, welche die Vorlesung <strong>und</strong> Übung besuchen,<br />

kostenfrei im jeweiligen Kurs erhältlich, Wintersemester 2004/2005<br />

[MaKo02] Manfred Korbaj: Die schönsten Dreitausender der Ostalpen. Pichler <strong>Verlag</strong>, 2002<br />

[PeDo03] Peter Donatsch: Alle 4000er der Alpen. AT <strong>Verlag</strong>, 2003<br />

[SMail03] Bryan Costalas mit Eric Allman: sendmail. O'Reilly <strong>Verlag</strong>, 2003<br />

[StFi04] Manfred Straube, Siegfried Fina: E­Commerce <strong>und</strong> Internetrecht. 2. Auflage, Manz<br />

<strong>Verlag</strong>, Wien, 2004<br />

[UML205] Martin Hitz, Gerti Kappel: UML@work. 3. aktualisierte <strong>und</strong> überarbeitete Auflage,<br />

dpunkt.verlag, 2005<br />

[WaSu06] Walter Sunk: Secure top­up payment system and its prerequisites. Praktikum am<br />

Institut <strong>für</strong> Informationssysteme, TU­Wien, Wien, 2006<br />

[WkOe05] Wirtschaftskammern Österreichs: Leitfa<strong>den</strong> <strong>für</strong> Gründerinnen <strong>und</strong> Gründer. 10.<br />

Auflage, Wien, 2005<br />

[WPR104] Peter Doralt, Christian Nowotny: Wirtschaftsprivatrecht 1. 3. Auflage, Facultas<br />

<strong>Verlag</strong>, Wien, 2004<br />

Web Links (Letzte Besuche am 8. August 2006)<br />

[AIS] Walter Sunk: www.AlpinImageS.com. Realisierte Bergsportplattform, die<br />

professionelle fotounterstützte Dokumentationen alpiner Touren anbietet,<br />

http://www.AlpinImageS.com /, 2006<br />

[BEV] B<strong>und</strong>esamt <strong>für</strong> Ein­ <strong>und</strong> Vermessungswesen, http://www.bev.gv.at/, 2006<br />

[CMU] Carnegie Mellon Universität: The Captcha Project. Informationen der Erfinder<br />

zum Captcha Projekt, http://www.captcha.net/, 2002­2005<br />

[i18nW3C] W3C: W3C Internationalization (i18n) Activity. Überblick über die W3C<br />

Aktivitäten zur Internationalisierung, http://www.w3.org/International/, 2006<br />

Walter Sunk 89


8 Literatur 30. August 2006<br />

[i18nDb] Debian: Introduction to i18n. Gute Einführung in die Konzepte der<br />

Internationalisierung, http://www.debian.org/doc/manuals/intro­i18n/, 2006<br />

[IMagick] Anthony Thyssen: Examples of ImageMagick Usage (version 6). Gute Einführung<br />

mit vielen praktischen Beispielen zu ImageMagick,<br />

http://www.cit.gu.edu.au/~anthony/graphics/imagick6/, 2005<br />

[InetSec] Engin Kirda, Christopher Kruegel: Internet Security 1 <strong>und</strong> 2. Vorlesungen mit<br />

Übungen auf der TU­Wien mit vielen praktischen Beispielen zum Thema Internet<br />

Security, http://www.seclab.tuwien.ac.at/InetSec2/<br />

[KstWiki] Im europäischen Alpenraum gebräuchliche 5­teilige Klettersteigskala,<br />

http://de.wikipedia.org/wiki/Klettersteig<br />

[RIS] Österreichisches B<strong>und</strong>eskanzleramt: Rechtsinformationssystem des<br />

B<strong>und</strong>eskanzleramts. Informationenen über das Recht der Republik Österreich,<br />

http://www.ris.bka.gv.at/<br />

[SAC] Schweizer Alpen­Club, Herausgeber <strong>von</strong> Bewertungsskalen zu unterschiedlichen<br />

Tourtypen, http://www.sac­cas.ch/<br />

[UIAA] UIAA, International Mountaineering and Climbing Federation, Herausgeber der 7stufigen<br />

UIAA­Skala <strong>für</strong> Felsklettern, http://www.uiaa.ch/<br />

Walter Sunk 90

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!