Sie sind auf Seite 1von 37

Abteilung für Informationstechnologie

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

v. 1.0 Person Datum Unterschrift Kommentar


Erstellt: MP 16.01.2009
Geprüft: OT 16.01.2009

Tischler, Seik, Slivovsky, Pitzer Seite 1 von 37


Pflichtenheft
Version: 1.0 16.01.2009

Ä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

Tischler, Seik, Slivovsky, Pitzer Seite 2 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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

Tischler, Seik, Slivovsky, Pitzer Seite 3 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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

Tischler, Seik, Slivovsky, Pitzer Seite 4 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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.

Tischler, Seik, Slivovsky, Pitzer Seite 5 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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.1.2 Verwendung von Java


Durch die Verwendung von Java wird eine sehr breite Basis von Mobiltelefonen unterstützt.

1.1.3 Unterstützung des NMEA Protokolls


Um mit externen GPS-Empfängern kommunizieren zu können, muss das NMEA Protokoll
verwendet werden. In diesem NMEA-Protokoll sind weitere verschiedene Datensätze bzw.
Protokolltypen zu unterscheiden, die durch ein vorangestelltes $ an der ersten Stelle eines
Datensatzes identifiziert werden. Die Unterstützung des GPRMC (GP = GPS-Empfänger, RMC =
Minimumdatensatz mit allen relevanten Daten zur Positionsbestimmung) ist verpflichtend. Andere
Arten von Datensätzen müssen nicht implementiert werden können.

Tischler, Seik, Slivovsky, Pitzer Seite 6 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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.2.3 Unterstützung mehrerer NMEA Datensatztypen


Die Unterstützung mehrere NMEA Datensatztypen (also nicht nur GPRMC) hätte zur Folge, dass
eine größere Anzahl von externen GPS-Empfängern unterstützt wird. Der Aufwand für eine
derartige Implementierung wäre gering.

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.

1.3.2 Empfang von GPS-Daten


Den konkreten Empfang der GPS-Daten übernehmen die Empfänger selbst, nicht die Applikation.
GPSme verarbeitet die empfangenen Daten nur. Wie der Empfänger die Daten übermittelt
(Bluetooth, integrierter Empfänger, etc) ist unerheblich.

1.3.3 Softwareaktualisierung & Support


Softwareaktualisierungen für die Handyapplikation sind nicht vorgesehen. Die Applikation wird nur
ausgeliefert, Wartung oder Support sind nicht vorhanden.

Tischler, Seik, Slivovsky, Pitzer Seite 7 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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.

Tischler, Seik, Slivovsky, Pitzer Seite 8 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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

Tischler, Seik, Slivovsky, Pitzer Seite 9 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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 /F10/ Aufzeichnen der Positionsdaten


4.1.1 Teilfunktionen
/F11/ [Benutzer] Starten einer Aufzeichnung
Der Benutzer startet die Aufzeichnung durch das Auswählen von „Fahrt
Beschreibung
antreten“ im Hauptmenü
Ziel Eine Fahrt soll im System angetreten werden
Vorbedingung Momentan darf keine Fahrt aktiv sein
Akteure Fahrer
Teilsystem
Nachbedingung  Weiter zu /F12/ [Benutzer]

/F12/ [Benutzer] Daten eingeben


Der Anwender muss den Kilometerstand eingeben und kann (optional) einen
Grund für die Fahrt angeben. Falls gewünscht, kann die Fahrt auch als privat
deklariert werden. Für den Kilometerstand werden nur Zahlen akzeptiert. Falls
Beschreibung
kein GPS-Empfänger verfügbar ist muss der Ort angegeben werden. Es kann
ebenfalls ausgewählt werden, die Fahrt ohne Speicherung der Positionsdaten
durchzuführen.
Ziel Kilometerstand soll für diese Fahrt gespeichert werden
Vorbedingung /F11/ [Benutzer] Starten einer Aufzeichnung
Akteure Fahrer
Teilsystem
Sobald der Kilometerstand eingegeben wurde, wird die Fahrt angetreten
Nachbedingung
 /F13/ [System]

