Beruflich Dokumente
Kultur Dokumente
Pflichtenheft
Jahresprojekt (Handy-Applikation)
16.01.2009
Version 1.0
Michael Pitzer
michael.pitzer@student.tgm.ac.at
Alexander Seik
alexander.seik@student.tgm.ac.at
Markus Slivovsky
markus.slivvosky@student.tgm.ac.at
Oliver Tischler
oliver.tischler@student.tgm.ac.at
Änderungsverzeichnis
Version Autor Datum Status Kommentar
0.1 MP 18.12.2008 Erstfassung Inhaltsverzeichnis
0.2 MP 26.12.2008 Kapitel 1 erstellt
0.3 MP 3.1.2009 Kapitel 2 erstellt
0.4 MP 5.1.2009 Kapitel 3, 5, 6, 8, 10, 11 erstellt
0.5 MS 8.1.2009 Kapitel 4.4 erstellt
0.6 MP 13.1.2009 Kapitel 4.1, 4.2, 4.3, 7 erstellt
0.7 MP 15.1.2009 Restliche Kapitel erstellt
0.8 MP 16.1.2009 Use-Cases erstellt
1.0 OT 16.1.2009 Schriftbild überarbeitet, Korrektur gelesen
Inhaltsverzeichnis
0 GLOSSAR .................................................................................................................................................................. 5
0.1 GPS ........................................................................................................................................................................... 5
0.2 GUI ............................................................................................................................................................................ 5
0.3 J2ME ......................................................................................................................................................................... 5
0.4 JSR ............................................................................................................................................................................. 5
0.5 BLUETOOTH.................................................................................................................................................................. 5
0.6 TIMESTAMP .................................................................................................................................................................. 5
0.7 RMS........................................................................................................................................................................... 5
0.8 SVN ........................................................................................................................................................................... 5
1 ZIELBESTIMMUNG .................................................................................................................................................... 6
1.1 MUST-HAVES ............................................................................................................................................................... 6
1.1.1 Implementierung der Hauptfunktionen....................................................................................................... 6
1.1.2 Verwendung von Java ................................................................................................................................. 6
1.1.3 Unterstützung des NMEA Protokolls ........................................................................................................... 6
1.2 NICE-TO-HAVES ............................................................................................................................................................ 7
1.2.1 Tracking ....................................................................................................................................................... 7
1.2.2 Distanzberechnung ...................................................................................................................................... 7
1.2.3 Unterstützung mehrerer NMEA Datensatztypen ........................................................................................ 7
1.3 NICHT-ZIELE ................................................................................................................................................................. 7
1.3.1 Unterstützung jedes GPS-Empfängers......................................................................................................... 7
1.3.2 Empfang von GPS-Daten ............................................................................................................................. 7
1.3.3 Softwareaktualisierung & Support .............................................................................................................. 7
2 BEISPIELSZENARIEN .................................................................................................................................................. 8
2.1 FALL 1 ......................................................................................................................................................................... 8
2.2 FALL 2 ......................................................................................................................................................................... 9
2.3 FALL 3 ......................................................................................................................................................................... 9
3 PRODUKTUMGEBUNG .............................................................................................................................................. 9
3.1 HARDWARE .................................................................................................................................................................. 9
3.2 SOFTWARE ................................................................................................................................................................... 9
4 FUNKTIONEN .......................................................................................................................................................... 10
4.1 F10/ AUFZEICHNEN DER POSITIONSDATEN ....................................................................................................................... 10
4.1.1 Teilfunktionen............................................................................................................................................ 10
4.1.2 Aktivitätsdiagramm ................................................................................................................................... 13
4.1.3 Programmabläufe ..................................................................................................................................... 13
4.2 DATENSPEICHERUNG .................................................................................................................................................... 14
4.2.1 Programmabläufe ..................................................................................................................................... 16
4.3 KONFIGURATION ......................................................................................................................................................... 17
4.4 F40/ BT-VERBINDUNG ZUR GPS MAUS .......................................................................................................................... 19
5 PRODUKTDATEN .................................................................................................................................................... 22
5.1 D10/ GPS-DATEN ...................................................................................................................................................... 22
5.2 D20/ EINSTELLUNGEN ................................................................................................................................................. 23
5.3 D30/ RMS-STORES .................................................................................................................................................... 24
6 PRODUKTLEISTUNGEN............................................................................................................................................ 25
6.1 L10/ STARTEN DES PROGRAMMS ................................................................................................................................... 25
6.2 L20/ SUCHEN EINES BLUETOOTH GERÄTS ........................................................................................................................ 25
6.3 L30/ SPEICHERN DER POSITIONSDATEN IN DAS RMS.......................................................................................................... 25
6.4 L40/ ABSCHLUSS EINER FAHRT ...................................................................................................................................... 25
7 BENUTZERSCHNITTSTELLE ...................................................................................................................................... 26
7.1 GUI-STRUKTUR........................................................................................................................................................... 26
7.1.1 Fahrt .......................................................................................................................................................... 26
7.1.2 Bluetooth ................................................................................................................................................... 27
7.1.3 Optionen .................................................................................................................................................... 28
7.2 DESIGN...................................................................................................................................................................... 29
8 QUALITÄTSBESTIMMUNGEN .................................................................................................................................. 30
9 TESTFÄLLE .............................................................................................................................................................. 31
9.1 T010/ VERWENDEN EINER GPS MAUS ........................................................................................................................... 31
9.2 T020/ KONFIGURATION ............................................................................................................................................... 31
9.3 T030/ STARTEN EINER AUFZEICHNUNG ........................................................................................................................... 32
9.3.1 T031/ Starten einer Aufzeichnung, mit GPS .............................................................................................. 33
9.3.2 T032/ Starten einer Aufzeichnung, ohne GPS............................................................................................ 33
9.4 FAHRT ABSCHLIEßEN..................................................................................................................................................... 33
10 ENTWICKLUNGSUMGEBUNG ................................................................................................................................ 33
10.1 SOFTWARE ............................................................................................................................................................... 33
10.2 HARDWARE .............................................................................................................................................................. 35
10.3 ORGWARE................................................................................................................................................................ 35
11 TERMINE .............................................................................................................................................................. 36
11.1 GANTT-DIAGRAMM ................................................................................................................................................... 36
12 ABBILDUNGSVERZEICHNIS .................................................................................................................................... 37
0 Glossar
0.1 GPS
Das Global Positioning System ist ein satellitengestütztes Navigationssystem. Es wird zur
Positionsbestimmung benutzt. Heutzutage haben viele Mobiltelefone bereits GPS integriert.
0.2 GUI
Die GUI, also das Graphical User Interface ist die Schnittstelle zwischen Mensch und Maschine.
Alle Fenster, Buttons, Textfelder und sonstige Bedien- bzw. Steuerelemente fallen unter den
Überbegriff GUI.
0.3 J2ME
Java Platform 2, Micro Edition ist eine Umsetzung der Programmiersprache Java für Mobiltelefone
und PDAs.
0.4 JSR
Ein Java Specification Request (JSR) ist eine Anforderung einer neuen Java-Spezifikation oder einer
wichtigen Änderung einer existierenden Java-Spezifikation, die im Rahmen des Java Community
Process (JCP) an das von Sun Microsystems betriebene Process Management Office (PMO) gestellt
wird. Über dieses Verfahren werden also neue Java-Standards definiert und Erweiterungen der
Programmiersprache Java oder der Java-Laufzeitumgebung gemeinschaftlich entwickelt.
0.5 Bluetooth
Bluetooth ist eine Technologie die Datenaustausch über kurze Distanzen ermöglicht. Die meisten
Mobiltelefone unterstützen Bluetooth.
0.6 Timestamp
Ein Timestamp, zu Deutsch Zeitstempel, ist ein Wert in einem definierten Format der einen
Zeitpunkt beschreibt.
0.7 RMS
Das Record Management System stellt eine herstellerübergreifende API (Application Programming
Interface) zur permanenten Speicherung von Daten auf Mobiltelefonen zur Verfügung.
0.8 SVN
SVN steht für Subversion ist eine Open-Source-Software zur Versionsverwaltung von Dateien und
Verzeichnissen.
1 Zielbestimmung
1.1 Must-Haves
1.1.1 Implementierung der Hauptfunktionen
Die in der Machbarkeitsstudie beschriebenen Funktionen /F10/ bis /F40/ müssen implementiert
werden. Da mit der Handyapplikation nur die Fahrer selbst zu tun haben, ist der Akteur bei jeder
Funktion der Fahrer.
/F10/ Aufzeichnen der Positionsdaten
Die Kernfunktion der Applikation ist das periodische Aufzeichnen von Positionsdaten. Es ist
möglich, das Intervall für das Abrufen der aktuellen Position zu konfigurieren. So ist einstellbar,
wie genau die Streckenaufzeichnung sein soll: je kleiner das Intervall gewählt wird, desto genauer
die Aufzeichnung. Das Aufzeichnen der Daten muss mit externen genauso wie mit internen GPS-
Empfängern funktionieren.
/F20/ Datenspeicherung
Aktuelle Positionen müssen persistent auf dem Handyspeicher abgelegt werden. Ein
nachträgliches verändern dieser Daten ist über die Oberfläche nicht möglich. Jede Fahrt besteht
aus vielen verschiedenen Positionen, die gemeinsam in eine einzige Datei gespeichert werden. Für
jede Fahrt muss außerdem ein Fahrtgrund sowie der Fahrer gespeichert werden. Fahrten dürfen
z.B. durch einen Absturz der Applikation nicht verloren gehen.
/F30/ Konfiguration
Auf dem Handy sind der Name des Fahrers und die Sprache des Menüs einstellbar, diese Daten
müssen ebenfalls persistent auf dem Handy gespeichert werden. Weitere optionale
Einstellungsmöglichkeiten sind das Uhrzeitformat und das Format der Entfernungsangaben, also
km oder Meilen. Außerdem ist das Intervall in dem die GPS-Daten abgerufen und gespeichert
werden einstellbar. Bluetooth-GPS-Empfänger werden über das Konfigurationsinterface gesucht
werden können und ein können danach verbunden werden.
/F40/ Datenübertragung
Die Datenübertragung gliedert sich in zwei Punkte: Übertragung zum Computer und Empfangen
der GPS-Daten (von der Maus). In diesem Fall muss eine Verbindung mit der Maus hergestellt
werden, damit die GPS-Daten empfangen werden können.
1.2 Nice-To-Haves
1.2.1 Tracking
Tracking bedeutet, dass die derzeitige Position über das Datennetz an die Analysesoftware
übermittelt wird.
1.2.2 Distanzberechnung
Eine Distanzberechnung am Handy hat zwei Vorteile: Einerseits könnte dem Fahrer nach dem
Fahrtende bereits ein Kilometerstand vorgeschlagen werden. Andererseits würde es durch eine
permanente Messung des Abstandes von der letzten zur aktuellen Position möglich sein, nur
Positionen zu speichern die z.B. mehr als 10 Meter von der letzten Position entfernt sind.
1.3 Nicht-Ziele
1.3.1 Unterstützung jedes GPS-Empfängers
Da es auf dem Markt sehr viele verschiedene Hersteller von GPS-Empfänger gibt, können nicht alle
unterstützt werden. Teilweise halten sich Hersteller nicht an den NMEA-Standard und verwenden
eigene Spezifikationen, so z.B. viele ältere Geräte von Garmin. Integrierte GPS-Empfänger müssen
die Java Specification Request 179 erfüllen, damit wir diese unterstützen können. Sollten
integrierte Empfänger über eine serielle Schnittstelle angesprochen werden, werden diese nicht
unterstützt.
2 Beispielszenarien
2.1 Fall 1
Zielgruppe: Kleinunternehmen
Anwendungsbereich: Ersatz für das papiergebundenen Fahrtenbuch im Unternehmen
Betriebsbedingungen:
Ein J2ME-fähiges Mobiltelefon welches die Spezifikationen aus Punkt 3 erfüllt wird benötigt. Falls
ein integrierter GPS-Empfänger und die JSR 179 vorhanden und implementiert sind, muss der
Anwender keine besonderen Vorbereitungen treffen.
Wenn eine externe GPS-Maus verwendet wird muss bei manchen Mobiltelefonen Bluetooth
explizit aktiviert werden. Dies hängt vom Hersteller und vom Modell ab. Um eine externe GPS-
Maus zu verwenden, wird im Hauptmenü der Menüpunkt „Bluetooth“ ausgewählt. Nachdem man
„Gerät suchen“ ausgewählt hat, werden die in der Nähe befindlichen Bluetooth-Geräte angezeigt.
Die Suche wird durch den Balken „Suche läuft…“ im oberen Bildschirmbereich visualisiert. Sobald
die Suche fertig ist („Suche läuft…“ ändert sich in „Suche abgeschlossen“, werden die Namen der
Geräte angezeigt. Nun kann der externe GPS-Empfänger ausgewählt werden. Bei bestimmten
Modellen folgt nun noch die Frage, ob die Applikation den Bluetooth-Empfänger des Handys
nutzen darf – dies muss erlaubt werden. Das Mobiltelefon ist danach mit dem Empfänger
verbunden.
Erläuterung:
Ein Fahrer hat verschiedene Fahrten für den Betrieb zu erledigen. Diese umfassen beispielsweise
eine Kundenlieferung, einen Teilekauf oder ähnliches. Zum Start einer Fahrt muss nicht zwingend
eine GPS-Verbindung vorhanden sein (das Auto könnte sich ja auch in einer Garage befinden oder
ähnliches).
Eine Aufzeichnung wird durch das Auswählen des Menüpunkts „Fahrt antreten“ im Hauptmenü
gestartet. Der aktuelle Kilometerstand muss eingegeben werden, optional kann man auch einen
Grund für die Fahrt angeben oder die Fahrt als privat deklarieren. Sobald dies geschehen ist, wird
die Aufzeichnung gestartet. Der Fahrer kann nun losfahren und seine Fahrt erledigen. Im
Hauptmenü ändert sich der Menüpunkt „Fahrt antreten“ in „Fahrt abschließen“. Die Aufzeichnung
geschieht vollautomatisch.
Sobald das Ziel erreicht ist, wählt der Fahrer aus dem Hauptmenü „Fahrt abschließen“ aus. Er
muss nun den neuen Kilometerstand im Auto angeben. (er könnte auch automatisch berechnet
werden – dies wäre aber nur bedingt akkurat; da der Kilometerzähler im Auto nicht die 100%ig
korrekte Kilometeranzahl anzeigt aber im Zweifel für das Finanzamt gültig ist). Nachdem der
Kilometerstand eingegeben worden ist, ist die Fahrt abgeschlossen und auf dem Handyspeicher
abgelegt. „Fahrt abschließen“ ändert sich wieder in „Fahrt antreten“ und es kann eine neue Fahrt
begonnen werden.
Am Ende des Tages übermittelt der Fahrer die Daten der Analysesoftware. Dort kann die
gefahrene Route analysiert und dargestellt werden.
2.2 Fall 2
Zielgruppe: Führerschein
Anwendungsbereich: Führerscheinanwärter die den L-Führerschein mit dem Privatauto machen
Betriebsbedingungen: Siehe Fall 1
Erläuterung:
Der L-Führerschein unterscheidet sich vom normalen Führerschein dadurch, dass ein Teil der
Fahrpraxis im Privatauto erledigt wird. Es muss eine bestimmte Kilometerleistung zurückgelegt
werden, die durch ein Fahrtenbuch nachgewiesen wird (1000km, 2000km, etc). Dies geschieht
normalerweise über ein Fahrtenbuch in Papierform. Der Fahrschüler kann über GPSme mit
derselben Methodik wie in Fall 1 seine Fahrt aufzeichnen lassen.
2.3 Fall 3
Zielgruppe: Fahrschule
Anwendungsbereich: Als „Zuckerl“ für potenzielle Fahrschüler werden die Strecken aufgezeichnet
Betriebsbedingungen: Siehe Fall 1
Erläuterung:
Über GPSme kann für die einzelnen Fahrschüler eines Fahrlehrers ihre gefahrene Strecke
aufgezeichnet werden. Die Methodik des Aufzeichnens selbst ist dieselbe wie in Fall 1 & 2, um
jedoch die verschiedenen Fahrschüler unterscheiden zu können kann im Hauptmenü unter
„Optionen“ der Name des Schülers eingetragen werden. Nachdem die Daten der Analysesoftware
übermittelt wurden können die Strecken und die Kilometerleistung von bestimmten Schülern
analysiert und dargestellt werden. So kann dem Schüler einerseits mitgeteilt werden wo er
konkret gefahren ist, andererseits können so Strecken bei denen der Schüler Probleme hatte
markiert und öfter geübt werden.
3 Produktumgebung
3.1 Hardware
Ein Mobiltelefon dass die J2ME unterstützt wird benötigt. Das Mobiltelefon muss entweder über
einen integrierten GPS-Empfänger verfügen, oder es muss eine GPS-Maus vorhanden sein. Bei
Zweiterem muss das Handy ebenfalls eine Bluetooth-Funktionalität besitzen. Tasten bzw. ein
Touchscreen sind eine Selbstverständlichkeit. Ansonsten ist nur die Spezifikation für die Software
wichtig, da die J2ME die Hardware sehr abstrahiert.
3.2 Software
Die J2ME auf dem Mobiltelefon muss folgende JSR (Java Specification Requests) erfüllen: JSR 66
(RMS, zum Speichern von Positionsdaten & Speichern der Einstellungen), JSR 118 (MIDP 2.0, für
das User Interface), JSR 139 (CLDC 1.1, ebenfalls für das User Interface). Weiters muss ein GPS-
Empfänger vorhanden sein. Beim GPS-Empfänger kann es sich um eine externe GPS-Maus die über
Bluetooth (dann muss JSR 82 implementiert sein) mit dem Handy verbunden wird, oder um einen
integrierten GPS-Empfänger (das Handy muss dann JSR 179 unterstützen) handeln. Der externe
GPS-Empfänger muss die GPS-Daten über das NMEA Protokoll im Datenformat GPRMC (RMC =
Recommended Minimum sentence C, empfohlener Minimumdatensatz) übertragen. In diesem
Datensatz sind alle relevanten Daten zur Positionsbestimmung vorhanden. Die Software muss auf
dem Gerät durch Ausführung/Installation der bereitgestellten JAR-Datei vorhanden sein. Der
Empfänger muss außerdem eingeschalten sein und seine Bluetooth-Funktionalität durch das
Broadcasten seiner Device-ID bereitstellen.
4 Funktionen
4.1.2 Aktivitätsdiagramm
4.1.3 Programmabläufe
GPS wird verwendet und verfügbar (Erfolg)
Schritt Akteur Beschreibung
1 Benutzer Wählt „Fahrt antreten“ aus
2 Benutzer Benutzer gibt Kilometerstand und die optionalen Daten an, hat GPS
aktiviert
3 System Startet die konkrete Aufzeichnung der Daten; schreibt also auf den Speicher
des Handys
4 Fahrer Wählt „Fahrt beenden“ aus
5 Fahrer Benutzer gibt Kilometerstand an
6 System Das System schließt die Fahrt ab indem die Datei geschlossen wird
4.2 Datenspeicherung
Die Speicherung der Positions- sowie Konfigurationsdaten erfolgt im RMS-Speicher. Die
Applikation benötigten mindestens zwei dieser Speicher (ähnlich Tabellen in Datenbanken). In
dem einen sind die Konfigurationsdaten abgelegt während der andere als Referenz zu den
verschiedenen abgelegten Fahrten dient. Die Fahrten werden jeweils in eigenen Speichern
(Tabellen abgelegt). Der Name dieser Tabellen definiert sich durch den Fahrernamen und einem
Timestamp, somit wird eine Fahrt eindeutig identifiziert. Die Namen der verschiedenen Tabellen
werden in der Referenztabelle abgelegt, damit diese später abgerufen werden können.
4.2.1 Programmabläufe
GPS-Positionsdaten werden geschrieben
Schritt Akteur Beschreibung
1 Benutzer Wählt „Fahrt antreten“ aus
2 System Initialisiert Aufzeichnung der Positionsdaten; legt RMS-Store an
3 System Schreibt laufend Positionsdaten in den Store
4 Benutzer Wählt „Fahrt abschließen“ aus
5 System Schreibt Kilometerstand ans Ende des Stores, schließt ihn dadurch ab
Aufzeichnung ohne GPS-Daten
Schritt Akteur Beschreibung
1 Benutzer Wählt „Fahrt antreten“ aus
2 System legt RMS-Store an
3 System Überprüft laufend das Positions-Buffer-Objekt, falls es befüllt wird (GPS-
Empfang gestartet wird) werden die Positionen gespeichert, andernfalls
wird nichts unternommen und der RMS-Store bleibt leer.
4 Benutzer Wählt „Fahrt abschließen“ aus
5 System Schreibt Kilometerstand ans Ende des Stores, schließt ihn dadurch ab
4.3 Konfiguration
/F31/ [Benutzer] Konfiguration aufrufen
Der Fahrer wählt im Hauptmenü den Eintrag „Optionen“ aus und bekommt die
Beschreibung
verschiedenen Einstellungsmöglichkeiten angezeigt.
Ziel Die verschiedenen Einstellungsmöglichkeiten werden angezeigt.
Vorbedingung -
Akteure Benutzer
Teilsystem
/F32/ [Benutzer] Name angeben
/F34/ [Benutzer/System] Sprache umstellen
Nachbedingung /F35/ [Benutzer/System] km/Meilen Anzeige umstellen
/F36/ [Benutzer/System] Uhrzeitformat umstellen
/F37/ [Benutzer/System] Intervall umstellen
4.5.2 Standardabläufe
Bluetooth Geräte wurden gefunden (Erfolg)
Schritt Akteur Beschreibung
1 Benutzer Wählt „Geräte Suchen“ aus.
2 System Bluetooth Geräte werden gesucht.
3 System Bluetooth Geräte werden angezeigt.
5 Produktdaten
Abbildung 2: NMEA-Datensatz
Per Bluetooth muss mit der GPS-Maus eine permanente Verbindung gehalten werden, über die
die Positionsdaten ausgetauscht werden. Der jeweils letzte komplett übertragene Datensatz wird
gepuffert.
Sollte es zu einem Verbindungsabbruch kommen, wird dieser erkannt und ausgewiesen. Nicht
vollständige oder fehlerhafte Datensätze werden nicht gespeichert.
Die empfangenen Daten werden verarbeitet, jeder komplette Datensatz wird als Objekt gebuffert.
In einem konfigurierbaren Intervall wird ein solches Buffer-Objekt abgerufen und im RMS
abgelegt. So ist sichergestellt dass keine Einträge verloren gehen, da RMS ein persistentes
Speichermedium darstellt.
RMS-Store
Hugo.150109152301
RMS-Store
Hugo.150109165434
Ein Fahrt-Record-Store hat im Namen einen Timestamp und den Namen des Fahrers als eindeutige
ID. Im Record-Store selbst werden die Positionsdaten (ähnlich NMEA) in Zeilen gespeichert. Jede
Zeile beinhaltet den Längengrad, den Breitengrad die Uhrzeit und die Geschwindigkeit. Die
verschiedenen Einträge werden durch ein Komma (ASCII) getrennt. Am Ende einer Fahrt wird der
Kilometerstand zu Beginn, der Kilometerstand am Ende sowie ob die Fahrt geschäftlich oder privat
geschrieben. Optional ist auch noch der Grund der Fahrt dort angegeben. Ein derartiger Eintrag
stellt das Ende einer gespeicherten Fahrt dar.
6 Produktleistungen
Da verschiedene Handys sich in ihrer Leistung massiv unterscheiden, sollen diese Grenzen
keinesfalls als Richtwert betrachtet werden sondern eher als Worst-Case-Szenario, langsamer darf
es nun wirklich nicht sein.
7 Benutzerschnittstelle
7.1 GUI-Struktur
Die grafische Oberfläche besteht aus folgenden Komponenten:
Fahrt antreten/abschließen, Bluetooth, Optionen und Beenden. Je nachdem ob bereits eine Fahrt
gestartet wurde oder nicht, wird der Menüpunkt „Fahrt antreten“ umbenannt. Wenn eine Fahrt
angetreten wurde kann sie abgeschlossen werden, wenn keine Fahrt aktiv ist dann kann eine
angetreten werden. Die Menüpunkte werden durch ein kleines Symbol neben dem Menüpunkt
grafisch verfeinert.
Abbildung 4: Hauptmenü
7.1.1 Fahrt
Je nachdem ob bereits eine Fahrt angetreten wurde, ändert sich die Reaktion der Applikation
nachdem man den Menüpunkt Fahrt abschließen bzw. antreten ausgewählt hat.
Wenn man eine Fahrt antreten möchte, so muss der aktuelle Kilometerstand des Autos
eingegeben werden. Es muss ebenfalls spezifiziert werden, ob es sich um eine private oder um
eine geschäftliche Fahrt handelt. Geschäftlich ist bereits vorher ausgewählt.
Wenn eine Fahrt abgeschlossen wird, muss ebenfalls der aktuelle Kilometerstand angegeben
werden.
7.1.2 Bluetooth
Das Aufrufen des Menüpunkts „Bluetooth“ ruft die Bluetooth-Device-Search auf. Die Umgebung
wird nach Bluetooth Geräten (GPS-Mäusen) durchsucht. Man kann sich danach mit einem Gerät
seiner Wahl verbinden.
7.1.3 Optionen
In den Optionen kann die Sprache angepasst, das Uhrzeitformat geändert, das metrische System
für die Geschwindigkeit an- bzw. abgeschalten, das Intervall zum Abrufen der Daten angepasst
sowie der Name editiert werden. Jede Änderung wirkt sich direkt im Programm aus und wird
persistent auf den Telefonspeicher bzw. RMS abgelegt.
7.2 Design
Das Menü ist grundsätzlich in Farbe gestaltet, je nach Handy kann die Farbdarstellung allerdings
variieren. Jeder Menüeintrag im Hauptmenü ist mit einem Icon versehen, bei der Device-Search
werden ebenfalls Icons (Abbildung 10) angezeigt.
8 Qualitätsbestimmungen
9 Testfälle
Um eine GPS-Maus zu verwenden muss man zuerst den Menüpunkt „Bluetooth“ auswählen. Das
Mobiltelefon sucht dann über den eingebauten Bluetooth Empfänger nach Geräten in der
unmittelbaren Reichweite (maximal 10 Meter). Nach einer Wartezeit von einigen Sekunden (je
nachdem wie viele Geräte sich in der Reichweite befinden) werden die gefundenen Geräte in einer
Liste angezeigt. Aus dieser Liste wählt der Benutzer die GPS-Maus aus. Anschließend versucht das
Mobiltelefon eine Verbindung zur GPS-Maus aufzubauen. War der Verbindungsaufbau erfolgreich,
kann die GPS-Maus zum Empfang und zur Aufzeichnung von GPS-Daten benutzt werden. Ist die
Verbindung fehlgeschlagen wird eine Fehlermeldung auf dem Bildschirm erzeugt.
ändern. Zurzeit stehen die Sprachen Deutsch und Englisch zur Verfügung. Die Änderungen wirken
sich sofort in der gesamten GUI aus. Im Menüpunkt „Uhrzeitformat ändern“ kann man das Format
anpassen, in dem die Uhrzeit angezeigt wird (12h oder 24h). Die Anzeige der Uhrzeit vom
Satelliten wird dann dementsprechend angepasst. Der Menüpunkt „Geschwindigkeitseinheit
ändern“ dient zum Wechseln zwischen km/h und mph. Die Anzeige der momentan-
Geschwindigkeit wird je nach Einstellung angepasst. „Intervall ändern“ dient zum Ändern des
Intervalls in Sekunden in welchem die Daten vom Satelliten gespeichert werden. Es dürfen nur
ganze Zahlen zwischen 1 und 9 eingegeben werden. Schlussendlich kann der Fahrer im Menüpunkt
„Name ändern“ seinen Namen eintragen. Alle Änderungen werden in einem eigenen Speicher am
Handy abgelegt und müssen wieder abrufbar sein, nachdem die Anwendung beendet und neu
gestartet wurde.
Falls momentan keine Fahrt aktiv, also keine Aufzeichnung gestartet ist, muss der Menüpunkt
„Fahrt antreten“ angezeigt werden. Sobald man diesen Menüpunkt auswählt, erscheint ein Screen
mit der Möglichkeit Daten für die Fahrt einzugeben. Sollte der GPS-Empfänger verfügbar sein und
Positionsdaten empfangen, muss der Ort nicht eingegeben werden, andernfalls schon. Der
Kilometerstand muss auf jeden Fall angegeben werden. Optional kann auch ein Grund für die
Fahrt sowie ob es sich um eine private Fahrt handelt eingegeben werden. Es besteht die
Möglichkeit, die GPS-Positionsdatenaufzeichnung ein- oder auszuschalten.
10 Entwicklungsumgebung
10.1 Software
Microsoft Office, Visio, Project
Das Office-Paket wird zur Erstellung der Dokumente und zum Austausch von E-Mails verwendet.
Die Zeitaufzeichnungen werden ebenso mit Microsoft Office erstellt. Durch die Verwendung von
MS Project lässt sich die Ressourcenplanung einfach und übersichtlich erledigen.
Sun Java Wireless Toolkit & EclipseME
Zu beziehen unter http://java.sun.com/products/sjwtoolkit/.
Das Wireless Toolkit, kurz WTK, stellt eine Entwicklungs- bzw. Emulationsumgebung für
Mobiltelefone auf Computern dar. Die Entwicklung von z.B. der GUI kann größtenteils über das
Toolkit erfolgen, so ist es nicht nötig jede Softwareversion direkt auf dem Mobiltelefon zu testen.
Die komplette J2ME wird auf dem Computer emuliert, es können auch die Location API bzw. GPS-
Daten simuliert werden. Ebenso ist es möglich ein vorgefertigtes GPS-Positions-Log abspielen zu
lassen, und so eine Bewegung zu simulieren. Der Status des GPS-Empfängers lässt sich beliebig
einstellen (nicht verfügbar, kein Empfang, …).
Um das Wireless Toolkit auch unter Eclipse verwenden zu können, gibt es das Plugin EclipseME.
Mit diesem Plugin ist es möglich explizite Handyprojekte in Eclipse zu erzeugen, die die normale
API auch nicht mehr verwenden können. So kann man mit relativ geringem Aufwand ein GZIP-
Package für die Mobiltelefone erstellen.
Eclipse 3.2
Eclipse ist ein Open-Source Framework zur Softwareentwicklung vorwiegend in Java. Falls die
Entwicklung mit Hilfe von EclipseME erfolgen soll, so muss die Eclipse IDE mindestens die Version
3.2 besitzen, andernfalls ist eine Installation von EclipseME nicht möglich.
Wenn ein Teammitglied, aus welchen Gründen auch immer Eclipse nicht verwenden möchte, so ist
die einzig sinnvolle Alternative NetBeans mit dem J2ME Plugin.
SVN-Tool
Um auf den verwendeten SVN-Server zugreifen zu können (siehe 10.3), ist ein SVN-Tool nötig.
Unter Linux ist die Verwendung von „subversion“ (auf Debian-basierten Systemen apt-get install
subversion) sinnvoll. Auf Windows-Plattformen empfiehlt sich TortoiseSVN, ein im Windows
Explorer integriertes SVN-Tool zum einfachen Commit- bzw. Updaten über einen Rechtsklick.
Alternativ kann auch ein in die IDE integriertes SVN-Tool, wie beispielsweise Subclipse für Eclipse
verwendet werden.
Libraries
Es wird eine spezielle Library benötigt, die eine Erweiterung der J2ME darstellt und für nicht-
kommerzielle Zwecke kostenlos ist. Die Library nennt sich „j2mepolish“ und ist in die
Entwicklungsumgebung einzubinden. Sie erlaubt beispielsweise die Komprimierung von Daten.
NMEA-Software
Um die NMEA-Daten eines externen Empfängers bequem auslesen und analysieren zu können,
empfiehlt es sich eine spezielle Software zu diesem Zweck einzusetzen. Als Freeware bietet sich
beispielsweise VisualGPS für Windows an, mit welchem man die aktuellen Positionsdaten und
NMEA-Sätze über Bluetooth anzeigen lassen kann.
10.2 Hardware
Mobiltelefon
Zum Testen der Applikation auf Mobiltelefonen sollten möglichst viele verschiedene Hersteller
und Modelle ausprobiert werden. Es ist ebenfalls notwendig, mindestens ein GPS-fähiges
Mobiltelefon zum Testen zu haben, welches die Location API implementiert hat. Nur so ist
gewährleistet, dass derartige Handys auch unterstützt werden.
GPS-Maus
Um garantieren zu können dass auch wirklich alle Geräte funktionieren, muss auch der
Positionsdatenempfang über eine externe GPS-Maus getestet werden. Eine solche GPS-Maus
muss den NMEA-0183 Standard unterstützen und idealerweise GPRMC Datensätze senden.
Computer
Zur Entwicklung des Programmcodes ist ein Computer oder Laptop nötig, auf dem sowohl das
WTK wie auch eine IDE lauffähig sind. Bezüglich des Betriebssystems gibt es keine besonderen
Einschränkungen.
SVN-Server
Damit alle gemeinsam auf das Repository zugreifen können, muss ein zentraler Server auf dem
SVN läuft konfiguriert werden. Dieser Server muss immer erreichbar und zugriffsgeschützt sein.
10.3 Orgware
UML
Durch die Verwendung des standardisierten UML für Diagramme (und ähnliches) wird die
Kommunikation im Team optimiert und Unklarheiten werden dadurch beseitigt.
Java API
APIs beschreiben die Funktionsweise und Verwendung von bestimmten Klassen und das Verhalten
von Objekten, sie sind für die Programmierung unabdingbar.
Richtlinien zur Programmierung
Um den Code zu vereinheitlichen und die Einlesezeit zu minimieren, werden gemeinsame
Richtlinien für die Programmierung geschaffen. Diese bestimmen wie Variablen oder Methoden zu
benennen sind und definieren die Struktur des Codes.
NMEA Doku
Die Dokumentation des NMEA Protokolls ist notwendig, um empfangene Daten richtig und
akkurat verarbeiten zu können. Online findet sich eine Vielzahl von Seiten, auf denen das Protokoll
und seine vielen Unterarten exzellent beschrieben sind (z.B.
http://www.kowoma.de/gps/zusatzerklaerungen/NMEA.htm)
11 Termine
11.1 Gantt-Diagramm
12 Abbildungsverzeichnis
Abbildung 1: Activity-Diagram Positionsdatenaufzeichnung.............................................................13
Abbildung 2: NMEA-Datensatz ...........................................................................................................23
Abbildung 3: Record-Store Verzeichnis ..............................................................................................24
Abbildung 4: Hauptmenü ...................................................................................................................26
Abbildung 5: Menü Fahrt antreten ....................................................................................................26
Abbildung 6: Menü Fahrt abschließen ...............................................................................................27
Abbildung 7: Menü Bluetooth ............................................................................................................27
Abbildung 8: Menü Optionen .............................................................................................................28
Abbildung 9: Screenshot Hauptmenü ................................................................................................29
Abbildung 10: Screenshot Device-Search ..........................................................................................29
Abbildung 11: Use-Case GPS-Maus ....................................................................................................31
Abbildung 12: Use-Case RMS .............................................................................................................31
Abbildung 13: Use-Case Aufzeichnung ..............................................................................................32
Abbildung 14: Termine .......................................................................................................................36
Abbildung 15: Gantt-Diagramm .........................................................................................................36