Tischler, Seik, Slivovsky, Pitzer Seite 10 von 37


Pflichtenheft
Version: 1.0 16.01.2009

/F13/ [System] Start der konkreten Aufzeichnung


Das Verarbeiten der Daten wird konkret dann gestartet, wenn der Fahrer den
Beschreibung
Kilometerstand eingegeben hat.
Ziel Die Positionsdaten sollen aufgezeichnet werden.
Vorbedingung /F12/ [Benutzer] Daten eingeben
Akteure System
Teilsystem
Das System beginnt nun (falls dies vorher bei der /F12/ die GPS-Aufzeichnung
aktiviert wurde) laufend Positionsdaten abzufragen und zu verarbeiten. Jeder
komplett übertragene Datensatz wird geparst und auf seine Richtigkeit
überprüft, um danach in ein Record Objekt geschrieben zu werden.
Nachbedingung
 /F21/ [System] Speicherung initialisieren (GPS verfügbar)
Im Hauptmenü ändert sich „Fahrt antreten“ in „Fahrt beenden“.
 /F14/ [Benutzer] Fahrt beenden

/F14/ [Benutzer] Fahrt beenden


Der Fahrer ist am Ziel angekommen und möchte nun seine Strecke speichern
Beschreibung bzw. die Aufzeichnung abschließen. Dazu Wählt er „Fahrt beenden“ aus dem
Hauptmenü aus.
Ziel Alle Positionsdaten sollen endgültig abgespeichert werden
/F13/ [System] Start der konkreten Aufzeichnung
Vorbedingung
Eine Aufzeichnung muss gestartet sein, damit der Menüpunkt zugänglich ist
Akteure Benutzer
Teilsystem
Der Fahrer muss zum Beenden der Fahrt noch den aktuellen Kilometerstand
Nachbedingung eingeben.
 /F15/ [Benutzer] Endkilometerstand angeben

Tischler, Seik, Slivovsky, Pitzer Seite 11 von 37


Pflichtenheft
Version: 1.0 16.01.2009

/F15/ [Benutzer] Endkilometerstand angeben


Der Fahrer ist am Ziel angekommen und möchte nun seine Strecke speichern
bzw. die Aufzeichnung abschließen. Dazu hat er „Fahrt beenden“ aus dem
Beschreibung
Menü ausgewählt. Falls GPS beim Fahrtantritt deaktiviert wurde, muss der Ort
angegeben werden.
Ziel Alle Positionsdaten sollen endgültig abgespeichert werden
Vorbedingung /F14/ [Benutzer] Fahrt beenden
Akteure Benutzer
Teilsystem
Der Fahrer muss zum Beenden der Fahrt noch den aktuellen Kilometerstand
Nachbedingung angeben.
 /F16/ [System] Fahrt abschließen

/F16/ [System] Fahrt abschließen


Beschreibung Das System schließt die Fahrt komplett ab
Ziel Alle Positionsdaten sollen endgültig abgespeichert werden
Vorbedingung /F15/ [Benutzer] Endkilometerstand angeben
Akteure System
Teilsystem
Damit die Fahrt komplett abgeschlossen ist werden an die bereits
geschriebenen und komprimierten Positionsdaten noch der Anfangs- und
Nachbedingung
Endkilometerstand sowie die anderen Daten (privat/geschäftlich, Grund der
Fahrt) angehängt.

Tischler, Seik, Slivovsky, Pitzer Seite 12 von 37


Pflichtenheft
Version: 1.0 16.01.2009

4.1.2 Aktivitätsdiagramm

Abbildung 1: Activity-Diagram Positionsdatenaufzeichnung

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

Tischler, Seik, Slivovsky, Pitzer Seite 13 von 37


Pflichtenheft
Version: 1.0 16.01.2009

GPS verwendet und nicht verfügbar (Erfolg)


Schritt Akteur Beschreibung
1 Benutzer Wählt „Fahrt antreten“ aus
2 Benutzer Benutzer gibt Kilometerstand und die optionalen Daten an, und Ort an,
schaltet GPS ein
3 System Startet die konkrete Aufzeichnung der Daten; schreibt also auf den Speicher
des Handys – allerdings werden Positionen nur geschrieben, wenn eine
Position auch empfangen wurde.
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

GPS nicht verwendet und verfügbar/nicht verfügbar (Erfolg)


Schritt Akteur Beschreibung
1 Benutzer Wählt „Fahrt antreten“ aus
2 Benutzer Benutzer gibt Kilometerstand, die optionalen Daten sowie den Ort an,
schaltet GPS aus
3 System Startet die konkrete Aufzeichnung der Daten; der RMS-Store wird nur
kreiert, aber keine GPS-Daten reingeschrieben.
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.

Tischler, Seik, Slivovsky, Pitzer Seite 14 von 37


Pflichtenheft
Version: 1.0 16.01.2009

/F21/ [System] Speicherung initialisieren


Der Fahrer hat über das Menü eine Aufzeichnung der Positionsdaten gestartet
und der GPS-Empfänger ist verfügbar. Sobald die Speicherung initialisiert wird,
Beschreibung
erstellt die Applikation einen neuen Eintrag in der Referenztabelle und kreiert
einen neuen RMS-Store für die Fahrt.
Ziel Die Abspeicherung der Positionsdaten wird initialisiert.
Vorbedingung /F13/ [System] Start der konkreten Aufzeichnung
Akteure System
Teilsystem
Egal ob ein GPS-Empfänger verfügbar ist oder nicht, der Thread für die
Aufzeichnung der Positionsdaten wird gestartet. Eventuell könnte ja ein GPS-
Nachbedingung Empfänger nachträglich aufgedreht werden.
 /F22/ [System] Positionen aufzeichnen

/F22/ [System] Positionen aufzeichnen


Die Speicherung wurde initialisiert und der Thread zum Aufzeichnen der
Beschreibung
Positionsdaten wird gestartet.
Der Thread ruft regelmäßig die letzte Position vom Buffer-Objekt ab und
speichert diese in den neu angelegten RMS, so lange bis eine Fahrt beendet
wird. Falls keine gültige Position empfangen wird, wird einfach nichts
geschrieben. In den RMS werden folgende Daten für eine Position gespeichert:
Ziel
- Zeitpunkt
- Längengrad
- Breitengrad
- Geschwindigkeit
Vorbedingung /F21/ [System] Speicherung initialisieren
Akteure System
Teilsystem
Nachbedingung  /F23/ [System] Positionsaufzeichnung abschließen

Tischler, Seik, Slivovsky, Pitzer Seite 15 von 37


Pflichtenheft
Version: 1.0 16.01.2009

/F23/ [System] Positionsaufzeichnung abschließen


Der Benutzer beendet die Aufzeichnung indem er „Fahrt abschließen“ aus dem
Beschreibung
Menü auswählt.
Der RMS-Store indem die Positionen abgespeichert wurden wird
abgeschlossen, indem der Start- sowie Endkilometerstand und die optionalen
Eingaben an die Daten angefügt werden. Danach wird der RMS geschlossen. So
Ziel
ist gewährleistet, dass Fahrten auch dann aufgezeichnet werden wenn keine
GPS-Empfänger verfügbar sind. Eine Fahrt besteht dann dementsprechend aus
dem Kilometerstand, der Zeit sowie dem Namen des Fahrers.
/F22/ [System] Positionen aufzeichnen
Vorbedingung
/F14/ [Benutzer] Fahrt beenden
Akteure System
Teilsystem
Nachbedingung -

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

Tischler, Seik, Slivovsky, Pitzer Seite 16 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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

/F32/ [Benutzer] Name angeben


Das Menü „Name angeben“ wird angezeigt. Es beinhaltet das GPSme-Logo und
zwei Textfelder zur Eingabe von Vor- und Nachname. Falls bereits einmal ein
Beschreibung
Name angegeben wurde sind die Textfelder mit diesem Namen bereits
ausgefüllt.
Ziel Ein neuer Name kann eingegeben werden.
Vorbedingung /F31/ [Benutzer] Konfiguration aufrufen
Akteure Benutzer
Teilsystem
Nach der Eingabe des Namens:
Nachbedingung
 /F33/ [System] Name speichern

/F33/ [System] Name speichern


Der Name wird im Konfigurations-RMS-Store persistent abgelegt. Dazu wird der
Beschreibung
Store aufgerufen, die Daten verändert und neu geschrieben.
Ziel Ein neuer Name kann eingegeben werden.
Vorbedingung /F32/ [Benutzer] Name angeben
Akteure System
Teilsystem
Nach dem erfolgreichen Ändern der Daten:
Nachbedingung
 /F31/ [Benutzer] Konfiguration aufrufen

Tischler, Seik, Slivovsky, Pitzer Seite 17 von 37


Pflichtenheft
Version: 1.0 16.01.2009

/F34/ [Benutzer/System] Sprache umstellen


Die neue Sprache wird ausgewählt (Englisch oder Deutsch), und anschließend
Beschreibung im Konfigurations-RMS-Store gespeichert. Alle Menüpunkte werden in die vom
Benutzer gewählte Sprache umgestellt.
Auswahl einer neuen Sprache, ändern aller Menüeinträge und Speicherung der
Ziel
Sprachkonfiguration.
Vorbedingung /F31/ [Benutzer] Konfiguration aufrufen
Akteure Benutzer/System
Teilsystem
Sobald eine Sprache ausgewählt wurde:
Nachbedingung
 /F31/ [Benutzer] Konfiguration aufrufen

/F35/ [Benutzer/System] KM/Meilen Anzeige umstellen


Beschreibung Der Benutzer hat die Wahlmöglichkeit zwischen km oder Meilen.
Persistente Speicherung der Einstellung in den Konfigurations-RMS-Store und
Ziel
Anzeige der Geschwindigkeit forthin als km bzw. Meilen pro Stunde.
Vorbedingung /F31/ [Benutzer] Konfiguration aufrufen
Akteure Benutzer/System
Teilsystem
Nach dem erfolgreichen Ändern der Einstellung:
Nachbedingung
 /F31/ [Benutzer] Konfiguration aufrufen

/F36/ [Benutzer/System] Uhrzeitformat umstellen


Beschreibung Der Benutzer hat die Wahlmöglichkeit zwischen 12h oder 24h.
Persistente Speicherung der Einstellung in den Konfigurations-RMS-Store und
Ziel
Anzeige der Uhrzeit forthin im 12- oder 24-Stunden Format.
Vorbedingung /F31/ [Benutzer] Konfiguration aufrufen
Akteure Benutzer/System
Teilsystem
Nach dem erfolgreichen Ändern der Einstellung:
Nachbedingung
 /F31/ [Benutzer] Konfiguration aufrufen

Tischler, Seik, Slivovsky, Pitzer Seite 18 von 37


Pflichtenheft
Version: 1.0 16.01.2009

/F37/ [Benutzer/System] Intervall der Positionsdatenspeicherung umstellen


Der Benutzer kann ein Intervall festlegen, in welchem die Positionsdaten
abgerufen und gespeichert werden. Das Intervall darf zwischen 1 und 9
Beschreibung
Sekunden liegt, je kleiner das Intervall, desto genauer die
Streckenaufzeichnung.
Persistente Speicherung der Einstellung in den Konfigurations-RMS-Store und
Ziel
Abrufen der Daten fortan im festgelegten Intervall.
Vorbedingung /F31/ [Benutzer] Konfiguration aufrufen
Akteure Benutzer/System
Teilsystem
Nach dem erfolgreichen Ändern der Einstellung:
Nachbedingung
 /F31/ [Benutzer] Konfiguration aufrufen

4.4 /F40/ BT-Verbindung zur GPS Maus


4.5.1 Teilfunktionen
/F41/ [Benutzer] Starten der Bluetooth Suche
Beschreibung Der Benutzer wählt die Option „Geräte Suchen“ im Menü aus.
Ziel Die Aufzeichnung von Positionsdaten soll über eine externe GPS Maus erfolgen.
Die GPS Maus ist aktiviert und als Bluetooth Gerät auffindbar. Das Mobiltelefon
Vorbedingung
selbst hat Bluetooth und dieses auch aktiviert.
Akteure Fahrer
Teilsystem
Dem Benutzer wird ein Suchbildschirm angezeigt
Nachbedingung
 Weiter zu /F42/ [Benutzer]

/F42/ [Benutzer] Suchen nach Bluetooth Geräten


Die Applikation sucht nach Bluetooth Geräten und zeigt diese auf dem
Beschreibung
Bildschirm an.
Ziel Suchen und Anzeigen der gefundenen Geräte.
Vorbedingung „Geräte Suchen“ wurde im Menü ausgewählt.
Akteure Fahrer
Teilsystem
Das Programm sucht anschließend nach Bluetooth Geräten.
Nachbedingung
 Weiter zu /F43/ [System]

Tischler, Seik, Slivovsky, Pitzer Seite 19 von 37


Pflichtenheft
Version: 1.0 16.01.2009

/F43/ [System] Das Programm sucht nach Bluetooth Geräten


Das Programm sucht nach Bluetooth Geräten, währenddessen wird ein
Wartebildschirm angezeigt. Es ist mit einer Wartezeit von 10-20 Sekunden zu
Beschreibung
rechnen, je nach Anzahl der Bluetooth Geräte in der Umgebung. Anschließend
werden diese in einer Liste angezeigt.
Ziel Suchen und Anzeigen nach Bluetooth Geräten.
Vorbedingung „Geräte Suchen“ wurde im Menü ausgewählt.
Akteure Applikation
Teilsystem
Der Benutzer wählt eines der Angezeigten Geräte aus.
Nachbedingung
 Weiter zu /F44/ [Benutzer]

/F44/ [Benutzer] Auswählen eines Gerätes


Der Benutzer wählt aus den angezeigten Geräten die GPS Maus aus, welche er
Beschreibung
verwenden möchte.
Ziel Auswahl einer GPS Maus.
Vorbedingung Die gefundenen Geräte werden auf dem Bildschirm angezeigt.
Akteure Fahrer
Teilsystem
Es wird eine Verbindung zum Gerät hergestellt.
Nachbedingung
 Weiter zu /F45/ [System]

/F45/ [System] Verbindung Herstellen


Eine Verbindung zu einer GPS Maus wird hergestellt. Anschließend kann diese
Beschreibung
zum Aufzeichnen von Positionsdaten verwendet werden.
Ziel Die Kommunikation mit der GPS Maus kann erfolgen.
Vorbedingung Eine GPS Maus wurde vom Benutzer ausgewählt.
Akteure Fahrer
Teilsystem
Sollte ein Fehler auftreten
Nachbedingung
 Weiter zu /F46/ [System]

Tischler, Seik, Slivovsky, Pitzer Seite 20 von 37


Pflichtenheft
Version: 1.0 16.01.2009

/F46/ [System] Fehlermeldung


Eine Fehlermeldung mit einer Beschreibung des Fehlers wird auf dem Handy
Beschreibung
Display angezeigt.
Der Benutzer soll über den Grund für die fehlgeschlagene Verbindung
Ziel
informiert werden, um eventuell Gegenmaßnahmen zu ergreifen.
Vorbedingung Ein Fehler bei der Bluetooth Verbindung zur GPS Maus ist eingetreten.
Akteure Software
Teilsystem
Nachbedingung

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.

Keine Bluetooth Geräte wurden gefunden (Misserfolg)


Schritt Akteur Beschreibung
1 Benutzer Wählt „Geräte Suchen“ aus.
2 System Bluetooth Geräte werden gesucht.
3 System Eine Leere Liste wird angezeigt.

Verbindung wurde hergestellt (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.
4 Benutzer Der Benutzer wählt die GPS Maus aus.
5 System Eine Verbindung zur Maus wird hergestellt.
6 System Die Verbindung ist erfolgreich und die GPS Maus kann verwendet werden.

Tischler, Seik, Slivovsky, Pitzer Seite 21 von 37


Pflichtenheft
Version: 1.0 16.01.2009

Verbindung schlägt fehl (Misserfolg)


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.
4 Benutzer Der Benutzer wählt die GPS Maus aus.
5 System Die Verbindung kann nicht hergestellt werden.
6 System Eine Fehlermeldung wird angezeigt.

5 Produktdaten

5.1 /D10/ GPS-Daten


Falls die GPS-Daten von einem integrierten GPS-Empfänger kommen, werden die Daten
automatisch von Java geparst und bereitgestellt.
Externe Empfänger müssen das NMEA-Protokoll verwenden, wobei in diesem NMEA-Protokoll
verschiedene Unterarten von Datensätzen spezifiziert sind. Als Must-Have wird nur der GPRMC
Datensatz unterstützt.
Die NMEA (National Marine Electronics Association, Nationale Vereinigung für Marineelektronik)
engagiert sich für die Ausbildung und den Fortschritt der Marine-Elektronikindustrie und dem
Markt, den diese bedient. Es handelt sich dabei um eine nicht auf Profit ausgelegte Vereinigung
von Herstellern, Vertreibern, Ausbildungsinstitutionen und anderen mit Interesse an diesem
Markt. Sie hat mehrere Standards zur Übermittlung von Positionsdaten herausgegeben, der
aktuellste und relevanteste ist NMEA-0183. Die Daten werden im ASCII-Format übertragen, es sind
alle druckbaren Zeichen sowie CR (Carriage Return) und LF (Line Feed) erlaubt. Die verschiedenen
Einträge in einem Datensatz werden durch einen Beistrich („,“) getrennt. Jeder dieser Sätze
beginnt mit dem Zeichen "$", einer zwei Zeichen langen Senderkennung, einer drei Zeichen langen
Satzkennung und dann folgt eine Reihe von Datensätzen, die mit Kommas unterteilt werden.
Schliesslich wird der Satz mit einer optionalen Prüfsumme und einer CR/LF abgeschlossen. Jeder
Satz kann inklusive des führenden "$" und den beiden CR/LF bis zu 82 Zeichen enthalten. Ist ein
Datenfeld in einem Satz zwar vorgesehen aber nicht verfügbar, so wird er einfach weggelassen,
das dazugehörige Komma zur Trennung der Datensätze wird aber ohne Leerzeichen beibehalten.
Durch das Zählen der Kommas kann ein Empfänger dann aus jeden Satz die entsprechenden
Informationen richtig zuordnen.
(Quelle: http://www.kowoma.de/gps/zusatzerklaerungen/NMEA.htm)

Tischler, Seik, Slivovsky, Pitzer Seite 22 von 37


Pflichtenheft
Version: 1.0 16.01.2009

Ein Beispiel für einen derartigen Datensatz, GPRMC wird unterstützt:

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.

5.2 /D20/ Einstellungen


In der Konfiguration können verschiedene Einstellungen getätigt werden.
Um den aktuellen Anwender (Fahrer) zu identifizieren und um einen Missbrauch
unwahrscheinlicher zu machen (wenn der eigene Name im Programm steht, ist die Hemmschwelle
für falsche Daten etc. größer) ist der Name einstellbar.
Ob die Daten (Entfernungen) als Kilometer oder als Meilen angezeigt bzw. eingegeben werden, ist
ebenfalls konfigurierbar.
Falls das Handy über keine JSR-179 Unterstützung verfügt oder falls man trotzdem auf eine
externe GPS-Maus zurückgreifen will, kann eingestellt werden, welche Maus benutzt wird.
Beim Fahrtantritt wird eingestellt, welchen Kilometerstand das Auto derzeit hat, damit der
Kilometerstand aus dem Fahrtenbuch immer synchron mit dem tatsächlichen Kilometerstand
bleibt. Falls das nicht der Fall ist, kann nicht sichergestellt werden dass das Finanzamt das System
akzeptiert.
Das Intervall für die Speicherung der Positionsdaten muss konfigurier- und speicherbar sein, es
darf nicht kleiner als 1 und nicht größer als 9 Sekunden betragen.
Der Computer mit der Analysesoftware muss bei einer Bluetooth Verbindung ebenfalls
konfiguriert werden können.
Die verschiedenen Einstellungen, die getätigt wurden, werden über RMS persistent auf dem
Mobiltelefon gespeichert.

Tischler, Seik, Slivovsky, Pitzer Seite 23 von 37


Pflichtenheft
Version: 1.0 16.01.2009

5.3 /D30/ RMS-Stores


Die Positionsdaten sowie die Einstellungen werden persistent in sogenannten RMS-Stores
abgelegt. Dieses RMS (Record Management System) ist auf jedem Handy dass die JSR-66
unterstützt verfügbar. Die meisten Mobiltelefone implementieren diesen JSR. Ein Store ist im
Wesentlichen dasselbe wie eine Tabelle in Datenbanken, während das gesamte RMS eine
Database darstellt. Innerhalb dieser Tabellen werden die Daten als Bytes gespeichert, ein Format
muss also selber erdacht werden.
Zum Zugriff auf die Record-Stores werden Wrapperklassen verwendet, die eine
Wiederverwendbarkeit gewährleisten.
Es werden mindestens zwei verschiedene Record-Stores benötigt: einer für die Konfiguration und
der andere als Verzeichnis für die verschiedenen Fahrten. Jede Fahrt hat einen eigenen Record-
Store mit einem eindeutigen Namen. Um diese Record-Stores später wieder finden zu können,
werden die Namen im Verzeichnis abgelegt.

RMS-Store
Hugo.150109152301

Abruf der Daten RMS-Store GPS-Daten


Fahrtenverzeichnis

RMS-Store
Hugo.150109165434

Abbildung 3: Record-Store Verzeichnis

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.

Tischler, Seik, Slivovsky, Pitzer Seite 24 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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.

6.1 /L10/ Starten des Programms


Das Starten der Applikation selbst darf nicht länger als 5 Sekunden dauern.

6.2 /L20/ Suchen eines Bluetooth Geräts


Wenn der Benutzer ein Bluetooth Gerät sucht, sollte dies im Normalfall nicht länger als 30
Sekunden dauern (es sei denn es befinden sich extrem viele Geräte im Umkreis).

6.3 /L30/ Speichern der Positionsdaten in das RMS


Das Intervall indem die aktuelle Position aktualisiert wird darf nicht größer sein als das Intervall
indem die Positionsdaten gespeichert werden. Da das Aktualisierungs-Intervall eine Sekunde
beträgt und nicht umstellbar ist, sollte das kein Problem darstellen.

6.4 /L40/ Abschluss einer Fahrt


Sobald eine Fahrt abgeschlossen wird, muss die komplette Datei fertig geschrieben und die
Metadaten (Fahrer, km-Stand, etc) hinzugefügt werden. Dies sollte nicht länger als 3 Sekunden
dauern.

Tischler, Seik, Slivovsky, Pitzer Seite 25 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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.

Abbildung 5: Menü Fahrt antreten

Tischler, Seik, Slivovsky, Pitzer Seite 26 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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.

Abbildung 6: Menü Fahrt abschließen

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.

Abbildung 7: Menü Bluetooth

Tischler, Seik, Slivovsky, Pitzer Seite 27 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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.

Abbildung 8: Menü Optionen

Tischler, Seik, Slivovsky, Pitzer Seite 28 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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.

Abbildung 9: Screenshot Hauptmenü

Abbildung 10: Screenshot Device-Search

Tischler, Seik, Slivovsky, Pitzer Seite 29 von 37


Pflichtenheft
Version: 1.0 16.01.2009

8 Qualitätsbestimmungen

Produktqualität Sehr gut Gut Normal Nicht relevant


Funktionalität X
Angemessenheit X
Richtigkeit X
Interoperabilität X
Ordnungsmäßigkeit X
Sicherheit X
Zuverlässigkeit X
Reife X
Fehlertoleranz X
Wiederherstellbarkeit X
Benutzbarkeit X
Verständlichkeit X
Erlernbarkeit X
Bedienbarkeit X
Effizienz X
Zeitverhalten X
Verbrauchsverhalten X
Änderbarkeit X
Analysierbarkeit X
Modifizierbarkeit X
Stabilität X
Prüfbarkeit X
Übertragbarkeit X
Anpassbarkeit X
Installierbarkeit X
Konformität X
Austauschbarkeit X

Tischler, Seik, Slivovsky, Pitzer Seite 30 von 37


Pflichtenheft
Version: 1.0 16.01.2009

9 Testfälle

9.1 /T010/ Verwenden einer GPS Maus

Abbildung 11: Use-Case GPS-Maus

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.

9.2 /T020/ Konfiguration

Abbildung 12: Use-Case RMS

Um Einstellungen am Programm vorzunehmen navigiert man zuerst zum Menüpunkt „Optionen“


im Hauptmenü. Anschließend kommt man in ein neues Menü welches die Menüpunkte „Sprache
ändern“, „Uhrzeitformat ändern“, „Geschwindigkeitseinheit ändern“, „Intervall ändern“, „Name
ändern“ enthält. Im Menüpunkt „Sprache ändern“ kann man die Sprache der Bildschirmmenüs

Tischler, Seik, Slivovsky, Pitzer Seite 31 von 37


Pflichtenheft
Version: 1.0 16.01.2009

ä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.

9.3 /T030/ Starten einer Aufzeichnung

Abbildung 13: Use-Case Aufzeichnung

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.

Tischler, Seik, Slivovsky, Pitzer Seite 32 von 37


Pflichtenheft
Version: 1.0 16.01.2009

9.3.1 /T031/ Starten einer Aufzeichnung, mit GPS


Eine Fahrt wird angetreten während GPS verfügbar ist. Die Option „Aufzeichnung“ muss
eingeschalten sein. Danach werden das GPSme-Logo, die Positionsdaten, die Satellitenanzahl
sowie die Geschwindigkeit angezeigt. Die Aufzeichnung muss auch dann weiterlaufen, wenn der
Benutzer diesen Screen verlässt. Auch durch einen Anruf oder durch das Minimieren der
Applikation (wenn das Handy dies unterstützt, z.B. durch drücken der Menü-Taste des Telefons)
darf das Schreiben in den RMS nicht unterbrochen werden.

9.3.2 /T032/ Starten einer Aufzeichnung, ohne GPS


Wenn kein GPS verfügbar ist, kann eine Fahrt dennoch gestartet werden. Der Benutzer kann sich
aussuchen, ob er trotzdem versuchen möchte GPS zu verwenden oder ob die Route nicht
aufgezeichnet werden soll. Wünscht er eine Routenaufzeichnung, dann soll sich die Applikation
genau so verhalten wie in /T031/, sie überprüft dann laufend ob eine Position empfangen wurde.
Sobald eine Position im Buffer ist, wird diese auch in den RMS-Store geschrieben. Ohne eine
Routenaufzeichnung verhält sich die Applikation für den Benutzer so wie in /T031/, schreibt aber
intern keine Daten in den RMS-Store.

9.4 Fahrt abschließen


Bei einer momentan aktiven Fahrt ist im Hauptmenü der Punkt „Fahrt abschließen“ verfügbar.
Nach dem Auswählen dieses Menüpunkts muss der Anwender den aktuellen Kilometerstand
eingeben. Falls kein GPS-Signal vorhanden ist, muss zusätzlich noch der Ort angegeben werden.
Nach der Eingabe der Daten wird die Fahrt im System abgeschlossen.

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, …).

Tischler, Seik, Slivovsky, Pitzer Seite 33 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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.

Tischler, Seik, Slivovsky, Pitzer Seite 34 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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)

Tischler, Seik, Slivovsky, Pitzer Seite 35 von 37


Pflichtenheft
Version: 1.0 16.01.2009

11 Termine

Abbildung 14: Termine

11.1 Gantt-Diagramm

Abbildung 15: Gantt-Diagramm

Tischler, Seik, Slivovsky, Pitzer Seite 36 von 37


Pflichtenheft
Version: 1.0 16.01.2009

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

Tischler, Seik, Slivovsky, Pitzer Seite 37 von 37

Das könnte Ihnen auch gefallen